summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com>2024-03-27 06:04:27 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2024-03-27 06:04:27 +0000
commit36be1b1c434cfcbe7a574c473e90ab66513ee8e1 (patch)
treed09dd26bede3f7b5fa1ed88f129fdfe7d4ede2a4
parentafd53ce120724ef74bdb5dc4e43e0626ea469800 (diff)
parente239b4caedb69ca45e370e1b3bfcf6607587d7c5 (diff)
Merge "SystemUI:check ServiceStatus for all subs to show Emergency button" into u-keystone-qcom-dev
-rw-r--r--packages/SystemUI/src/com/android/keyguard/EmergencyButtonController.java20
1 files changed, 15 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/EmergencyButtonController.java b/packages/SystemUI/src/com/android/keyguard/EmergencyButtonController.java
index 85502c44ef3c..2927c4e32567 100644
--- a/packages/SystemUI/src/com/android/keyguard/EmergencyButtonController.java
+++ b/packages/SystemUI/src/com/android/keyguard/EmergencyButtonController.java
@@ -58,7 +58,7 @@ import com.android.systemui.util.EmergencyDialerConstants;
import com.android.systemui.util.ViewController;
import java.util.concurrent.Executor;
-import java.util.List;
+import java.util.HashMap;
import javax.inject.Inject;
@@ -80,7 +80,7 @@ public class EmergencyButtonController extends ViewController<EmergencyButton> {
private Executor mBackgroundExecutor;
private EmergencyButtonCallback mEmergencyButtonCallback;
- private ServiceState mServiceState;
+ private HashMap<Integer, ServiceState> mServiceStates = new HashMap<>();
private final KeyguardUpdateMonitorCallback mInfoCallback =
new KeyguardUpdateMonitorCallback() {
@@ -96,7 +96,7 @@ public class EmergencyButtonController extends ViewController<EmergencyButton> {
@Override
public void onServiceStateChanged(int subId, ServiceState state) {
- mServiceState = state;
+ mServiceStates.put(subId, state);
updateEmergencyCallButton();
}
};
@@ -220,8 +220,18 @@ public class EmergencyButtonController extends ViewController<EmergencyButton> {
}
private boolean isEmergencyCapable() {
- return (!mKeyguardUpdateMonitor.isOOS()
- || (mServiceState !=null && mServiceState.isEmergencyOnly()));
+ if (!mKeyguardUpdateMonitor.isOOS()){
+ return true;
+ }
+ for (int subId : mServiceStates.keySet()) {
+ ServiceState ss = mServiceStates.get(subId);
+ if (ss != null) {
+ if (ss.isEmergencyOnly()) {
+ return true;
+ }
+ }
+ }
+ return false;
}
/** */