List of usage examples for android.preference CheckBoxPreference setEnabled
public void setEnabled(boolean enabled)
From source file:org.linphone.SettingsFragment.java
private void setCallPreferencesListener() { findPreference(getString(R.string.pref_rfc2833_dtmf_key)) .setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override//from w w w.ja va2 s . c o m public boolean onPreferenceChange(Preference preference, Object newValue) { boolean use = (Boolean) newValue; CheckBoxPreference sipInfo = (CheckBoxPreference) findPreference( getString(R.string.pref_sipinfo_dtmf_key)); sipInfo.setEnabled(!use); sipInfo.setChecked(false); mPrefs.sendDtmfsAsRfc2833(use); return true; } }); findPreference(getString(R.string.pref_sipinfo_dtmf_key)) .setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { boolean use = (Boolean) newValue; CheckBoxPreference rfc2833 = (CheckBoxPreference) findPreference( getString(R.string.pref_rfc2833_dtmf_key)); rfc2833.setEnabled(!use); rfc2833.setChecked(false); mPrefs.sendDTMFsAsSipInfo(use); return true; } }); }
From source file:org.linphone.SettingsFragment.java
private void initNetworkSettings() { initMediaEncryptionPreference(/*from ww w . j a v a 2s .co m*/ (ListPreference) findPreference(getString(R.string.pref_media_encryption_key))); ((CheckBoxPreference) findPreference(getString(R.string.pref_wifi_only_key))) .setChecked(mPrefs.isWifiOnlyEnabled()); // Disable UPnP if ICE si enabled, or disable ICE if UPnP is enabled CheckBoxPreference ice = (CheckBoxPreference) findPreference(getString(R.string.pref_ice_enable_key)); CheckBoxPreference upnp = (CheckBoxPreference) findPreference(getString(R.string.pref_upnp_enable_key)); ice.setChecked(mPrefs.isIceEnabled()); if (mPrefs.isIceEnabled()) { upnp.setEnabled(false); } else { upnp.setChecked(mPrefs.isUpnpEnabled()); if (mPrefs.isUpnpEnabled()) { ice.setEnabled(false); } } CheckBoxPreference randomPort = (CheckBoxPreference) findPreference( getString(R.string.pref_transport_use_random_ports_key)); randomPort.setChecked(mPrefs.isUsingRandomPort()); // Disable sip port choice if port is random EditTextPreference sipPort = (EditTextPreference) findPreference(getString(R.string.pref_sip_port_key)); sipPort.setEnabled(!randomPort.isChecked()); sipPort.setSummary(mPrefs.getSipPort()); sipPort.setText(mPrefs.getSipPort()); EditTextPreference stun = (EditTextPreference) findPreference(getString(R.string.pref_stun_server_key)); stun.setSummary(mPrefs.getStunServer()); stun.setText(mPrefs.getStunServer()); ((CheckBoxPreference) findPreference(getString(R.string.pref_push_notification_key))) .setChecked(mPrefs.isPushNotificationEnabled()); ((CheckBoxPreference) findPreference(getString(R.string.pref_ipv6_key))).setChecked(mPrefs.isUsingIpv6()); }
From source file:org.linphone.SettingsFragment.java
private void initCallSettings() { CheckBoxPreference rfc2833 = (CheckBoxPreference) findPreference(getString(R.string.pref_rfc2833_dtmf_key)); CheckBoxPreference sipInfo = (CheckBoxPreference) findPreference(getString(R.string.pref_sipinfo_dtmf_key)); if (mPrefs.useRfc2833Dtmfs()) { rfc2833.setChecked(true);//from w ww .ja v a 2 s . c om sipInfo.setChecked(false); sipInfo.setEnabled(false); } else if (mPrefs.useSipInfoDtmfs()) { sipInfo.setChecked(true); rfc2833.setChecked(false); rfc2833.setEnabled(false); } }
From source file:org.linphone.SettingsFragment.java
private void setNetworkPreferencesListener() { findPreference(getString(R.string.pref_wifi_only_key)) .setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override//from w ww. j a v a 2s .c o m public boolean onPreferenceChange(Preference preference, Object newValue) { mPrefs.setWifiOnlyEnabled((Boolean) newValue); return true; } }); findPreference(getString(R.string.pref_stun_server_key)) .setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { mPrefs.setStunServer(newValue.toString()); preference.setSummary(newValue.toString()); return true; } }); findPreference(getString(R.string.pref_ice_enable_key)) .setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { CheckBoxPreference upnp = (CheckBoxPreference) findPreference( getString(R.string.pref_upnp_enable_key)); boolean value = (Boolean) newValue; upnp.setChecked(false); upnp.setEnabled(!value); mPrefs.setIceEnabled((Boolean) newValue); return true; } }); findPreference(getString(R.string.pref_upnp_enable_key)) .setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { CheckBoxPreference ice = (CheckBoxPreference) findPreference( getString(R.string.pref_ice_enable_key)); boolean value = (Boolean) newValue; ice.setChecked(false); ice.setEnabled(!value); mPrefs.setUpnpEnabled(value); return true; } }); findPreference(getString(R.string.pref_transport_use_random_ports_key)) .setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { boolean randomPort = (Boolean) newValue; mPrefs.useRandomPort((Boolean) newValue); findPreference(getString(R.string.pref_sip_port_key)).setEnabled(!randomPort); return true; } }); findPreference(getString(R.string.pref_sip_port_key)) .setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { int port = -1; try { port = Integer.parseInt(newValue.toString()); } catch (NumberFormatException nfe) { } mPrefs.setSipPort(port); preference.setSummary(newValue.toString()); return true; } }); findPreference(getString(R.string.pref_media_encryption_key)) .setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { String value = newValue.toString(); MediaEncryption menc = MediaEncryption.None; if (value.equals(getString(R.string.pref_media_encryption_key_srtp))) menc = MediaEncryption.SRTP; else if (value.equals(getString(R.string.pref_media_encryption_key_zrtp))) menc = MediaEncryption.ZRTP; mPrefs.setMediaEncryption(menc); preference.setSummary(mPrefs.getMediaEncryption().toString()); return true; } }); findPreference(getString(R.string.pref_push_notification_key)) .setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { mPrefs.setPushNotificationEnabled((Boolean) newValue); return true; } }); findPreference(getString(R.string.pref_ipv6_key)) .setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { mPrefs.useIpv6((Boolean) newValue); return true; } }); }
From source file:com.nttec.everychan.chans.fourchan.FourchanModule.java
@Override public void addPreferencesOnScreen(PreferenceGroup preferenceGroup) { Context context = preferenceGroup.getContext(); addPasscodePreference(preferenceGroup); CheckBoxPreference newRecaptchaPref = new LazyPreferences.CheckBoxPreference(context); newRecaptchaPref.setTitle(R.string.fourchan_prefs_new_recaptcha); newRecaptchaPref.setSummary(R.string.fourchan_prefs_new_recaptcha_summary); newRecaptchaPref.setKey(getSharedKey(PREF_KEY_NEW_RECAPTCHA)); newRecaptchaPref.setDefaultValue(NEW_RECAPTCHA_DEFAULT); preferenceGroup.addPreference(newRecaptchaPref); final CheckBoxPreference fallbackRecaptchaPref = new LazyPreferences.CheckBoxPreference(context); fallbackRecaptchaPref.setTitle(R.string.fourchan_prefs_new_recaptcha_fallback); fallbackRecaptchaPref.setSummary(R.string.fourchan_prefs_new_recaptcha_fallback_summary); fallbackRecaptchaPref.setKey(getSharedKey(PREF_KEY_NEW_RECAPTCHA_FALLBACK)); fallbackRecaptchaPref.setDefaultValue(false); preferenceGroup.addPreference(fallbackRecaptchaPref); fallbackRecaptchaPref.setDependency(getSharedKey(PREF_KEY_NEW_RECAPTCHA)); addPasswordPreference(preferenceGroup); addHttpsPreference(preferenceGroup, true); addProxyPreferences(preferenceGroup); final CheckBoxPreference proxyPreference = (CheckBoxPreference) preferenceGroup .findPreference(getSharedKey(PREF_KEY_USE_PROXY)); fallbackRecaptchaPref.setEnabled(!proxyPreference.isChecked()); proxyPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override//from w ww.j av a2 s. c om public boolean onPreferenceClick(Preference preference) { fallbackRecaptchaPref.setEnabled(!proxyPreference.isChecked()); if (proxyPreference.isChecked() && !fallbackRecaptchaPref.isChecked()) fallbackRecaptchaPref.setChecked(true); return false; } }); }
From source file:net.basilwang.StaticAttachmentActivity.java
@Override public void onPreferenceAttached(PreferenceScreen root, int xmlId) { if (root == null) return; // for whatever reason in very rare cases this is null if (xmlId == R.xml.preferencesfragment) { PreferenceCategory logonPreference; PreferenceScreen logonAddPreference; PreferenceScreen aboutusPreference; PreferenceScreen shareonweiboPreference; // PreferenceScreen ruguozhaiPreference; // The filelds we have deleted // CheckBoxPreference weekViewCheckboxPreference; // CheckBoxPreference scoreCheckboxPreference; CheckBoxPreference adCheckboxPreference; logonAddPreference = (PreferenceScreen) root .findPreference(LOGON_ADD_PREFERENCES); if (logonAddPreference != null) { logonAddPreference.setOnPreferenceClickListener(this); }/*from ww w. j a v a2 s .c o m*/ logonPreference = (PreferenceCategory) root .findPreference(LOGON_PREFERENCES); aboutusPreference = (PreferenceScreen) root .findPreference(ABOUT_US); shareonweiboPreference = (PreferenceScreen) root .findPreference(SHAREONWEIBO); // ruguozhaiPreference = (PreferenceScreen) root // .findPreference(RU_GUO_ZHAI); adCheckboxPreference = (CheckBoxPreference) root .findPreference(CLOSE_AD); // weekViewCheckboxPreference = (CheckBoxPreference) root // .findPreference(WEEKVIEW_ENABLED); // 2012-09-26 basilwang if weekview already enabled, we set // WeekViewCheckboxPreference enable status is false // if (Preferences.isWeekViewUnlocked(this)) { // weekViewCheckboxPreference.setChecked(true); // weekViewCheckboxPreference.setEnabled(false); // } else { // weekViewCheckboxPreference.setChecked(false); // weekViewCheckboxPreference.setEnabled(true); // } if (Preferences.isAdClosed(this)) { adCheckboxPreference.setChecked(true); adCheckboxPreference.setEnabled(false); } else { adCheckboxPreference.setChecked(false); adCheckboxPreference.setEnabled(true); } aboutusPreference.setOnPreferenceClickListener(this); shareonweiboPreference.setOnPreferenceClickListener(this); // ruguozhaiPreference.setOnPreferenceClickListener(this); // weekViewCheckboxPreference.setOnPreferenceClickListener(this); adCheckboxPreference.setOnPreferenceClickListener(this); YoumiOffersManager.init(this, "2fc95b356bb979ae", "8b94f727980f7158"); YoumiOffersManager.checkStatus(StaticAttachmentActivity.this, StaticAttachmentActivity.this); reloadData(logonPreference, logonAddPreference, root.getPreferenceManager()); } }
From source file:im.vector.fragments.VectorSettingsPreferencesFragment.java
/** * Refresh the preferences.// w w w . j ava 2 s. c o m */ private void refreshDisplay() { boolean isConnected = Matrix.getInstance(getActivity()).isConnected(); Context appContext = getActivity().getApplicationContext(); PreferenceManager preferenceManager = getPreferenceManager(); // refresh the avatar UserAvatarPreference avatarPreference = (UserAvatarPreference) preferenceManager .findPreference(PreferencesManager.SETTINGS_PROFILE_PICTURE_PREFERENCE_KEY); avatarPreference.refreshAvatar(); avatarPreference.setEnabled(isConnected); // refresh the display name final EditTextPreference displaynamePref = (EditTextPreference) preferenceManager .findPreference(PreferencesManager.SETTINGS_DISPLAY_NAME_PREFERENCE_KEY); displaynamePref.setSummary(mSession.getMyUser().displayname); displaynamePref.setText(mSession.getMyUser().displayname); displaynamePref.setEnabled(isConnected); // change password final EditTextPreference changePasswordPref = (EditTextPreference) preferenceManager .findPreference(PreferencesManager.SETTINGS_CHANGE_PASSWORD_PREFERENCE_KEY); changePasswordPref.setEnabled(isConnected); // update the push rules SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(appContext); BingRuleSet rules = mSession.getDataHandler().pushRules(); GcmRegistrationManager gcmMgr = Matrix.getInstance(appContext).getSharedGCMRegistrationManager(); for (String resourceText : mPushesRuleByResourceId.keySet()) { Preference preference = preferenceManager.findPreference(resourceText); if (null != preference) { if (preference instanceof BingRulePreference) { BingRulePreference bingRulePreference = (BingRulePreference) preference; bingRulePreference .setEnabled((null != rules) && isConnected && gcmMgr.areDeviceNotificationsAllowed()); bingRulePreference.setBingRule(mSession.getDataHandler().pushRules() .findDefaultRule(mPushesRuleByResourceId.get(resourceText))); } else if (preference instanceof CheckBoxPreference) { CheckBoxPreference switchPreference = (CheckBoxPreference) preference; if (resourceText.equals(PreferencesManager.SETTINGS_ENABLE_THIS_DEVICE_PREFERENCE_KEY)) { switchPreference.setChecked(gcmMgr.areDeviceNotificationsAllowed()); } else if (resourceText.equals(PreferencesManager.SETTINGS_TURN_SCREEN_ON_PREFERENCE_KEY)) { switchPreference.setChecked(gcmMgr.isScreenTurnedOn()); switchPreference.setEnabled(gcmMgr.areDeviceNotificationsAllowed()); } else { switchPreference.setEnabled((null != rules) && isConnected); switchPreference.setChecked(preferences.getBoolean(resourceText, false)); } } } } // If notifications are disabled for the current user account or for the current user device // The others notifications settings have to be disable too boolean areNotifAllowed = rules != null && rules.findDefaultRule(BingRule.RULE_ID_DISABLE_ALL) != null && rules.findDefaultRule(BingRule.RULE_ID_DISABLE_ALL).isEnabled; Preference notificationSoundPreference = preferenceManager .findPreference(PreferencesManager.SETTINGS_NOTIFICATION_RINGTONE_SELECTION_PREFERENCE_KEY); notificationSoundPreference.setEnabled(!areNotifAllowed && gcmMgr.areDeviceNotificationsAllowed()); Preference notificationPrivacyPreference = preferenceManager .findPreference(PreferencesManager.SETTINGS_NOTIFICATION_PRIVACY_PREFERENCE_KEY); if (notificationPrivacyPreference != null) { notificationPrivacyPreference .setEnabled(!areNotifAllowed && gcmMgr.areDeviceNotificationsAllowed() && gcmMgr.useGCM()); } }
From source file:im.vector.fragments.VectorSettingsPreferencesFragment.java
@Override public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); final Context appContext = getActivity().getApplicationContext(); // retrieve the arguments Bundle args = getArguments();/*from w w w. j ava 2 s. c om*/ String matrixId = args.getString(ARG_MATRIX_ID); mSession = Matrix.getInstance(appContext).getSession(matrixId); // sanity checks if ((null == mSession) || !mSession.isAlive()) { getActivity().finish(); return; } // define the layout addPreferencesFromResource(R.xml.vector_settings_preferences); if (null == mPushesRuleByResourceId) { mPushesRuleByResourceId = new HashMap<>(); mPushesRuleByResourceId.put(PreferencesManager.SETTINGS_ENABLE_ALL_NOTIF_PREFERENCE_KEY, BingRule.RULE_ID_DISABLE_ALL); mPushesRuleByResourceId.put(PreferencesManager.SETTINGS_ENABLE_THIS_DEVICE_PREFERENCE_KEY, DUMMY_RULE); mPushesRuleByResourceId.put(PreferencesManager.SETTINGS_TURN_SCREEN_ON_PREFERENCE_KEY, DUMMY_RULE); mPushesRuleByResourceId.put(PreferencesManager.SETTINGS_CONTAINING_MY_DISPLAY_NAME_PREFERENCE_KEY, BingRule.RULE_ID_CONTAIN_DISPLAY_NAME); mPushesRuleByResourceId.put(PreferencesManager.SETTINGS_CONTAINING_MY_USER_NAME_PREFERENCE_KEY, BingRule.RULE_ID_CONTAIN_USER_NAME); mPushesRuleByResourceId.put(PreferencesManager.SETTINGS_MESSAGES_IN_ONE_TO_ONE_PREFERENCE_KEY, BingRule.RULE_ID_ONE_TO_ONE_ROOM); mPushesRuleByResourceId.put(PreferencesManager.SETTINGS_MESSAGES_IN_GROUP_CHAT_PREFERENCE_KEY, BingRule.RULE_ID_ALL_OTHER_MESSAGES_ROOMS); mPushesRuleByResourceId.put(PreferencesManager.SETTINGS_INVITED_TO_ROOM_PREFERENCE_KEY, BingRule.RULE_ID_INVITE_ME); mPushesRuleByResourceId.put(PreferencesManager.SETTINGS_CALL_INVITATIONS_PREFERENCE_KEY, BingRule.RULE_ID_CALL); mPushesRuleByResourceId.put(PreferencesManager.SETTINGS_MESSAGES_SENT_BY_BOT_PREFERENCE_KEY, BingRule.RULE_ID_SUPPRESS_BOTS_NOTIFICATIONS); } UserAvatarPreference avatarPreference = (UserAvatarPreference) findPreference( PreferencesManager.SETTINGS_PROFILE_PICTURE_PREFERENCE_KEY); avatarPreference.setSession(mSession); avatarPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { onUpdateAvatarClick(); return false; } }); EditTextPreference passwordPreference = (EditTextPreference) findPreference( PreferencesManager.SETTINGS_CHANGE_PASSWORD_PREFERENCE_KEY); passwordPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { onPasswordUpdateClick(); return false; } }); EditTextPreference notificationRingTonePreference = (EditTextPreference) findPreference( PreferencesManager.SETTINGS_NOTIFICATION_RINGTONE_SELECTION_PREFERENCE_KEY); notificationRingTonePreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION); if (null != PreferencesManager.getNotificationRingTone(getActivity())) { intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, PreferencesManager.getNotificationRingTone(getActivity())); } getActivity().startActivityForResult(intent, REQUEST_NOTIFICATION_RINGTONE); return false; } }); refreshNotificationRingTone(); EditTextPreference notificationPrivacyPreference = (EditTextPreference) findPreference( PreferencesManager.SETTINGS_NOTIFICATION_PRIVACY_PREFERENCE_KEY); if (notificationPrivacyPreference != null) { notificationPrivacyPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { startActivity(NotificationPrivacyActivity.getIntent(getActivity())); return true; } }); refreshNotificationPrivacy(); } // application version VectorCustomActionEditTextPreference versionTextPreference = (VectorCustomActionEditTextPreference) findPreference( PreferencesManager.SETTINGS_VERSION_PREFERENCE_KEY); if (null != versionTextPreference) { versionTextPreference.setSummary(VectorUtils.getApplicationVersion(appContext)); versionTextPreference.setOnPreferenceLongClickListener( new VectorCustomActionEditTextPreference.OnPreferenceLongClickListener() { @Override public boolean onPreferenceLongClick(Preference preference) { VectorUtils.copyToClipboard(appContext, VectorUtils.getApplicationVersion(appContext)); return true; } }); } // olm version EditTextPreference olmTextPreference = (EditTextPreference) findPreference( PreferencesManager.SETTINGS_OLM_VERSION_PREFERENCE_KEY); if (null != olmTextPreference) { olmTextPreference.setSummary( Matrix.getInstance(appContext).getDefaultSession().getCryptoVersion(appContext, false)); } // user account EditTextPreference accountIdTextPreference = (EditTextPreference) findPreference( PreferencesManager.SETTINGS_LOGGED_IN_PREFERENCE_KEY); if (null != accountIdTextPreference) { accountIdTextPreference.setSummary(mSession.getMyUserId()); } // home server EditTextPreference homeServerTextPreference = (EditTextPreference) findPreference( PreferencesManager.SETTINGS_HOME_SERVER_PREFERENCE_KEY); if (null != homeServerTextPreference) { homeServerTextPreference.setSummary(mSession.getHomeServerConfig().getHomeserverUri().toString()); } // identity server EditTextPreference identityServerTextPreference = (EditTextPreference) findPreference( PreferencesManager.SETTINGS_IDENTITY_SERVER_PREFERENCE_KEY); if (null != identityServerTextPreference) { identityServerTextPreference .setSummary(mSession.getHomeServerConfig().getIdentityServerUri().toString()); } // terms & conditions EditTextPreference termConditionsPreference = (EditTextPreference) findPreference( PreferencesManager.SETTINGS_APP_TERM_CONDITIONS_PREFERENCE_KEY); if (null != termConditionsPreference) { termConditionsPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { VectorUtils.displayAppTac(); return false; } }); } // Themes ListPreference themePreference = (ListPreference) findPreference(ThemeUtils.APPLICATION_THEME_KEY); if (null != themePreference) { themePreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { if (newValue instanceof String) { VectorApp.updateApplicationTheme((String) newValue); getActivity().startActivity(getActivity().getIntent()); getActivity().finish(); return true; } else { return false; } } }); } // privacy policy EditTextPreference privacyPreference = (EditTextPreference) findPreference( PreferencesManager.SETTINGS_PRIVACY_POLICY_PREFERENCE_KEY); if (null != privacyPreference) { privacyPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { VectorUtils.displayAppPrivacyPolicy(); return false; } }); } // third party notice EditTextPreference thirdPartyNotices = (EditTextPreference) findPreference( PreferencesManager.SETTINGS_THIRD_PARTY_NOTICES_PREFERENCE_KEY); if (null != thirdPartyNotices) { thirdPartyNotices.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { VectorUtils.displayThirdPartyLicenses(); return false; } }); } // copyright EditTextPreference copyrightNotices = (EditTextPreference) findPreference( PreferencesManager.SETTINGS_COPYRIGHT_PREFERENCE_KEY); if (null != copyrightNotices) { copyrightNotices.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { VectorUtils.displayAppCopyright(); return false; } }); } // update keep medias period final EditTextPreference keepMediaPeriodPreference = (EditTextPreference) findPreference( PreferencesManager.SETTINGS_MEDIA_SAVING_PERIOD_KEY); if (null != keepMediaPeriodPreference) { keepMediaPeriodPreference .setSummary(PreferencesManager.getSelectedMediasSavingPeriodString(getActivity())); keepMediaPeriodPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { new AlertDialog.Builder(getActivity()) .setSingleChoiceItems(PreferencesManager.getMediasSavingItemsChoicesList(getActivity()), PreferencesManager.getSelectedMediasSavingPeriod(getActivity()), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface d, int n) { PreferencesManager.setSelectedMediasSavingPeriod(getActivity(), n); d.cancel(); keepMediaPeriodPreference.setSummary(PreferencesManager .getSelectedMediasSavingPeriodString(getActivity())); } }) .show(); return false; } }); } // clear medias cache final EditTextPreference clearMediaCachePreference = (EditTextPreference) findPreference( PreferencesManager.SETTINGS_CLEAR_MEDIA_CACHE_PREFERENCE_KEY); if (null != clearMediaCachePreference) { MXMediasCache.getCachesSize(getActivity(), new SimpleApiCallback<Long>() { @Override public void onSuccess(Long size) { if (null != getActivity()) { clearMediaCachePreference .setSummary(android.text.format.Formatter.formatFileSize(getActivity(), size)); } } }); clearMediaCachePreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { displayLoadingView(); AsyncTask<Void, Void, Void> task = new AsyncTask<Void, Void, Void>() { @Override protected Void doInBackground(Void... params) { mSession.getMediasCache().clear(); Glide.get(getActivity()).clearDiskCache(); return null; } @Override protected void onPostExecute(Void result) { hideLoadingView(); MXMediasCache.getCachesSize(getActivity(), new SimpleApiCallback<Long>() { @Override public void onSuccess(Long size) { clearMediaCachePreference.setSummary( android.text.format.Formatter.formatFileSize(getActivity(), size)); } }); } }; try { task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } catch (Exception e) { Log.e(LOG_TAG, "## mSession.getMediasCache().clear() failed " + e.getMessage()); task.cancel(true); hideLoadingView(); } return false; } }); } // clear cache final EditTextPreference clearCachePreference = (EditTextPreference) findPreference( PreferencesManager.SETTINGS_CLEAR_CACHE_PREFERENCE_KEY); if (null != clearCachePreference) { MXSession.getApplicationSizeCaches(getActivity(), new SimpleApiCallback<Long>() { @Override public void onSuccess(Long size) { if (null != getActivity()) { clearCachePreference .setSummary(android.text.format.Formatter.formatFileSize(getActivity(), size)); } } }); clearCachePreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { displayLoadingView(); Matrix.getInstance(appContext).reloadSessions(appContext); return false; } }); } final EditTextPreference displaynamePref = (EditTextPreference) findPreference( PreferencesManager.SETTINGS_DISPLAY_NAME_PREFERENCE_KEY); displaynamePref.setSummary(mSession.getMyUser().displayname); displaynamePref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { onDisplayNameClick((null == newValue) ? null : ((String) newValue).trim()); return false; } }); final VectorSwitchPreference urlPreviewPreference = (VectorSwitchPreference) findPreference( PreferencesManager.SETTINGS_SHOW_URL_PREVIEW_KEY); urlPreviewPreference.setChecked(mSession.isURLPreviewEnabled()); urlPreviewPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { if ((null != newValue) && ((boolean) newValue != mSession.isURLPreviewEnabled())) { displayLoadingView(); mSession.setURLPreviewStatus((boolean) newValue, new ApiCallback<Void>() { @Override public void onSuccess(Void info) { urlPreviewPreference.setChecked(mSession.isURLPreviewEnabled()); hideLoadingView(); } private void onError(String errorMessage) { if (null != getActivity()) { Toast.makeText(getActivity(), errorMessage, Toast.LENGTH_SHORT).show(); } onSuccess(null); } @Override public void onNetworkError(Exception e) { onError(e.getLocalizedMessage()); } @Override public void onMatrixError(MatrixError e) { onError(e.getLocalizedMessage()); } @Override public void onUnexpectedError(Exception e) { onError(e.getLocalizedMessage()); } }); } return false; } }); // push rules for (String resourceText : mPushesRuleByResourceId.keySet()) { final Preference preference = findPreference(resourceText); if (null != preference) { if (preference instanceof CheckBoxPreference) { preference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValueAsVoid) { // on some old android APIs, // the callback is called even if there is no user interaction // so the value will be checked to ensure there is really no update. onPushRuleClick(preference.getKey(), (boolean) newValueAsVoid); return true; } }); } else if (preference instanceof BingRulePreference) { final BingRulePreference bingRulePreference = (BingRulePreference) preference; bingRulePreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { new AlertDialog.Builder(getActivity()).setSingleChoiceItems( bingRulePreference.getBingRuleStatuses(), bingRulePreference.getRuleStatusIndex(), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface d, int index) { BingRule rule = bingRulePreference.createRule(index); d.cancel(); if (null != rule) { displayLoadingView(); mSession.getDataHandler().getBingRulesManager().updateRule( bingRulePreference.getRule(), rule, new BingRulesManager.onBingRuleUpdateListener() { private void onDone() { refreshDisplay(); hideLoadingView(); } @Override public void onBingRuleUpdateSuccess() { onDone(); } @Override public void onBingRuleUpdateFailure( String errorMessage) { if (null != getActivity()) { Toast.makeText(getActivity(), errorMessage, Toast.LENGTH_SHORT).show(); } onDone(); } }); } } }).show(); return true; } }); } } } // background sync tuning settings // these settings are useless and hidden if the app is registered to the GCM push service final GcmRegistrationManager gcmMgr = Matrix.getInstance(appContext).getSharedGCMRegistrationManager(); if (gcmMgr.useGCM() && gcmMgr.hasRegistrationToken()) { // Hide the section PreferenceScreen preferenceScreen = getPreferenceScreen(); PreferenceCategory backgroundSyncCategory = (PreferenceCategory) findPreference( PreferencesManager.SETTINGS_BACKGROUND_SYNC_PREFERENCE_KEY); PreferenceCategory backgroundSyncDivider = (PreferenceCategory) findPreference( PreferencesManager.SETTINGS_BACKGROUND_SYNC_DIVIDER_PREFERENCE_KEY); preferenceScreen.removePreference(backgroundSyncDivider); preferenceScreen.removePreference(backgroundSyncCategory); } else { mSyncRequestTimeoutPreference = (EditTextPreference) findPreference( PreferencesManager.SETTINGS_SET_SYNC_TIMEOUT_PREFERENCE_KEY); mSyncRequestDelayPreference = (EditTextPreference) findPreference( PreferencesManager.SETTINGS_SET_SYNC_DELAY_PREFERENCE_KEY); final CheckBoxPreference useBackgroundSyncPref = (CheckBoxPreference) findPreference( PreferencesManager.SETTINGS_ENABLE_BACKGROUND_SYNC_PREFERENCE_KEY); if (null != useBackgroundSyncPref) { final GcmRegistrationManager.ThirdPartyRegistrationListener listener = new GcmRegistrationManager.ThirdPartyRegistrationListener() { @Override public void onThirdPartyRegistered() { hideLoadingView(); } @Override public void onThirdPartyRegistrationFailed() { hideLoadingView(); } @Override public void onThirdPartyUnregistered() { hideLoadingView(); } @Override public void onThirdPartyUnregistrationFailed() { hideLoadingView(); } }; if (null != useBackgroundSyncPref) { useBackgroundSyncPref.setChecked(gcmMgr.isBackgroundSyncAllowed()); useBackgroundSyncPref .setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object aNewValue) { final boolean newValue = (boolean) aNewValue; if (newValue != gcmMgr.isBackgroundSyncAllowed()) { gcmMgr.setBackgroundSyncAllowed(newValue); } displayLoadingView(); Matrix.getInstance(VectorSettingsPreferencesFragment.this.getActivity()) .getSharedGCMRegistrationManager().forceSessionsRegistration(listener); return true; } }); } } } mUserSettingsCategory = (PreferenceCategory) findPreference( PreferencesManager.SETTINGS_USER_SETTINGS_PREFERENCE_KEY); mContactSettingsCategory = (PreferenceCategory) findPreference( PreferencesManager.SETTINGS_CONTACT_PREFERENCE_KEYS); mPushersSettingsCategory = (PreferenceCategory) findPreference( PreferencesManager.SETTINGS_NOTIFICATIONS_TARGETS_PREFERENCE_KEY); mPushersSettingsDivider = (PreferenceCategory) findPreference( PreferencesManager.SETTINGS_NOTIFICATIONS_TARGET_DIVIDER_PREFERENCE_KEY); mIgnoredUserSettingsCategory = (PreferenceCategory) findPreference( PreferencesManager.SETTINGS_IGNORED_USERS_PREFERENCE_KEY); mIgnoredUserSettingsCategoryDivider = (PreferenceCategory) findPreference( PreferencesManager.SETTINGS_IGNORE_USERS_DIVIDER_PREFERENCE_KEY); mDevicesListSettingsCategory = (PreferenceCategory) findPreference( PreferencesManager.SETTINGS_DEVICES_LIST_PREFERENCE_KEY); mDevicesListSettingsCategoryDivider = (PreferenceCategory) findPreference( PreferencesManager.SETTINGS_DEVICES_DIVIDER_PREFERENCE_KEY); mCryptographyCategory = (PreferenceCategory) findPreference( PreferencesManager.SETTINGS_CRYPTOGRAPHY_PREFERENCE_KEY); mCryptographyCategoryDivider = (PreferenceCategory) findPreference( PreferencesManager.SETTINGS_CRYPTOGRAPHY_DIVIDER_PREFERENCE_KEY); mLabsCategory = (PreferenceCategory) findPreference(PreferencesManager.SETTINGS_LABS_PREFERENCE_KEY); mGroupsFlairCategory = (PreferenceCategory) findPreference(PreferencesManager.SETTINGS_GROUPS_FLAIR_KEY); // preference to start the App info screen, to facilitate App permissions access Preference applicationInfoLInkPref = findPreference(APP_INFO_LINK_PREFERENCE_KEY); applicationInfoLInkPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { if (null != getActivity()) { Intent intent = new Intent(); intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); Uri uri = Uri.fromParts("package", appContext.getPackageName(), null); intent.setData(uri); getActivity().getApplicationContext().startActivity(intent); } return true; } }); // Contacts setContactsPreferences(); // user interface preferences setUserInterfacePreferences(); final CheckBoxPreference useCryptoPref = (CheckBoxPreference) findPreference( PreferencesManager.SETTINGS_ROOM_SETTINGS_LABS_END_TO_END_PREFERENCE_KEY); final Preference cryptoIsEnabledPref = findPreference( PreferencesManager.SETTINGS_ROOM_SETTINGS_LABS_END_TO_END_IS_ACTIVE_PREFERENCE_KEY); cryptoIsEnabledPref.setEnabled(false); if (!mSession.isCryptoEnabled()) { useCryptoPref.setChecked(false); mLabsCategory.removePreference(cryptoIsEnabledPref); } else { mLabsCategory.removePreference(useCryptoPref); } useCryptoPref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValueAsVoid) { if (TextUtils.isEmpty(mSession.getCredentials().deviceId)) { new AlertDialog.Builder(getActivity()) .setMessage(R.string.room_settings_labs_end_to_end_warnings) .setPositiveButton(R.string.logout, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); CommonActivityUtils.logout(getActivity()); } }).setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); useCryptoPref.setChecked(false); } }).setOnCancelListener(new DialogInterface.OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { dialog.dismiss(); useCryptoPref.setChecked(false); } }).create().show(); } else { boolean newValue = (boolean) newValueAsVoid; if (mSession.isCryptoEnabled() != newValue) { displayLoadingView(); mSession.enableCrypto(newValue, new ApiCallback<Void>() { private void refresh() { if (null != getActivity()) { getActivity().runOnUiThread(new Runnable() { @Override public void run() { hideLoadingView(); useCryptoPref.setChecked(mSession.isCryptoEnabled()); if (mSession.isCryptoEnabled()) { mLabsCategory.removePreference(useCryptoPref); mLabsCategory.addPreference(cryptoIsEnabledPref); } } }); } } @Override public void onSuccess(Void info) { useCryptoPref.setEnabled(false); refresh(); } @Override public void onNetworkError(Exception e) { useCryptoPref.setChecked(false); } @Override public void onMatrixError(MatrixError e) { useCryptoPref.setChecked(false); } @Override public void onUnexpectedError(Exception e) { useCryptoPref.setChecked(false); } }); } } return true; } }); // SaveMode Managment final CheckBoxPreference dataSaveModePref = (CheckBoxPreference) findPreference( PreferencesManager.SETTINGS_DATA_SAVE_MODE_PREFERENCE_KEY); dataSaveModePref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { List<MXSession> sessions = Matrix.getMXSessions(getActivity()); for (MXSession session : sessions) { session.setUseDataSaveMode((boolean) newValue); } return true; } }); // Analytics tracking managment final CheckBoxPreference useAnalyticsModePref = (CheckBoxPreference) findPreference( PreferencesManager.SETTINGS_USE_ANALYTICS_KEY); // On if the analytics tracking is activated useAnalyticsModePref.setChecked(PreferencesManager.useAnalytics(appContext)); useAnalyticsModePref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { PreferencesManager.setUseAnalytics(appContext, (boolean) newValue); return true; } }); // Rageshake Managment final CheckBoxPreference useRageShakeModePref = (CheckBoxPreference) findPreference( PreferencesManager.SETTINGS_USE_RAGE_SHAKE_KEY); final boolean mIsUsedRageShake = PreferencesManager.useRageshake(appContext); useRageShakeModePref.setChecked(mIsUsedRageShake); useRageShakeModePref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { PreferencesManager.setUseRageshake(appContext, (boolean) newValue); return true; } }); // deactivate account EditTextPreference deactivateAccountPref = (EditTextPreference) findPreference( PreferencesManager.SETTINGS_DEACTIVATE_ACCOUNT_KEY); if (null != deactivateAccountPref) { deactivateAccountPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { startActivity(DeactivateAccountActivity.Companion.getIntent(getActivity())); return false; } }); } addButtons(); refreshPushersList(); refreshEmailsList(); refreshPhoneNumbersList(); refreshIgnoredUsersList(); refreshDevicesList(); refreshGroupFlairsList(); }