diff --git a/MyTracks/res/values/strings.xml b/MyTracks/res/values/strings.xml index 0da53bda1..a9f64db89 100644 --- a/MyTracks/res/values/strings.xml +++ b/MyTracks/res/values/strings.xml @@ -240,6 +240,8 @@ limitations under the License. MyTracks data, including starting/stopping a recording. MyTracks data is not shared with any installed app. + Are you sure? This will allow any app installed + on your phone control and access to MyTracks. Share only URL Only the URL of the map will be sent when sharing diff --git a/MyTracks/src/com/google/android/apps/mytracks/SettingsActivity.java b/MyTracks/src/com/google/android/apps/mytracks/SettingsActivity.java index 559d9af31..f3a974ae8 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/SettingsActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/SettingsActivity.java @@ -142,6 +142,33 @@ public class SettingsActivity extends PreferenceActivity { return true; } }); + + // Add a confirmation dialog for the share data preference. + final CheckBoxPreference shareDataPreference = (CheckBoxPreference) findPreference( + getString(R.string.share_data_key)); + shareDataPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + if ((Boolean) newValue) { + AlertDialog dialog = new AlertDialog.Builder(SettingsActivity.this) + .setCancelable(true) + .setTitle(getString(R.string.settings_share_data)) + .setMessage(getString(R.string.settings_share_data_dialog_message)) + .setPositiveButton(android.R.string.ok, new OnClickListener() { + @Override + public void onClick(DialogInterface dialogInterface, int button) { + shareDataPreference.setChecked(true); + } + }) + .setNegativeButton(android.R.string.cancel, null) + .create(); + dialog.show(); + return false; + } else { + return true; + } + } + }); } private boolean processIntent() {