public static void StartPowerSaverIntent(Context context) { ISharedPreferences settings = context.GetSharedPreferences("ProtectedApps", FileCreationMode.Private); bool skipMessage = settings.GetBoolean("skipAppListMessage", false); if (!skipMessage) { ISharedPreferencesEditor editor = settings.Edit(); foreach (Intent intent in POWERMANAGER_INTENTS) { if (context.PackageManager.ResolveActivity(intent, PackageInfoFlags.MatchDefaultOnly) != null) { var dontShowAgain = new Android.Support.V7.Widget.AppCompatCheckBox(context); dontShowAgain.Text = context.GetString(Resource.String.home_dont_show_agian); dontShowAgain.CheckedChange += (object sender, CompoundButton.CheckedChangeEventArgs e) => { editor.PutBoolean("skipAppListMessage", e.IsChecked); editor.Apply(); }; new AlertDialog.Builder(context) .SetIcon(Android.Resource.Drawable.IcDialogAlert) .SetTitle(context.GetString(Resource.String.home_add_to_list)) .SetMessage(context.GetString(Resource.String.home_setting_msg)) .SetView(dontShowAgain) .SetPositiveButton(context.GetString(Resource.String.home_goto_setting), (o, d) => context.StartActivity(intent)) .SetNegativeButton(Android.Resource.String.Cancel, (o, d) => { }) .Show(); break; } } } }
/// <summary> /// Ask the user to disable the brand power management, open the correct intent to do so /// </summary> /// <param name="context"></param> /// <param name="appName">Name of the current app</param> public static void StartPowerSaverIntent(Context context, string appName) { var settings = context.GetSharedPreferences("ProtectedApps", FileCreationMode.Private); var skipMessage = settings.GetBoolean("skipAppListMessage", false); if (skipMessage) { return; } var editor = settings.Edit(); foreach (var intent in PowerManagerIntents) { if (context.PackageManager.ResolveActivity(intent, PackageInfoFlags.MatchDefaultOnly) == null) { continue; } var dontShowAgain = new Android.Support.V7.Widget.AppCompatCheckBox(context) { Text = "Do not show again" }; dontShowAgain.CheckedChange += (sender, e) => { editor.PutBoolean("skipAppListMessage", e.IsChecked); editor.Apply(); }; new AlertDialog.Builder(context) .SetIcon(Android.Resource.Drawable.IcDialogAlert) .SetTitle($"Add {appName} to list") .SetMessage($"{appName} requires to be enabled/added in the list to function properly.\n") .SetView(dontShowAgain) .SetPositiveButton("Go to settings", (o, d) => context.StartActivity(intent)) .SetNegativeButton(Android.Resource.String.Cancel, (o, d) => { }) .Show(); break; } }