コード例 #1
0
 @Override
 public boolean onPreferenceStartFragment(PreferenceFragment caller, Preference pref) {
   // Override the fragment title for Wallpaper settings
   int titleRes = pref.getTitleRes();
   if (pref.getFragment().equals(WallpaperTypeSettings.class.getName())) {
     titleRes = R.string.wallpaper_settings_fragment_title;
   } else if (pref.getFragment().equals(OwnerInfoSettings.class.getName())
       && UserHandle.myUserId() != UserHandle.USER_OWNER) {
     titleRes = R.string.user_info_settings_title;
   }
   startPreferencePanel(pref.getFragment(), pref.getExtras(), titleRes, pref.getTitle(), null, 0);
   return true;
 }
 @Override
 public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
   // Input Method stuff
   if (Utils.isMonkeyRunning()) {
     return false;
   }
   if (preference == mStatusBarImeSwitcher) {
     Settings.System.putInt(
         getActivity().getContentResolver(),
         Settings.System.STATUS_BAR_IME_SWITCHER,
         mStatusBarImeSwitcher.isChecked() ? 1 : 0);
     return true;
   } else if (preference instanceof PreferenceScreen) {
     if (preference.getFragment() != null) {
       // Fragment will be handled correctly by the super class.
     } else if (KEY_CURRENT_INPUT_METHOD.equals(preference.getKey())) {
       final InputMethodManager imm =
           (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
       imm.showInputMethodPicker();
     }
   } else if (preference instanceof CheckBoxPreference) {
     final CheckBoxPreference chkPref = (CheckBoxPreference) preference;
     if (!mHardKeyboardPreferenceList.isEmpty()) {
       for (int i = 0; i < sHardKeyboardKeys.length; ++i) {
         if (chkPref == mHardKeyboardCategory.findPreference(sHardKeyboardKeys[i])) {
           System.putInt(
               getContentResolver(), sSystemSettingNames[i], chkPref.isChecked() ? 1 : 0);
           return true;
         }
       }
     }
     if (chkPref == mGameControllerCategory.findPreference("vibrate_input_devices")) {
       System.putInt(
           getContentResolver(),
           Settings.System.VIBRATE_INPUT_DEVICES,
           chkPref.isChecked() ? 1 : 0);
       return true;
     }
   }
   return super.onPreferenceTreeClick(preferenceScreen, preference);
 }