private void KillFragmentObservers(OkCancelDialogFragment fragment) { if (fragment != null) { AndroidApplication.Logger.Debug(() => $"DownloadActivity: KillFragmentObservers - {fragment.Tag}"); fragment.OkSelected -= OkSelected; fragment.CancelSelected -= CancelSelected; } }
private void CellularPrompt(object sender, Tuple <string, string, string, string> parameters) { RunOnUiThread(() => { (string title, string message, string ok, string cancel) = parameters; NetworkPromptDialogFragment = OkCancelDialogFragment.NewInstance(title, message, ok, cancel, null); SetupFragmentObservers(NetworkPromptDialogFragment); NetworkPromptDialogFragment.Show(SupportFragmentManager, NETWORK_PROMPT_TAG); }); }
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"); }