diff options
author | weijiew <weijiew@codeaurora.org> | 2016-11-01 10:22:41 +0800 |
---|---|---|
committer | Jay Wang <jaywang@codeaurora.org> | 2016-11-07 14:28:58 -0800 |
commit | 0c43eccb63dae31813b998a92e1d50b29a41be04 (patch) | |
tree | 58b551a7c372b3bfbe7ab197752aa27f9d3bf5b7 | |
parent | 42310c1395c0a132430e4e31c702861d8b41dc11 (diff) | |
download | android_packages_apps_Snap-0c43eccb63dae31813b998a92e1d50b29a41be04.tar.gz android_packages_apps_Snap-0c43eccb63dae31813b998a92e1d50b29a41be04.tar.bz2 android_packages_apps_Snap-0c43eccb63dae31813b998a92e1d50b29a41be04.zip |
SnapdragonCamera: FR36364 Restore Defaults
Restore all of the camera settings to defaults
Change-Id: Icebc84a165a1fabee2075daa9b4e99695204cc19
CRs-Fixed: 1084321
-rw-r--r-- | res/drawable/restore_defaults.png | bin | 0 -> 1964 bytes | |||
-rw-r--r-- | res/values/strings.xml | 4 | ||||
-rw-r--r-- | res/xml/setting_menu_preferences.xml | 12 | ||||
-rw-r--r-- | src/com/android/camera/SettingsActivity.java | 24 | ||||
-rw-r--r-- | src/com/android/camera/SettingsManager.java | 26 |
5 files changed, 66 insertions, 0 deletions
diff --git a/res/drawable/restore_defaults.png b/res/drawable/restore_defaults.png Binary files differnew file mode 100644 index 000000000..3bf361657 --- /dev/null +++ b/res/drawable/restore_defaults.png diff --git a/res/values/strings.xml b/res/values/strings.xml index 775aeb60d..cdd6066ad 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -749,4 +749,8 @@ CHAR LIMIT = NONE] --> <string name="remaining_photos_format">%d left</string> <string name="initial_recording_seconds">00:00</string> <string name="makeup_video_size_limit">Makeup works only under VGA size in video recording.</string> + + <string name="pref_camera2_category_system">System</string> + <string name="pref_camera2_restore_default">Restore defaults</string> + <string name="pref_camera2_restore_default_hint">Camera settings will be restored to default settings</string> </resources> diff --git a/res/xml/setting_menu_preferences.xml b/res/xml/setting_menu_preferences.xml index 835fed504..ba140f4ff 100644 --- a/res/xml/setting_menu_preferences.xml +++ b/res/xml/setting_menu_preferences.xml @@ -259,6 +259,18 @@ android:key="pref_camera2_trackingfocus_key" android:layout="@layout/preference" android:title="@string/pref_camera2_trackingfocus_title" /> + </PreferenceCategory> + + <PreferenceCategory + android:layout="@layout/preferences_category" + android:title="@string/pref_camera2_category_system" + android:textAllCaps="false"> + <Preference + android:defaultValue="false" + android:icon="@drawable/restore_defaults" + android:key="pref_camera2_restore_default_key" + android:layout="@layout/preference" + android:title="@string/pref_camera2_restore_default" /> <Preference android:defaultValue="false" diff --git a/src/com/android/camera/SettingsActivity.java b/src/com/android/camera/SettingsActivity.java index 08e513a88..8482750ec 100644 --- a/src/com/android/camera/SettingsActivity.java +++ b/src/com/android/camera/SettingsActivity.java @@ -29,6 +29,8 @@ package com.android.camera; +import android.app.AlertDialog; +import android.content.DialogInterface; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.os.Bundle; @@ -118,6 +120,10 @@ public class SettingsActivity extends PreferenceActivity { privateCounter = 0; } } + + if ( preference.getKey().equals(SettingsManager.KEY_RESTORE_DEFAULT) ) { + onRestoreDefaultSettingsClick(); + } return false; } @@ -222,4 +228,22 @@ public class SettingsActivity extends PreferenceActivity { super.onStop(); mSharedPreferences.unregisterOnSharedPreferenceChangeListener(mSharedPreferenceChangeListener); } + private + void onRestoreDefaultSettingsClick() { + new AlertDialog.Builder(this) + .setMessage(R.string.pref_camera2_restore_default_hint) + .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + restoreSettings(); + } + }) + .setNegativeButton(android.R.string.cancel, null) + .show(); + } + + private void restoreSettings() { + mSettingsManager.restoreSettings(); + filterPreferences(); + initializePreferences(); + } } diff --git a/src/com/android/camera/SettingsManager.java b/src/com/android/camera/SettingsManager.java index 25074932a..01f371cf9 100644 --- a/src/com/android/camera/SettingsManager.java +++ b/src/com/android/camera/SettingsManager.java @@ -40,6 +40,7 @@ import android.hardware.camera2.CameraMetadata; import android.hardware.camera2.params.StreamConfigurationMap; import android.media.MediaRecorder; import android.media.CamcorderProfile; +import android.preference.PreferenceManager; import android.util.Log; import android.util.Range; import android.util.Rational; @@ -127,6 +128,7 @@ public class SettingsManager implements ListMenu.SettingsListener { public static final String KEY_SELFIE_FLASH = "pref_selfie_flash_key"; public static final String KEY_SHUTTER_SOUND = "pref_camera2_shutter_sound_key"; public static final String KEY_DEVELOPER_MENU = "pref_camera2_developer_menu_key"; + public static final String KEY_RESTORE_DEFAULT = "pref_camera2_restore_default_key"; private static final String TAG = "SnapCam_SettingsManager"; private static SettingsManager sInstance; @@ -1248,4 +1250,28 @@ public class SettingsManager implements ListMenu.SettingsListener { if (!dependencyMap.has(value)) value = "default"; return value; } + + public void restoreSettings() { + clearPerCameraPreferences(); + init(); + } + + private void clearPerCameraPreferences() { + String[] preferencesNames = ComboPreferences.getSharedPreferencesNames(mContext); + for ( String name : preferencesNames ) { + SharedPreferences.Editor editor = + mContext.getSharedPreferences(name, Context.MODE_PRIVATE).edit(); + editor.clear(); + editor.commit(); + } + + SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(mContext); + boolean requestPermission = pref.getBoolean(CameraSettings.KEY_REQUEST_PERMISSION, false ); + SharedPreferences.Editor editor = + PreferenceManager.getDefaultSharedPreferences(mContext).edit(); + editor.clear(); + editor.putBoolean(CameraSettings.KEY_REQUEST_PERMISSION, requestPermission); + editor.commit(); + } + } |