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"); }
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"); }
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()}"); }