[Settings] Refactor of Wifi Calling part
Refactor of Wifi Calling to avoid accessing hidden APIs. This includes the following cherry-picks on the corresponding files: I455685eb26df69d929ff3ed3c26ce84aa5f6b1f8 I1a67db80b114a438afda7d45af90e54af38703c3 Idd4935a6d8ceed77c15e90f96781014d1940a427 Ia5179ee1a23f054899bc74c796542bae40cdc8d5 I57c91a095fc4d454d92e8d78e0b647b4f098c6a3 I8a09264f83b9fc4fce3f79ec3aeb6ae757b004e4 I68462368669b81e10d09bbb93e74e23ea9a1f446 I9c54eb63a0df3fde38965ee7e2ae46cc1b7efd47 I0d5dcfc33b0bddacf059d1fb9af559646e32e68a I45977c850977be84c0dc1f6461e68a1941efc1a2 I46c047359257ddd5cb3e331add4856b01c5c9739 I35246811d3e01d0b2ca197e9a1ed7081691cd982 Bug: 140542283 Test: build pass Change-Id: I2cddeefb7cc5f1b2060e572a73560f7cd6204d0b
This commit is contained in:
@@ -22,9 +22,6 @@ import android.os.Bundle;
|
||||
import android.provider.Settings;
|
||||
import android.telephony.SubscriptionInfo;
|
||||
import android.telephony.SubscriptionManager;
|
||||
import android.telephony.ims.ProvisioningManager;
|
||||
import android.telephony.ims.feature.MmTelFeature;
|
||||
import android.telephony.ims.stub.ImsRegistrationImplBase;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -35,11 +32,11 @@ import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.FragmentPagerAdapter;
|
||||
|
||||
import com.android.ims.ImsManager;
|
||||
import com.android.internal.util.CollectionUtils;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.InstrumentedFragment;
|
||||
import com.android.settings.network.SubscriptionUtil;
|
||||
import com.android.settings.network.ims.WifiCallingQueryImsState;
|
||||
import com.android.settings.search.actionbar.SearchMenuController;
|
||||
import com.android.settings.support.actionbar.HelpMenuController;
|
||||
import com.android.settings.support.actionbar.HelpResourceProvider;
|
||||
@@ -196,25 +193,6 @@ public class WifiCallingSettings extends InstrumentedFragment implements HelpRes
|
||||
}
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
boolean isWfcEnabledByPlatform(SubscriptionInfo info) {
|
||||
final ImsManager imsManager = ImsManager.getInstance(getActivity(),
|
||||
info.getSimSlotIndex());
|
||||
return imsManager.isWfcEnabledByPlatform();
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
boolean isWfcProvisionedOnDevice(SubscriptionInfo info) {
|
||||
final ProvisioningManager provisioningMgr =
|
||||
ProvisioningManager.createForSubscriptionId(info.getSubscriptionId());
|
||||
if (provisioningMgr == null) {
|
||||
return true;
|
||||
}
|
||||
return provisioningMgr.getProvisioningStatusForCapability(
|
||||
MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
|
||||
ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN);
|
||||
}
|
||||
|
||||
private void updateSubList() {
|
||||
mSil = SubscriptionUtil.getActiveSubscriptions(
|
||||
getContext().getSystemService(SubscriptionManager.class));
|
||||
@@ -225,7 +203,7 @@ public class WifiCallingSettings extends InstrumentedFragment implements HelpRes
|
||||
}
|
||||
for (int i = 0; i < mSil.size(); ) {
|
||||
final SubscriptionInfo info = mSil.get(i);
|
||||
if (!isWfcEnabledByPlatform(info) || !isWfcProvisionedOnDevice(info)) {
|
||||
if (!queryImsState(info.getSubscriptionId()).isWifiCallingProvisioned()) {
|
||||
mSil.remove(i);
|
||||
} else {
|
||||
i++;
|
||||
@@ -241,4 +219,9 @@ public class WifiCallingSettings extends InstrumentedFragment implements HelpRes
|
||||
getActivity().getActionBar().setTitle(title);
|
||||
}
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
WifiCallingQueryImsState queryImsState(int subId) {
|
||||
return new WifiCallingQueryImsState(getContext(), subId);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user