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
This commit is contained in:
Patrick Huang
2022-03-05 02:50:43 +00:00
parent ad0f5f8b41
commit 448db3a894
2 changed files with 6 additions and 4 deletions

View File

@@ -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 {

View File

@@ -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<EmergencyButton> {
if (mView != null) {
mView.updateEmergencyCallButton(
mTelecomManager != null && mTelecomManager.isInCall(),
mTelephonyManager.isVoiceCapable(),
getContext().getPackageManager().hasSystemFeature(
PackageManager.FEATURE_TELEPHONY),
mKeyguardUpdateMonitor.isSimPinVoiceSecure());
}
}