コード例 #1
0
ファイル: LyricView.cs プロジェクト: susch19/Fildo
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            this.SetContentView(Resource.Layout.LyricLayout);

            this.toolbar = this.FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);

            this.SetSupportActionBar(this.toolbar);
            this.SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            this.SupportActionBar.SetHomeButtonEnabled(true);
            this.Lyrics         = new Dictionary <double, string>();
            this.playpause      = this.FindViewById <ToggleButton>(Resource.Id.btnPlayPause);
            this.btnNext        = this.FindViewById <AppCompatImageButton>(Resource.Id.btnNext);
            this.btnPrev        = this.FindViewById <AppCompatImageButton>(Resource.Id.btnPrevious);
            this.shuffle        = this.FindViewById <ToggleButton>(Resource.Id.btnShuffle);
            this.repeat         = this.FindViewById <ToggleButton>(Resource.Id.btnRepeat);
            this.playingSong    = this.FindViewById <TextView>(Resource.Id.playingSong);
            this.lyricContainer = this.FindViewById <TextView>(Resource.Id.lyricContainer);
            BackgroundStreamingService.posChanged += this.BackgroundStreamingService_posChanged;
            if (BackgroundStreamingService.Player == null)
            {
                this.playpause.Checked = false;
                this.shuffle.Checked   = false;
                this.repeat.Checked    = false;
            }
            else
            {
                BackgroundStreamingService.SongNameChanged += this.BackgroundStreamingService_SongName;
                this.playingSong.Text = BackgroundStreamingService.SongName;
                this.SetLyric();
                if (BackgroundStreamingService.Player.PlayWhenReady)
                {
                    this.playpause.Checked = true;
                }
                if (BackgroundStreamingService.IsRepeat)
                {
                    this.repeat.Checked = true;
                }
                if (BackgroundStreamingService.IsShuffle)
                {
                    this.shuffle.Checked = true;
                }
            }

            this.playpause.CheckedChange += this.Playpause_CheckedChange;
            this.btnNext.Click           += this.BtnNext_Click;
            this.btnPrev.Click           += this.BtnPrev_Click;
            this.shuffle.CheckedChange   += this.Shuffle_CheckedChange;
            this.repeat.CheckedChange    += this.Repeat_CheckedChange;

            this.progress = new Bindables.BindableProgress(this, this.ViewModel);

            var set = this.CreateBindingSet <LyricView, LyricViewModel>();

            set.Bind(this.progress).For(p => p.Visible).To(vm => vm.IsBusy);
            set.Apply();
        }
コード例 #2
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            base.OnCreateView(inflater, container, savedInstanceState);

            View view = this.BindingInflate(Resource.Layout.LoginLayout, null);

            var prefs = Application.Context.GetSharedPreferences("Fildo", FileCreationMode.Private);

            this.cultureInfo = ((MainView)this.Activity).CultureInfo;
            if (!string.IsNullOrEmpty(((BaseViewModel)((MainView)this.Activity).ViewModel).PlayingArtist))
            {
                ((MainView)this.Activity).FindViewById <Android.Widget.LinearLayout>(Resource.Id.miniPlayer).Visibility = ViewStates.Visible;
            }
            this.progress = new Bindables.BindableProgress(view.Context, this.ViewModel);

            var set = this.CreateBindingSet <LoginView, LoginViewModel>();

            set.Bind(this.progress).For(p => p.Visible).To(vm => vm.IsBusy);
            set.Bind(this.progress).For(p => p.NoInternet).To(vm => vm.NoInternet);
            set.Bind(this).For(p => p.Logged).To(vm => vm.Logged);
            set.Apply();

            this.username = view.FindViewById <Android.Widget.EditText>(Resource.Id.UsernameEditText);
            this.password = view.FindViewById <Android.Widget.EditText>(Resource.Id.PasswordEditText);

            this.username.Text = prefs.GetString("Username", string.Empty);
            this.password.Text = prefs.GetString("Password", string.Empty);

            if (this.ViewModel != null)
            {
                view.FindViewById <Android.Widget.TextView>(Resource.Id.loginText).Text = ((BaseViewModel)this.ViewModel).GetString("LoginText", this.cultureInfo);
            }

            if (!string.IsNullOrEmpty(this.username.Text) && !string.IsNullOrEmpty(this.password.Text))
            {
                ((LoginViewModel)this.ViewModel).DoLogin();
                GAService.GetGASInstance().Track_App_Page("My Playlists");
                return(this.BindingInflate(Resource.Layout.EmptyLayout, null));
            }

            GAService.GetGASInstance().Track_App_Page("Login");

            return(view);
        }
コード例 #3
0
ファイル: ListView.cs プロジェクト: susch19/Fildo
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            base.OnCreateView(inflater, container, savedInstanceState);

            View view = this.BindingInflate(Resource.Layout.ListPlaylists, null);

            if (!string.IsNullOrEmpty(((BaseViewModel)((MainView)this.Activity).ViewModel).PlayingArtist))
            {
                ((MainView)this.Activity).FindViewById <Android.Widget.LinearLayout>(Resource.Id.miniPlayer).Visibility = ViewStates.Visible;
            }
            this.progress = new Bindables.BindableProgress(view.Context, this.ViewModel);

            var set = this.CreateBindingSet <ListView, ListViewModel>();

            set.Bind(this.progress).For(p => p.Visible).To(vm => vm.IsBusy);
            set.Apply();
            GAService.GetGASInstance().Track_App_Page("Playlists");
            return(view);
        }
コード例 #4
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            base.OnCreateView(inflater, container, savedInstanceState);

            View view = this.BindingInflate(Resource.Layout.RegisterLayout, null);

            var prefs = Application.Context.GetSharedPreferences("Fildo", FileCreationMode.Private);

            this.cultureInfo = ((MainView)this.Activity).CultureInfo;

            if (!string.IsNullOrEmpty(((BaseViewModel)((MainView)this.Activity).ViewModel).PlayingArtist))
            {
                ((MainView)this.Activity).FindViewById <Android.Widget.LinearLayout>(Resource.Id.miniPlayer).Visibility = ViewStates.Visible;
            }
            this.progress = new Bindables.BindableProgress(view.Context, this.ViewModel);

            var set = this.CreateBindingSet <RegisterView, RegisterViewModel>();

            set.Bind(this.progress).For(p => p.Visible).To(vm => vm.IsBusy);
            set.Bind(this.progress).For(p => p.NoInternet).To(vm => vm.NoInternet);
            set.Apply();
            GAService.GetGASInstance().Track_App_Page("Register");
            return(view);
        }
コード例 #5
0
ファイル: ListSongView.cs プロジェクト: susch19/Fildo
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            base.OnCreateView(inflater, container, savedInstanceState);

            View view = this.BindingInflate(Resource.Layout.ListSong, null);

            var prefs = Application.Context.GetSharedPreferences("Fildo", FileCreationMode.Private);

            this.cultureInfo = ((MainView)this.Activity).CultureInfo;

            if (!string.IsNullOrEmpty(((BaseViewModel)((MainView)this.Activity).ViewModel).PlayingArtist))
            {
                ((MainView)this.Activity).FindViewById <Android.Widget.LinearLayout>(Resource.Id.miniPlayer).Visibility = ViewStates.Visible;
            }
            //AndroidEnvironment.UnhandledExceptionRaiser -= HandleAndroidException;
            //AndroidEnvironment.UnhandledExceptionRaiser += HandleAndroidException;
            TabLayout tabs = view.FindViewById <TabLayout>(Resource.Id.tabs);

            if (this.ViewModel != null)
            {
                ((BaseViewModel)((MainView)this.Activity).ViewModel).PicUrl = ((ListSongViewModel)this.ViewModel).PicUrl;
                string image = ((ListSongViewModel)this.ViewModel).PicUrl;
                ((MainView)this.Activity).FindViewById <MvxImageView>(Resource.Id.artistImageTest).ImageUrl = image;
                ListSongViewModel listSongViewModel = (ListSongViewModel)this.ViewModel;
                if (listSongViewModel.IsArtist)
                {
                    tabs.Visibility = ViewStates.Visible;
                    tabs.AddTab(tabs.NewTab().SetText("SONGS"));
                    tabs.AddTab(tabs.NewTab().SetText("ALBUMS"));
                    tabs.AddTab(tabs.NewTab().SetText("SIMILAR"));
                    tabs.TabSelected += this.Tabs_TabSelected;
                }
                else
                {
                    tabs.Visibility = ViewStates.Gone;
                }
            }

            AppBarLayout            appBarLayout            = ((MainView)this.Activity).FindViewById <AppBarLayout>(Resource.Id.appbar);
            CollapsingToolbarLayout collapsingToolbarLayout = ((MainView)this.Activity).FindViewById <CollapsingToolbarLayout>(Resource.Id.collapsing_toolbar);
            float density = this.Resources.DisplayMetrics.Density;

            float heightDp = 200 * density;

            CoordinatorLayout.LayoutParams lp = (CoordinatorLayout.LayoutParams)appBarLayout.LayoutParameters;
            lp.Height = (int)heightDp;
            appBarLayout.SetExpanded(true);


            //this.fab = FindViewById<FloatingActionButton>(Resource.Id.fab);

            //var collapsibleToolbar = FindViewById<CollapsingToolbarLayout>(Resource.Id.collapsing_toolbar);
            this.SetHasOptionsMenu(true);
            this.progress = new Bindables.BindableProgress(view.Context, this.ViewModel);
            var set = this.CreateBindingSet <ListSongView, ListSongViewModel>();

            set.Bind(this.progress).For(p => p.Visible).To(vm => vm.IsBusy);
            set.Bind(collapsingToolbarLayout).For(p => p.Title).To(vm => vm.TitleView);

            //set.Bind(collapsibleToolbar).For(p => p.Title).To(vm => vm.TitleView);
            set.Apply();

            this.songList               = view.FindViewById <MvxRecyclerView>(Resource.Id.SongList);
            this.albumList              = view.FindViewById <MvxRecyclerView>(Resource.Id.AlbumList);
            this.similarList            = view.FindViewById <MvxRecyclerView>(Resource.Id.SimilarList);
            this.similarList.Visibility = ViewStates.Gone;
            this.albumList.Visibility   = ViewStates.Gone;

            DisplayMetrics    displayMetrics = this.Resources.DisplayMetrics;
            float             dpWidth        = displayMetrics.WidthPixels / displayMetrics.Density;
            var               columnFloat    = dpWidth / 160;
            GridLayoutManager lLayout        = new GridLayoutManager(view.Context, (int)Math.Truncate(columnFloat));
            GridLayoutManager lLayout2       = new GridLayoutManager(view.Context, (int)Math.Truncate(columnFloat));

            this.albumList.HasFixedSize = true;
            this.albumList.SetLayoutManager(lLayout);
            this.similarList.HasFixedSize = true;
            this.similarList.SetLayoutManager(lLayout2);

            GAService.GetGASInstance().Track_App_Page("List Songs");
            return(view);
        }
コード例 #6
0
ファイル: ConfigurationView.cs プロジェクト: susch19/Fildo
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            base.OnCreateView(inflater, container, savedInstanceState);
            View view = this.BindingInflate(Resource.Layout.Configuration, null);

            var prefs = Application.Context.GetSharedPreferences("Fildo", FileCreationMode.Private);

            this.cultureInfo = ((MainView)this.Activity).CultureInfo;

            string cultureForced = prefs.GetString("CultureForced", this.culture);
            string proxyForced   = prefs.GetString("ProxyConf", string.Empty);

            if (!string.IsNullOrEmpty(((BaseViewModel)((MainView)this.Activity).ViewModel).PlayingArtist))
            {
                ((MainView)this.Activity).FindViewById <Android.Widget.LinearLayout>(Resource.Id.miniPlayer).Visibility = ViewStates.Visible;
            }

            if (this.ViewModel != null)
            {
                view.FindViewById <Android.Widget.CheckBox>(Resource.Id.checkboxsavealbum).Text  = ((BaseViewModel)this.ViewModel).GetString("SaveUnderFolder", this.cultureInfo);
                view.FindViewById <Android.Widget.CheckBox>(Resource.Id.checkboxexternal).Text   = ((BaseViewModel)this.ViewModel).GetString("SaveExternalSD", this.cultureInfo);
                view.FindViewById <Android.Widget.Button>(Resource.Id.BtnSave).Text              = ((BaseViewModel)this.ViewModel).GetString("Save", this.cultureInfo);
                view.FindViewById <Android.Widget.TextView>(Resource.Id.spinnerCultureText).Text = ((BaseViewModel)this.ViewModel).GetString("SpinnerCultureText", this.cultureInfo);
                view.FindViewById <Android.Widget.TextView>(Resource.Id.spinnerProxyText).Text   = ((BaseViewModel)this.ViewModel).GetString("SpinnerProxyText", this.cultureInfo);
            }

            var spinnerCulture = view.FindViewById <MvxSpinner>(Resource.Id.spinnerCulture);

            spinnerCulture.ItemSelected      += this.SpinnerCulture_ItemSelected;
            this.spinnerProxies               = view.FindViewById <MvxSpinner>(Resource.Id.spinnerProxy);
            this.spinnerProxies.ItemSelected += this.SpinnerProxies_ItemSelected;

            int cfTemp = ((List <string>)spinnerCulture.ItemsSource).IndexOf(cultureForced);

            if (cfTemp > -1)
            {
                spinnerCulture.SetSelection(cfTemp);
            }

            if (!string.IsNullOrEmpty(proxyForced))
            {
                int pxTemp = ((List <string>) this.spinnerProxies.ItemsSource).IndexOf(proxyForced);
                if (pxTemp > -1)
                {
                    this.spinnerProxies.SetSelection(pxTemp);
                }
                else
                {
                    this.spinnerProxies.SetSelection(0);
                }
            }
            else
            {
                this.spinnerProxies.SetSelection(0);
            }


            this.progress = new Bindables.BindableProgress(view.Context, this.ViewModel);

            var set = this.CreateBindingSet <ConfigurationView, ConfigurationViewModel>();

            set.Bind(this.progress).For(p => p.Visible).To(vm => vm.IsBusy);
            set.Bind(this.progress).For(p => p.NoInternet).To(vm => vm.NoInternet);
            set.Bind(this).For(p => p.Saved).To(vm => vm.Saved);
            set.Apply();

            this.saveUnderArtistFolder = view.FindViewById <Android.Widget.CheckBox>(Resource.Id.checkboxsavealbum);
            this.saveUnderExternalSd   = view.FindViewById <Android.Widget.CheckBox>(Resource.Id.checkboxexternal);

            this.saveUnderArtistFolder.Checked = prefs.GetBoolean("SaveUnderArtistFolder", false);
            this.saveUnderExternalSd.Checked   = prefs.GetBoolean("SaveExternalSD", false);
            GAService.GetGASInstance().Track_App_Page("Configuration");
            return(view);
        }