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"); }
public SampleFragment(IEnumerable <ILifecycleObserver> lifecycleObservers) { foreach (var lifecycleObserver in lifecycleObservers) { Lifecycle.AddObserver(lifecycleObserver); } }
public override void OnCreate(Bundle savedInstanceState) { AndroidApplication = Activity.Application as AndroidApplication; AndroidApplication.Logger.Debug(() => $"SettingsFragment:OnCreate"); base.OnCreate(savedInstanceState); var factory = AndroidApplication.IocContainer.Resolve <ViewModelFactory>(); ViewModel = new ViewModelProvider(this, factory).Get(Java.Lang.Class.FromType(typeof(SettingsViewModel))) as SettingsViewModel; Lifecycle.AddObserver(ViewModel); SetupViewModelObservers(); ViewModel.Initialise(); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.Main); time = FindViewById <TextView>(Resource.Id.time); startStop = FindViewById <Button>(Resource.Id.start_stop); reset = FindViewById <Button>(Resource.Id.reset); StopwatchLifecycleObserver observer = new StopwatchLifecycleObserver(model, new Handler()); handlerModelChanged = (sender, e) => { switch (e.PropertyName) { case "Running": UpdateButtons(); break; case "Diff": UpdateTime(); break; } }; model.PropertyChanged += handlerModelChanged; startStopClicked = (object sender, EventArgs e) => { model.Running = !model.Running; if (model.Running) { observer.ScheduleAtFixedRate(); } else { observer.Stop(); } }; startStop.Click += startStopClicked; resetClicked = (object sender, EventArgs e) => { model.Diff = 0; }; reset.Click += resetClicked; Lifecycle.AddObserver(observer); UpdateButtons(); UpdateTime(); }
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"); }
public BindableActivity() { ViewModel = new TViewModel(); Lifecycle.AddObserver(new LifecycleObserver(LifecycleSubject.OnNext)); LifecycleObservable.Subscribe(e => System.Diagnostics.Debug.WriteLine($"New event: {e}")); LifecycleObservable.Where(e => e == Lifecycle.Event.OnResume).Subscribe(PerformBinding); void PerformBinding(Lifecycle.Event _) { CanPerformBinding = true; try { BindViewModelSubject.OnNext(ViewModel); } finally { CanPerformBinding = false; } } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.Main); time = FindViewById <TextView>(Resource.Id.time); startStop = FindViewById <Button>(Resource.Id.start_stop); reset = FindViewById <Button>(Resource.Id.reset); model = (StopwatchViewModel)ViewModelProviders.Of(this).Get(Java.Lang.Class.FromType(typeof(StopwatchViewModel))); model.running.Observe(this, new OnChangedHandler(() => { startStop.Text = GetString(model.Running ? Resource.String.stop : Resource.String.start); reset.Enabled = !model.Running; })); model.diff.Observe(this, new OnChangedHandler(() => { time.Text = F.Format(new Date(model.Diff)); })); StopwatchLifecycleObserver observer = new StopwatchLifecycleObserver(model); startStopClicked = (object sender, EventArgs e) => { model.Running = !model.Running; if (model.Running) { observer.ScheduleAtFixedRate(); } else { observer.Stop(); } }; startStop.Click += startStopClicked; resetClicked = (object sender, EventArgs e) => { model.Diff = 0; }; reset.Click += resetClicked; Lifecycle.AddObserver(observer); UpdateButtons(); UpdateTime(); }
protected override void OnCreate(Bundle savedInstanceState) { AndroidApplication = Application as AndroidApplication; AndroidApplication.Logger.Debug(() => $"ExampleActivity:OnCreate"); base.OnCreate(savedInstanceState); // Set our view from the layout resource SetContentView(Resource.Layout.activity_example); var factory = AndroidApplication.IocContainer.Resolve <ViewModelFactory>(); ViewModel = new ViewModelProvider(this, factory).Get(Java.Lang.Class.FromType(typeof(ExampleViewModel))) as ExampleViewModel; Lifecycle.AddObserver(ViewModel); SetupLiveDataViewModelObservers(); SetupViewModelObservers(); ViewModel.Initialise(); AndroidApplication.Logger.Debug(() => $"ExampleActivity:OnCreate - end"); }
protected override void OnCreate(Bundle savedInstanceState) { AndroidApplication = Application as AndroidApplication; AndroidApplication.Logger.Debug(() => $"OpenSourceLicensesActivity:OnCreate"); base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); SetContentView(Resource.Layout.activity_opensourcelicenses); LicenseTextScroller = FindViewById <ScrollView>(Resource.Id.license_scroller); LicenseText = FindViewById <TextView>(Resource.Id.license_text); var factory = AndroidApplication.IocContainer.Resolve <ViewModelFactory>(); ViewModel = new ViewModelProvider(this, factory).Get(Java.Lang.Class.FromType(typeof(OpenSourceLicensesViewModel))) as OpenSourceLicensesViewModel; Lifecycle.AddObserver(ViewModel); SetupViewModelObservers(); ViewModel.Initialise(); AndroidApplication.Logger.Debug(() => $"OpenSourceLicensesActivity:OnCreate - end"); }
public static FlutterView CreateView(Activity activity, Lifecycle lifecycle, string initialRoute) { FlutterMain.StartInitialization(activity.ApplicationContext); FlutterMain.EnsureInitializationComplete(activity.ApplicationContext, new string[] { }); var nativeView = new FlutterNativeView(activity); var flutterView = new BaseFlutterView(activity, null, nativeView); if (initialRoute != null) { flutterView.SetInitialRoute(initialRoute); } var o = new FlutterLifecycleObserver(activity.ApplicationContext, flutterView); lifecycle.AddObserver(o); flutterView.Alpha = 0.0f; return(flutterView); }
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()}"); }
protected override void OnCreate(Bundle savedInstanceState) { AndroidApplication = Application as AndroidApplication; AndroidApplication.Logger.Debug(() => $"HelpActivity:OnCreate"); base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); SetContentView(Resource.Layout.activity_help); HelpTextScroller = FindViewById <ScrollView>(Resource.Id.help_scroller); HelpText = FindViewById <TextView>(Resource.Id.help_text); // make links clickable HelpText.MovementMethod = LinkMovementMethod.Instance; var factory = AndroidApplication.IocContainer.Resolve <ViewModelFactory>(); ViewModel = new ViewModelProvider(this, factory).Get(Java.Lang.Class.FromType(typeof(HelpViewModel))) as HelpViewModel; Lifecycle.AddObserver(ViewModel); SetupViewModelObservers(); ViewModel.Initialise(); AndroidApplication.Logger.Debug(() => $"HelpActivity:OnCreate - end"); }