diff options
author | twyen <twyen@google.com> | 2017-11-22 17:12:49 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2017-11-22 17:21:14 -0800 |
commit | 38af651c6e0181957533fc31fca265c09dab05d2 (patch) | |
tree | 6d97ae7ea8e40418662d25141e8393e0cbbbdc20 /java/com/android/dialer/precall/impl/CallingAccountSelector.java | |
parent | 711c98ed1a282b5d93f3252ab67abde24c7a7f47 (diff) |
Prevent SIM selection and change SIM from showing when there are active calls
Most devices are DSDS (dual SIM dual standby) which only one SIM can have active calls at a time. Telecom will ignore the phone account handle and use the current active SIM. The SIM selection dialog has no effect, and the change SIM button will just redial with the same SIM.
Bug: 69417430
Test: CallingAccountSelectorTest, CallButtonPresenterTest
PiperOrigin-RevId: 176718021
Change-Id: I231cfeaa5ff77c29cdaf8e0865d096c85cfb7fc4
Diffstat (limited to 'java/com/android/dialer/precall/impl/CallingAccountSelector.java')
-rw-r--r-- | java/com/android/dialer/precall/impl/CallingAccountSelector.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/java/com/android/dialer/precall/impl/CallingAccountSelector.java b/java/com/android/dialer/precall/impl/CallingAccountSelector.java index 8d3df2360..5d928b4fb 100644 --- a/java/com/android/dialer/precall/impl/CallingAccountSelector.java +++ b/java/com/android/dialer/precall/impl/CallingAccountSelector.java @@ -54,6 +54,7 @@ import com.android.dialer.preferredsim.PreferredSimFallbackContract; import com.android.dialer.preferredsim.PreferredSimFallbackContract.PreferredSim; import com.android.dialer.preferredsim.suggestion.SimSuggestionComponent; import com.android.dialer.preferredsim.suggestion.SuggestionProvider.Suggestion; +import com.android.dialer.telecom.TelecomUtil; import com.google.common.base.Optional; import java.util.ArrayList; import java.util.List; @@ -87,6 +88,17 @@ public class CallingAccountSelector implements PreCallAction { if (accounts.size() <= 1) { return false; } + + if (TelecomUtil.isInManagedCall(context)) { + // Most devices are DSDS (dual SIM dual standby) which only one SIM can have active calls at + // a time. Telecom will ignore the phone account handle and use the current active SIM, thus + // there's no point of selecting SIMs + // TODO(a bug): let the user know selections are not available and preferred SIM is not + // used + // TODO(twyen): support other dual SIM modes when the API is exposed. + return false; + } + return true; } |