private void ToggleAwakeSettingsItems(bool enableItems) { Preference turnonusermovement = FindPreference("turnonusermovement?"); Preference awakecausesblackwallpaper = FindPreference("awakecausesblackwallpaper?"); Preference inactivehourssettingspreference = FindPreference("inactivetimesettings"); //Preference syncwithdigitalwellbeing = FindPreference("syncwithdigitalwellbeing?"); inactivehourssettingspreference.Enabled = enableItems; inactivehourssettingspreference.Selectable = enableItems; awakecausesblackwallpaper.Enabled = enableItems; awakecausesblackwallpaper.Selectable = enableItems; //syncwithdigitalwellbeing.Enabled = enableItems; //syncwithdigitalwellbeing.Selectable = enableItems; inactivehourssettingspreference.PreferenceClick += Inactivehourssettingspreference_PreferenceClick; if (new ConfigurationManager(AppPreferences.Default).RetrieveAValue(ConfigurationParameters.ListenForDeviceMotion) == false) { turnonusermovement.Enabled = false; turnonusermovement.Selectable = false; } else { turnonusermovement.Enabled = enableItems; turnonusermovement.Selectable = enableItems; if (enableItems == false) { //User disabled Device Motion, so the service should be stopped as well. AwakeHelper.ToggleStartStopAwakeService(false); } } }
public void OnSharedPreferenceChanged(ISharedPreferences sharedPreferences, string key) { switch (key) { case ConfigurationParameters.DoubleTapOnTopActionBehavior: Preference doubletaptopbehavior = FindPreference("doubletapontoppactionbehavior"); switch (sharedPreferences.GetString(ConfigurationParameters.DoubleTapOnTopActionBehavior, "0")) { case "0": doubletaptopbehavior.SetSummary(Resource.String.doubletaptopactiondesc); break; case "1": doubletaptopbehavior.SetSummary(Resource.String.doubletaptopactioninverteddesc); break; } break; case ConfigurationParameters.ListenForDeviceMotion: Preference turnonusermovement = FindPreference("turnonusermovement?"); switch (sharedPreferences.GetBoolean(ConfigurationParameters.ListenForDeviceMotion, false)) { case true: AwakeHelper.ToggleStartStopAwakeService(true); ToggleAwakeSettingsItems(true); turnonusermovement.Enabled = true; turnonusermovement.Selectable = true; break; case false: AwakeHelper.ToggleStartStopAwakeService(false); ToggleAwakeSettingsItems(false); turnonusermovement.Enabled = false; turnonusermovement.Selectable = false; break; } break; case ConfigurationParameters.SyncWithDigitalWellbeing: if (PackageUtils.GetTheAppName(digitalWellbeingPackageName) == null) { Activity.RunOnUiThread(() => Toast.MakeText(Activity, Resource.String.youneeddigitalwellbeingapp, ToastLength.Long).Show()); } if (Checkers.IsNotificationListenerEnabled() == false) { SwitchPreference syncwithdigitalwellbeing = FindPreference("syncwithdigitalwellbeing?") as SwitchPreference; //new ConfigurationManager(AppPreferences.Default).SaveAValue(ConfigurationParameters.SyncWithDigitalWellbeing, false); syncwithdigitalwellbeing.Checked = false; Activity.RunOnUiThread(() => Toast.MakeText(Activity, Resource.String.unabletoenablesyncwbedmode, ToastLength.Long).Show()); } break; } }