@Override
 public void onActivityResult(int requestCode, int resultCode, Intent data) {
   switch (requestCode) {
     case REQUEST_ACTION:
       if (resultCode == RESULT_OK) {
         ActionInfo.Record record =
             (ActionInfo.Record)
                 data.getSerializableExtra(ActionPickerActivity.EXTRA_ACTION_RECORD);
         MyApp.logD("picked intent: " + record.intentUri);
         // save
         Preference pref = findPreference(mPrefKey);
         pref.getSharedPreferences()
             .edit()
             .putString(mPrefKey, record.toStringForPreference())
             .apply();
         updateActionSummary(pref, record);
       }
       break;
     default:
       super.onActivityResult(requestCode, resultCode, data);
   }
 }