Loading src/java/com/android/internal/telephony/Phone.java +2 −1 Original line number Original line Diff line number Diff line Loading @@ -68,6 +68,7 @@ import android.util.SparseArray; import com.android.ims.ImsCall; import com.android.ims.ImsCall; import com.android.ims.ImsConfig; import com.android.ims.ImsConfig; import com.android.ims.ImsException; import com.android.ims.ImsManager; import com.android.ims.ImsManager; import com.android.internal.R; import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting; Loading Loading @@ -3693,7 +3694,7 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { * @return true if the IMS capability for the registration technology specified is available, * @return true if the IMS capability for the registration technology specified is available, * false otherwise. * false otherwise. */ */ public boolean isImsCapabilityAvailable(int capability, int regTech) { public boolean isImsCapabilityAvailable(int capability, int regTech) throws ImsException { Phone imsPhone = mImsPhone; Phone imsPhone = mImsPhone; boolean isAvailable = false; boolean isAvailable = false; if (imsPhone != null) { if (imsPhone != null) { Loading src/java/com/android/internal/telephony/imsphone/ImsPhone.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -1782,7 +1782,7 @@ public class ImsPhone extends ImsPhoneBase { } } @Override @Override public boolean isImsCapabilityAvailable(int capability, int regTech) { public boolean isImsCapabilityAvailable(int capability, int regTech) throws ImsException { return mCT.isImsCapabilityAvailable(capability, regTech); return mCT.isImsCapabilityAvailable(capability, regTech); } } Loading src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java +13 −4 Original line number Original line Diff line number Diff line Loading @@ -4202,20 +4202,25 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { } } /** /** * Contacts the ImsService directly for capability information. May be slow. * @return true if the IMS capability for the specified registration technology is currently * @return true if the IMS capability for the specified registration technology is currently * available. * available. */ */ public boolean isImsCapabilityAvailable(int capability, int regTech) { public boolean isImsCapabilityAvailable(int capability, int regTech) throws ImsException { return (getImsRegistrationTech() == regTech) && mMmTelCapabilities.isCapable(capability); if (mImsManager != null) { return mImsManager.queryMmTelCapabilityStatus(capability, regTech); } else { return false; } } } public boolean isVolteEnabled() { public boolean isVolteEnabled() { return isImsCapabilityAvailable(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE, return isImsCapabilityInCacheAvailable(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE, ImsRegistrationImplBase.REGISTRATION_TECH_LTE); ImsRegistrationImplBase.REGISTRATION_TECH_LTE); } } public boolean isVowifiEnabled() { public boolean isVowifiEnabled() { return isImsCapabilityAvailable(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE, return isImsCapabilityInCacheAvailable(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE, ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN); ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN); } } Loading @@ -4224,6 +4229,10 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { return mMmTelCapabilities.isCapable(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO); return mMmTelCapabilities.isCapable(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO); } } private boolean isImsCapabilityInCacheAvailable(int capability, int regTech) { return (getImsRegistrationTech() == regTech) && mMmTelCapabilities.isCapable(capability); } @Override @Override public PhoneConstants.State getState() { public PhoneConstants.State getState() { return mState; return mState; Loading Loading
src/java/com/android/internal/telephony/Phone.java +2 −1 Original line number Original line Diff line number Diff line Loading @@ -68,6 +68,7 @@ import android.util.SparseArray; import com.android.ims.ImsCall; import com.android.ims.ImsCall; import com.android.ims.ImsConfig; import com.android.ims.ImsConfig; import com.android.ims.ImsException; import com.android.ims.ImsManager; import com.android.ims.ImsManager; import com.android.internal.R; import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting; Loading Loading @@ -3693,7 +3694,7 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { * @return true if the IMS capability for the registration technology specified is available, * @return true if the IMS capability for the registration technology specified is available, * false otherwise. * false otherwise. */ */ public boolean isImsCapabilityAvailable(int capability, int regTech) { public boolean isImsCapabilityAvailable(int capability, int regTech) throws ImsException { Phone imsPhone = mImsPhone; Phone imsPhone = mImsPhone; boolean isAvailable = false; boolean isAvailable = false; if (imsPhone != null) { if (imsPhone != null) { Loading
src/java/com/android/internal/telephony/imsphone/ImsPhone.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -1782,7 +1782,7 @@ public class ImsPhone extends ImsPhoneBase { } } @Override @Override public boolean isImsCapabilityAvailable(int capability, int regTech) { public boolean isImsCapabilityAvailable(int capability, int regTech) throws ImsException { return mCT.isImsCapabilityAvailable(capability, regTech); return mCT.isImsCapabilityAvailable(capability, regTech); } } Loading
src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java +13 −4 Original line number Original line Diff line number Diff line Loading @@ -4202,20 +4202,25 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { } } /** /** * Contacts the ImsService directly for capability information. May be slow. * @return true if the IMS capability for the specified registration technology is currently * @return true if the IMS capability for the specified registration technology is currently * available. * available. */ */ public boolean isImsCapabilityAvailable(int capability, int regTech) { public boolean isImsCapabilityAvailable(int capability, int regTech) throws ImsException { return (getImsRegistrationTech() == regTech) && mMmTelCapabilities.isCapable(capability); if (mImsManager != null) { return mImsManager.queryMmTelCapabilityStatus(capability, regTech); } else { return false; } } } public boolean isVolteEnabled() { public boolean isVolteEnabled() { return isImsCapabilityAvailable(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE, return isImsCapabilityInCacheAvailable(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE, ImsRegistrationImplBase.REGISTRATION_TECH_LTE); ImsRegistrationImplBase.REGISTRATION_TECH_LTE); } } public boolean isVowifiEnabled() { public boolean isVowifiEnabled() { return isImsCapabilityAvailable(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE, return isImsCapabilityInCacheAvailable(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE, ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN); ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN); } } Loading @@ -4224,6 +4229,10 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { return mMmTelCapabilities.isCapable(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO); return mMmTelCapabilities.isCapable(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO); } } private boolean isImsCapabilityInCacheAvailable(int capability, int regTech) { return (getImsRegistrationTech() == regTech) && mMmTelCapabilities.isCapable(capability); } @Override @Override public PhoneConstants.State getState() { public PhoneConstants.State getState() { return mState; return mState; Loading