summaryrefslogtreecommitdiffstats
path: root/lib/loadingPage.dart
diff options
context:
space:
mode:
authorHritik Chouhan <hritikc3961@gmail.com>2022-09-01 23:40:02 +0200
committerHritik Chouhan <hritikc3961@gmail.com>2022-09-10 19:40:25 +0200
commit1698dd7db75dadb4915e1b48f0f974b804a019f8 (patch)
tree22d1376bb92b753936b43f04aba9a65e773c3c64 /lib/loadingPage.dart
parent85b78ad4577b65d0bfd398cf3723f83a5ee03dd9 (diff)
Upload Flutter-MediaPlayer app for IVIlamprey_12.1.6lamprey/12.1.612.1.6
Flutter MediaPlayer app which play song directly from MPD server connected via TCP socket.Functions included in mediaplayer play/pause/next/previous/loop , progress bar for current song,playlist from database , volume. Removed Unused code. Bug-AGL: SPEC-4549 Signed-off-by: Hritik Chouhan <hritikc3961@gmail.com> Change-Id: Ie7cdf109bca266e48fd10cd9b3cc0178edf42a52
Diffstat (limited to 'lib/loadingPage.dart')
-rw-r--r--lib/loadingPage.dart108
1 files changed, 108 insertions, 0 deletions
diff --git a/lib/loadingPage.dart b/lib/loadingPage.dart
new file mode 100644
index 0000000..7d5c1af
--- /dev/null
+++ b/lib/loadingPage.dart
@@ -0,0 +1,108 @@
+// SPDX-License-Identifier: Apache-2.0
+
+import 'package:flutter/material.dart';
+
+import 'package:flutter_riverpod/flutter_riverpod.dart';
+
+
+import 'package:musicplayer/music_methods/controller.dart';
+import 'package:musicplayer/nomusic.dart';
+import 'package:musicplayer/playlistLoading.dart';
+import 'package:musicplayer/socketProblem.dart';
+
+
+class loadingPage extends ConsumerStatefulWidget {
+ const loadingPage({Key? key}) : super(key: key);
+
+ @override
+ _loadingPageState createState() => _loadingPageState();
+}
+
+class _loadingPageState extends ConsumerState<loadingPage> {
+
+ @override
+ void initState() {
+ // TODO: implement initState
+ super.initState();
+ }
+
+ MPDTalker mpdTalker = MPDTalker();
+ List<Map<String, String>> list = [];
+
+ String convertToMin(String str){
+ String strforint = '';
+ for(int i = 0; i<str.length;i++){
+ if(str[i] == '.'){
+ break;
+ }
+ strforint += str[i];
+ }
+ int num = int.parse(strforint);
+ double min = num/60;
+ double sec = num%60;
+ String ans = min.toInt().toString()+'min ' + sec.toInt().toString()+'sec';
+ return ans;
+
+ }
+
+
+ Future mymethod() async{
+ list = await mpdTalker.cmdListMap('listall');
+ return list;
+
+ }
+
+ @override
+ Widget build(BuildContext context) {
+
+ return Scaffold(
+ body: FutureBuilder(
+ future: mymethod(),
+ builder: (BuildContext context, AsyncSnapshot<dynamic> snapshot) {
+
+ if (snapshot.connectionState == ConnectionState.done) {
+ // If we got an error
+ if (snapshot.hasError) {
+ return const SocketProblem();
+
+ // if we got our data
+ } else if (snapshot.hasData) {
+ // Extracting data from snapshot object
+ List list = snapshot.data as dynamic;
+
+ if(list.isNotEmpty){
+ mpdTalker.cmdStr('clear');
+ for(int i =0; i<list.length;i++){
+
+ String addsong = list[i]['file'];
+
+ mpdTalker.cmdStr('add "$addsong"');
+
+ }
+ return PlaylistLoading();
+
+ }
+ else{
+ return NoMusicFound();
+ }
+
+ } else if(snapshot.data == null){
+ return NoMusicFound();
+
+ }
+
+ }
+ return const Center(
+ child: CircularProgressIndicator(
+ color: Colors.black,
+ ),
+ );
+
+ },
+ ),
+ );
+
+
+
+ }
+} \ No newline at end of file