Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b3772482 authored by Tyler Gunn's avatar Tyler Gunn
Browse files

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
parent 56e15541
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -75,21 +75,19 @@ public class PhoneAccountUtils {
     */
    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;
    }
}