diff --git a/mobile/res/values/strings.xml b/mobile/res/values/strings.xml index 0dbabb95..d486e60e 100644 --- a/mobile/res/values/strings.xml +++ b/mobile/res/values/strings.xml @@ -44,6 +44,8 @@ Nice for tablets, looks awful on smartphones Force https Disabling may improve performance + Press back button twice to exit + Avoids accidental exits Developer options Enable developer mode If enabled, all IITC sources will be loaded from external storage of the Android device. diff --git a/mobile/res/xml/preferences.xml b/mobile/res/xml/preferences.xml index 3d96a98e..a4b14c02 100644 --- a/mobile/res/xml/preferences.xml +++ b/mobile/res/xml/preferences.xml @@ -50,6 +50,11 @@ android:title="@string/pref_force_https" android:summary="@string/pref_force_https_sum" android:defaultValue="true" /> + dialogStack = new ArrayList(); + private SharedPreferences sharedPref; // Used for custom back stack handling private ArrayList backStack = new ArrayList(); @@ -80,7 +81,7 @@ public class IITC_Mobile extends Activity { actionBar.setHomeButtonEnabled(true); // do something if user changed something in the settings - SharedPreferences sharedPref = PreferenceManager + sharedPref = PreferenceManager .getDefaultSharedPreferences(this); listener = new OnSharedPreferenceChangeListener() { @Override @@ -106,6 +107,10 @@ public class IITC_Mobile extends Activity { // no iitc reload needed here return; } + // no reload needed + if (key.equals("pref_press_twice_to_exit")) + return; + reload_needed = true; } }; @@ -287,7 +292,7 @@ public class IITC_Mobile extends Activity { // Pop last item from backStack and pretend the relevant menu item was clicked backStackPop(); } else { - if (back_button_pressed) + if (back_button_pressed || !sharedPref.getBoolean("pref_press_twice_to_exit", false)) super.onBackPressed(); else { back_button_pressed = true;