public static void init(final XSharedPreferences prefs, final ClassLoader classLoader) { try { final Class<?> classDevSettings = XposedHelpers.findClass(CLASS_DEV_SETTINGS, classLoader); if (DEBUG) log("hooking DeveloperSettings.onCreate method"); XposedHelpers.findAndHookMethod(classDevSettings, "onCreate", Bundle.class, new XC_MethodHook() { @Override protected void beforeHookedMethod(final MethodHookParam param) throws Throwable { PreferenceFragment pf = (PreferenceFragment) param.thisObject; mResId = pf.getResources().getIdentifier("development_prefs", "xml", PACKAGE_NAME); if (DEBUG) log("mResId=" + mResId); } }); } catch (Throwable t) { XposedBridge.log(t); } }
protected void showFragment(String tag, boolean addToBackStack) { PreferenceFragment fragment = (PreferenceFragment) getFragmentManager().findFragmentByTag(tag); if (fragment == null) { switch (tag) { case SettingsFragmentMaster.TAG: default: fragment = new SettingsFragmentMaster(); toolbar.setTitle(R.string.settings); break; } } FragmentTransaction t = getFragmentManager().beginTransaction(); if (addToBackStack) { t.addToBackStack(tag); } t.replace(R.id.settings__fragment_container, fragment, tag).commit(); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); PreferenceFragment fragment = new MyPreferenceFragment(); getFragmentManager().beginTransaction().replace(android.R.id.content, fragment).commit(); getFragmentManager().executePendingTransactions(); fragment.getPreferenceScreen().findPreference("a").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { Intent intent = new Intent(Preferences.this, IconPicker.class); startActivityForResult(intent, REQUEST_CODE); return true; } }); }
/** * This method stops fragment injection in malicious applications. * Make sure to deny any unknown fragments here. */ protected boolean isValidFragment(String fragmentName) { return PreferenceFragment.class.getName().equals(fragmentName) || GeneralPreferenceFragment.class.getName().equals(fragmentName) || LocationPreferenceFragment.class.getName().equals(fragmentName) || SyncPreferenceFragment.class.getName().equals(fragmentName); }
/** * This method stops fragment injection in malicious applications. * Make sure to deny any unknown fragments here. */ protected boolean isValidFragment(String fragmentName) { return PreferenceFragment.class.getName().equals(fragmentName) || GeneralPreferenceFragment.class.getName().equals(fragmentName) || PasswordPreferenceFragment.class.getName().equals(fragmentName) || DateOfBirthPreferenceFragment.class.getName().equals(fragmentName); }
/** * This method stops fragment injection in malicious applications. * Make sure to deny any unknown fragments here. */ protected boolean isValidFragment(String fragmentName) { return PreferenceFragment.class.getName().equals(fragmentName) || GeneralPreferenceFragment.class.getName().equals(fragmentName) || DataSyncPreferenceFragment.class.getName().equals(fragmentName) || NotificationPreferenceFragment.class.getName().equals(fragmentName); }
/** * This method stops fragment injection in malicious applications. * Make sure to deny any unknown fragments here. */ protected boolean isValidFragment(String fragmentName) { return PreferenceFragment.class.getName ().equals (fragmentName) || GeneralPreferenceFragment.class.getName ().equals (fragmentName) || DataSyncPreferenceFragment.class.getName ().equals (fragmentName) || NotificationPreferenceFragment.class.getName ().equals (fragmentName); }
/** * This method stops fragment injection in malicious applications. * Make sure to deny any unknown fragments here. */ protected boolean isValidFragment(String fragmentName) { return PreferenceFragment.class.getName().equals(fragmentName) || GeneralPreferenceFragment.class.getName().equals(fragmentName) || DataSyncPreferenceFragment.class.getName().equals(fragmentName) || NotificationPreferenceFragment.class.getName().equals(fragmentName) || NamePreferenceFragment.class.getName().equals(fragmentName); }
protected boolean isValidFragment(String fragmentName) { return PreferenceFragment.class.getName().equals(fragmentName) || SipPreferenceFragment.class.getName().equals(fragmentName) || VideoPreferenceFragment.class.getName().equals(fragmentName) || AudioPreferenceFragment.class.getName().equals(fragmentName) || CommandsPreferenceFragment.class.getName().equals(fragmentName) || NotificationsPreferenceFragment.class.getName().equals(fragmentName) || AdvancedPreferenceFragment.class.getName().equals(fragmentName) || EchoCancellationPreferenceFragment.class.getName().equals(fragmentName) || SipAccountPreferenceFragment.class.getName().equals(fragmentName); }
/** * This method stops fragment injection in malicious applications. * Make sure to deny any unknown fragments here. */ protected boolean isValidFragment(String fragmentName) { return PreferenceFragment.class.getName().equals(fragmentName) || MqttPreferenceFragment.class.getName().equals(fragmentName) || BeaconPreferenceFragment.class.getName().equals(fragmentName) || GeneralPreferenceFragment.class.getName().equals(fragmentName); }
/** * This method stops fragment injection in malicious applications. * Make sure to deny any unknown fragments here. */ protected boolean isValidFragment(String fragmentName) { return PreferenceFragment.class.getName().equals(fragmentName) || GeneralPreferenceFragment.class.getName().equals(fragmentName) || BacklightPreferenceFragment.class.getName().equals(fragmentName) || BluetoothPreferenceFragment.class.getName().equals(fragmentName) || DebugPreferenceFragment.class.getName().equals(fragmentName) || AboutFragment.class.getName().equals(fragmentName); }
/** * This method stops fragment injection in malicious applications. * Make sure to deny any unknown fragments here. */ protected boolean isValidFragment(@NonNull String fragmentName) { return PreferenceFragment.class.getName().equals(fragmentName) || UserPreferenceFragment.class.getName().equals(fragmentName) || NetworkPreferenceFragment.class.getName().equals(fragmentName) || NotificationPreferenceFragment.class.getName().equals(fragmentName) || ReloadPreferenceFragment.class.getName().equals(fragmentName) || OpenWeatherPreferenceFragment.class.getName().equals(fragmentName) || WirelessSocketPreferenceFragment.class.getName().equals(fragmentName) || CoinPreferenceFragment.class.getName().equals(fragmentName) || WirelessSwitchPreferenceFragment.class.getName().equals(fragmentName) || PositionPreferenceFragment.class.getName().equals(fragmentName); }
/** * This method stops fragment injection in malicious applications. * Make sure to deny any unknown fragments here. */ protected boolean isValidFragment(String fragmentName) { return PreferenceFragment.class.getName().equals(fragmentName) || ExperimentalPreferenceFragment.class.getName().equals(fragmentName) || DataSyncPreferenceFragment.class.getName().equals(fragmentName) || NotificationPreferenceFragment.class.getName().equals(fragmentName) || VersionPreferenceFragment.class.getName().equals(fragmentName); }
/** * This method stops fragment injection in malicious applications. * Make sure to deny any unknown fragments here. */ protected boolean isValidFragment(String fragmentName) { return PreferenceFragment.class.getName().equals(fragmentName) || GeneralPreferenceFragment.class.getName().equals(fragmentName) //|| DataSyncPreferenceFragment.class.getName().equals(fragmentName) || NotificationPreferenceFragment.class.getName().equals(fragmentName); }
private void setupViews() { setContentView(R.layout.activity_settings); getFragmentManager().beginTransaction().replace(R.id.fragment_setting, new PreferenceFragment()).commit(); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); toolbar.setTitle(R.string.text_settings); toolbar.setNavigationOnClickListener(v -> finish()); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); }
@Override public void onAttachedToWindow() { super.onAttachedToWindow(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Fragment fragment = getFragmentManager().findFragmentById(android.R.id.content); if (fragment instanceof PreferenceFragment && fragment.getView() != null) { // Set list view padding to 0 so dividers are the full width of the screen. fragment.getView().findViewById(android.R.id.list).setPadding(0, 0, 0, 0); } } }
@Override protected boolean isValidFragment(String _fragmentName) { return PreferenceFragment.class.getName().equals(_fragmentName) || FontSettings.class.getName().equals(_fragmentName) || Settings.class.getName().equals(_fragmentName) || Help.class.getName().equals(_fragmentName); }
/** * This method stops fragment injection in malicious applications. * Make sure to deny any unknown fragments here. */ @Override protected boolean isValidFragment( String fragmentName ) { return PreferenceFragment.class.getName().equals( fragmentName ) || PreferenceFragmentGeneral.class.getName().equals( fragmentName ); }
public static void init(final XSharedPreferences prefs, final ClassLoader classLoader) { try { final Class<?> classVoiceIoSettings = XposedHelpers.findClass(CLASS_VOICEIO_SETTINGS, classLoader); if (DEBUG) log("replacing populateOrRemovePreferences method"); XposedHelpers.findAndHookMethod(classVoiceIoSettings, "populateOrRemovePreferences", new XC_MethodReplacement() { @Override protected Object replaceHookedMethod(MethodHookParam param) throws Throwable { boolean hasRecognizer = (Boolean) XposedHelpers.callMethod(param.thisObject, "populateOrRemoveRecognizerPrefs"); boolean hasTts = (Boolean) XposedHelpers.callMethod(param.thisObject, "populateOrRemoveTtsPrefs"); if (DEBUG) log("populateOrRemovePreferences: hasRecognizer=" + hasRecognizer + "; hasTts=" + hasTts); if (hasRecognizer || hasTts) { return null; } PreferenceFragment fragment = (PreferenceFragment) XposedHelpers.getObjectField( param.thisObject, "mFragment"); PreferenceCategory prefCat = (PreferenceCategory) XposedHelpers.getObjectField( param.thisObject, "mVoiceCategory"); if (fragment != null && prefCat != null) { fragment.getPreferenceScreen().removePreference(prefCat); } return null; } }); } catch (Throwable t) { XposedBridge.log(t); } }
/** * This method stops fragment injection in malicious applications. * Make sure to deny any unknown fragments here. */ protected boolean isValidFragment(String fragmentName) { return PreferenceFragment.class.getName().equals(fragmentName) || ApplicationBehaviourPreferenceFragment.class.getName().equals(fragmentName) || GeneralPreferenceFragment.class.getName().equals(fragmentName) || DataSyncPreferenceFragment.class.getName().equals(fragmentName) || NotificationPreferenceFragment.class.getName().equals(fragmentName); }
/** * This method stops fragment injection in malicious applications. * Make sure to deny any unknown fragments here. */ protected boolean isValidFragment(String fragmentName) { return PreferenceFragment.class.getName().equals(fragmentName) || GeneralPreferenceFragment.class.getName().equals(fragmentName) || FinancialPreferenceFragment.class.getName().equals(fragmentName) || BackupRestorePreferenceFragment.class.getName().equals(fragmentName) || GPSTrackPreferenceFragment.class.getName().equals(fragmentName) || MainScreenPreferenceFragment.class.getName().equals(fragmentName); }
/** * Tests if a loaded fragment is valid * * @param fragmentName The name of the fragment to test * @return True if it's valid, false otherwise */ protected boolean isValidFragment(String fragmentName) { return PreferenceFragment.class.getName().equals(fragmentName) || SearchPreferenceFragment.class.getName().equals(fragmentName) || GeneralPreferenceFragment.class.getName().equals(fragmentName); }
/** * This method stops fragment injection in malicious applications. * Make sure to deny any unknown fragments here. */ protected boolean isValidFragment(String fragmentName) { return PreferenceFragment.class.getName().equals(fragmentName) || GeneralPreferenceFragment.class.getName().equals(fragmentName) || GraphPreferenceFragment.class.getName().equals(fragmentName) || AccountPreferenceFragment.class.getName().equals(fragmentName) || DataSyncPreferenceFragment.class.getName().equals(fragmentName) || NotificationPreferenceFragment.class.getName().equals(fragmentName); }
/** * This method stops fragment injection in malicious applications. * Make sure to deny any unknown fragments here. */ protected boolean isValidFragment(String fragmentName) { return PreferenceFragment.class.getName().equals(fragmentName) || GeneralPreferenceFragment.class.getName().equals(fragmentName) || NotificationPreferenceFragment.class.getName().equals(fragmentName); //|| HelpFragment.class.getName().equals(fragmentName); }
/** * This method stops fragment injection in malicious applications. * Make sure to deny any unknown fragments here. */ protected boolean isValidFragment(String fragmentName) { return PreferenceFragment.class.getName().equals(fragmentName) || NotificationPreferenceFragment.class.getName().equals(fragmentName) || NetworkPreferenceFragment.class.getName().equals(fragmentName) || AdvancedPreferenceFragment.class.getName().equals(fragmentName) || ThemePreferenceFragment.class.getName().equals(fragmentName); }