summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChris Wren <cwren@android.com>2014-01-13 17:39:02 -0500
committerDanesh M <daneshm90@gmail.com>2014-06-06 22:54:25 -0700
commite0140fd418cd8303c3526bef074174089d5bc379 (patch)
tree54ced1a7957cd001a006e66c8ebffa79c101eef9 /src
parentae0a6cd07ec288828db401f1e571f5a4f7053534 (diff)
downloadandroid_packages_apps_Trebuchet-e0140fd418cd8303c3526bef074174089d5bc379.tar.gz
android_packages_apps_Trebuchet-e0140fd418cd8303c3526bef074174089d5bc379.tar.bz2
android_packages_apps_Trebuchet-e0140fd418cd8303c3526bef074174089d5bc379.zip
hide launcher restore behind a flag.
enable with 'adb shell settings put secure launcher_restore_enabled 1' before signing into wiped device Bug: 12532845 Change-Id: I1471c39dac2e6e1412f7720b1ba8edf46273c593
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/LauncherBackupAgentHelper.java15
-rw-r--r--src/com/android/launcher3/LauncherBackupHelper.java5
-rw-r--r--src/com/android/launcher3/LauncherPreferencesBackupHelper.java39
3 files changed, 55 insertions, 4 deletions
diff --git a/src/com/android/launcher3/LauncherBackupAgentHelper.java b/src/com/android/launcher3/LauncherBackupAgentHelper.java
index 83e4a60d4..876cf0887 100644
--- a/src/com/android/launcher3/LauncherBackupAgentHelper.java
+++ b/src/com/android/launcher3/LauncherBackupAgentHelper.java
@@ -21,6 +21,7 @@ import android.app.backup.BackupManager;
import android.app.backup.SharedPreferencesBackupHelper;
import android.content.Context;
import android.content.SharedPreferences;
+import android.provider.Settings;
public class LauncherBackupAgentHelper extends BackupAgentHelper {
@@ -28,6 +29,8 @@ public class LauncherBackupAgentHelper extends BackupAgentHelper {
private static BackupManager sBackupManager;
+ protected static final String SETTING_RESTORE_ENABLED = "launcher_restore_enabled";
+
/**
* Notify the backup manager that out database is dirty.
*
@@ -54,9 +57,15 @@ public class LauncherBackupAgentHelper extends BackupAgentHelper {
@Override
public void onCreate() {
+
+ boolean restoreEnabled = 0 != Settings.Secure.getInt(
+ getContentResolver(), SETTING_RESTORE_ENABLED, 0);
+
addHelper(LauncherBackupHelper.LAUNCHER_PREFS_PREFIX,
- new SharedPreferencesBackupHelper(this,
- LauncherAppState.getSharedPreferencesKey()));
- addHelper(LauncherBackupHelper.LAUNCHER_PREFIX, new LauncherBackupHelper(this));
+ new LauncherPreferencesBackupHelper(this,
+ LauncherAppState.getSharedPreferencesKey(),
+ restoreEnabled));
+ addHelper(LauncherBackupHelper.LAUNCHER_PREFIX,
+ new LauncherBackupHelper(this, restoreEnabled));
}
}
diff --git a/src/com/android/launcher3/LauncherBackupHelper.java b/src/com/android/launcher3/LauncherBackupHelper.java
index fa6a3188a..5b722c1d3 100644
--- a/src/com/android/launcher3/LauncherBackupHelper.java
+++ b/src/com/android/launcher3/LauncherBackupHelper.java
@@ -138,12 +138,15 @@ public class LauncherBackupHelper implements BackupHelper {
private final Context mContext;
+ private final boolean mRestoreEnabled;
+
private HashMap<ComponentName, AppWidgetProviderInfo> mWidgetMap;
private ArrayList<Key> mKeys;
- public LauncherBackupHelper(Context context) {
+ public LauncherBackupHelper(Context context, boolean restoreEnabled) {
mContext = context;
+ mRestoreEnabled = restoreEnabled;
}
private void dataChanged() {
diff --git a/src/com/android/launcher3/LauncherPreferencesBackupHelper.java b/src/com/android/launcher3/LauncherPreferencesBackupHelper.java
new file mode 100644
index 000000000..1ac6ff962
--- /dev/null
+++ b/src/com/android/launcher3/LauncherPreferencesBackupHelper.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * 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.android.launcher3;
+
+import android.app.backup.BackupDataInputStream;
+import android.app.backup.SharedPreferencesBackupHelper;
+import android.content.Context;
+
+public class LauncherPreferencesBackupHelper extends SharedPreferencesBackupHelper {
+
+ private final boolean mRestoreEnabled;
+
+ public LauncherPreferencesBackupHelper(Context context, String sharedPreferencesKey,
+ boolean restoreEnabled) {
+ super(context, sharedPreferencesKey);
+ mRestoreEnabled = restoreEnabled;
+ }
+
+ @Override
+ public void restoreEntity(BackupDataInputStream data) {
+ if (mRestoreEnabled) {
+ super.restoreEntity(data);
+ }
+ }
+}