Merge branch '907-panic-signout' into 'master'

Require a panic app to be set before executing any panic actions

Closes #907

See merge request !492
This commit is contained in:
akwizgran
2017-03-27 09:43:30 +00:00
3 changed files with 31 additions and 34 deletions

View File

@@ -103,12 +103,14 @@ public class PanicPreferencesFragment extends PreferenceFragmentCompat
showPanicApp(packageName);
if (packageName.equals(Panic.PACKAGE_NAME_NONE)) {
lockPref.setEnabled(false);
purgePref.setChecked(false);
purgePref.setEnabled(false);
uninstallPref.setChecked(false);
uninstallPref.setEnabled(false);
getActivity().setResult(Activity.RESULT_CANCELED);
} else {
lockPref.setEnabled(true);
purgePref.setEnabled(true);
uninstallPref.setEnabled(true);
}
@@ -185,6 +187,8 @@ public class PanicPreferencesFragment extends PreferenceFragmentCompat
panicAppPref.setIcon(
android.R.drawable.ic_menu_close_clear_cancel);
// disable panic actions
lockPref.setEnabled(false);
purgePref.setEnabled(false);
uninstallPref.setEnabled(false);
} else {
@@ -196,6 +200,8 @@ public class PanicPreferencesFragment extends PreferenceFragmentCompat
panicAppPref.setIcon(
pm.getApplicationIcon(triggerPackageName));
// enable panic actions
lockPref.setEnabled(true);
purgePref.setEnabled(true);
uninstallPref.setEnabled(true);
} catch (PackageManager.NameNotFoundException e) {

View File

@@ -60,7 +60,7 @@ public class PanicResponderActivity extends BriarActivity {
LOG.info("Panic Trigger came from connected app.");
LOG.info("Performing destructive responses...");
// Performing destructive panic responses
// Performing panic responses
if (sharedPref.getBoolean(KEY_UNINSTALL, false)) {
LOG.info("Purging all data...");
deleteAllData();
@@ -73,16 +73,11 @@ public class PanicResponderActivity extends BriarActivity {
} else if (sharedPref.getBoolean(KEY_PURGE, false)) {
LOG.info("Purging all data...");
deleteAllData();
} else if (sharedPref.getBoolean(KEY_LOCK, true)) {
} else if (sharedPref.getBoolean(KEY_LOCK, false)) {
LOG.info("Signing out...");
signOut(true);
}
}
// Performing non-destructive default panic response
else if (sharedPref.getBoolean(KEY_LOCK, true)) {
LOG.info("Signing out...");
signOut(true);
}
}
}
// received intent from non-trusted app
@@ -121,4 +116,4 @@ public class PanicResponderActivity extends BriarActivity {
}
});
}
}
}

View File

@@ -2,35 +2,31 @@
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<ListPreference
android:icon="@android:drawable/ic_menu_close_clear_cancel"
android:key="pref_key_panic_app"
android:summary="@string/panic_app_setting_summary"
android:title="@string/panic_app_setting_title"/>
<CheckBoxPreference
android:defaultValue="true"
android:enabled="false"
android:key="pref_key_lock"
android:title="@string/lock_setting_title"
android:summary="@string/lock_setting_summary"
android:defaultValue="true"/>
android:title="@string/lock_setting_title"/>
<PreferenceCategory
android:title="Destructive Actions">
<CheckBoxPreference
android:defaultValue="false"
android:enabled="false"
android:key="pref_key_purge"
android:summary="@string/purge_setting_summary"
android:title="@string/purge_setting_title"/>
<ListPreference
android:key="pref_key_panic_app"
android:title="@string/panic_app_setting_title"
android:summary="@string/panic_app_setting_summary"
android:icon="@android:drawable/ic_menu_close_clear_cancel"/>
<CheckBoxPreference
android:defaultValue="false"
android:enabled="false"
android:key="pref_key_uninstall"
android:summary="@string/uninstall_setting_summary"
android:title="@string/uninstall_setting_title"/>
<CheckBoxPreference
android:key="pref_key_purge"
android:title="@string/purge_setting_title"
android:summary="@string/purge_setting_summary"
android:enabled="false"
android:defaultValue="false"/>
<CheckBoxPreference
android:key="pref_key_uninstall"
android:title="@string/uninstall_setting_title"
android:summary="@string/uninstall_setting_summary"
android:enabled="false"
android:defaultValue="false"/>
</PreferenceCategory>
</PreferenceScreen>
</PreferenceScreen>