[Settings] Access ProxySubscriptionManager within DataUsage

Redirect some SubscriptionManager access to ProxySubscriptionManager.
This will reduce some access latency.

Bug: 141833767
Test: manual
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=DataUsageSummaryPreferenceControllerTest
Change-Id: I2cb30dd0570a09543a13ca01cf054ba2d18d70d4
This commit is contained in:
Bonian Chen
2020-02-10 23:49:53 +08:00
parent d4e2f78d9a
commit dcd92af0a1
2 changed files with 25 additions and 15 deletions

View File

@@ -40,6 +40,7 @@ import com.android.internal.util.CollectionUtils;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.network.ProxySubscriptionManager;
import com.android.settings.widget.EntityHeaderController;
import com.android.settingslib.NetworkPolicyEditor;
import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -117,8 +118,8 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
NetworkPolicyManager policyManager = activity.getSystemService(NetworkPolicyManager.class);
mPolicyEditor = new NetworkPolicyEditor(policyManager);
mHasMobileData = DataUsageUtils.hasMobileData(activity)
&& mSubscriptionId != SubscriptionManager.INVALID_SUBSCRIPTION_ID;
mHasMobileData = SubscriptionManager.isValidSubscriptionId(mSubscriptionId)
&& DataUsageUtils.hasMobileData(activity);
mDataUsageController = new DataUsageController(activity);
mDataUsageController.setSubscriptionId(mSubscriptionId);
@@ -270,11 +271,10 @@ public class DataUsageSummaryPreferenceController extends BasePreferenceControll
mCycleEnd = info.cycleEnd;
mSnapshotTime = -1L;
SubscriptionInfo subInfo = mSubscriptionManager.getActiveSubscriptionInfo(mSubscriptionId);
if (subInfo == null) {
subInfo = mSubscriptionManager.getAvailableSubscriptionInfoList().stream().filter(
i -> i.getSubscriptionId() == mSubscriptionId).findFirst().orElse(null);
}
final ProxySubscriptionManager proxySubsciptionMgr =
ProxySubscriptionManager.getInstance(mContext);
final SubscriptionInfo subInfo = proxySubsciptionMgr
.getAccessibleSubscriptionInfo(mSubscriptionId);
if (subInfo != null && mHasMobileData) {
mCarrierName = subInfo.getCarrierName();
List<SubscriptionPlan> plans = mSubscriptionManager.getSubscriptionPlans(