From de20a51537ad744c6652f42a1cdc4a93ffd9838d Mon Sep 17 00:00:00 2001 From: Jimmy Shih Date: Tue, 26 Jun 2012 12:49:54 -0700 Subject: [PATCH] Do not store show welcome dialog and check unit dialog flags in the user settings. These two dialogs should only be shown for a new install. --- MyTracks/res/values/keys.xml | 2 - .../apps/mytracks/TrackListActivity.java | 8 ++-- .../fragments/CheckUnitsDialogFragment.java | 3 +- .../fragments/EulaDialogFragment.java | 2 +- .../fragments/WelcomeDialogFragment.java | 4 +- .../android/apps/mytracks/util/EulaUtils.java | 42 +++++++++++++++---- .../apps/mytracks/util/PreferencesUtils.java | 2 - 7 files changed, 42 insertions(+), 21 deletions(-) diff --git a/MyTracks/res/values/keys.xml b/MyTracks/res/values/keys.xml index d760c71c6..ebf2d632d 100644 --- a/MyTracks/res/values/keys.xml +++ b/MyTracks/res/values/keys.xml @@ -47,9 +47,7 @@ limitations under the License. sendToFusionTables sendToMaps sensorType - showCheckUnitsDialog showConfrimSharingDialog - showWelcomeDialog splitFrequency statsShowCoordinate statsShowElevation diff --git a/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java b/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java index e3527df64..8261ad858 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java @@ -278,23 +278,21 @@ public class TrackListActivity extends FragmentActivity implements DeleteOneTrac * Shows start up dialogs. */ public void showStartupDialogs() { - if (!EulaUtils.getEulaValue(this)) { + if (!EulaUtils.getAcceptEula(this)) { Fragment fragment = getSupportFragmentManager() .findFragmentByTag(EulaDialogFragment.EULA_DIALOG_TAG); if (fragment == null) { EulaDialogFragment.newInstance(false) .show(getSupportFragmentManager(), EulaDialogFragment.EULA_DIALOG_TAG); } - } else if (PreferencesUtils.getBoolean( - this, R.string.show_welcome_dialog_key, PreferencesUtils.SHOW_WELCOME_DIALOG_DEFAULT)) { + } else if (EulaUtils.getShowWelcome(this)) { Fragment fragment = getSupportFragmentManager() .findFragmentByTag(WelcomeDialogFragment.WELCOME_DIALOG_TAG); if (fragment == null) { new WelcomeDialogFragment().show( getSupportFragmentManager(), WelcomeDialogFragment.WELCOME_DIALOG_TAG); } - } else if (PreferencesUtils.getBoolean(this, R.string.show_check_units_dialog_key, - PreferencesUtils.SHOW_CHECK_UNITS_DIALOG_DEFAULT)) { + } else if (EulaUtils.getShowCheckUnits(this)) { Fragment fragment = getSupportFragmentManager() .findFragmentByTag(CheckUnitsDialogFragment.CHECK_UNITS_DIALOG_TAG); if (fragment == null) { diff --git a/MyTracks/src/com/google/android/apps/mytracks/fragments/CheckUnitsDialogFragment.java b/MyTracks/src/com/google/android/apps/mytracks/fragments/CheckUnitsDialogFragment.java index 41953a8c8..68fa93ba4 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/fragments/CheckUnitsDialogFragment.java +++ b/MyTracks/src/com/google/android/apps/mytracks/fragments/CheckUnitsDialogFragment.java @@ -17,6 +17,7 @@ package com.google.android.apps.mytracks.fragments; import com.google.android.apps.mytracks.TrackListActivity; +import com.google.android.apps.mytracks.util.EulaUtils; import com.google.android.apps.mytracks.util.PreferencesUtils; import com.google.android.maps.mytracks.R; @@ -69,7 +70,7 @@ public class CheckUnitsDialogFragment extends DialogFragment { * Tasks to perform when done. */ private void onDone() { - PreferencesUtils.setBoolean(getActivity(), R.string.show_check_units_dialog_key, false); + EulaUtils.setShowCheckUnits(getActivity()); TrackListActivity trackListActivity = (TrackListActivity) getActivity(); trackListActivity.showStartupDialogs(); } diff --git a/MyTracks/src/com/google/android/apps/mytracks/fragments/EulaDialogFragment.java b/MyTracks/src/com/google/android/apps/mytracks/fragments/EulaDialogFragment.java index 6c1affb84..65c255193 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/fragments/EulaDialogFragment.java +++ b/MyTracks/src/com/google/android/apps/mytracks/fragments/EulaDialogFragment.java @@ -77,7 +77,7 @@ public class EulaDialogFragment extends DialogFragment { .setPositiveButton(R.string.eula_accept, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - EulaUtils.setEulaValue(getActivity()); + EulaUtils.setAcceptEula(getActivity()); TrackListActivity trackListActivity = (TrackListActivity) getActivity(); trackListActivity.showStartupDialogs(); } diff --git a/MyTracks/src/com/google/android/apps/mytracks/fragments/WelcomeDialogFragment.java b/MyTracks/src/com/google/android/apps/mytracks/fragments/WelcomeDialogFragment.java index c1d72d99e..92bcec677 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/fragments/WelcomeDialogFragment.java +++ b/MyTracks/src/com/google/android/apps/mytracks/fragments/WelcomeDialogFragment.java @@ -17,7 +17,7 @@ package com.google.android.apps.mytracks.fragments; import com.google.android.apps.mytracks.TrackListActivity; -import com.google.android.apps.mytracks.util.PreferencesUtils; +import com.google.android.apps.mytracks.util.EulaUtils; import com.google.android.maps.mytracks.R; import android.app.AlertDialog; @@ -55,7 +55,7 @@ public class WelcomeDialogFragment extends DialogFragment { } private void onDone() { - PreferencesUtils.setBoolean(getActivity(), R.string.show_welcome_dialog_key, false); + EulaUtils.setShowWelcome(getActivity()); TrackListActivity trackListActivity = (TrackListActivity) getActivity(); trackListActivity.showStartupDialogs(); } diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/EulaUtils.java b/MyTracks/src/com/google/android/apps/mytracks/util/EulaUtils.java index 8c683a3ff..29269a459 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/EulaUtils.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/EulaUtils.java @@ -29,21 +29,47 @@ public class EulaUtils { private static final String EULA_PREFERENCE_FILE = "eula"; // Accepting Google mobile terms of service - private static final String EULA_PREFERENCE_KEY = "eula.google_mobile_tos_accepted"; - + private static final String ACCEPT_EULA_PREFERENCE_KEY = "eula.google_mobile_tos_accepted"; + private static final String SHOW_WELCOME_PREFERENCE_KEY = "showWelcome"; + private static final String SHOW_CHECK_UNITS_PREFERENCE_KEY = "showCheckUnits"; + private EulaUtils() {} - public static boolean getEulaValue(Context context) { - SharedPreferences sharedPreferences = context.getSharedPreferences( - EULA_PREFERENCE_FILE, Context.MODE_PRIVATE); - return sharedPreferences.getBoolean(EULA_PREFERENCE_KEY, false); + public static boolean getAcceptEula(Context context) { + return getValue(context, ACCEPT_EULA_PREFERENCE_KEY, false); } - public static void setEulaValue(Context context) { + public static void setAcceptEula(Context context) { + setValue(context, ACCEPT_EULA_PREFERENCE_KEY, true); + } + + public static boolean getShowWelcome(Context context) { + return getValue(context, SHOW_WELCOME_PREFERENCE_KEY, true); + } + + public static void setShowWelcome(Context context) { + setValue(context, SHOW_WELCOME_PREFERENCE_KEY, false); + } + + public static boolean getShowCheckUnits(Context context) { + return getValue(context, SHOW_CHECK_UNITS_PREFERENCE_KEY, true); + } + + public static void setShowCheckUnits(Context context) { + setValue(context, SHOW_CHECK_UNITS_PREFERENCE_KEY, false); + } + + private static boolean getValue(Context context, String key, boolean defaultValue) { + SharedPreferences sharedPreferences = context.getSharedPreferences( + EULA_PREFERENCE_FILE, Context.MODE_PRIVATE); + return sharedPreferences.getBoolean(key, defaultValue); + } + + private static void setValue(Context context, String key, boolean value) { SharedPreferences sharedPreferences = context.getSharedPreferences( EULA_PREFERENCE_FILE, Context.MODE_PRIVATE); Editor editor = sharedPreferences.edit(); - editor.putBoolean(EULA_PREFERENCE_KEY, true); + editor.putBoolean(key, value); ApiAdapterFactory.getApiAdapter().applyPreferenceChanges(editor); } } diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/PreferencesUtils.java b/MyTracks/src/com/google/android/apps/mytracks/util/PreferencesUtils.java index dc018bd5f..f13535c4f 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/PreferencesUtils.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/PreferencesUtils.java @@ -73,9 +73,7 @@ public class PreferencesUtils { public static final boolean SEND_TO_DOCS_DEFAULT = true; public static final boolean SEND_TO_FUSION_TABLES_DEFAULT = true; public static final boolean SEND_TO_MAPS_DEFAULT = true; - public static final boolean SHOW_CHECK_UNITS_DIALOG_DEFAULT = true; public static final boolean SHOW_CONFIRM_SHARING_DIALOG_DEFAULT = true; - public static final boolean SHOW_WELCOME_DIALOG_DEFAULT = true; public static final int SPLIT_FREQUENCY_DEFAULT = 0; public static final boolean STATS_SHOW_COORDINATE_DEFAULT = false;