Ejemplo n.º 1
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            AndroidApplication = Application as AndroidApplication;
            AndroidApplication.Logger.Debug(() => $"DownloadActivity:OnCreate");

            base.OnCreate(savedInstanceState);

            // Set our view from the layout resource
            SetContentView(Resource.Layout.activity_download);

            RvDownloads     = FindViewById <EmptyRecyclerView>(Resource.Id.rvDownloads);
            ProgressSpinner = FindViewById <ProgressSpinnerView>(Resource.Id.progressBar);
            NoDataView      = FindViewById <LinearLayout>(Resource.Id.layNoData);

            RvDownloads.SetLayoutManager(new LinearLayoutManager(this));
            RvDownloads.AddItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.Vertical));
            RvDownloads.SetEmptyView(NoDataView);
            Adapter = new SyncItemRecyclerAdapter(this);
            RvDownloads.SetAdapter(Adapter);

            var factory = AndroidApplication.IocContainer.Resolve <ViewModelFactory>();

            ViewModel = new ViewModelProvider(this, factory).Get(Java.Lang.Class.FromType(typeof(DownloadViewModel))) as DownloadViewModel;
            Lifecycle.AddObserver(ViewModel);
            SetupViewModelObservers();

            ViewModel.Initialise(AndroidApplication.ControlFile);
            Task.Run(() => ViewModel.FindEpisodesToDownload());

            AndroidApplication.Logger.Debug(() => $"DownloadActivity:OnCreate - end");
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            AndroidApplication = Application as AndroidApplication;
            AndroidApplication.Logger.Debug(() => $"DownloadActivity:OnCreate");

            base.OnCreate(savedInstanceState);

            // Set our view from the layout resource
            SetContentView(Resource.Layout.activity_download);

            RvDownloads     = FindViewById <EmptyRecyclerView>(Resource.Id.rvDownloads);
            NoDataView      = FindViewById <LinearLayout>(Resource.Id.layNoData);
            NoDataText      = FindViewById <TextView>(Resource.Id.txtNoData);
            ProgressSpinner = FindViewById <ProgressSpinnerView>(Resource.Id.progressBar);
            DownloadButton  = FindViewById <FloatingActionButton>(Resource.Id.fab_download);

            RvDownloads.SetLayoutManager(new LinearLayoutManager(this));
            RvDownloads.AddItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.Vertical));
            RvDownloads.SetEmptyView(NoDataView);

            var factory = AndroidApplication.IocContainer.Resolve <ViewModelFactory>();

            ViewModel = new ViewModelProvider(this, factory).Get(Java.Lang.Class.FromType(typeof(DownloadViewModel))) as DownloadViewModel;

            Adapter = new DownloadRecyclerItemAdapter(this, ViewModel);
            RvDownloads.SetAdapter(Adapter);

            Lifecycle.AddObserver(ViewModel);
            SetupViewModelObservers();

            ViewModel.Initialise();
            Task.Run(() => ViewModel.FindEpisodesToDownload());

            DownloadButton.Click += (sender, e) => ViewModel.DownloadAllPodcastsWithNetworkCheck();

            ExitPromptDialogFragment = SupportFragmentManager.FindFragmentByTag(EXIT_PROMPT_TAG) as OkCancelDialogFragment;
            SetupFragmentObservers(ExitPromptDialogFragment);
            NetworkPromptDialogFragment = SupportFragmentManager.FindFragmentByTag(NETWORK_PROMPT_TAG) as OkCancelDialogFragment;
            SetupFragmentObservers(NetworkPromptDialogFragment);

            AndroidApplication.Logger.Debug(() => $"DownloadActivity:OnCreate - end");
        }
Ejemplo n.º 3
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            AndroidApplication = Application as AndroidApplication;
            AndroidApplication.Logger.Debug(() => $"PurgeActivity:OnCreate");

            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            base.OnCreate(savedInstanceState);

            // Set our view from the layout resource
            SetContentView(Resource.Layout.activity_purge);

            RvPurgeItems    = FindViewById <EmptyRecyclerView>(Resource.Id.rvPurge);
            NoDataView      = FindViewById <LinearLayout>(Resource.Id.layNoDataPurge);
            ProgressSpinner = FindViewById <ProgressSpinnerView>(Resource.Id.progressBarPurge);
            DeleteButton    = FindViewById <FloatingActionButton>(Resource.Id.fab_delete);

            RvPurgeItems.SetLayoutManager(new LinearLayoutManager(this));
            RvPurgeItems.AddItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.Vertical));
            RvPurgeItems.SetEmptyView(NoDataView);

            var factory = AndroidApplication.IocContainer.Resolve <ViewModelFactory>();

            ViewModel = new ViewModelProvider(this, factory).Get(Java.Lang.Class.FromType(typeof(PurgeViewModel))) as PurgeViewModel;

            Adapter = new PurgeRecyclerItemAdapter(this, ViewModel);
            RvPurgeItems.SetAdapter(Adapter);

            Lifecycle.AddObserver(ViewModel);
            SetupViewModelObservers();

            ViewModel.Initialise();
            Task.Run(() => ViewModel.FindItemsToDelete());

            DeleteButton.Click += (sender, e) =>
                                  Task.Run(() => ViewModel.PurgeAllItems())
                                  .ContinueWith(t => ViewModel.PurgeComplete());

            AndroidApplication.Logger.Debug(() => $"PurgeActivity:OnCreate - end");
        }
Ejemplo n.º 4
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            AndroidApplication = Application as AndroidApplication;
            AndroidApplication.Logger.Debug(() => $"MainActivity:OnCreate");

            base.OnCreate(savedInstanceState);
            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            SetContentView(Resource.Layout.activity_main);

            DriveInfoContainerView = FindViewById <LinearLayout>(Resource.Id.drive_info_container);
            NoDriveDataView        = FindViewById <TextView>(Resource.Id.txtNoData);
            RvFeeds    = FindViewById <EmptyRecyclerView>(Resource.Id.feed_list);
            NoFeedView = FindViewById <LinearLayout>(Resource.Id.layNoFeed);
            CacheRoot  = FindViewById <TextView>(Resource.Id.cache_root_value);
            FeedsTitle = FindViewById <TextView>(Resource.Id.feed_list_label);

            RvFeeds.SetLayoutManager(new LinearLayoutManager(this));
            RvFeeds.AddItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.Vertical));
            RvFeeds.SetEmptyView(NoFeedView);
            FeedAdapter = new PodcastFeedRecyclerItemAdapter(this);
            RvFeeds.SetAdapter(FeedAdapter);

            var factory = AndroidApplication.IocContainer.Resolve <ViewModelFactory>();

            ViewModel = new ViewModelProvider(this, factory).Get(Java.Lang.Class.FromType(typeof(MainViewModel))) as MainViewModel;
            Lifecycle.AddObserver(ViewModel);
            SetupViewModelObservers();

            ViewModel.Initialise();

            if (!PermissionChecker.HasManageStoragePermission(this))
            {
                AndroidApplication.Logger.Debug(() => $"MainActivity:OnCreate - manage storage permission not granted - requesting");
                PermissionRequester.RequestManageStoragePermission(this, PermissionRequester.REQUEST_CODE_WRITE_EXTERNAL_STORAGE_PERMISSION, AndroidApplication.PackageName);
            }
            AndroidApplication.Logger.Debug(() => $"MainActivity:OnCreate - end - observers {GetObserverCount()}");
        }