コード例 #1
0
        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);
                }
            }
        }
コード例 #2
0
        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;
            }
        }