forked from upstream-mirrors/OpenTracks
Place backup settings in BackupSettingsActivity.
This commit is contained in:
@@ -207,6 +207,7 @@ limitations under the License.
|
|||||||
<activity android:name="com.google.android.apps.mytracks.io.sendtogoogle.AccountChooserActivity" />
|
<activity android:name="com.google.android.apps.mytracks.io.sendtogoogle.AccountChooserActivity" />
|
||||||
<activity android:name="com.google.android.apps.mytracks.io.sendtogoogle.UploadResultActivity" />
|
<activity android:name="com.google.android.apps.mytracks.io.sendtogoogle.UploadResultActivity" />
|
||||||
<activity android:name="com.google.android.apps.mytracks.io.sendtogoogle.UploadServiceChooserActivity" />
|
<activity android:name="com.google.android.apps.mytracks.io.sendtogoogle.UploadServiceChooserActivity" />
|
||||||
|
<activity android:name="com.google.android.apps.mytracks.settings.BackupSettingsActivity" />
|
||||||
<activity android:name="com.google.android.apps.mytracks.settings.SettingsActivity" />
|
<activity android:name="com.google.android.apps.mytracks.settings.SettingsActivity" />
|
||||||
<activity android:name="com.google.android.apps.mytracks.settings.SharingSettingsActivity" />
|
<activity android:name="com.google.android.apps.mytracks.settings.SharingSettingsActivity" />
|
||||||
<!-- Services -->
|
<!-- Services -->
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ limitations under the License.
|
|||||||
<string name="reset_key">resetToDefaults</string>
|
<string name="reset_key">resetToDefaults</string>
|
||||||
<string name="restore_from_sd_key">restoreFromSd</string>
|
<string name="restore_from_sd_key">restoreFromSd</string>
|
||||||
<string name="sensor_options_key">sensorOptions</string>
|
<string name="sensor_options_key">sensorOptions</string>
|
||||||
|
<string name="settings_backup_key">settingsBackup</string>
|
||||||
<string name="settings_sharing_key">settingsSharing</string>
|
<string name="settings_sharing_key">settingsSharing</string>
|
||||||
<string name="track_color_mode_fixed_speed_options_key">trackColorModeFixedOptions</string>
|
<string name="track_color_mode_fixed_speed_options_key">trackColorModeFixedOptions</string>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -1541,13 +1541,6 @@ limitations under the License.
|
|||||||
the SD card.">
|
the SD card.">
|
||||||
Restore all tracks and settings from the SD card.
|
Restore all tracks and settings from the SD card.
|
||||||
</string>
|
</string>
|
||||||
<string name="settings_backup_sd_card"
|
|
||||||
translation_description="In the 'Backup' settings, the section header for configuring backup to
|
|
||||||
the SD card.
|
|
||||||
|
|
||||||
Character limit: ~40 (1 line)">
|
|
||||||
SD card
|
|
||||||
</string>
|
|
||||||
<string name="settings_display"
|
<string name="settings_display"
|
||||||
translation_description="In the 'Settings' page, the option to change the display related
|
translation_description="In the 'Settings' page, the option to change the display related
|
||||||
settings.
|
settings.
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright 2012 Google Inc.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:title="@string/settings_backup" >
|
||||||
|
<Preference
|
||||||
|
android:key="@string/backup_to_sd_key"
|
||||||
|
android:persistent="false"
|
||||||
|
android:title="@string/settings_backup_now" />
|
||||||
|
<Preference
|
||||||
|
android:key="@string/restore_from_sd_key"
|
||||||
|
android:persistent="false"
|
||||||
|
android:title="@string/settings_backup_restore" />
|
||||||
|
</PreferenceScreen>
|
||||||
@@ -192,22 +192,12 @@ limitations under the License.
|
|||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|
||||||
<!-- Backup settings -->
|
<!-- Backup -->
|
||||||
<PreferenceScreen android:title="@string/settings_backup">
|
<Preference
|
||||||
<PreferenceCategory android:title="@string/settings_backup_sd_card">
|
android:title="@string/settings_backup"
|
||||||
<Preference
|
android:key="@string/settings_backup_key"
|
||||||
android:key="@string/backup_to_sd_key"
|
android:persistent="false" />
|
||||||
android:title="@string/settings_backup_now"
|
|
||||||
android:summary="@string/settings_backup_now_summary"
|
|
||||||
android:persistent="false" />
|
|
||||||
<Preference
|
|
||||||
android:key="@string/restore_from_sd_key"
|
|
||||||
android:title="@string/settings_backup_restore"
|
|
||||||
android:summary="@string/settings_backup_restore_summary"
|
|
||||||
android:persistent="false" />
|
|
||||||
</PreferenceCategory>
|
|
||||||
</PreferenceScreen>
|
|
||||||
|
|
||||||
<!-- Reset to defaults -->
|
<!-- Reset to defaults -->
|
||||||
<Preference
|
<Preference
|
||||||
android:title="@string/settings_reset"
|
android:title="@string/settings_reset"
|
||||||
|
|||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2012 Google Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||||||
|
* use this file except in compliance with the License. You may obtain a copy of
|
||||||
|
* the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
* License for the specific language governing permissions and limitations under
|
||||||
|
* the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.google.android.apps.mytracks.settings;
|
||||||
|
|
||||||
|
import com.google.android.apps.mytracks.Constants;
|
||||||
|
import com.google.android.apps.mytracks.io.backup.BackupActivity;
|
||||||
|
import com.google.android.apps.mytracks.io.backup.RestoreChooserActivity;
|
||||||
|
import com.google.android.apps.mytracks.util.DialogUtils;
|
||||||
|
import com.google.android.apps.mytracks.util.IntentUtils;
|
||||||
|
import com.google.android.apps.mytracks.util.PreferencesUtils;
|
||||||
|
import com.google.android.maps.mytracks.R;
|
||||||
|
|
||||||
|
import android.app.Dialog;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
|
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.preference.Preference;
|
||||||
|
import android.preference.Preference.OnPreferenceClickListener;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An activity for accessing the backup settings.
|
||||||
|
*
|
||||||
|
* @author Jimmy Shih
|
||||||
|
*/
|
||||||
|
public class BackupSettingsActivity extends AbstractSettingsActivity {
|
||||||
|
|
||||||
|
private static final int DIALOG_CONFIRM_RESTORE_NOW_ID = 0;
|
||||||
|
|
||||||
|
Preference backupNowPreference;
|
||||||
|
Preference restoreNowPreference;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Note that sharedPreferenceChangeListenr cannot be an anonymous inner class.
|
||||||
|
* Anonymous inner class will get garbage collected.
|
||||||
|
*/
|
||||||
|
private final OnSharedPreferenceChangeListener
|
||||||
|
sharedPreferenceChangeListener = new OnSharedPreferenceChangeListener() {
|
||||||
|
@Override
|
||||||
|
public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
|
||||||
|
// Note that key can be null
|
||||||
|
if (PreferencesUtils.getKey(BackupSettingsActivity.this, R.string.recording_track_id_key)
|
||||||
|
.equals(key)) {
|
||||||
|
updateUi();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle bundle) {
|
||||||
|
super.onCreate(bundle);
|
||||||
|
SharedPreferences sharedPreferences = getSharedPreferences(
|
||||||
|
Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
|
||||||
|
sharedPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
|
||||||
|
|
||||||
|
addPreferencesFromResource(R.xml.backup_settings);
|
||||||
|
backupNowPreference = findPreference(getString(R.string.backup_to_sd_key));
|
||||||
|
backupNowPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
|
Intent intent = IntentUtils.newIntent(BackupSettingsActivity.this, BackupActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
restoreNowPreference = findPreference(getString(R.string.restore_from_sd_key));
|
||||||
|
restoreNowPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
|
showDialog(DIALOG_CONFIRM_RESTORE_NOW_ID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Dialog onCreateDialog(int id) {
|
||||||
|
if (id != DIALOG_CONFIRM_RESTORE_NOW_ID) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return DialogUtils.createConfirmationDialog(this,
|
||||||
|
R.string.settings_backup_restore_confirm_message, new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
Intent intent = IntentUtils.newIntent(
|
||||||
|
BackupSettingsActivity.this, RestoreChooserActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onResume() {
|
||||||
|
super.onResume();
|
||||||
|
updateUi();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates the UI based on the recording state.
|
||||||
|
*/
|
||||||
|
private void updateUi() {
|
||||||
|
boolean isRecording = PreferencesUtils.getLong(this, R.string.recording_track_id_key)
|
||||||
|
!= PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
|
||||||
|
backupNowPreference.setEnabled(!isRecording);
|
||||||
|
restoreNowPreference.setEnabled(!isRecording);
|
||||||
|
backupNowPreference.setSummary(isRecording ? R.string.settings_not_while_recording
|
||||||
|
: R.string.settings_backup_now_summary);
|
||||||
|
restoreNowPreference.setSummary(isRecording ? R.string.settings_not_while_recording
|
||||||
|
: R.string.settings_backup_restore_summary);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -19,8 +19,6 @@ package com.google.android.apps.mytracks.settings;
|
|||||||
import static com.google.android.apps.mytracks.Constants.TAG;
|
import static com.google.android.apps.mytracks.Constants.TAG;
|
||||||
|
|
||||||
import com.google.android.apps.mytracks.Constants;
|
import com.google.android.apps.mytracks.Constants;
|
||||||
import com.google.android.apps.mytracks.io.backup.BackupActivity;
|
|
||||||
import com.google.android.apps.mytracks.io.backup.RestoreChooserActivity;
|
|
||||||
import com.google.android.apps.mytracks.services.sensors.ant.AntUtils;
|
import com.google.android.apps.mytracks.services.sensors.ant.AntUtils;
|
||||||
import com.google.android.apps.mytracks.util.ApiAdapterFactory;
|
import com.google.android.apps.mytracks.util.ApiAdapterFactory;
|
||||||
import com.google.android.apps.mytracks.util.BluetoothDeviceUtils;
|
import com.google.android.apps.mytracks.util.BluetoothDeviceUtils;
|
||||||
@@ -56,7 +54,7 @@ import java.util.List;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An activity that let's the user see and edit the settings.
|
* An activity for accessing settings.
|
||||||
*
|
*
|
||||||
* @author Leif Hendrik Wilden
|
* @author Leif Hendrik Wilden
|
||||||
* @author Rodrigo Damazio
|
* @author Rodrigo Damazio
|
||||||
@@ -64,7 +62,6 @@ import java.util.Set;
|
|||||||
public class SettingsActivity extends AbstractSettingsActivity {
|
public class SettingsActivity extends AbstractSettingsActivity {
|
||||||
|
|
||||||
private static final int DIALOG_CONFIRM_RESET_ID = 0;
|
private static final int DIALOG_CONFIRM_RESET_ID = 0;
|
||||||
private static final int DIALOG_CONFIRM_RESTORE_ID = 1;
|
|
||||||
|
|
||||||
// Value when the task frequency is off.
|
// Value when the task frequency is off.
|
||||||
private static final String TASK_FREQUENCY_OFF = "0";
|
private static final String TASK_FREQUENCY_OFF = "0";
|
||||||
@@ -129,16 +126,6 @@ public class SettingsActivity extends AbstractSettingsActivity {
|
|||||||
customizeSensorOptionsPreferences();
|
customizeSensorOptionsPreferences();
|
||||||
customizeTrackColorModePreferences();
|
customizeTrackColorModePreferences();
|
||||||
|
|
||||||
// Hook up action for resetting all settings
|
|
||||||
Preference resetPreference = findPreference(getString(R.string.reset_key));
|
|
||||||
resetPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
|
||||||
@Override
|
|
||||||
public boolean onPreferenceClick(Preference arg0) {
|
|
||||||
showDialog(DIALOG_CONFIRM_RESET_ID);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
Preference sharingPreference = findPreference(getString(R.string.settings_sharing_key));
|
Preference sharingPreference = findPreference(getString(R.string.settings_sharing_key));
|
||||||
sharingPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
sharingPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
||||||
@Override
|
@Override
|
||||||
@@ -148,6 +135,26 @@ public class SettingsActivity extends AbstractSettingsActivity {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Preference backupPreference = findPreference(getString(R.string.settings_backup_key));
|
||||||
|
backupPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
|
Intent intent = IntentUtils.newIntent(SettingsActivity.this, BackupSettingsActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Hook up action for resetting all settings
|
||||||
|
Preference resetPreference = findPreference(getString(R.string.reset_key));
|
||||||
|
resetPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceClick(Preference arg0) {
|
||||||
|
showDialog(DIALOG_CONFIRM_RESET_ID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -161,17 +168,6 @@ public class SettingsActivity extends AbstractSettingsActivity {
|
|||||||
onResetPreferencesConfirmed();
|
onResetPreferencesConfirmed();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
case DIALOG_CONFIRM_RESTORE_ID:
|
|
||||||
return DialogUtils.createConfirmationDialog(this,
|
|
||||||
R.string.settings_backup_restore_confirm_message,
|
|
||||||
new DialogInterface.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
|
||||||
Intent intent = IntentUtils.newIntent(
|
|
||||||
SettingsActivity.this, RestoreChooserActivity.class);
|
|
||||||
startActivity(intent);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -304,46 +300,13 @@ public class SettingsActivity extends AbstractSettingsActivity {
|
|||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
|
||||||
configureBluetoothPreferences();
|
configureBluetoothPreferences();
|
||||||
Preference backupNowPreference =
|
|
||||||
findPreference(getString(R.string.backup_to_sd_key));
|
|
||||||
Preference restoreNowPreference =
|
|
||||||
findPreference(getString(R.string.restore_from_sd_key));
|
|
||||||
Preference resetPreference = findPreference(getString(R.string.reset_key));
|
Preference resetPreference = findPreference(getString(R.string.reset_key));
|
||||||
|
|
||||||
// If recording, disable backup/restore/reset
|
|
||||||
// (we don't want to get to inconsistent states)
|
|
||||||
boolean recording = PreferencesUtils.getLong(this, R.string.recording_track_id_key) != -1;
|
boolean recording = PreferencesUtils.getLong(this, R.string.recording_track_id_key) != -1;
|
||||||
backupNowPreference.setEnabled(!recording);
|
|
||||||
restoreNowPreference.setEnabled(!recording);
|
|
||||||
resetPreference.setEnabled(!recording);
|
resetPreference.setEnabled(!recording);
|
||||||
backupNowPreference.setSummary(
|
|
||||||
recording ? R.string.settings_not_while_recording
|
|
||||||
: R.string.settings_backup_now_summary);
|
|
||||||
restoreNowPreference.setSummary(
|
|
||||||
recording ? R.string.settings_not_while_recording
|
|
||||||
: R.string.settings_backup_restore_summary);
|
|
||||||
resetPreference.setSummary(
|
resetPreference.setSummary(
|
||||||
recording ? R.string.settings_not_while_recording
|
recording ? R.string.settings_not_while_recording
|
||||||
: R.string.settings_reset_summary);
|
: R.string.settings_reset_summary);
|
||||||
|
|
||||||
// Add actions to the backup preferences
|
|
||||||
backupNowPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
|
||||||
@Override
|
|
||||||
public boolean onPreferenceClick(Preference preference) {
|
|
||||||
Intent intent = IntentUtils.newIntent(SettingsActivity.this, BackupActivity.class);
|
|
||||||
startActivity(intent);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
restoreNowPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
|
||||||
@Override
|
|
||||||
public boolean onPreferenceClick(Preference preference) {
|
|
||||||
showDialog(DIALOG_CONFIRM_RESTORE_ID);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateSensorSettings(String sensorType) {
|
private void updateSensorSettings(String sensorType) {
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ public class PreferencesUtils {
|
|||||||
*/
|
*/
|
||||||
public static final boolean ALLOW_ACCESS_DEFAULT = false;
|
public static final boolean ALLOW_ACCESS_DEFAULT = false;
|
||||||
public static final boolean DEFAULT_MAP_PUBLIC_DEFAULT = true;
|
public static final boolean DEFAULT_MAP_PUBLIC_DEFAULT = true;
|
||||||
|
public static final long RECORDING_TRACK_ID_DEFAULT = -1L;
|
||||||
public static final boolean SHARE_URL_ONLY_DEFAULT = false;
|
public static final boolean SHARE_URL_ONLY_DEFAULT = false;
|
||||||
|
|
||||||
private PreferencesUtils() {}
|
private PreferencesUtils() {}
|
||||||
|
|||||||
Reference in New Issue
Block a user