From 34c07800ddb15ab70f97031cb6e5d6a85c6d7388 Mon Sep 17 00:00:00 2001 From: Branden Archer Date: Wed, 25 Jul 2018 22:24:18 -0400 Subject: [PATCH] Configure brightening screen when display a barcode When a barcode is displayed the screen's brightness is set to the maximum, in an attempt to provide the best chance for a barcode scanner to capture the barcode. However, it may not always be desired to increase the brightness, for example when using the app in low light. This change adds a setting to control the screen brightening behavior when a barcode is viewed. --- .../protect/card_locker/LoyaltyCardViewActivity.java | 2 +- .../java/protect/card_locker/preferences/Settings.java | 10 ++++++++++ app/src/main/res/values/strings.xml | 3 ++- app/src/main/res/xml/preferences.xml | 4 ++++ 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java index 8a250d410..49166d7b9 100644 --- a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java +++ b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java @@ -96,7 +96,7 @@ public class LoyaltyCardViewActivity extends AppCompatActivity // '1' is the brightest. We attempt to maximize the brightness // to help barcode readers scan the barcode. Window window = getWindow(); - if(window != null) + if(window != null && settings.useMaxBrightnessDisplayingBarcode()) { WindowManager.LayoutParams attributes = window.getAttributes(); attributes.screenBrightness = 1F; diff --git a/app/src/main/java/protect/card_locker/preferences/Settings.java b/app/src/main/java/protect/card_locker/preferences/Settings.java index 682cba20e..e6fdbf33b 100644 --- a/app/src/main/java/protect/card_locker/preferences/Settings.java +++ b/app/src/main/java/protect/card_locker/preferences/Settings.java @@ -34,6 +34,11 @@ public class Settings return settings.getInt(getResString(keyId), getResInt(defaultId)); } + private boolean getBoolean(@StringRes int keyId, boolean defaultValue) + { + return settings.getBoolean(getResString(keyId), defaultValue); + } + public int getCardTitleListFontSize() { return getInt(R.string.settings_key_card_title_list_font_size, R.integer.settings_card_title_list_font_size_sp); @@ -58,4 +63,9 @@ public class Settings { return getInt(R.string.settings_key_card_note_font_size, R.integer.settings_card_note_font_size_sp); } + + public boolean useMaxBrightnessDisplayingBarcode() + { + return getBoolean(R.string.settings_key_display_barcode_max_brightness, true); + } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1ac884565..134270400 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -119,5 +119,6 @@ pref_card_id_font_size_sp Card note font size pref_card_note_font_size_sp - + Brighten barcode view + pref_display_card_max_brightness diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 893d504b3..af054e18b 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -40,6 +40,10 @@ android:defaultValue="@integer/settings_card_note_font_size_sp" app:vnt_maxValue="@integer/settings_card_note_max_font_size_sp" app:vnt_minValue="@integer/settings_card_note_min_font_size_sp" /> +