summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorweijiew <weijiew@codeaurora.org>2016-11-01 10:22:41 +0800
committerJay Wang <jaywang@codeaurora.org>2016-11-07 14:28:58 -0800
commit0c43eccb63dae31813b998a92e1d50b29a41be04 (patch)
tree58b551a7c372b3bfbe7ab197752aa27f9d3bf5b7
parent42310c1395c0a132430e4e31c702861d8b41dc11 (diff)
downloadandroid_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.pngbin0 -> 1964 bytes
-rw-r--r--res/values/strings.xml4
-rw-r--r--res/xml/setting_menu_preferences.xml12
-rw-r--r--src/com/android/camera/SettingsActivity.java24
-rw-r--r--src/com/android/camera/SettingsManager.java26
5 files changed, 66 insertions, 0 deletions
diff --git a/res/drawable/restore_defaults.png b/res/drawable/restore_defaults.png
new file mode 100644
index 000000000..3bf361657
--- /dev/null
+++ b/res/drawable/restore_defaults.png
Binary files differ
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();
+ }
+
}