New BillingCycleRepository

Migrate BillingCyclePreference to BillingCycleRepository first, will
also migrate DataUsageList in future cl.

Also fix an issue that the BillingCyclePreference initial enable state
not set.

Bug: 290856342
Test: manual - on mobile settings
Test: unit test
Change-Id: Idd171fefbc30763010afb7bfb68543612f7b9b1a
This commit is contained in:
Chaohui Wang
2023-09-21 12:23:53 +08:00
parent 2b21582fd3
commit ba1ec910ac
7 changed files with 314 additions and 203 deletions

View File

@@ -17,20 +17,12 @@
package com.android.settings.datausage;
import android.content.Context;
import android.net.NetworkPolicyManager;
import android.net.NetworkTemplate;
import android.os.INetworkManagementService;
import android.os.ServiceManager;
import android.os.UserManager;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import androidx.preference.PreferenceScreen;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.datausage.DataUsageUtils;
import com.android.settings.datausage.lib.DataUsageLib;
import com.android.settingslib.NetworkPolicyEditor;
public class BillingCyclePreferenceController extends BasePreferenceController {
private int mSubscriptionId;
@@ -48,18 +40,9 @@ public class BillingCyclePreferenceController extends BasePreferenceController {
super.displayPreference(screen);
BillingCyclePreference preference = screen.findPreference(getPreferenceKey());
TemplatePreference.NetworkServices services = new TemplatePreference.NetworkServices();
services.mNetworkService = INetworkManagementService.Stub.asInterface(
ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE));
services.mPolicyManager = mContext.getSystemService(NetworkPolicyManager.class);
services.mPolicyEditor = new NetworkPolicyEditor(services.mPolicyManager);
services.mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
services.mSubscriptionManager = mContext.getSystemService(SubscriptionManager.class);
services.mUserManager = mContext.getSystemService(UserManager.class);
NetworkTemplate template = DataUsageLib.getMobileTemplate(mContext, mSubscriptionId);
preference.setTemplate(template, mSubscriptionId, services);
preference.setTemplate(template, mSubscriptionId, null);
}
@Override