diff options
author | Christine Chen <christinech@google.com> | 2013-05-24 19:16:53 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-05-24 19:16:53 +0000 |
commit | 714189ecc711fc879039a334ec28eceebc2b7ac4 (patch) | |
tree | 53adaa6e6c2db0f58a831fc343cf36c8b637b843 | |
parent | 14b5dc80abc65855be0eef3f5baf17ef719a66d7 (diff) | |
parent | 9c1e0653addc1fff03601289a9f9a57b1daeaf57 (diff) |
Merge "Create backup agent for the Dialer app."
-rw-r--r-- | AndroidManifest.xml | 6 | ||||
-rw-r--r-- | src/com/android/dialer/DialerBackupAgent.java | 38 | ||||
-rw-r--r-- | src/com/android/dialer/DialtactsActivity.java | 11 |
3 files changed, 53 insertions, 2 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index bde0775ba..0efe21d72 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -49,7 +49,11 @@ android:label="@string/applicationLabel" android:icon="@mipmap/ic_launcher_phone" android:hardwareAccelerated="true" - android:supportsRtl="true"> + android:supportsRtl="true" + android:backupAgent='com.android.dialer.DialerBackupAgent'> + + <meta-data android:name="com.google.android.backup.api_key" + android:value="AEdPqrEAAAAIBXgtCEKQ6W0PXVnW-ZVia2KmlV2AxsTw3GjAeQ" /> <!-- The entrance point for Phone UI. stateAlwaysHidden is set to suppress keyboard show up on diff --git a/src/com/android/dialer/DialerBackupAgent.java b/src/com/android/dialer/DialerBackupAgent.java new file mode 100644 index 000000000..0eef68924 --- /dev/null +++ b/src/com/android/dialer/DialerBackupAgent.java @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2013 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.dialer; + +import android.app.backup.BackupAgentHelper; +import android.app.backup.BackupDataInput; +import android.app.backup.SharedPreferencesBackupHelper; +import android.content.Context; + +/** + * The Dialer backup agent backs up the shared preferences settings of the + * Dialer App. Right now it backs up the whole shared preference file. This + * can be modified in the future to accommodate partical backup. + */ +public class DialerBackupAgent extends BackupAgentHelper +{ + private static final String SHARED_KEY = "shared_pref"; + + @Override + public void onCreate() { + addHelper(SHARED_KEY, new SharedPreferencesBackupHelper(this, + DialtactsActivity.SHARED_PREFS_NAME)); + } +} diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java index 32339d2cf..22e6ba01d 100644 --- a/src/com/android/dialer/DialtactsActivity.java +++ b/src/com/android/dialer/DialtactsActivity.java @@ -21,6 +21,7 @@ import android.app.ActionBar.LayoutParams; import android.app.ActionBar.Tab; import android.app.ActionBar.TabListener; import android.app.Activity; +import android.app.backup.BackupManager; import android.app.Fragment; import android.app.FragmentManager; import android.app.FragmentTransaction; @@ -108,6 +109,8 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O private SharedPreferences mPrefs; + public static final String SHARED_PREFS_NAME = "com.android.dialer_preferences"; + /** Last manually selected tab index */ private static final String PREF_LAST_MANUALLY_SELECTED_TAB = "DialtactsActivity_last_manually_selected_tab"; @@ -526,7 +529,7 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O getActionBar().setDisplayShowHomeEnabled(false); // Load the last manually loaded tab - mPrefs = PreferenceManager.getDefaultSharedPreferences(this); + mPrefs = this.getSharedPreferences(SHARED_PREFS_NAME, Context.MODE_PRIVATE); mLastManuallySelectedFragment = mPrefs.getInt(PREF_LAST_MANUALLY_SELECTED_TAB, PREF_LAST_MANUALLY_SELECTED_TAB_DEFAULT); if (mLastManuallySelectedFragment >= TAB_INDEX_COUNT) { @@ -711,6 +714,12 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O mPrefs.edit().putInt(PREF_LAST_MANUALLY_SELECTED_TAB, mLastManuallySelectedFragment) .apply(); + requestBackup(); + } + + private void requestBackup() { + final BackupManager bm = new BackupManager(this); + bm.dataChanged(); } private void fixIntent(Intent intent) { |