summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Bestas <mikeioannina@gmail.com>2015-02-14 02:53:32 +0200
committerMichael Bestas <mikeioannina@gmail.com>2015-02-15 04:02:33 +0200
commit8f53249fac0b4f4fed36e5d062c3a5aa46e48e6b (patch)
tree39a5e092a0b90758415515cbeead901933c4a37d
parent8f20055c53249c7db6cdc2d300143dd1012b2f74 (diff)
downloadandroid_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.xml2
-rw-r--r--res/xml/camera_preferences.xml6
-rw-r--r--src/com/android/camera/CameraActivity.java19
-rw-r--r--src/com/android/camera/settings/AppUpgrader.java23
-rw-r--r--src/com/android/camera/settings/Keys.java9
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) {