Ensure sim color is shown on multi-sim devices when only one sim installed.
- Removed telecomManager check hasMultipleCallCapableAccounts() which would
only return 1 when a single sim is installed in a multisim phone.
- For single-sim devices, the Sim color is 0 (ie not selected) for the
Sim PhoneAccount, so the default behavior is to not show a sim color.
Bug: 18696518
Change-Id: I8bbb956e204422e122b3c50e6fc98c2916151aa4
diff --git a/src/com/android/dialer/calllog/PhoneAccountUtils.java b/src/com/android/dialer/calllog/PhoneAccountUtils.java
index adeec0f..f9bd9ad 100644
--- a/src/com/android/dialer/calllog/PhoneAccountUtils.java
+++ b/src/com/android/dialer/calllog/PhoneAccountUtils.java
@@ -75,21 +75,19 @@
*/
public static int getAccountColor(Context context, PhoneAccountHandle accountHandle) {
PhoneAccount account = getAccountOrNull(context, accountHandle);
+ // For single-sim devices the PhoneAccount will be NO_HIGHLIGHT_COLOR by default, so it is
+ // safe to always use the account highlight color.
return account == null ? PhoneAccount.NO_HIGHLIGHT_COLOR : account.getHighlightColor();
}
/**
- * Retrieve the account metadata, but if the account does not exist or the device has only a
- * single registered and enabled account, return null.
+ * Retrieve the account metadata.
*/
private static PhoneAccount getAccountOrNull(Context context,
PhoneAccountHandle accountHandle) {
TelecomManager telecomManager =
(TelecomManager) context.getSystemService(Context.TELECOM_SERVICE);
final PhoneAccount account = telecomManager.getPhoneAccount(accountHandle);
- if (account == null || !telecomManager.hasMultipleCallCapableAccounts()) {
- return null;
- }
return account;
}
}