private void initIncreasingRing(PreferenceCategory root) { mIncreasingRing = (TwoStatePreference) root.findPreference(CMSettings.System.INCREASING_RING); mIncreasingRingVolume = (IncreasingRingVolumePreference) root.findPreference(KEY_INCREASING_RING_VOLUME); if (!mVoiceCapable) { if (mIncreasingRing != null) { root.removePreference(mIncreasingRing); mIncreasingRing = null; } if (mIncreasingRingVolume != null) { root.removePreference(mIncreasingRingVolume); mIncreasingRingVolume = null; } } else { if (mIncreasingRingVolume != null) { mIncreasingRingVolume.setCallback(mIncreasingRingVolumeCallback); } } }
private void initVibrateWhenRinging(PreferenceCategory root) { mVibrateWhenRinging = (TwoStatePreference) root.findPreference(KEY_VIBRATE_WHEN_RINGING); if (mVibrateWhenRinging == null) { Log.i(TAG, "Preference not found: " + KEY_VIBRATE_WHEN_RINGING); return; } if (!mVoiceCapable || !Utils.isUserOwner()) { root.removePreference(mVibrateWhenRinging); mVibrateWhenRinging = null; return; } mVibrateWhenRinging.setPersistent(false); updateVibrateWhenRinging(); mVibrateWhenRinging.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { final boolean val = (Boolean) newValue; return Settings.System.putInt(getContentResolver(), Settings.System.VIBRATE_WHEN_RINGING, val ? 1 : 0); } }); }
@Override public void onSharedPreferenceChanged(final SharedPreferences prefs, final String key) { if (TextUtils.equals(key, PREF_ACCOUNT_NAME)) { refreshSyncSettingsUI(); } else if (TextUtils.equals(key, PREF_ENABLE_CLOUD_SYNC)) { mEnableSyncPreference = (TwoStatePreference) findPreference(PREF_ENABLE_SYNC_NOW); final boolean syncEnabled = prefs.getBoolean(PREF_ENABLE_CLOUD_SYNC, false); if (isSyncEnabled()) { mEnableSyncPreference.setSummary(getString(R.string.cloud_sync_summary)); } else { mEnableSyncPreference.setSummary(getString(R.string.cloud_sync_summary_disabled)); } AccountStateChangedListener.onSyncPreferenceChanged(getSignedInAccountName(), syncEnabled); } }
@Override public void purchaseCompleted(final boolean success, final String sku) { runOnUiThread(new Runnable() { @Override public void run() { if (getString(R.string.sku_tasker).equals(sku)) { ((TwoStatePreference) getPref(R.string.p_purchased_tasker)).setChecked(success); } else if (getString(R.string.sku_tesla_unread).equals(sku)) { ((TwoStatePreference) getPref(R.string.p_tesla_unread_enabled)).setChecked(success); } else if (getString(R.string.sku_dashclock).equals(sku)) { ((TwoStatePreference) getPref(R.string.p_purchased_dashclock)).setChecked(success); } else if (getString(R.string.sku_themes).equals(sku)) { ((TwoStatePreference) getPref(R.string.p_purchased_themes)).setChecked(success); } else { Timber.d("Unhandled sku: %s", sku); } } }); }
@DexAppend @Override public void onCreate(Bundle icicle) { try { PreferenceGroup pg = (PreferenceGroup) findPreference( FakeSignatureGlobalUI.DEBUG_APPLICATIONS_CATEGORY_KEY); if (pg != null) { TwoStatePreference p = createTwoStatePreference(pg.getContext()); p.setKey(FakeSignatureGlobalUI.SETTING_SECURE_KEY); p.setTitle(FakeSignatureGlobalUI.SETTING_TITLE); p.setSummary(FakeSignatureGlobalUI.SETTING_SUMMARY); p.setPersistent(false); mResetTwoStatePrefsAdd(p); mAllPrefs.add(p); //pg.setOrderingAsAdded(true); pg.addPreference(p); mAllowFakeSignatureGlobal = p; } else { Log.e("DevelopmentSettings_FakeSignatureGlobalUI", "cannot find 'applications' preference category"); } } catch (Throwable t) { Log.e("DevelopmentSettings_FakeSignatureGlobalUI", "onCreate exception", t); } }
/** * Update monitoring preference. * * @param preference preference to update. * @param value new value. */ private void updatePreference(Preference preference, Object value) { // Get value if not passed Object newVal; if (value == null) { if (preference instanceof VNTNumberPickerPreference) { newVal = PreferenceManager.getDefaultSharedPreferences(preference.getContext()) .getInt(preference.getKey(), Integer.parseInt(preference.getSummary().toString())); } else if (preference instanceof TwoStatePreference) { newVal = PreferenceManager.getDefaultSharedPreferences(preference.getContext()) .getBoolean(preference.getKey(), true); } else { newVal = PreferenceManager.getDefaultSharedPreferences(preference.getContext()) .getString(preference.getKey(), ""); } } else { newVal = value; } // Update preference updateAlgorithm(preference, newVal); updateSummary(preference, newVal); }
private void updateTalkBackShortcutStatus() { final TwoStatePreference preference = (TwoStatePreference) findPreferenceByResId( R.string.pref_two_volume_long_press_key); if (preference == null) { return; } if (Build.VERSION.SDK_INT >= ProcessorVolumeStream.MIN_API_LEVEL) { preference.setEnabled( TalkBackService.getInstance() != null || preference.isChecked()); } else { final PreferenceGroup category = (PreferenceGroup) findPreferenceByResId( R.string.pref_category_miscellaneous_key); if (category == null) { return; } category.removePreference(preference); } }
/** * Ensure that the vibration setting does not appear on devices without a * vibrator. */ private void checkVibrationSupport() { Activity activity = getActivity(); if (activity == null) { return; } final Vibrator vibrator = (Vibrator) activity.getSystemService(VIBRATOR_SERVICE); if (vibrator != null && vibrator.hasVibrator()) { return; } final PreferenceGroup category = (PreferenceGroup) findPreferenceByResId(R.string.pref_category_feedback_key); final TwoStatePreference prefVibration = (TwoStatePreference) findPreferenceByResId(R.string.pref_vibration_key); if (prefVibration != null) { prefVibration.setChecked(false); category.removePreference(prefVibration); } }
/** * Ensure that the proximity sensor setting does not appear on devices * without a proximity sensor. */ private void checkProximitySupport() { Activity activity = getActivity(); if (activity == null) { return; } final SensorManager manager = (SensorManager) activity.getSystemService(SENSOR_SERVICE); final Sensor proximity = manager.getDefaultSensor(Sensor.TYPE_PROXIMITY); if (proximity != null) { return; } final PreferenceGroup category = (PreferenceGroup) findPreferenceByResId( R.string.pref_category_when_to_speak_key); final TwoStatePreference prefProximity = (TwoStatePreference) findPreferenceByResId(R.string.pref_proximity_key); if (prefProximity != null) { prefProximity.setChecked(false); category.removePreference(prefProximity); } }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Accountant.getInstance(getActivity()); getActivity().setTitle(getString(R.string.labs_title)); addPreferencesFromResource(R.xml.lab_preferences); // Set whether the preference should be checked or not. Preference pref = findPreference("MediaControllerService"); // For builds other than KitKat, hide RemoteController API. if (null != pref) pref.setOnPreferenceChangeListener(this); // Add out listeners and state change stuff. if (pref instanceof TwoStatePreference) { notifPref = (TwoStatePreference) pref; updateNotifPref(); } }
@TargetApi(Build.VERSION_CODES.M) private boolean checkPermissions(String name) { PreferenceScreen screen = getPreferenceScreen(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); // Check if permission was revoked if ((name == null || "disable_on_call".equals(name)) && prefs.getBoolean("disable_on_call", false)) if (!Util.hasPhoneStatePermission(this)) { prefs.edit().putBoolean("disable_on_call", false).apply(); ((TwoStatePreference) screen.findPreference("disable_on_call")).setChecked(false); requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_CALL); if (name != null) return false; } return true; }
@Override protected void refresh() { super.refresh(); final ListPreference transmitPref; final EditTextPreference gpggaLatPref, gpggaLonPref; transmitPref = (ListPreference) findPreference(KEY_TRANSMIT_GPGGA_TO_BASE); gpggaLatPref = (EditTextPreference) findPreference(KEY_TRANSMIT_GPGGA_LAT); gpggaLonPref = (EditTextPreference) findPreference(KEY_TRANSMIT_GPGGA_LON); final boolean enabled = ((TwoStatePreference)findPreference(KEY_ENABLE)).isChecked(); final boolean transmitLatLon = TextUtils.equals("1", transmitPref.getValue()); gpggaLatPref.setEnabled(transmitLatLon && enabled); gpggaLonPref.setEnabled(transmitLatLon && enabled); transmitPref.setSummary(transmitPref.getEntry()); gpggaLatPref.setSummary(gpggaLatPref.getText()); gpggaLonPref.setSummary(gpggaLonPref.getText()); }
@Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { for (int i = 0; i < permissions.length; i++) { if (permissions[i].equals(Manifest.permission.ACCESS_COARSE_LOCATION) && grantResults[i] == PackageManager.PERMISSION_GRANTED) { ListPreference backlightPreference = (ListPreference) findPreference(PebbleNotificationCenter.LIGHT_SCREEN_ON_NOTIFICATIONS); backlightPreference.setValue("3"); } else if (permissions[i].equals(Manifest.permission.WRITE_EXTERNAL_STORAGE) && grantResults[i] == PackageManager.PERMISSION_GRANTED) { TwoStatePreference logWriterPreference = (TwoStatePreference) findPreference(LogWriter.SETTING_ENABLE_LOG_WRITING); logWriterPreference.setChecked(true); } } super.onRequestPermissionsResult(requestCode, permissions, grantResults); }
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { PreferenceScreen screen = getPreferenceScreen(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); boolean granted = (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED); if (requestCode == REQUEST_METERED2) { prefs.edit().putBoolean("unmetered_2g", granted).apply(); ((TwoStatePreference) screen.findPreference("unmetered_2g")).setChecked(granted); } else if (requestCode == REQUEST_METERED3) { prefs.edit().putBoolean("unmetered_3g", granted).apply(); ((TwoStatePreference) screen.findPreference("unmetered_3g")).setChecked(granted); } else if (requestCode == REQUEST_METERED4) { prefs.edit().putBoolean("unmetered_4g", granted).apply(); ((TwoStatePreference) screen.findPreference("unmetered_4g")).setChecked(granted); } else if (requestCode == REQUEST_ROAMING_EU) { prefs.edit().putBoolean("eu_roaming", granted).apply(); ((TwoStatePreference) screen.findPreference("eu_roaming")).setChecked(granted); } else if (requestCode == REQUEST_ROAMING_NATIONAL) { prefs.edit().putBoolean("national_roaming", granted).apply(); ((TwoStatePreference) screen.findPreference("national_roaming")).setChecked(granted); } else if (requestCode == REQUEST_ROAMING_INTERNATIONAL) { prefs.edit().putBoolean("whitelist_roaming", granted).apply(); ((TwoStatePreference) screen.findPreference("whitelist_roaming")).setChecked(granted); } if (granted) ServiceSinkhole.reload("permission granted", this); }
@Override public void onCreate(final Bundle icicle) { super.onCreate(icicle); addPreferencesFromResource(R.xml.prefs_screen_accounts); mAccountSwitcher = findPreference(PREF_ACCCOUNT_SWITCHER); mEnableSyncPreference = (TwoStatePreference) findPreference(PREF_ENABLE_SYNC_NOW); mSyncNowPreference = findPreference(PREF_SYNC_NOW); mClearSyncDataPreference = findPreference(PREF_CLEAR_SYNC_DATA); if (ProductionFlags.IS_METRICS_LOGGING_SUPPORTED) { final Preference enableMetricsLogging = findPreference(Settings.PREF_ENABLE_METRICS_LOGGING); final Resources res = getResources(); if (enableMetricsLogging != null) { final String enableMetricsLoggingTitle = res.getString( R.string.enable_metrics_logging, getApplicationName()); enableMetricsLogging.setTitle(enableMetricsLoggingTitle); } } else { removePreference(Settings.PREF_ENABLE_METRICS_LOGGING); } if (!ProductionFlags.ENABLE_USER_HISTORY_DICTIONARY_SYNC) { removeSyncPreferences(); } else { // Disable by default till we are sure we can enable this. disableSyncPreferences(); new ManagedProfileCheckerTask(this).execute(); } }
@Override public boolean onPreferenceClick(final Preference preference) { final TwoStatePreference syncPreference = (TwoStatePreference) preference; if (syncPreference.isChecked()) { // Uncheck for now. syncPreference.setChecked(false); // Show opt-in. final AlertDialog optInDialog = new AlertDialog.Builder(getActivity()) .setTitle(R.string.cloud_sync_title) .setMessage(R.string.cloud_sync_opt_in_text) .setPositiveButton(R.string.account_select_ok, new DialogInterface.OnClickListener() { @Override public void onClick(final DialogInterface dialog, final int which) { if (which == DialogInterface.BUTTON_POSITIVE) { final Context context = getActivity(); final String[] accountsForLogin = LoginAccountUtils.getAccountsForLogin(context); createAccountPicker(accountsForLogin, getSignedInAccountName(), new AccountChangedListener(syncPreference)) .show(); } } }) .setNegativeButton(R.string.cloud_sync_cancel, null) .create(); optInDialog.setOnShowListener(this); optInDialog.show(); } return true; }
@Override public void onCreate(Bundle icicle) { super.onCreate(icicle); addPreferencesFromResource(R.xml.prefs_screen_debug); if (!Settings.SHOULD_SHOW_LXX_SUGGESTION_UI) { removePreference(DebugSettings.PREF_SHOULD_SHOW_LXX_SUGGESTION_UI); } final PreferenceGroup dictDumpPreferenceGroup = (PreferenceGroup)findPreference(PREF_KEY_DUMP_DICTS); for (final String dictName : DictionaryFacilitatorImpl.DICT_TYPE_TO_CLASS.keySet()) { final Preference pref = new DictDumpPreference(getActivity(), dictName); pref.setOnPreferenceClickListener(this); dictDumpPreferenceGroup.addPreference(pref); } final Resources res = getResources(); setupKeyPreviewAnimationDuration(DebugSettings.PREF_KEY_PREVIEW_SHOW_UP_DURATION, res.getInteger(R.integer.config_key_preview_show_up_duration)); setupKeyPreviewAnimationDuration(DebugSettings.PREF_KEY_PREVIEW_DISMISS_DURATION, res.getInteger(R.integer.config_key_preview_dismiss_duration)); final float defaultKeyPreviewShowUpStartScale = ResourceUtils.getFloatFromFraction( res, R.fraction.config_key_preview_show_up_start_scale); final float defaultKeyPreviewDismissEndScale = ResourceUtils.getFloatFromFraction( res, R.fraction.config_key_preview_dismiss_end_scale); setupKeyPreviewAnimationScale(DebugSettings.PREF_KEY_PREVIEW_SHOW_UP_START_X_SCALE, defaultKeyPreviewShowUpStartScale); setupKeyPreviewAnimationScale(DebugSettings.PREF_KEY_PREVIEW_SHOW_UP_START_Y_SCALE, defaultKeyPreviewShowUpStartScale); setupKeyPreviewAnimationScale(DebugSettings.PREF_KEY_PREVIEW_DISMISS_END_X_SCALE, defaultKeyPreviewDismissEndScale); setupKeyPreviewAnimationScale(DebugSettings.PREF_KEY_PREVIEW_DISMISS_END_Y_SCALE, defaultKeyPreviewDismissEndScale); setupKeyboardHeight( DebugSettings.PREF_KEYBOARD_HEIGHT_SCALE, SettingsValues.DEFAULT_SIZE_SCALE); mServiceNeedsRestart = false; mDebugMode = (TwoStatePreference) findPreference(DebugSettings.PREF_DEBUG_MODE); updateDebugMode(); }
private void updatePermissionsBasedPreferences() { if (!hasDrawingPermission()) ((TwoStatePreference) findPreference("overlay")).setChecked(false); else if (shouldAllowOverlay) ((TwoStatePreference) findPreference("overlay")).setChecked(true); if (!hasModifySettingsPermission()) ((TwoStatePreference) findPreference("dim")).setChecked(false); else if (shouldAllowDim) ((TwoStatePreference) findPreference("dim")).setChecked(true); if (!hasDrawingPermission()) ((TwoStatePreference) findPreference("show_fab")).setChecked(false); else if (shouldAllowFab) ((TwoStatePreference) findPreference("show_fab")).setChecked(true); if (!hasModifySettingsPermission()) ((TwoStatePreference) findPreference("maximize_brightness")).setChecked(false); else if (shouldAllowMaximizeBrightness) ((TwoStatePreference) findPreference("maximize_brightness")).setChecked(true); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { findPreference("screen_of_proximity").setEnabled(false); ((TwoStatePreference) findPreference("screen_of_proximity")).setChecked(false); } if (!hasModifySecurePermission()) ((TwoStatePreference) findPreference("extreme_battery_saver")).setChecked(false); }
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { PreferenceScreen screen = getPreferenceScreen(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); boolean granted = (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED); if (requestCode == REQUEST_METERED2) { prefs.edit().putBoolean("unmetered_2g", granted).apply(); ((TwoStatePreference) screen.findPreference("unmetered_2g")).setChecked(granted); } else if (requestCode == REQUEST_METERED3) { prefs.edit().putBoolean("unmetered_3g", granted).apply(); ((TwoStatePreference) screen.findPreference("unmetered_3g")).setChecked(granted); } else if (requestCode == REQUEST_METERED4) { prefs.edit().putBoolean("unmetered_4g", granted).apply(); ((TwoStatePreference) screen.findPreference("unmetered_4g")).setChecked(granted); } else if (requestCode == REQUEST_ROAMING_NATIONAL) { prefs.edit().putBoolean("national_roaming", granted).apply(); ((TwoStatePreference) screen.findPreference("national_roaming")).setChecked(granted); } else if (requestCode == REQUEST_ROAMING_INTERNATIONAL) { prefs.edit().putBoolean("whitelist_roaming", granted).apply(); ((TwoStatePreference) screen.findPreference("whitelist_roaming")).setChecked(granted); } if (granted) ServiceSinkhole.reload("permission granted", this); }
private void updateSpecialPreferences() { if (shouldEnableNotificationsAlerts && checkNotificationsPermission(context, false)) { ((TwoStatePreference) findPreference("notifications_alerts")).setChecked(true); } if (((MaterialListPreference) findPreference("stop_delay")).getValue().equals("0")) findPreference("stop_delay").setSummary(R.string.settings_stop_delay_desc); else findPreference("stop_delay").setSummary("%s"); findPreference("watchface_clock").setSummary(context.getResources().getStringArray(R.array.customize_clock)[prefs.clockStyle]); findPreference("watchface_date").setSummary(context.getResources().getStringArray(R.array.customize_date)[prefs.dateStyle]); findPreference("greenify_enabled").setSummary(isPackageInstalled("com.oasisfeng.greenify") ? context.getString(R.string.settings_greenify_integration_desc) : context.getString(R.string.settings_greenify_integration_desc_not_found)); if (!isPackageInstalled("com.oasisfeng.greenify")) { ((SwitchPreference) findPreference("greenify_enabled")).setChecked(false); } }
public static SubjectFactory<TwoStatePreferenceSubject, TwoStatePreference> type() { return new SubjectFactory<TwoStatePreferenceSubject, TwoStatePreference>() { @Override public TwoStatePreferenceSubject getSubject(FailureStrategy fs, TwoStatePreference that) { return new TwoStatePreferenceSubject(fs, that); } }; }
@DexAdd private TwoStatePreference createTwoStatePreference(Context context) { if (useSwitchPreference()) { return new SwitchPreference(context); } else { return new CheckBoxPreference(context); } }
@DexAdd private boolean mResetTwoStatePrefsAdd(TwoStatePreference preference) { if (useSwitchPreference()) { return mResetSwitchPrefs.add((SwitchPreference) preference); } else { return mResetCbPrefs.add((CheckBoxPreference) preference); } }
@DexAdd private void updateTwoStatePreference(TwoStatePreference preference, boolean value) { if (useSwitchPreference()) { updateSwitchPreference((SwitchPreference) preference, value); } else { updateCheckBox((CheckBoxPreference) preference, value); } }
/** * Touch exploration preference management code * * @param category The touch exploration category. */ private void checkTouchExplorationSupportInner(PreferenceGroup category) { final TwoStatePreference prefTouchExploration = (TwoStatePreference) findPreferenceByResId( R.string.pref_explore_by_touch_reflect_key); if (prefTouchExploration == null) { return; } // Remove single-tap preference if it's not supported on this device. final TwoStatePreference prefSingleTap = (TwoStatePreference) findPreferenceByResId( R.string.pref_single_tap_key); if ((prefSingleTap != null) && (Build.VERSION.SDK_INT < ProcessorFocusAndSingleTap.MIN_API_LEVEL_SINGLE_TAP)) { category.removePreference(prefSingleTap); } // Ensure that changes to the reflected preference's checked state never // trigger content observers. prefTouchExploration.setPersistent(false); // Synchronize the reflected state. updateTouchExplorationState(); // Set up listeners that will keep the state synchronized. prefTouchExploration.setOnPreferenceChangeListener(mTouchExplorationChangeListener); // Hook in the external PreferenceActivity for gesture management final Preference shortcutsScreen = findPreferenceByResId( R.string.pref_category_manage_gestures_key); Activity activity = getActivity(); if (activity != null) { final Intent shortcutsIntent = new Intent( activity, TalkBackShortcutPreferencesActivity.class); shortcutsScreen.setIntent(shortcutsIntent); } }
public void forcePref(String key, boolean value) { Preference connectionPref = findPreference(key); if (connectionPref instanceof TwoStatePreference) { enablePref(key, false); ((TwoStatePreference) connectionPref).setChecked(value); } }
public void setSummary(String key, String summaryOn, String summaryOff) { Preference connectionPref = findPreference(key); if (connectionPref instanceof TwoStatePreference) { ((TwoStatePreference) connectionPref).setSummaryOn(summaryOn); ((TwoStatePreference) connectionPref).setSummaryOff(summaryOff); } }
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { PreferenceScreen screen = getPreferenceScreen(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); boolean granted = (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED); if (requestCode == REQUEST_CALL) { prefs.edit().putBoolean("disable_on_call", granted).apply(); ((TwoStatePreference) screen.findPreference("disable_on_call")).setChecked(granted); } if (granted) ServiceSinkhole.reload("permission granted", this, false); }
/** * Initialize preferences controls. */ private void initPreferences() { mAppTheme = findPreference("appTheme"); mServiceTypeList = (ListPreference) findPreference("serviceType"); mRenameVideoEnabled = findPreference("renameVideoEnabled"); mRenameServiceStartDelay = (SeekBarPreference) findPreference("renameServiceStartDelay"); mDelayUnit = (ListPreference) findPreference("delayUnit"); mRenameFileDelay = (SeekBarPreference) findPreference("renameFileDelay"); mRenameFileDateType = (ListPreference) findPreference("renameFileDateType"); mDefineFileNamePatterns = findPreference("definePatterns"); mSendBroadcastEnabled = findPreference("sendBroadcastEnabled"); mInvokeMediaScannerEnabled = findPreference("invokeMediaScannerEnabled"); mFileNameSuffixFormat = (EditTextPreference) findPreference("fileNameSuffixFormat"); mEnabledFolderScanning = findPreference("enabledFolderScanning"); mFolderScanningPref = findPreference("folderScanningPref"); mEnableScanForFiles = (TwoStatePreference) findPreference("enableScanForFilesCheck"); mToggleRenameShortcut = findPreference("toggleRenameShortcut"); mHideRenameServiceStartConfirmation = findPreference("hideRenameServiceStartConfirmation"); mAppendOriginalName = findPreference("appendOriginalName"); mManuallyStartRename = findPreference("manuallyStartRename"); mFileRenameCount = findPreference("fileRenameCount"); mRequestPermissions = findPreference("requestPermissions"); mExportSettings = findPreference("exportSettings"); mImportSettings = findPreference("importSettings"); mBuildVersion = findPreference("buildVersion"); mShowHelpPagePref = findPreference("showHelpPage"); mSendDebugReport = findPreference("sendDebugReport"); mLicensePref = findPreference("licensePref"); mPrivacyPolicyPref = findPreference("privacyPolicyPref"); mDonatePref = findPreference("donatePref"); mOtherSettings = (PreferenceCategory) findPreference("otherSettings"); }
@Override public boolean checkDependency(Preference dependencyPreference) { if (dependencyPreference instanceof TwoStatePreference) { return ((TwoStatePreference) dependencyPreference).isChecked() == positive; } return false; }
@SuppressLint("WorldReadableFiles") @SuppressWarnings("deprecation") @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getPreferenceManager().setSharedPreferencesMode(Context.MODE_WORLD_READABLE); addPreferencesFromResource(R.xml.preferences); mainComponent = new ComponentName(getActivity(), getActivity().getApplication().getPackageName() + ".Main"); ((TwoStatePreference) findPreference(Common.HIDE_APP_FROM_LAUNCHER)).setChecked(getActivity().getPackageManager() .getComponentEnabledSetting(mainComponent) == PackageManager.COMPONENT_ENABLED_STATE_DISABLED); }
@SuppressWarnings("deprecation") private void updateNotificationsEnabled() { boolean notificationsEnabled = ((TwoStatePreference) findPreference(KEY_PREF_NOTIFICATIONS_ENABLED)).isChecked(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { findPreference(KEY_PREF_NOTIFICATIONS_CHANNEL).setEnabled(notificationsEnabled); } else { findPreference(KEY_PREF_NOTIFICATIONS_VIBRATE).setEnabled(notificationsEnabled); findPreference(KEY_PREF_NOTIFICATIONS_LED).setEnabled(notificationsEnabled); } findPreference(KEY_PREF_NOTIFICATIONS_DELAY).setEnabled(notificationsEnabled); }
/** * {@inheritDoc} */ @Override public void setValue(@NonNull Preference preference, @NonNull ConfigBase.Option option, @NonNull Object value) { TwoStatePreference cbp = (TwoStatePreference) preference; cbp.setChecked((Boolean) value); }
@TargetApi( Build.VERSION_CODES.ICE_CREAM_SANDWICH ) private static void setChecked( PreferenceGroup parent, String preferenceKey, boolean checked ) { Preference p = parent.findPreference( preferenceKey ); if( p instanceof CheckBoxPreference ) { ( (CheckBoxPreference) p ).setChecked( checked ); } else if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH ) { if( p instanceof TwoStatePreference ) { ( (TwoStatePreference) p ).setChecked( checked ); } } if( p != null ) { p.setDefaultValue( Boolean.valueOf( checked ) ); } }
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) private void updatePrefs(OptimalMode mode) { mInputName.setText(mode.name); mScreenBrightnessPreference.setValue(String.valueOf(generalDefaultBrightnessValue(mode.screenBrightness))); mScreenBrightnessPreference.setSummary(mScreenBrightnessPreference.getEntry()); mScreenTimeoutPreference.setValue(String.valueOf(mode.screenTimeout)); mScreenTimeoutPreference.setSummary(mScreenTimeoutPreference.getEntry()); //updateTimeoutPreferenceDescription(mode.screenBrightness); if (Utils.isIceCreamSandwichOrLater()) { ((TwoStatePreference) mVibratePreference).setChecked(mode.vibrate); ((TwoStatePreference) mWifiPreference).setChecked(mode.vibrate); ((TwoStatePreference) mBluetoothPreference).setChecked(mode.vibrate); ((TwoStatePreference) mMobileDataPreference).setChecked(mode.mobileData); ((TwoStatePreference) mSyncPreference).setChecked(mode.vibrate); ((TwoStatePreference) mHapticFeedbackPreference).setChecked(mode.vibrate); } else { ((CheckBoxPreference) mVibratePreference).setChecked(mode.vibrate); ((CheckBoxPreference) mWifiPreference).setChecked(mode.vibrate); ((CheckBoxPreference) mBluetoothPreference).setChecked(mode.vibrate); ((CheckBoxPreference) mMobileDataPreference).setChecked(mode.mobileData); ((CheckBoxPreference) mSyncPreference).setChecked(mode.vibrate); ((CheckBoxPreference) mHapticFeedbackPreference).setChecked(mode.vibrate); } mDescriptionPreference.setText(mode.desc); mDescriptionPreference.setSummary(mode.desc); }
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) private void saveOptimalMode() { OptimalMode mode = new OptimalMode(); mode.id = mModeId; mode.name = mInputName.getText().toString(); mode.screenBrightness = (Integer.valueOf(mScreenBrightnessPreference.getValue()) * 255) / 100; mode.screenTimeout = Integer.valueOf(mScreenTimeoutPreference.getValue()); if (Utils.isIceCreamSandwichOrLater()) { mode.vibrate = ((TwoStatePreference) mVibratePreference).isChecked(); mode.wifi = ((TwoStatePreference) mWifiPreference).isChecked(); mode.bluetooth = ((TwoStatePreference) mBluetoothPreference).isChecked(); mode.mobileData = ((TwoStatePreference) mMobileDataPreference).isChecked(); mode.sync = ((TwoStatePreference) mSyncPreference).isChecked(); mode.hapticFeedback = ((TwoStatePreference) mHapticFeedbackPreference).isChecked(); } else { mode.vibrate = ((CheckBoxPreference) mVibratePreference).isChecked(); mode.wifi = ((CheckBoxPreference) mWifiPreference).isChecked(); mode.bluetooth = ((CheckBoxPreference) mBluetoothPreference).isChecked(); mode.mobileData = ((CheckBoxPreference) mMobileDataPreference).isChecked(); mode.sync = ((CheckBoxPreference) mSyncPreference).isChecked(); mode.hapticFeedback = ((CheckBoxPreference) mHapticFeedbackPreference).isChecked(); } mode.desc = mDescriptionPreference.getText(); if (mode.id == -1) { OptimalMode.addMode(getContentResolver(), mode); mModeId = mode.id; } else { OptimalMode.updateMode(getContentResolver(), mode); } }
@TargetApi(Build.VERSION_CODES.M) private void checkPermissions() { PreferenceScreen screen = getPreferenceScreen(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); // Check if permission was revoked if (prefs.getBoolean("whitelist_roaming", false)) if (!Util.hasPhoneStatePermission(this)) { prefs.edit().putBoolean("whitelist_roaming", false).apply(); ((TwoStatePreference) screen.findPreference("whitelist_roaming")).setChecked(false); requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_ROAMING_INTERNATIONAL); } // Check if permission was revoked if (prefs.getBoolean("unmetered_2g", false)) if (!Util.hasPhoneStatePermission(this)) { prefs.edit().putBoolean("unmetered_2g", false).apply(); ((TwoStatePreference) screen.findPreference("unmetered_2g")).setChecked(false); requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_METERED2); } if (prefs.getBoolean("unmetered_3g", false)) if (!Util.hasPhoneStatePermission(this)) { prefs.edit().putBoolean("unmetered_3g", false).apply(); ((TwoStatePreference) screen.findPreference("unmetered_3g")).setChecked(false); requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_METERED3); } if (prefs.getBoolean("unmetered_4g", false)) if (!Util.hasPhoneStatePermission(this)) { prefs.edit().putBoolean("unmetered_4g", false).apply(); ((TwoStatePreference) screen.findPreference("unmetered_4g")).setChecked(false); requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_METERED4); } // Check if permission was revoked if (prefs.getBoolean("eu_roaming", false)) if (!Util.hasPhoneStatePermission(this)) { prefs.edit().putBoolean("eu_roaming", false).apply(); ((TwoStatePreference) screen.findPreference("eu_roaming")).setChecked(false); requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_ROAMING_EU); } if (prefs.getBoolean("national_roaming", false)) if (!Util.hasPhoneStatePermission(this)) { prefs.edit().putBoolean("national_roaming", false).apply(); ((TwoStatePreference) screen.findPreference("national_roaming")).setChecked(false); requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_ROAMING_NATIONAL); } }