Loading core/api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -366,6 +366,7 @@ package android { } public static final class R.bool { field public static final int config_enableQrCodeScannerOnLockScreen; field public static final int config_sendPackageName = 17891328; // 0x1110000 field public static final int config_showDefaultAssistant = 17891329; // 0x1110001 field public static final int config_showDefaultEmergency = 17891330; // 0x1110002 core/res/res/values/config.xml +3 −0 Original line number Diff line number Diff line Loading @@ -5612,4 +5612,7 @@ <!-- Flag indicating if help links for Settings app should be enabled. --> <bool name="config_settingsHelpLinksEnabled">false</bool> <!-- Whether or not to enable the lock screen entry point for the QR code scanner. --> <bool name="config_enableQrCodeScannerOnLockScreen">false</bool> </resources> core/res/res/values/public.xml +2 −0 Original line number Diff line number Diff line Loading @@ -3324,6 +3324,8 @@ <staging-public-group type="bool" first-id="0x01cf0000"> <!-- @hide @TestApi --> <public name="config_preventImeStartupUnlessTextEditor" /> <!-- @hide @SystemApi --> <public name="config_enableQrCodeScannerOnLockScreen" /> </staging-public-group> <staging-public-group type="fraction" first-id="0x01ce0000"> Loading packages/SystemUI/src/com/android/systemui/qrcodescanner/controller/QRCodeScannerController.java +29 −3 Original line number Diff line number Diff line Loading @@ -93,6 +93,7 @@ public class QRCodeScannerController implements private final DeviceConfigProxy mDeviceConfigProxy; private final ArrayList<Callback> mCallbacks = new ArrayList<>(); private final UserTracker mUserTracker; private final boolean mConfigEnableLockScreenButton; private HashMap<Integer, ContentObserver> mQRCodeScannerPreferenceObserver = new HashMap<>(); private DeviceConfig.OnPropertiesChangedListener mOnDefaultQRCodeScannerChangedListener = null; Loading @@ -118,6 +119,9 @@ public class QRCodeScannerController implements mSecureSettings = secureSettings; mDeviceConfigProxy = proxy; mUserTracker = userTracker; mConfigEnableLockScreenButton = mContext.getResources().getBoolean( android.R.bool.config_enableQrCodeScannerOnLockScreen); } /** Loading Loading @@ -156,7 +160,7 @@ public class QRCodeScannerController implements * Returns true if lock screen entry point for QR Code Scanner is to be enabled. */ public boolean isEnabledForLockScreenButton() { return mQRCodeScannerEnabled && mIntent != null; return mQRCodeScannerEnabled && mIntent != null && mConfigEnableLockScreenButton; } /** Loading Loading @@ -235,6 +239,11 @@ public class QRCodeScannerController implements } private void updateQRCodeScannerPreferenceDetails(boolean updateSettings) { if (!mConfigEnableLockScreenButton) { // Settings only apply to lock screen entry point. return; } boolean prevQRCodeScannerEnabled = mQRCodeScannerEnabled; mQRCodeScannerEnabled = mSecureSettings.getIntForUser(LOCK_SCREEN_SHOW_QR_CODE_SCANNER, 0, mUserTracker.getUserId()) != 0; Loading @@ -251,8 +260,15 @@ public class QRCodeScannerController implements private void updateQRCodeScannerActivityDetails() { String qrCodeScannerActivity = mDeviceConfigProxy.getString( DeviceConfig.NAMESPACE_SYSTEMUI, SystemUiDeviceConfigFlags.DEFAULT_QR_CODE_SCANNER, mContext.getResources().getString(R.string.def_qr_code_component)); SystemUiDeviceConfigFlags.DEFAULT_QR_CODE_SCANNER, ""); // "" means either the flags is not available or is set to "", and in both the cases we // want to use R.string.def_qr_code_component if (Objects.equals(qrCodeScannerActivity, "")) { qrCodeScannerActivity = mContext.getResources().getString(R.string.def_qr_code_component); } String prevQrCodeScannerActivity = mQRCodeScannerActivity; ComponentName componentName = null; Intent intent = new Intent(); Loading Loading @@ -296,6 +312,11 @@ public class QRCodeScannerController implements } private void unregisterQRCodePreferenceObserver() { if (!mConfigEnableLockScreenButton) { // Settings only apply to lock screen entry point. return; } mQRCodeScannerPreferenceObserver.forEach((key, value) -> { mSecureSettings.unregisterContentObserver(value); }); Loading Loading @@ -357,6 +378,11 @@ public class QRCodeScannerController implements } private void registerQRCodePreferenceObserver() { if (!mConfigEnableLockScreenButton) { // Settings only apply to lock screen entry point. return; } int userId = mUserTracker.getUserId(); if (mQRCodeScannerPreferenceObserver.getOrDefault(userId, null) != null) return; Loading Loading
core/api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -366,6 +366,7 @@ package android { } public static final class R.bool { field public static final int config_enableQrCodeScannerOnLockScreen; field public static final int config_sendPackageName = 17891328; // 0x1110000 field public static final int config_showDefaultAssistant = 17891329; // 0x1110001 field public static final int config_showDefaultEmergency = 17891330; // 0x1110002
core/res/res/values/config.xml +3 −0 Original line number Diff line number Diff line Loading @@ -5612,4 +5612,7 @@ <!-- Flag indicating if help links for Settings app should be enabled. --> <bool name="config_settingsHelpLinksEnabled">false</bool> <!-- Whether or not to enable the lock screen entry point for the QR code scanner. --> <bool name="config_enableQrCodeScannerOnLockScreen">false</bool> </resources>
core/res/res/values/public.xml +2 −0 Original line number Diff line number Diff line Loading @@ -3324,6 +3324,8 @@ <staging-public-group type="bool" first-id="0x01cf0000"> <!-- @hide @TestApi --> <public name="config_preventImeStartupUnlessTextEditor" /> <!-- @hide @SystemApi --> <public name="config_enableQrCodeScannerOnLockScreen" /> </staging-public-group> <staging-public-group type="fraction" first-id="0x01ce0000"> Loading
packages/SystemUI/src/com/android/systemui/qrcodescanner/controller/QRCodeScannerController.java +29 −3 Original line number Diff line number Diff line Loading @@ -93,6 +93,7 @@ public class QRCodeScannerController implements private final DeviceConfigProxy mDeviceConfigProxy; private final ArrayList<Callback> mCallbacks = new ArrayList<>(); private final UserTracker mUserTracker; private final boolean mConfigEnableLockScreenButton; private HashMap<Integer, ContentObserver> mQRCodeScannerPreferenceObserver = new HashMap<>(); private DeviceConfig.OnPropertiesChangedListener mOnDefaultQRCodeScannerChangedListener = null; Loading @@ -118,6 +119,9 @@ public class QRCodeScannerController implements mSecureSettings = secureSettings; mDeviceConfigProxy = proxy; mUserTracker = userTracker; mConfigEnableLockScreenButton = mContext.getResources().getBoolean( android.R.bool.config_enableQrCodeScannerOnLockScreen); } /** Loading Loading @@ -156,7 +160,7 @@ public class QRCodeScannerController implements * Returns true if lock screen entry point for QR Code Scanner is to be enabled. */ public boolean isEnabledForLockScreenButton() { return mQRCodeScannerEnabled && mIntent != null; return mQRCodeScannerEnabled && mIntent != null && mConfigEnableLockScreenButton; } /** Loading Loading @@ -235,6 +239,11 @@ public class QRCodeScannerController implements } private void updateQRCodeScannerPreferenceDetails(boolean updateSettings) { if (!mConfigEnableLockScreenButton) { // Settings only apply to lock screen entry point. return; } boolean prevQRCodeScannerEnabled = mQRCodeScannerEnabled; mQRCodeScannerEnabled = mSecureSettings.getIntForUser(LOCK_SCREEN_SHOW_QR_CODE_SCANNER, 0, mUserTracker.getUserId()) != 0; Loading @@ -251,8 +260,15 @@ public class QRCodeScannerController implements private void updateQRCodeScannerActivityDetails() { String qrCodeScannerActivity = mDeviceConfigProxy.getString( DeviceConfig.NAMESPACE_SYSTEMUI, SystemUiDeviceConfigFlags.DEFAULT_QR_CODE_SCANNER, mContext.getResources().getString(R.string.def_qr_code_component)); SystemUiDeviceConfigFlags.DEFAULT_QR_CODE_SCANNER, ""); // "" means either the flags is not available or is set to "", and in both the cases we // want to use R.string.def_qr_code_component if (Objects.equals(qrCodeScannerActivity, "")) { qrCodeScannerActivity = mContext.getResources().getString(R.string.def_qr_code_component); } String prevQrCodeScannerActivity = mQRCodeScannerActivity; ComponentName componentName = null; Intent intent = new Intent(); Loading Loading @@ -296,6 +312,11 @@ public class QRCodeScannerController implements } private void unregisterQRCodePreferenceObserver() { if (!mConfigEnableLockScreenButton) { // Settings only apply to lock screen entry point. return; } mQRCodeScannerPreferenceObserver.forEach((key, value) -> { mSecureSettings.unregisterContentObserver(value); }); Loading Loading @@ -357,6 +378,11 @@ public class QRCodeScannerController implements } private void registerQRCodePreferenceObserver() { if (!mConfigEnableLockScreenButton) { // Settings only apply to lock screen entry point. return; } int userId = mUserTracker.getUserId(); if (mQRCodeScannerPreferenceObserver.getOrDefault(userId, null) != null) return; Loading