Loading res/xml/configure_notification_settings.xml +7 −0 Original line number Diff line number Diff line Loading @@ -72,6 +72,13 @@ android:summary="@string/lock_screen_notifs_redact_work_summary" settings:controller="com.android.settings.notification.RedactNotificationPreferenceController" /> <SwitchPreference android:key="notification_lockscreen_bypass" android:title="@string/lockscreen_bypass_title" android:summary="@string/lockscreen_bypass_summary" settings:searchable="false" settings:controller="com.android.settings.biometrics.face.FaceSettingsLockscreenBypassPreferenceController" /> </PreferenceCategory> <PreferenceCategory Loading res/xml/security_lockscreen_settings.xml +7 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,13 @@ android:summary="@string/summary_placeholder" settings:keywords="@string/keywords_lock_screen_notif"/> <SwitchPreference android:key="security_dispaly_lockscreen_bypass" android:title="@string/lockscreen_bypass_title" android:summary="@string/lockscreen_bypass_summary" settings:searchable="false" settings:controller="com.android.settings.biometrics.face.FaceSettingsLockscreenBypassPreferenceController" /> <com.android.settingslib.RestrictedSwitchPreference android:key="security_lockscreen_add_users_when_locked" android:title="@string/user_add_on_lockscreen_menu" Loading src/com/android/settings/biometrics/face/FaceSettings.java +0 −2 Original line number Diff line number Diff line Loading @@ -149,7 +149,6 @@ public class FaceSettings extends DashboardFragment { // Don't show keyguard controller for work profile settings. if (mUserManager.isManagedProfile(mUserId)) { removePreference(FaceSettingsKeyguardPreferenceController.KEY); removePreference(FaceSettingsLockscreenBypassPreferenceController.KEY); } if (savedInstanceState != null) { Loading Loading @@ -261,7 +260,6 @@ public class FaceSettings extends DashboardFragment { final List<AbstractPreferenceController> controllers = new ArrayList<>(); controllers.add(new FaceSettingsVideoPreferenceController(context)); controllers.add(new FaceSettingsKeyguardPreferenceController(context)); controllers.add(new FaceSettingsLockscreenBypassPreferenceController(context)); controllers.add(new FaceSettingsAppPreferenceController(context)); controllers.add(new FaceSettingsAttentionPreferenceController(context)); controllers.add(new FaceSettingsRemoveButtonPreferenceController(context)); Loading src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java +9 −4 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ package com.android.settings.biometrics.face; import android.content.Context; import android.content.pm.PackageManager; import android.hardware.face.FaceManager; import android.os.UserHandle; import android.os.UserManager; import android.provider.Settings; import androidx.preference.Preference; Loading @@ -32,16 +34,15 @@ public class FaceSettingsLockscreenBypassPreferenceController @VisibleForTesting protected FaceManager mFaceManager; public FaceSettingsLockscreenBypassPreferenceController(Context context) { this(context, KEY); } private UserManager mUserManager; public FaceSettingsLockscreenBypassPreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_FACE)) { mFaceManager = context.getSystemService(FaceManager.class); } mUserManager = context.getSystemService(UserManager.class); } @Override Loading Loading @@ -75,6 +76,10 @@ public class FaceSettingsLockscreenBypassPreferenceController @Override public int getAvailabilityStatus() { if (mUserManager.isManagedProfile(UserHandle.myUserId())) { return UNSUPPORTED_ON_DEVICE; } if (mFaceManager != null && mFaceManager.isHardwareDetected()) { return mFaceManager.hasEnrolledTemplates() ? AVAILABLE : DISABLED_DEPENDENT_SETTING; } else { Loading src/com/android/settings/network/telephony/WifiCallingPreferenceController.java +11 −16 Original line number Diff line number Diff line Loading @@ -61,16 +61,12 @@ public class WifiCallingPreferenceController extends TelephonyBasePreferenceCont PhoneAccountHandle mSimCallManager; private PhoneCallStateListener mPhoneStateListener; private Preference mPreference; private boolean mEditableWfcRoamingMode; private boolean mUseWfcHomeModeForRoaming; public WifiCallingPreferenceController(Context context, String key) { super(context, key); mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class); mTelephonyManager = context.getSystemService(TelephonyManager.class); mPhoneStateListener = new PhoneCallStateListener(Looper.getMainLooper()); mEditableWfcRoamingMode = true; mUseWfcHomeModeForRoaming = false; } @Override Loading Loading @@ -129,9 +125,18 @@ public class WifiCallingPreferenceController extends TelephonyBasePreferenceCont preference.setTitle(title); int resId = com.android.internal.R.string.wifi_calling_off_summary; if (mImsManager.isWfcEnabledByUser()) { boolean wfcRoamingEnabled = mEditableWfcRoamingMode && !mUseWfcHomeModeForRoaming; boolean useWfcHomeModeForRoaming = false; if (mCarrierConfigManager != null) { final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId); if (carrierConfig != null) { useWfcHomeModeForRoaming = carrierConfig.getBoolean( CarrierConfigManager .KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL); } } final boolean isRoaming = mTelephonyManager.isNetworkRoaming(); int wfcMode = mImsManager.getWfcMode(isRoaming && wfcRoamingEnabled); int wfcMode = mImsManager.getWfcMode(isRoaming && !useWfcHomeModeForRoaming); switch (wfcMode) { case ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY: resId = com.android.internal.R.string.wfc_mode_wifi_only_summary; Loading Loading @@ -159,16 +164,6 @@ public class WifiCallingPreferenceController extends TelephonyBasePreferenceCont mImsManager = ImsManager.getInstance(mContext, SubscriptionManager.getPhoneId(mSubId)); mSimCallManager = mContext.getSystemService(TelecomManager.class) .getSimCallManagerForSubscription(mSubId); if (mCarrierConfigManager != null) { final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId); if (carrierConfig != null) { mEditableWfcRoamingMode = carrierConfig.getBoolean( CarrierConfigManager.KEY_EDITABLE_WFC_ROAMING_MODE_BOOL); mUseWfcHomeModeForRoaming = carrierConfig.getBoolean( CarrierConfigManager .KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL); } } } private class PhoneCallStateListener extends PhoneStateListener { Loading Loading
res/xml/configure_notification_settings.xml +7 −0 Original line number Diff line number Diff line Loading @@ -72,6 +72,13 @@ android:summary="@string/lock_screen_notifs_redact_work_summary" settings:controller="com.android.settings.notification.RedactNotificationPreferenceController" /> <SwitchPreference android:key="notification_lockscreen_bypass" android:title="@string/lockscreen_bypass_title" android:summary="@string/lockscreen_bypass_summary" settings:searchable="false" settings:controller="com.android.settings.biometrics.face.FaceSettingsLockscreenBypassPreferenceController" /> </PreferenceCategory> <PreferenceCategory Loading
res/xml/security_lockscreen_settings.xml +7 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,13 @@ android:summary="@string/summary_placeholder" settings:keywords="@string/keywords_lock_screen_notif"/> <SwitchPreference android:key="security_dispaly_lockscreen_bypass" android:title="@string/lockscreen_bypass_title" android:summary="@string/lockscreen_bypass_summary" settings:searchable="false" settings:controller="com.android.settings.biometrics.face.FaceSettingsLockscreenBypassPreferenceController" /> <com.android.settingslib.RestrictedSwitchPreference android:key="security_lockscreen_add_users_when_locked" android:title="@string/user_add_on_lockscreen_menu" Loading
src/com/android/settings/biometrics/face/FaceSettings.java +0 −2 Original line number Diff line number Diff line Loading @@ -149,7 +149,6 @@ public class FaceSettings extends DashboardFragment { // Don't show keyguard controller for work profile settings. if (mUserManager.isManagedProfile(mUserId)) { removePreference(FaceSettingsKeyguardPreferenceController.KEY); removePreference(FaceSettingsLockscreenBypassPreferenceController.KEY); } if (savedInstanceState != null) { Loading Loading @@ -261,7 +260,6 @@ public class FaceSettings extends DashboardFragment { final List<AbstractPreferenceController> controllers = new ArrayList<>(); controllers.add(new FaceSettingsVideoPreferenceController(context)); controllers.add(new FaceSettingsKeyguardPreferenceController(context)); controllers.add(new FaceSettingsLockscreenBypassPreferenceController(context)); controllers.add(new FaceSettingsAppPreferenceController(context)); controllers.add(new FaceSettingsAttentionPreferenceController(context)); controllers.add(new FaceSettingsRemoveButtonPreferenceController(context)); Loading
src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java +9 −4 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ package com.android.settings.biometrics.face; import android.content.Context; import android.content.pm.PackageManager; import android.hardware.face.FaceManager; import android.os.UserHandle; import android.os.UserManager; import android.provider.Settings; import androidx.preference.Preference; Loading @@ -32,16 +34,15 @@ public class FaceSettingsLockscreenBypassPreferenceController @VisibleForTesting protected FaceManager mFaceManager; public FaceSettingsLockscreenBypassPreferenceController(Context context) { this(context, KEY); } private UserManager mUserManager; public FaceSettingsLockscreenBypassPreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_FACE)) { mFaceManager = context.getSystemService(FaceManager.class); } mUserManager = context.getSystemService(UserManager.class); } @Override Loading Loading @@ -75,6 +76,10 @@ public class FaceSettingsLockscreenBypassPreferenceController @Override public int getAvailabilityStatus() { if (mUserManager.isManagedProfile(UserHandle.myUserId())) { return UNSUPPORTED_ON_DEVICE; } if (mFaceManager != null && mFaceManager.isHardwareDetected()) { return mFaceManager.hasEnrolledTemplates() ? AVAILABLE : DISABLED_DEPENDENT_SETTING; } else { Loading
src/com/android/settings/network/telephony/WifiCallingPreferenceController.java +11 −16 Original line number Diff line number Diff line Loading @@ -61,16 +61,12 @@ public class WifiCallingPreferenceController extends TelephonyBasePreferenceCont PhoneAccountHandle mSimCallManager; private PhoneCallStateListener mPhoneStateListener; private Preference mPreference; private boolean mEditableWfcRoamingMode; private boolean mUseWfcHomeModeForRoaming; public WifiCallingPreferenceController(Context context, String key) { super(context, key); mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class); mTelephonyManager = context.getSystemService(TelephonyManager.class); mPhoneStateListener = new PhoneCallStateListener(Looper.getMainLooper()); mEditableWfcRoamingMode = true; mUseWfcHomeModeForRoaming = false; } @Override Loading Loading @@ -129,9 +125,18 @@ public class WifiCallingPreferenceController extends TelephonyBasePreferenceCont preference.setTitle(title); int resId = com.android.internal.R.string.wifi_calling_off_summary; if (mImsManager.isWfcEnabledByUser()) { boolean wfcRoamingEnabled = mEditableWfcRoamingMode && !mUseWfcHomeModeForRoaming; boolean useWfcHomeModeForRoaming = false; if (mCarrierConfigManager != null) { final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId); if (carrierConfig != null) { useWfcHomeModeForRoaming = carrierConfig.getBoolean( CarrierConfigManager .KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL); } } final boolean isRoaming = mTelephonyManager.isNetworkRoaming(); int wfcMode = mImsManager.getWfcMode(isRoaming && wfcRoamingEnabled); int wfcMode = mImsManager.getWfcMode(isRoaming && !useWfcHomeModeForRoaming); switch (wfcMode) { case ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY: resId = com.android.internal.R.string.wfc_mode_wifi_only_summary; Loading Loading @@ -159,16 +164,6 @@ public class WifiCallingPreferenceController extends TelephonyBasePreferenceCont mImsManager = ImsManager.getInstance(mContext, SubscriptionManager.getPhoneId(mSubId)); mSimCallManager = mContext.getSystemService(TelecomManager.class) .getSimCallManagerForSubscription(mSubId); if (mCarrierConfigManager != null) { final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId); if (carrierConfig != null) { mEditableWfcRoamingMode = carrierConfig.getBoolean( CarrierConfigManager.KEY_EDITABLE_WFC_ROAMING_MODE_BOOL); mUseWfcHomeModeForRoaming = carrierConfig.getBoolean( CarrierConfigManager .KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL); } } } private class PhoneCallStateListener extends PhoneStateListener { Loading