From 448db3a8944f2e688cec1ba76c0ed3158348fe81 Mon Sep 17 00:00:00 2001 From: Patrick Huang Date: Sat, 5 Mar 2022 02:50:43 +0000 Subject: [PATCH] Hide lockscreen Emergency button if device lacks telephony Emergency calling requires a telephony radio. Bug: 220435157 Fix: 220435157 Test: Manual test on phone and tablet Change-Id: I7086caf39bf03dc385062defb3e912b4457f41e5 --- .../SystemUI/src/com/android/keyguard/EmergencyButton.java | 6 +++--- .../src/com/android/keyguard/EmergencyButtonController.java | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/keyguard/EmergencyButton.java b/packages/SystemUI/src/com/android/keyguard/EmergencyButton.java index c4b02f62f2914..ffd15460ce91d 100644 --- a/packages/SystemUI/src/com/android/keyguard/EmergencyButton.java +++ b/packages/SystemUI/src/com/android/keyguard/EmergencyButton.java @@ -107,10 +107,10 @@ public class EmergencyButton extends Button { return super.performLongClick(); } - void updateEmergencyCallButton(boolean isInCall, boolean isVoiceCapable, boolean simLocked) { + void updateEmergencyCallButton(boolean isInCall, boolean hasTelephonyRadio, boolean simLocked) { boolean visible = false; - if (isVoiceCapable) { - // Emergency calling requires voice capability. + if (hasTelephonyRadio) { + // Emergency calling requires a telephony radio. if (isInCall) { visible = true; // always show "return to call" if phone is off-hook } else { diff --git a/packages/SystemUI/src/com/android/keyguard/EmergencyButtonController.java b/packages/SystemUI/src/com/android/keyguard/EmergencyButtonController.java index e7215b8ebe49a..f28910576073f 100644 --- a/packages/SystemUI/src/com/android/keyguard/EmergencyButtonController.java +++ b/packages/SystemUI/src/com/android/keyguard/EmergencyButtonController.java @@ -21,6 +21,7 @@ import static com.android.systemui.DejankUtils.whitelistIpcs; import android.app.ActivityOptions; import android.app.ActivityTaskManager; import android.content.Intent; +import android.content.pm.PackageManager; import android.content.res.Configuration; import android.os.PowerManager; import android.os.SystemClock; @@ -116,7 +117,8 @@ public class EmergencyButtonController extends ViewController { if (mView != null) { mView.updateEmergencyCallButton( mTelecomManager != null && mTelecomManager.isInCall(), - mTelephonyManager.isVoiceCapable(), + getContext().getPackageManager().hasSystemFeature( + PackageManager.FEATURE_TELEPHONY), mKeyguardUpdateMonitor.isSimPinVoiceSecure()); } }