Remove the deprecated class DataUsageBase.
- and update all its subclass to extend DataUsageBaseFragment instead. Bug: 111751694 Test: make RunSettingsRoboTests Change-Id: Ic5720af43082d8b39642b6a539515f3f20d32694
This commit is contained in:
@@ -40,6 +40,7 @@ import androidx.annotation.VisibleForTesting;
|
||||
import androidx.loader.app.LoaderManager;
|
||||
import androidx.loader.content.Loader;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.Preference.OnPreferenceChangeListener;
|
||||
import androidx.preference.PreferenceCategory;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
@@ -55,7 +56,7 @@ import com.android.settingslib.net.ChartDataLoaderCompat;
|
||||
import com.android.settingslib.net.UidDetail;
|
||||
import com.android.settingslib.net.UidDetailProvider;
|
||||
|
||||
public class AppDataUsage extends DataUsageBase implements Preference.OnPreferenceChangeListener,
|
||||
public class AppDataUsage extends DataUsageBaseFragment implements OnPreferenceChangeListener,
|
||||
DataSaverBackend.Listener {
|
||||
|
||||
private static final String TAG = "AppDataUsage";
|
||||
@@ -137,7 +138,6 @@ public class AppDataUsage extends DataUsageBase implements Preference.OnPreferen
|
||||
addUid(mAppItem.uids.keyAt(i));
|
||||
}
|
||||
}
|
||||
addPreferencesFromResource(R.xml.app_data_usage);
|
||||
|
||||
mTotalUsage = findPreference(KEY_TOTAL_USAGE);
|
||||
mForegroundUsage = findPreference(KEY_FOREGROUND_USAGE);
|
||||
@@ -258,6 +258,16 @@ public class AppDataUsage extends DataUsageBase implements Preference.OnPreferen
|
||||
return super.onPreferenceTreeClick(preference);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getPreferenceScreenResId() {
|
||||
return R.xml.app_data_usage;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getLogTag() {
|
||||
return TAG;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
void updatePrefs() {
|
||||
updatePrefs(getAppRestrictBackground(), getUnrestrictData());
|
||||
|
@@ -52,7 +52,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@SearchIndexable
|
||||
public class BillingCycleSettings extends DataUsageBase implements
|
||||
public class BillingCycleSettings extends DataUsageBaseFragment implements
|
||||
Preference.OnPreferenceChangeListener, DataUsageEditController {
|
||||
|
||||
private static final String TAG = "BillingCycleSettings";
|
||||
@@ -105,7 +105,6 @@ public class BillingCycleSettings extends DataUsageBase implements
|
||||
Bundle args = getArguments();
|
||||
mNetworkTemplate = args.getParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE);
|
||||
|
||||
addPreferencesFromResource(R.xml.billing_cycle);
|
||||
mBillingCycle = findPreference(KEY_BILLING_CYCLE);
|
||||
mEnableDataWarning = (SwitchPreference) findPreference(KEY_SET_DATA_WARNING);
|
||||
mEnableDataWarning.setOnPreferenceChangeListener(this);
|
||||
@@ -191,6 +190,16 @@ public class BillingCycleSettings extends DataUsageBase implements
|
||||
return MetricsEvent.BILLING_CYCLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getPreferenceScreenResId() {
|
||||
return R.xml.billing_cycle;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getLogTag() {
|
||||
return TAG;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
void setPolicyLimitBytes(long limitBytes) {
|
||||
if (LOGD) Log.d(TAG, "setPolicyLimitBytes()");
|
||||
|
@@ -1,96 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2016 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software distributed under the
|
||||
* License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the specific language governing
|
||||
* permissions and limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings.datausage;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.INetworkStatsService;
|
||||
import android.net.NetworkPolicy;
|
||||
import android.net.NetworkPolicyManager;
|
||||
import android.os.Bundle;
|
||||
import android.os.INetworkManagementService;
|
||||
import android.os.RemoteException;
|
||||
import android.os.ServiceManager;
|
||||
import android.os.UserManager;
|
||||
import android.telephony.SubscriptionManager;
|
||||
import android.telephony.TelephonyManager;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.settings.SettingsPreferenceFragment;
|
||||
import com.android.settingslib.NetworkPolicyEditor;
|
||||
|
||||
/**
|
||||
* @deprecated please use {@link DataUsageBaseFragment} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
public abstract class DataUsageBase extends SettingsPreferenceFragment {
|
||||
private static final String TAG = "DataUsageBase";
|
||||
private static final String ETHERNET = "ethernet";
|
||||
|
||||
protected final TemplatePreference.NetworkServices services =
|
||||
new TemplatePreference.NetworkServices();
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle icicle) {
|
||||
super.onCreate(icicle);
|
||||
final Context context = getActivity();
|
||||
|
||||
services.mNetworkService = INetworkManagementService.Stub.asInterface(
|
||||
ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE));
|
||||
services.mStatsService = INetworkStatsService.Stub.asInterface(
|
||||
ServiceManager.getService(Context.NETWORK_STATS_SERVICE));
|
||||
services.mPolicyManager = NetworkPolicyManager.from(context);
|
||||
|
||||
services.mPolicyEditor = new NetworkPolicyEditor(services.mPolicyManager);
|
||||
|
||||
services.mTelephonyManager = TelephonyManager.from(context);
|
||||
services.mSubscriptionManager = SubscriptionManager.from(context);
|
||||
services.mUserManager = UserManager.get(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
services.mPolicyEditor.read();
|
||||
}
|
||||
|
||||
protected boolean isAdmin() {
|
||||
return services.mUserManager.isAdminUser();
|
||||
}
|
||||
|
||||
protected boolean isMobileDataAvailable(int subId) {
|
||||
return services.mSubscriptionManager.getActiveSubscriptionInfo(subId) != null;
|
||||
}
|
||||
|
||||
protected boolean isNetworkPolicyModifiable(NetworkPolicy policy, int subId) {
|
||||
return policy != null && isBandwidthControlEnabled() && services.mUserManager.isAdminUser()
|
||||
&& isDataEnabled(subId);
|
||||
}
|
||||
|
||||
private boolean isDataEnabled(int subId) {
|
||||
if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
|
||||
return true;
|
||||
}
|
||||
return services.mTelephonyManager.getDataEnabled(subId);
|
||||
}
|
||||
|
||||
protected boolean isBandwidthControlEnabled() {
|
||||
try {
|
||||
return services.mNetworkService.isBandwidthControlEnabled();
|
||||
} catch (RemoteException e) {
|
||||
Log.w(TAG, "problem talking with INetworkManagementService: ", e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
@@ -76,12 +76,12 @@ import java.util.List;
|
||||
* Panel showing data usage history across various networks, including options
|
||||
* to inspect based on usage cycle and control through {@link NetworkPolicy}.
|
||||
*/
|
||||
public class DataUsageList extends DataUsageBase {
|
||||
public class DataUsageList extends DataUsageBaseFragment {
|
||||
|
||||
public static final String EXTRA_SUB_ID = "sub_id";
|
||||
public static final String EXTRA_NETWORK_TEMPLATE = "network_template";
|
||||
|
||||
private static final String TAG = "DataUsage";
|
||||
private static final String TAG = "DataUsageList";
|
||||
private static final boolean LOGD = false;
|
||||
|
||||
private static final String KEY_USAGE_AMOUNT = "usage_amount";
|
||||
@@ -140,7 +140,6 @@ public class DataUsageList extends DataUsageBase {
|
||||
|
||||
mUidDetailProvider = new UidDetailProvider(context);
|
||||
|
||||
addPreferencesFromResource(R.xml.data_usage_list);
|
||||
mUsageAmount = findPreference(KEY_USAGE_AMOUNT);
|
||||
mChart = (ChartDataUsagePreference) findPreference(KEY_CHART_DATA);
|
||||
mApps = (PreferenceGroup) findPreference(KEY_APPS_GROUP);
|
||||
@@ -235,6 +234,16 @@ public class DataUsageList extends DataUsageBase {
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getPreferenceScreenResId() {
|
||||
return R.xml.data_usage_list;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getLogTag() {
|
||||
return TAG;
|
||||
}
|
||||
|
||||
void processArgument() {
|
||||
final Bundle args = getArguments();
|
||||
if (args != null) {
|
||||
|
@@ -31,10 +31,12 @@ import android.os.Bundle;
|
||||
import android.provider.Settings;
|
||||
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.preference.PreferenceManager;
|
||||
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
import com.android.settingslib.NetworkPolicyEditor;
|
||||
import com.android.settingslib.core.instrumentation.VisibilityLoggerMixin;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -68,7 +70,11 @@ public class DataUsageListTest {
|
||||
|
||||
@Test
|
||||
public void resumePause_shouldListenUnlistenDataStateChange() {
|
||||
mDataUsageList.onAttach(mContext);
|
||||
ReflectionHelpers.setField(
|
||||
mDataUsageList, "mVisibilityLoggerMixin", mock(VisibilityLoggerMixin.class));
|
||||
ReflectionHelpers.setField(
|
||||
mDataUsageList, "mPreferenceManager", mock(PreferenceManager.class));
|
||||
|
||||
mDataUsageList.onResume();
|
||||
|
||||
verify(mListener).setListener(true, mDataUsageList.mSubId, mContext);
|
||||
|
Reference in New Issue
Block a user