From 5f1bd903b1692898091f9d93330ee36a091b1655 Mon Sep 17 00:00:00 2001 From: Artem Shvadskiy Date: Tue, 17 May 2016 17:09:38 -0700 Subject: Show SIP call method in spinner and force update on resume Change-Id: Icd22b9d20fc3a1e36aa5349830e775b696a46328 issue-id: CYNGNOS-2655 --- res/drawable/ic_dialer_sip_black_24dp.xml | 16 ++++++++++++++++ .../phone/common/incall/utils/CallMethodUtils.java | 15 +++++++++++---- 2 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 res/drawable/ic_dialer_sip_black_24dp.xml diff --git a/res/drawable/ic_dialer_sip_black_24dp.xml b/res/drawable/ic_dialer_sip_black_24dp.xml new file mode 100644 index 0000000..3bebc1e --- /dev/null +++ b/res/drawable/ic_dialer_sip_black_24dp.xml @@ -0,0 +1,16 @@ + + + + diff --git a/src-ambient/com/android/phone/common/incall/utils/CallMethodUtils.java b/src-ambient/com/android/phone/common/incall/utils/CallMethodUtils.java index e593cf8..dc61adf 100644 --- a/src-ambient/com/android/phone/common/incall/utils/CallMethodUtils.java +++ b/src-ambient/com/android/phone/common/incall/utils/CallMethodUtils.java @@ -17,6 +17,7 @@ package com.android.phone.common.incall.utils; import android.content.Context; +import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.Looper; @@ -128,10 +129,16 @@ public class CallMethodUtils { getPhoneAccountColor(subMgr.getActiveSubscriptionInfo(callMethodInfo.mSubId)); callMethodInfo.mIsInCallProvider = false; - final int simState = telephonyMgr.getSimState(callMethodInfo.mSlotId); - if ((simState == TelephonyManager.SIM_STATE_ABSENT) || - (simState == TelephonyManager.SIM_STATE_UNKNOWN)) { - return null; + // SIP accounts do not have SIM status and should be handled differently. + Uri address = phoneAccount.getAddress(); + if (address != null && PhoneAccount.SCHEME_SIP.equals(address.getScheme())) { + callMethodInfo.mBrandIcon = context.getDrawable(R.drawable.ic_dialer_sip_black_24dp); + } else { + final int simState = telephonyMgr.getSimState(callMethodInfo.mSlotId); + if ((simState == TelephonyManager.SIM_STATE_ABSENT) || + (simState == TelephonyManager.SIM_STATE_UNKNOWN)) { + return null; + } } return callMethodInfo; -- cgit v1.2.3