public override void OnConfigurationChanged(Android.Content.Res.Configuration newConfig) { base.OnConfigurationChanged(newConfig); DrawerToggle.OnConfigurationChanged(newConfig); }
public override bool OnOptionsItemSelected(IMenuItem item) { return(DrawerToggle.OnOptionsItemSelected(item) || base.OnOptionsItemSelected(item)); }
// Overridden from Activity protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); if (AppState.context == null) { StartActivity(typeof(MainActivity)); Finish(); return; } SetContentView(Resource.Layout.activity_home); ActionBar.SetDisplayHomeAsUpEnabled(true); ActionBar.SetHomeButtonEnabled(true); drawerLayout = FindViewById <DrawerLayout>(Resource.Id.main); drawerToggle = new DrawerToggle(this, drawerLayout); drawerLayout.SetDrawerListener(drawerToggle); content = FindViewById(Resource.Id.content); drawer = FindViewById(Resource.Id.drawer); drawerList = FindViewById <ListView>(Resource.Id.drawer_list); drawerList.OnItemClickListener = this; drawerList.Adapter = navigationAdapter = new NavigationAdapter(BuildNavigationItems(), cache); var up = FindViewById <ImageView>(Android.Resource.Id.Home); up.SetPadding(15, 0, 0, 0); var emptyText = new TextView(this); emptyText.Text = GetString(Resource.String.app_no_navigation_items); drawerList.EmptyView = emptyText; var i = Intent; var show = i.GetStringExtra(EXTRA_SHOW_FRAGMENT); if (show == null) { show = SHOW_WORKBENCH; } switch (show) { case SHOW_WORKBENCH: DisplayWorkbench(); break; default: Log.D(this, "SHOW_FRAGMENT extra value: " + show + " invalid. Defaulting to workbench"); DisplayWorkbench(); break; } if (ion.appPrefs.showTutorial) { StartActivity(new Intent(this, typeof(TutorialActivity))); } else if (!ion.version.Equals(ion.preferences.lastKnownAppVersion) /* && !ion.preferences.firstLaunch*/) { if (!"0.0.0".Equals(ion.preferences.lastKnownAppVersion)) { if (ion.appPrefs.showWhatsNew) { try { new WhatsNewDialog(this, ion.appPrefs, AppVersion.ParseOrThrow(ion.preferences.lastKnownAppVersion), AppVersion.ParseOrThrow(ion.version)).Show(); } catch (Exception e) { Log.E(this, "Failed to parse current app version {" + ion.version + "}", e); Toast.MakeText(this, Resource.String.error_failed_to_show_whats_new, ToastLength.Long).Show(); } } } } ion.preferences.lastKnownAppVersion = ion.version; // Show the rss feed. Task.Factory.StartNew(ion.portal.DownloadRssOrThrowAsync) .ContinueWith((args) => { var rss = args.Result.Result; try { var items = new List <RssItem>(); for (int j = 0; j < rss.channels[0].items.Count; j++) { var item = rss.channels[0].items[j]; if (item.publishDate.CompareTo(ion.appPrefs.lastRssDate) >= 0 && DateTime.Now.CompareTo(item.expireDate) <= 0) { items.Add(item); } } if (items.Count > 0) { ion.PostToMain(() => { new RssDialog(this, rss).Show(); ion.appPrefs.lastRssDate = DateTime.Now; }); } } catch (Exception e) { Log.E(this, "Failed to download rss feed", e); } }, TaskScheduler.FromCurrentSynchronizationContext()); }