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.app.LoaderManager;
|
||||||
import androidx.loader.content.Loader;
|
import androidx.loader.content.Loader;
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
|
import androidx.preference.Preference.OnPreferenceChangeListener;
|
||||||
import androidx.preference.PreferenceCategory;
|
import androidx.preference.PreferenceCategory;
|
||||||
|
|
||||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
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.UidDetail;
|
||||||
import com.android.settingslib.net.UidDetailProvider;
|
import com.android.settingslib.net.UidDetailProvider;
|
||||||
|
|
||||||
public class AppDataUsage extends DataUsageBase implements Preference.OnPreferenceChangeListener,
|
public class AppDataUsage extends DataUsageBaseFragment implements OnPreferenceChangeListener,
|
||||||
DataSaverBackend.Listener {
|
DataSaverBackend.Listener {
|
||||||
|
|
||||||
private static final String TAG = "AppDataUsage";
|
private static final String TAG = "AppDataUsage";
|
||||||
@@ -137,7 +138,6 @@ public class AppDataUsage extends DataUsageBase implements Preference.OnPreferen
|
|||||||
addUid(mAppItem.uids.keyAt(i));
|
addUid(mAppItem.uids.keyAt(i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
addPreferencesFromResource(R.xml.app_data_usage);
|
|
||||||
|
|
||||||
mTotalUsage = findPreference(KEY_TOTAL_USAGE);
|
mTotalUsage = findPreference(KEY_TOTAL_USAGE);
|
||||||
mForegroundUsage = findPreference(KEY_FOREGROUND_USAGE);
|
mForegroundUsage = findPreference(KEY_FOREGROUND_USAGE);
|
||||||
@@ -258,6 +258,16 @@ public class AppDataUsage extends DataUsageBase implements Preference.OnPreferen
|
|||||||
return super.onPreferenceTreeClick(preference);
|
return super.onPreferenceTreeClick(preference);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int getPreferenceScreenResId() {
|
||||||
|
return R.xml.app_data_usage;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String getLogTag() {
|
||||||
|
return TAG;
|
||||||
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
void updatePrefs() {
|
void updatePrefs() {
|
||||||
updatePrefs(getAppRestrictBackground(), getUnrestrictData());
|
updatePrefs(getAppRestrictBackground(), getUnrestrictData());
|
||||||
|
@@ -52,7 +52,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@SearchIndexable
|
@SearchIndexable
|
||||||
public class BillingCycleSettings extends DataUsageBase implements
|
public class BillingCycleSettings extends DataUsageBaseFragment implements
|
||||||
Preference.OnPreferenceChangeListener, DataUsageEditController {
|
Preference.OnPreferenceChangeListener, DataUsageEditController {
|
||||||
|
|
||||||
private static final String TAG = "BillingCycleSettings";
|
private static final String TAG = "BillingCycleSettings";
|
||||||
@@ -105,7 +105,6 @@ public class BillingCycleSettings extends DataUsageBase implements
|
|||||||
Bundle args = getArguments();
|
Bundle args = getArguments();
|
||||||
mNetworkTemplate = args.getParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE);
|
mNetworkTemplate = args.getParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE);
|
||||||
|
|
||||||
addPreferencesFromResource(R.xml.billing_cycle);
|
|
||||||
mBillingCycle = findPreference(KEY_BILLING_CYCLE);
|
mBillingCycle = findPreference(KEY_BILLING_CYCLE);
|
||||||
mEnableDataWarning = (SwitchPreference) findPreference(KEY_SET_DATA_WARNING);
|
mEnableDataWarning = (SwitchPreference) findPreference(KEY_SET_DATA_WARNING);
|
||||||
mEnableDataWarning.setOnPreferenceChangeListener(this);
|
mEnableDataWarning.setOnPreferenceChangeListener(this);
|
||||||
@@ -191,6 +190,16 @@ public class BillingCycleSettings extends DataUsageBase implements
|
|||||||
return MetricsEvent.BILLING_CYCLE;
|
return MetricsEvent.BILLING_CYCLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int getPreferenceScreenResId() {
|
||||||
|
return R.xml.billing_cycle;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String getLogTag() {
|
||||||
|
return TAG;
|
||||||
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
void setPolicyLimitBytes(long limitBytes) {
|
void setPolicyLimitBytes(long limitBytes) {
|
||||||
if (LOGD) Log.d(TAG, "setPolicyLimitBytes()");
|
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
|
* Panel showing data usage history across various networks, including options
|
||||||
* to inspect based on usage cycle and control through {@link NetworkPolicy}.
|
* 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_SUB_ID = "sub_id";
|
||||||
public static final String EXTRA_NETWORK_TEMPLATE = "network_template";
|
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 boolean LOGD = false;
|
||||||
|
|
||||||
private static final String KEY_USAGE_AMOUNT = "usage_amount";
|
private static final String KEY_USAGE_AMOUNT = "usage_amount";
|
||||||
@@ -140,7 +140,6 @@ public class DataUsageList extends DataUsageBase {
|
|||||||
|
|
||||||
mUidDetailProvider = new UidDetailProvider(context);
|
mUidDetailProvider = new UidDetailProvider(context);
|
||||||
|
|
||||||
addPreferencesFromResource(R.xml.data_usage_list);
|
|
||||||
mUsageAmount = findPreference(KEY_USAGE_AMOUNT);
|
mUsageAmount = findPreference(KEY_USAGE_AMOUNT);
|
||||||
mChart = (ChartDataUsagePreference) findPreference(KEY_CHART_DATA);
|
mChart = (ChartDataUsagePreference) findPreference(KEY_CHART_DATA);
|
||||||
mApps = (PreferenceGroup) findPreference(KEY_APPS_GROUP);
|
mApps = (PreferenceGroup) findPreference(KEY_APPS_GROUP);
|
||||||
@@ -235,6 +234,16 @@ public class DataUsageList extends DataUsageBase {
|
|||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int getPreferenceScreenResId() {
|
||||||
|
return R.xml.data_usage_list;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String getLogTag() {
|
||||||
|
return TAG;
|
||||||
|
}
|
||||||
|
|
||||||
void processArgument() {
|
void processArgument() {
|
||||||
final Bundle args = getArguments();
|
final Bundle args = getArguments();
|
||||||
if (args != null) {
|
if (args != null) {
|
||||||
|
@@ -31,10 +31,12 @@ import android.os.Bundle;
|
|||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
|
||||||
import androidx.fragment.app.FragmentActivity;
|
import androidx.fragment.app.FragmentActivity;
|
||||||
|
import androidx.preference.PreferenceManager;
|
||||||
|
|
||||||
import com.android.settings.testutils.FakeFeatureFactory;
|
import com.android.settings.testutils.FakeFeatureFactory;
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
import com.android.settingslib.NetworkPolicyEditor;
|
import com.android.settingslib.NetworkPolicyEditor;
|
||||||
|
import com.android.settingslib.core.instrumentation.VisibilityLoggerMixin;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -68,7 +70,11 @@ public class DataUsageListTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void resumePause_shouldListenUnlistenDataStateChange() {
|
public void resumePause_shouldListenUnlistenDataStateChange() {
|
||||||
mDataUsageList.onAttach(mContext);
|
ReflectionHelpers.setField(
|
||||||
|
mDataUsageList, "mVisibilityLoggerMixin", mock(VisibilityLoggerMixin.class));
|
||||||
|
ReflectionHelpers.setField(
|
||||||
|
mDataUsageList, "mPreferenceManager", mock(PreferenceManager.class));
|
||||||
|
|
||||||
mDataUsageList.onResume();
|
mDataUsageList.onResume();
|
||||||
|
|
||||||
verify(mListener).setListener(true, mDataUsageList.mSubId, mContext);
|
verify(mListener).setListener(true, mDataUsageList.mSubId, mContext);
|
||||||
|
Reference in New Issue
Block a user