@Override
 public boolean onOptionsItemSelected(MenuItem item) {
   switch (item.getItemId()) {
     case R.id.action_add_int:
       showPrefDialog(PreferenceType.INT);
       return true;
     case R.id.action_add_boolean:
       showPrefDialog(PreferenceType.BOOLEAN);
       return true;
     case R.id.action_add_string:
       showPrefDialog(PreferenceType.STRING);
       return true;
     case R.id.action_add_float:
       showPrefDialog(PreferenceType.FLOAT);
       return true;
     case R.id.action_add_long:
       showPrefDialog(PreferenceType.LONG);
       return true;
     case R.id.action_add_stringset:
       showPrefDialog(PreferenceType.STRINGSET);
       return true;
     case R.id.action_edit_file:
       if (preferenceFile == null) {
         if (getActivity() != null) {
           getActivity().finish();
         }
       }
       Intent intent = new Intent(getActivity(), FileEditorActivity.class);
       intent.putExtra(ARG_NAME, mName);
       intent.putExtra(ARG_PATH, mPath);
       intent.putExtra(ARG_PACKAGE_NAME, mPackageName);
       startActivityForResult(intent, CODE_EDIT_FILE);
       return true;
     case R.id.action_sort_alpha:
       setSortType(PreferenceSortType.ALPHANUMERIC);
       return true;
     case R.id.action_sort_type:
       setSortType(PreferenceSortType.TYPE_AND_ALPHANUMERIC);
       return true;
     case R.id.action_backup_file:
       if (mListener != null) {
         mListener.onBackupFile(mFullPath);
       }
       return true;
     case R.id.action_restore_file:
       restoreBackup();
       return true;
     default:
       return super.onOptionsItemSelected(item);
   }
 }
 @SuppressWarnings("ConstantConditions")
 @Override
 public void onPrepareOptionsMenu(Menu menu) {
   menu.findItem(R.id.action_add)
       .setEnabled(preferenceFile != null && preferenceFile.isValidPreferenceFile());
   menu.findItem(R.id.action_add)
       .setIcon(
           preferenceFile != null && preferenceFile.isValidPreferenceFile()
               ? R.drawable.ic_action_add
               : R.drawable.ic_action_add_disabled);
   menu.findItem(R.id.action_sort_alpha)
       .setChecked(PreferencesActivity.preferenceSortType == PreferenceSortType.ALPHANUMERIC);
   menu.findItem(R.id.action_sort_type)
       .setChecked(
           PreferencesActivity.preferenceSortType == PreferenceSortType.TYPE_AND_ALPHANUMERIC);
   menu.findItem(R.id.action_restore_file)
       .setVisible(mListener != null && mListener.canRestoreFile(mFullPath));
   super.onPrepareOptionsMenu(menu);
 }
 private void restoreBackup() {
   if (mListener != null) {
     RestoreDialogFragment.show(
         this, getFragmentManager(), mFullPath, mListener.getBackups(mFullPath));
   }
 }