From 044af775a07bc2c423b7a194d39f0ed64ddc57c1 Mon Sep 17 00:00:00 2001 From: Malcolm Chen Date: Tue, 12 Dec 2017 16:48:44 -0800 Subject: Replace ImsManager static methods with non-static. ImsManager static methods are deprecated since it doesn't support MSIM devices. Bug: 67602046 Test: build and regression tests Change-Id: I568687c9f3761441d254de2453a6c7df15fff151 Merged-In: I568687c9f3761441d254de2453a6c7df15fff151 --- .../service/ims/presence/PresencePublication.java | 27 +++++++++++++--------- 1 file changed, 16 insertions(+), 11 deletions(-) (limited to 'rcs') diff --git a/rcs/rcsservice/src/com/android/service/ims/presence/PresencePublication.java b/rcs/rcsservice/src/com/android/service/ims/presence/PresencePublication.java index 1f24c70..faf7f59 100644 --- a/rcs/rcsservice/src/com/android/service/ims/presence/PresencePublication.java +++ b/rcs/rcsservice/src/com/android/service/ims/presence/PresencePublication.java @@ -169,7 +169,7 @@ public class PresencePublication extends PresenceBase { this.mRcsStackAdaptor = rcsStackAdaptor; this.mContext = context; - mVtEnabled = ImsManager.isVtEnabledByUser(mContext); + mVtEnabled = getImsManager().isVtEnabledByUser(); mDataEnabled = Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.MOBILE_DATA, 1) == 1; @@ -296,21 +296,21 @@ public class PresencePublication extends PresenceBase { private boolean isIPVoiceSupported(boolean volteAvailable, boolean vtAvailable, boolean voWifiAvailable, boolean viWifiAvailable) { + ImsManager imsManager = getImsManager(); // volte and vowifi can be enabled separately - if(!ImsManager.isVolteEnabledByPlatform(mContext) && - !ImsManager.isWfcEnabledByPlatform(mContext)) { + if(!imsManager.isVolteEnabledByPlatform() && !imsManager.isWfcEnabledByPlatform()) { logger.print("Disabled by platform, voiceSupported=false"); return false; } - if(!ImsManager.isVolteProvisionedOnDevice(mContext) && + if(!imsManager.isVolteProvisionedOnDevice() && !RcsSettingUtils.isVowifiProvisioned(mContext)) { logger.print("Wasn't provisioned, voiceSupported=false"); return false; } - if(!ImsManager.isEnhanced4gLteModeSettingEnabledByUser(mContext) && - !ImsManager.isWfcEnabledByUser(mContext)){ + if(!imsManager.isEnhanced4gLteModeSettingEnabledByUser() && + !imsManager.isWfcEnabledByUser()){ logger.print("User didn't enable volte or wfc, voiceSupported=false"); return false; } @@ -339,20 +339,21 @@ public class PresencePublication extends PresenceBase { private boolean isIPVideoSupported(boolean volteAvailable, boolean vtAvailable, boolean voWifiAvailable, boolean viWifiAvailable) { + ImsManager imsManager = getImsManager(); // if volte or vt was disabled then the viwifi will be disabled as well. - if(!ImsManager.isVolteEnabledByPlatform(mContext) || - !ImsManager.isVtEnabledByPlatform(mContext)) { + if(!imsManager.isVolteEnabledByPlatform() || + !imsManager.isVtEnabledByPlatform()) { logger.print("Disabled by platform, videoSupported=false"); return false; } - if(!ImsManager.isVolteProvisionedOnDevice(mContext) || + if(!imsManager.isVolteProvisionedOnDevice() || !RcsSettingUtils.isLvcProvisioned(mContext)) { logger.print("Not provisioned. videoSupported=false"); return false; } - if(!ImsManager.isEnhanced4gLteModeSettingEnabledByUser(mContext) || + if(!imsManager.isEnhanced4gLteModeSettingEnabledByUser() || !mVtEnabled){ logger.print("User disabled volte or vt, videoSupported=false"); return false; @@ -903,7 +904,7 @@ public class PresencePublication extends PresenceBase { // we need send PUBLISH once even the volte is off when power on the phone. // That will tell other phone that it has no volte/vt capability. - if(!ImsManager.isEnhanced4gLteModeSettingEnabledByUser(mContext) && + if(!getImsManager().isEnhanced4gLteModeSettingEnabledByUser() && getPublishState() != PublishState.PUBLISH_STATE_NOT_PUBLISHED) { // volte was not enabled. // or it is turnning off volte. lower layer should unpublish @@ -1233,4 +1234,8 @@ public class PresencePublication extends PresenceBase { return mMovedToIWLAN && (networkType != TelephonyManager.NETWORK_TYPE_UNKNOWN); } + + private ImsManager getImsManager() { + return ImsManager.getInstance(mContext, SubscriptionManager.getDefaultVoicePhoneId()); + } } -- cgit v1.2.3