diff options
author | Michael Bestas <mikeioannina@gmail.com> | 2015-02-14 02:53:32 +0200 |
---|---|---|
committer | Michael Bestas <mikeioannina@gmail.com> | 2015-02-15 04:02:33 +0200 |
commit | 8f53249fac0b4f4fed36e5d062c3a5aa46e48e6b (patch) | |
tree | 39a5e092a0b90758415515cbeead901933c4a37d | |
parent | 8f20055c53249c7db6cdc2d300143dd1012b2f74 (diff) | |
download | android_packages_apps_Camera2-8f53249fac0b4f4fed36e5d062c3a5aa46e48e6b.tar.gz android_packages_apps_Camera2-8f53249fac0b4f4fed36e5d062c3a5aa46e48e6b.tar.bz2 android_packages_apps_Camera2-8f53249fac0b4f4fed36e5d062c3a5aa46e48e6b.zip |
Camera2: Add option to set max screen brightness
* Set maximum screen brightness while the user is inside the camera app
Change-Id: I8b16ba47a933bc7d6b0c1cd62bfd6ca54875ce1e
-rw-r--r-- | res/values/cm_strings.xml | 2 | ||||
-rw-r--r-- | res/xml/camera_preferences.xml | 6 | ||||
-rw-r--r-- | src/com/android/camera/CameraActivity.java | 19 | ||||
-rw-r--r-- | src/com/android/camera/settings/AppUpgrader.java | 23 | ||||
-rw-r--r-- | src/com/android/camera/settings/Keys.java | 9 |
5 files changed, 58 insertions, 1 deletions
diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml index 7440bcaf2..a42f411ee 100644 --- a/res/values/cm_strings.xml +++ b/res/values/cm_strings.xml @@ -17,4 +17,6 @@ <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- More Settings screen, power button title --> <string name="pref_camera_power_shutter_title">Power shutter</string> + <!-- More Settings screen, max brightness title --> + <string name="pref_camera_max_brightness_title">Bright screen</string> </resources> diff --git a/res/xml/camera_preferences.xml b/res/xml/camera_preferences.xml index c9eaef9d2..8caa925bf 100644 --- a/res/xml/camera_preferences.xml +++ b/res/xml/camera_preferences.xml @@ -68,10 +68,16 @@ android:defaultValue="false" android:key="pref_camera_exposure_compensation_key" android:title="@string/pref_camera_exposure_compensation" /> + <!-- Power button shutter --> <com.android.camera.settings.ManagedSwitchPreference android:key="pref_power_shutter" android:defaultValue="false" android:title="@string/pref_camera_power_shutter_title" /> + <!-- Max screen brightness --> + <com.android.camera.settings.ManagedSwitchPreference + android:key="pref_max_brightness" + android:defaultValue="false" + android:title="@string/pref_camera_max_brightness_title" /> </PreferenceScreen> <!-- Google Help and feedback launcher --> diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java index dc7298e51..be0832222 100644 --- a/src/com/android/camera/CameraActivity.java +++ b/src/com/android/camera/CameraActivity.java @@ -262,6 +262,8 @@ public class CameraActivity extends Activity private MotionManager mMotionManager; // Keep track of powershutter state public boolean mPowerShutter; + // Keep track of max brightness state + public boolean mMaxBrightness; @Override public CameraAppUI getCameraAppUI() { @@ -567,6 +569,8 @@ public class CameraActivity extends Activity public void onSettingChanged(SettingsManager settingsManager, String key) { if (key.equals(Keys.KEY_POWER_SHUTTER)) { initPowerShutter(); + } else if (key.equals(Keys.KEY_MAX_BRIGHTNESS)) { + initMaxBrightness(); } } @@ -1356,6 +1360,7 @@ public class CameraActivity extends Activity mSettingsManager = getServices().getSettingsManager(); mSettingsManager.addListener(this); initPowerShutter(); + initMaxBrightness(); AppUpgrader appUpgrader = new AppUpgrader(this); appUpgrader.upgrade(mSettingsManager); @@ -1924,6 +1929,20 @@ public class CameraActivity extends Activity } } + protected void initMaxBrightness() { + Window win = getWindow(); + WindowManager.LayoutParams params = win.getAttributes(); + + mMaxBrightness = Keys.isMaxBrightnessOn(mSettingsManager); + if (mMaxBrightness) { + params.screenBrightness = WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_FULL; + } else { + params.screenBrightness = WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE; + } + + win.setAttributes(params); + } + @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (!mFilmstripVisible) { diff --git a/src/com/android/camera/settings/AppUpgrader.java b/src/com/android/camera/settings/AppUpgrader.java index fd92a50cb..2e60e70be 100644 --- a/src/com/android/camera/settings/AppUpgrader.java +++ b/src/com/android/camera/settings/AppUpgrader.java @@ -75,9 +75,14 @@ public class AppUpgrader extends SettingsUpgrader { private static final int CAMERA_SETTINGS_POWER_SHUTTER = 6; /** + * With this version, port over max brightness settings. + */ + private static final int CAMERA_SETTINGS_MAX_BRIGHTNESS = 7; + + /** * Increment this value whenever new AOSP UpgradeSteps need to be executed. */ - public static final int APP_UPGRADE_VERSION = 6; + public static final int APP_UPGRADE_VERSION = 7; private final AppController mAppController; @@ -142,6 +147,10 @@ public class AppUpgrader extends SettingsUpgrader { if (lastVersion < CAMERA_SETTINGS_POWER_SHUTTER) { upgradePowerShutter(settingsManager); } + + if (lastVersion < CAMERA_SETTINGS_MAX_BRIGHTNESS) { + upgradeMaxBrightness(settingsManager); + } } /** @@ -424,6 +433,18 @@ public class AppUpgrader extends SettingsUpgrader { } } + private void upgradeMaxBrightness(SettingsManager settingsManager) { + SharedPreferences oldGlobalPreferences = + settingsManager.openPreferences(OLD_GLOBAL_PREFERENCES_FILENAME); + if (oldGlobalPreferences.contains(Keys.KEY_MAX_BRIGHTNESS)) { + String maxBrightness = removeString(oldGlobalPreferences, Keys.KEY_MAX_BRIGHTNESS); + if (OLD_SETTINGS_VALUE_ON.equals(maxBrightness)) { + settingsManager.set(SettingsManager.SCOPE_GLOBAL, Keys.KEY_MAX_BRIGHTNESS, + true); + } + } + } + /** * The R.integer.camera_mode_* indices were cleaned up, resulting in * removals and renaming of certain values. In particular camera_mode_gcam diff --git a/src/com/android/camera/settings/Keys.java b/src/com/android/camera/settings/Keys.java index 54e83a662..685b40fb4 100644 --- a/src/com/android/camera/settings/Keys.java +++ b/src/com/android/camera/settings/Keys.java @@ -75,6 +75,7 @@ public class Keys { public static final String KEY_SHOULD_SHOW_SETTINGS_BUTTON_CLING = "pref_should_show_settings_button_cling"; public static final String KEY_POWER_SHUTTER = "pref_power_shutter"; + public static final String KEY_MAX_BRIGHTNESS = "pref_max_brightness"; /** * Set some number of defaults for the defined keys. @@ -223,6 +224,14 @@ public class Keys { } /** + * Returns whether max brightness is set on. + */ + public static boolean isMaxBrightnessOn(SettingsManager settingsManager) { + return settingsManager.getBoolean(SettingsManager.SCOPE_GLOBAL, + KEY_MAX_BRIGHTNESS); + } + + /** * Returns whether pano orientation is horizontal. */ public static boolean isPanoOrientationHorizontal(SettingsManager settingsManager) { |