Merge "Change feature flag to correct flag"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index f808dfc..2f33878 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -10759,7 +10759,7 @@
<string name="media_output_panel_summary_of_playing_device">Currently playing on <xliff:g id="device_name" example="Bose headphone">%1$s</xliff:g></string>
<!-- Message for forget passpoint dialog [CHAR LIMIT=none] -->
- <string name="forget_passpoint_dialog_message">Your subscription with this provider may be cancelled. Recurring subscriptions will not be cancelled. For more information, check with your provider.</string>
+ <string name="forget_passpoint_dialog_message">You may lose access to any remaining time or data. Check with your provider before removing.</string>
<!-- Keywords for Content Capture feature [CHAR_LIMIT=32] -->
<string name="keywords_content_capture">content capture</string>
@@ -10767,5 +10767,4 @@
<string name="content_capture">Content Capture</string>
<!-- Description of the 'Content Capture' feature toggle in the Settings -> Privacy screen [CHAR LIMIT=NONE]-->
<string name="content_capture_summary">Allow Android to save information seen on your screen or heard in video or audio content. Android makes helpful suggestions based on your device activity.</string>
-
</resources>
diff --git a/res/xml/wifi_network_details_fragment.xml b/res/xml/wifi_network_details_fragment.xml
index 7c542d8..8979efc 100644
--- a/res/xml/wifi_network_details_fragment.xml
+++ b/res/xml/wifi_network_details_fragment.xml
@@ -26,6 +26,11 @@
android:order="-10000"
settings:allowDividerBelow="true"/>
+ <com.android.settings.datausage.DataUsageSummaryPreference
+ android:key="status_header"
+ android:selectable="false"
+ settings:isPreferenceVisible="false"/>
+
<!-- Buttons -->
<com.android.settingslib.widget.ActionButtonsPreference
android:key="buttons"
diff --git a/src/com/android/settings/accounts/AvatarViewMixin.java b/src/com/android/settings/accounts/AvatarViewMixin.java
index 3ce8c0a..9e762c7 100644
--- a/src/com/android/settings/accounts/AvatarViewMixin.java
+++ b/src/com/android/settings/accounts/AvatarViewMixin.java
@@ -17,6 +17,7 @@
package com.android.settings.accounts;
import android.accounts.Account;
+import android.app.ActivityManager;
import android.app.settings.SettingsEnums;
import android.content.ContentResolver;
import android.content.Context;
@@ -64,11 +65,13 @@
private final Context mContext;
private final ImageView mAvatarView;
private final MutableLiveData<Bitmap> mAvatarImage;
+ private final ActivityManager mActivityManager;
private String mAccountName;
public AvatarViewMixin(SettingsHomepageActivity activity, ImageView avatarView) {
mContext = activity.getApplicationContext();
+ mActivityManager = mContext.getSystemService(ActivityManager.class);
mAvatarView = avatarView;
mAvatarView.setOnClickListener(v -> {
Intent intent;
@@ -114,7 +117,11 @@
@OnLifecycleEvent(Lifecycle.Event.ON_START)
public void onStart() {
if (!mContext.getResources().getBoolean(R.bool.config_show_avatar_in_homepage)) {
- Log.d(TAG, "Feature disabled. Skipping");
+ Log.d(TAG, "Feature disabled by config. Skipping");
+ return;
+ }
+ if (mActivityManager.isLowRamDevice()) {
+ Log.d(TAG, "Feature disabled on low ram device. Skipping");
return;
}
if (hasAccount()) {
diff --git a/src/com/android/settings/core/FeatureFlags.java b/src/com/android/settings/core/FeatureFlags.java
index 6c2da07..fbb2ae3 100644
--- a/src/com/android/settings/core/FeatureFlags.java
+++ b/src/com/android/settings/core/FeatureFlags.java
@@ -26,4 +26,7 @@
public static final String NETWORK_INTERNET_V2 = "settings_network_and_internet_v2";
public static final String SLICE_INJECTION = "settings_slice_injection";
public static final String MAINLINE_MODULE = "settings_mainline_module";
+ public static final String WIFI_DETAILS_SAVED_SCREEN = "settings_wifi_details_saved_screen";
+ public static final String WIFI_DETAILS_DATAUSAGE_HEADER =
+ "settings_wifi_details_datausage_header";
}
diff --git a/src/com/android/settings/datausage/DataUsageSummaryPreference.java b/src/com/android/settings/datausage/DataUsageSummaryPreference.java
index 481538d..93df2f1 100644
--- a/src/com/android/settings/datausage/DataUsageSummaryPreference.java
+++ b/src/com/android/settings/datausage/DataUsageSummaryPreference.java
@@ -69,6 +69,8 @@
private boolean mDefaultTextColorSet;
private int mDefaultTextColor;
private int mNumPlans;
+ /** The specified un-initialized value for cycle time */
+ private final long CYCLE_TIME_UNINITIAL_VALUE = 0;
/** The ending time of the billing cycle in milliseconds since epoch. */
private long mCycleEndTimeMs;
/** The time of the last update in standard milliseconds since the epoch */
@@ -94,6 +96,7 @@
/** WiFi only mode */
private boolean mWifiMode;
private String mUsagePeriod;
+ private boolean mSingleWifi; // Shows only one specified WiFi network usage
public DataUsageSummaryPreference(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -142,9 +145,10 @@
notifyChanged();
}
- void setWifiMode(boolean isWifiMode, String usagePeriod) {
+ void setWifiMode(boolean isWifiMode, String usagePeriod, boolean isSingleWifi) {
mWifiMode = isWifiMode;
mUsagePeriod = usagePeriod;
+ mSingleWifi = isSingleWifi;
notifyChanged();
}
@@ -171,7 +175,16 @@
Button launchButton = (Button) holder.findViewById(R.id.launch_mdp_app_button);
TextView limitInfo = (TextView) holder.findViewById(R.id.data_limits);
- if (mWifiMode) {
+ if (mWifiMode && mSingleWifi) {
+ updateCycleTimeText(holder);
+
+ usageTitle.setVisibility(View.GONE);
+ launchButton.setVisibility(View.GONE);
+ carrierInfo.setVisibility(View.GONE);
+
+ limitInfo.setVisibility(TextUtils.isEmpty(mLimitInfoText) ? View.GONE : View.VISIBLE);
+ limitInfo.setText(mLimitInfoText);
+ } else if (mWifiMode) {
usageTitle.setText(R.string.data_usage_wifi_title);
usageTitle.setVisibility(View.VISIBLE);
TextView cycleTime = (TextView) holder.findViewById(R.id.cycle_left_time);
@@ -265,6 +278,13 @@
private void updateCycleTimeText(PreferenceViewHolder holder) {
TextView cycleTime = (TextView) holder.findViewById(R.id.cycle_left_time);
+ // Takes zero as a special case which value is never set.
+ if (mCycleEndTimeMs == CYCLE_TIME_UNINITIAL_VALUE) {
+ cycleTime.setVisibility(View.GONE);
+ return;
+ }
+
+ cycleTime.setVisibility(View.VISIBLE);
long millisLeft = mCycleEndTimeMs - System.currentTimeMillis();
if (millisLeft <= 0) {
cycleTime.setText(getContext().getString(R.string.billing_cycle_none_left));
diff --git a/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java b/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java
index 353c5ee..a06bb77 100644
--- a/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java
+++ b/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java
@@ -65,10 +65,10 @@
private final EntityHeaderController mEntityHeaderController;
private final Lifecycle mLifecycle;
private final PreferenceFragmentCompat mFragment;
- private final DataUsageController mDataUsageController;
- private final DataUsageInfoController mDataInfoController;
+ protected final DataUsageController mDataUsageController;
+ protected final DataUsageInfoController mDataInfoController;
private final NetworkTemplate mDefaultTemplate;
- private final NetworkPolicyEditor mPolicyEditor;
+ protected final NetworkPolicyEditor mPolicyEditor;
private final int mDataUsageTemplate;
private final boolean mHasMobileData;
private final SubscriptionManager mSubscriptionManager;
@@ -200,11 +200,13 @@
if (DataUsageUtils.hasSim(mActivity)) {
info = mDataUsageController.getDataUsageInfo(mDefaultTemplate);
mDataInfoController.updateDataLimit(info, mPolicyEditor.getPolicy(mDefaultTemplate));
- summaryPreference.setWifiMode(/* isWifiMode */ false, /* usagePeriod */ null);
+ summaryPreference.setWifiMode(/* isWifiMode */ false,
+ /* usagePeriod */ null, /* isSingleWifi */ false);
} else {
info = mDataUsageController.getDataUsageInfo(
NetworkTemplate.buildTemplateWifiWildcard());
- summaryPreference.setWifiMode(/* isWifiMode */ true, /* usagePeriod */ info.period);
+ summaryPreference.setWifiMode(/* isWifiMode */ true, /* usagePeriod */
+ info.period, /* isSingleWifi */ false);
summaryPreference.setLimitInfo(null);
summaryPreference.setUsageNumbers(info.usageLevel,
/* dataPlanSize */ -1L,
diff --git a/src/com/android/settings/datausage/WifiDataUsageSummaryPreferenceController.java b/src/com/android/settings/datausage/WifiDataUsageSummaryPreferenceController.java
new file mode 100644
index 0000000..8b6d10a
--- /dev/null
+++ b/src/com/android/settings/datausage/WifiDataUsageSummaryPreferenceController.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright (C) 2019 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.app.Activity;
+import android.net.NetworkTemplate;
+import android.telephony.SubscriptionManager;
+import android.text.format.Formatter;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceFragmentCompat;
+
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.net.DataUsageController;
+
+/**
+ * The controller displays a data usage chart for the specified Wi-Fi network.
+ */
+public class WifiDataUsageSummaryPreferenceController extends DataUsageSummaryPreferenceController {
+ final String mNetworkId;
+
+ public WifiDataUsageSummaryPreferenceController(Activity activity,
+ Lifecycle lifecycle, PreferenceFragmentCompat fragment, CharSequence networkId) {
+ super(activity, lifecycle, fragment, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
+
+ if (networkId == null) {
+ mNetworkId = null;
+ } else {
+ mNetworkId = String.valueOf(networkId);
+ }
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ if (preference == null) {
+ return;
+ }
+
+ final DataUsageSummaryPreference mPreference = (DataUsageSummaryPreference) preference;
+ // TODO(b/126299427): Currently gets data usage of whole Wi-Fi networks, but should get
+ // specified one.
+ final NetworkTemplate template = NetworkTemplate.buildTemplateWifi(mNetworkId);
+ final DataUsageController.DataUsageInfo info = mDataUsageController.getDataUsageInfo(
+ template);
+ mDataInfoController.updateDataLimit(info, mPolicyEditor.getPolicy(template));
+
+ mPreference.setWifiMode(/* isWifiMode */ true, /* usagePeriod */
+ info.period, /* isSingleWifi */ true);
+ mPreference.setChartEnabled(true);
+ // Treats Wi-Fi network as unlimited network, which has same usage level and limited level.
+ mPreference.setUsageNumbers(info.usageLevel, info.usageLevel, /* hasMobileData */ false);
+
+ // TODO(b/126142293): Passpoint Wi-Fi should have limit of data usage and time remaining
+ mPreference.setProgress(100);
+ mPreference.setLabels(Formatter.formatFileSize(mContext, /* sizeBytes */ 0),
+ DataUsageUtils.formatDataUsage(mContext, info.usageLevel));
+ }
+}
diff --git a/src/com/android/settings/homepage/SettingsHomepageActivity.java b/src/com/android/settings/homepage/SettingsHomepageActivity.java
index 9e869a9..9b83f88 100644
--- a/src/com/android/settings/homepage/SettingsHomepageActivity.java
+++ b/src/com/android/settings/homepage/SettingsHomepageActivity.java
@@ -17,6 +17,7 @@
package com.android.settings.homepage;
import android.animation.LayoutTransition;
+import android.app.ActivityManager;
import android.app.settings.SettingsEnums;
import android.os.Bundle;
import android.view.View;
@@ -53,7 +54,10 @@
final AvatarViewMixin avatarViewMixin = new AvatarViewMixin(this, avatarView);
getLifecycle().addObserver(avatarViewMixin);
- showFragment(new ContextualCardsFragment(), R.id.contextual_cards_content);
+ if (!getSystemService(ActivityManager.class).isLowRamDevice()) {
+ // Only allow contextual feature on high ram devices.
+ showFragment(new ContextualCardsFragment(), R.id.contextual_cards_content);
+ }
showFragment(new TopLevelSettings(), R.id.main_content);
((FrameLayout) findViewById(R.id.main_content))
.getLayoutTransition().enableTransitionType(LayoutTransition.CHANGING);
diff --git a/src/com/android/settings/slices/SlicesFeatureProvider.java b/src/com/android/settings/slices/SlicesFeatureProvider.java
index 1a9fd98..16a7424 100644
--- a/src/com/android/settings/slices/SlicesFeatureProvider.java
+++ b/src/com/android/settings/slices/SlicesFeatureProvider.java
@@ -12,8 +12,6 @@
boolean DEBUG = false;
- SlicesIndexer getSliceIndexer(Context context);
-
SliceDataConverter getSliceDataConverter(Context context);
/**
diff --git a/src/com/android/settings/slices/SlicesFeatureProviderImpl.java b/src/com/android/settings/slices/SlicesFeatureProviderImpl.java
index 508eb1c..44863ec 100644
--- a/src/com/android/settings/slices/SlicesFeatureProviderImpl.java
+++ b/src/com/android/settings/slices/SlicesFeatureProviderImpl.java
@@ -32,14 +32,6 @@
private CustomSliceManager mCustomSliceManager;
@Override
- public SlicesIndexer getSliceIndexer(Context context) {
- if (mSlicesIndexer == null) {
- mSlicesIndexer = new SlicesIndexer(context.getApplicationContext());
- }
- return mSlicesIndexer;
- }
-
- @Override
public SliceDataConverter getSliceDataConverter(Context context) {
if (mSliceDataConverter == null) {
mSliceDataConverter = new SliceDataConverter(context.getApplicationContext());
@@ -76,4 +68,11 @@
public Enhanced4gLteSliceHelper getNewEnhanced4gLteSliceHelper(Context context) {
return new Enhanced4gLteSliceHelper(context);
}
+
+ private SlicesIndexer getSliceIndexer(Context context) {
+ if (mSlicesIndexer == null) {
+ mSlicesIndexer = new SlicesIndexer(context.getApplicationContext());
+ }
+ return mSlicesIndexer;
+ }
}
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index 9e5bfc8..a8fc34d 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -67,6 +67,7 @@
import com.android.settings.widget.SwitchBarController;
import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
import com.android.settings.wifi.dpp.WifiDppUtils;
+import com.android.settings.wifi.savedaccesspoints.SavedAccessPointsWifiSettings;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtilsInternal;
import com.android.settingslib.search.SearchIndexable;
@@ -968,8 +969,13 @@
}
private void launchNetworkDetailsFragment(ConnectedAccessPointPreference pref) {
+ final AccessPoint accessPoint = pref.getAccessPoint();
+ final Context context = getContext();
+ final CharSequence title = SavedAccessPointsWifiSettings.usingDetailsFragment(context) ?
+ accessPoint.getTitle() : context.getText(R.string.pref_title_network_details);
+
new SubSettingLauncher(getContext())
- .setTitleRes(R.string.pref_title_network_details)
+ .setTitleText(title)
.setDestination(WifiNetworkDetailsFragment.class.getName())
.setArguments(pref.getExtras())
.setSourceMetricsCategory(getMetricsCategory())
diff --git a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
index c2daa94..89565df 100644
--- a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
+++ b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
@@ -42,6 +42,7 @@
import android.net.wifi.WifiManager;
import android.os.Handler;
import android.text.TextUtils;
+import android.util.FeatureFlagUtils;
import android.util.Log;
import android.widget.ImageView;
import android.widget.Toast;
@@ -51,12 +52,14 @@
import androidx.fragment.app.Fragment;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.FeatureFlags;
import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.datausage.WifiDataUsageSummaryPreferenceController;
import com.android.settings.development.featureflags.FeatureFlagPersistent;
import com.android.settings.widget.EntityHeaderController;
import com.android.settings.wifi.WifiDialog;
@@ -150,6 +153,9 @@
private Preference mDnsPref;
private PreferenceCategory mIpv6Category;
private Preference mIpv6AddressPref;
+ private Lifecycle mLifecycle;
+ Preference mDataUsageSummaryPref;
+ WifiDataUsageSummaryPreferenceController mSummaryHeaderController;
private final IconInjector mIconInjector;
private final IntentFilter mFilter;
@@ -262,6 +268,7 @@
mFilter.addAction(WifiManager.RSSI_CHANGED_ACTION);
mFilter.addAction(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION);
+ mLifecycle = lifecycle;
lifecycle.addObserver(this);
}
@@ -313,6 +320,17 @@
private void setupEntityHeader(PreferenceScreen screen) {
LayoutPreference headerPref = screen.findPreference(KEY_HEADER);
+
+ if (usingDataUsageHeader(mContext)) {
+ headerPref.setVisible(false);
+ mDataUsageSummaryPref = screen.findPreference("status_header");
+ mDataUsageSummaryPref.setVisible(true);
+ mSummaryHeaderController =
+ new WifiDataUsageSummaryPreferenceController(mFragment.getActivity(),
+ mLifecycle, (PreferenceFragmentCompat) mFragment, mAccessPoint.getSsid());
+ return;
+ }
+
mEntityHeaderController =
EntityHeaderController.newInstance(
mFragment.getActivity(), mFragment,
@@ -326,6 +344,15 @@
mEntityHeaderController.setLabel(mAccessPoint.getTitle());
}
+ private void refreshEntityHeader() {
+ if (usingDataUsageHeader(mContext)) {
+ mSummaryHeaderController.updateState(mDataUsageSummaryPref);
+ } else {
+ mEntityHeaderController.setSummary(mAccessPoint.getSettingsSummary())
+ .done(mFragment.getActivity(), true /* rebind */);
+ }
+ }
+
@Override
public void onResume() {
// Ensure mNetwork is set before any callbacks above are delivered, since our
@@ -360,9 +387,7 @@
// MAC Address Pref
mMacAddressPref.setSummary(mWifiConfig.getRandomizedMacAddress().toString());
- // TODO(b/124700353): Change header to data usage chart
- mEntityHeaderController.setSummary(mAccessPoint.getSettingsSummary())
- .done(mFragment.getActivity(), true /* rebind */);
+ refreshEntityHeader();
updateIpLayerInfo();
@@ -429,8 +454,7 @@
private void refreshNetworkState() {
mAccessPoint.update(mWifiConfig, mWifiInfo, mNetworkInfo);
- mEntityHeaderController.setSummary(mAccessPoint.getSettingsSummary())
- .done(mFragment.getActivity(), true /* rebind */);
+ refreshEntityHeader();
}
private void refreshRssiViews() {
@@ -443,7 +467,10 @@
Drawable wifiIcon = mIconInjector.getIcon(mRssiSignalLevel);
wifiIcon.setTintList(Utils.getColorAccent(mContext));
- mEntityHeaderController.setIcon(wifiIcon).done(mFragment.getActivity(), true /* rebind */);
+ if (mEntityHeaderController != null) {
+ mEntityHeaderController.setIcon(wifiIcon).done(mFragment.getActivity(),
+ true /* rebind */);
+ }
Drawable wifiIconDark = wifiIcon.getConstantState().newDrawable().mutate();
wifiIconDark.setTintList(Utils.getColorAttr(mContext, android.R.attr.colorControlNormal));
@@ -670,4 +697,8 @@
return mContext.getDrawable(Utils.getWifiIconResource(level)).mutate();
}
}
+
+ private boolean usingDataUsageHeader(Context context) {
+ return FeatureFlagUtils.isEnabled(context, FeatureFlags.WIFI_DETAILS_DATAUSAGE_HEADER);
+ }
}
diff --git a/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
index fd2e14a..7edd227 100644
--- a/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
+++ b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
@@ -153,11 +153,11 @@
controllers.add(mWifiDetailPreferenceController);
controllers.add(new WifiMeteredPreferenceController(context, mAccessPoint.getConfig()));
- WifiPrivacyPreferenceController preferenceController = new WifiPrivacyPreferenceController(
+ WifiPrivacyPreferenceController privacyController = new WifiPrivacyPreferenceController(
context);
- preferenceController.setWifiConfiguration(mAccessPoint.getConfig());
- preferenceController.setIsEphemeral(mAccessPoint.isEphemeral());
- controllers.add(preferenceController);
+ privacyController.setWifiConfiguration(mAccessPoint.getConfig());
+ privacyController.setIsEphemeral(mAccessPoint.isEphemeral());
+ controllers.add(privacyController);
return controllers;
}
diff --git a/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsWifiSettings.java b/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsWifiSettings.java
index 867c2f8..ea858f3 100644
--- a/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsWifiSettings.java
+++ b/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsWifiSettings.java
@@ -199,11 +199,7 @@
* Checks if showing WifiNetworkDetailsFragment when clicking saved network item.
*/
public static boolean usingDetailsFragment(Context context) {
- if (FeatureFlagUtils.isEnabled(context, FeatureFlags.MOBILE_NETWORK_V2)
- && FeatureFlagPersistent.isEnabled(context, FeatureFlags.NETWORK_INTERNET_V2)) {
- return false; // TODO(b/124695272): mark true when UI is ready.
- }
- return false;
+ return FeatureFlagUtils.isEnabled(context, FeatureFlags.WIFI_DETAILS_SAVED_SCREEN);
}
boolean isSubscriptionsFeatureEnabled() {
diff --git a/tests/robotests/assets/grandfather_invalid_base_preference_controller_constructor b/tests/robotests/assets/grandfather_invalid_base_preference_controller_constructor
index ce03d95..675108d 100644
--- a/tests/robotests/assets/grandfather_invalid_base_preference_controller_constructor
+++ b/tests/robotests/assets/grandfather_invalid_base_preference_controller_constructor
@@ -6,6 +6,7 @@
com.android.settings.bluetooth.BluetoothDeviceNamePreferenceController
com.android.settings.bluetooth.BluetoothDeviceRenamePreferenceController
com.android.settings.datausage.DataUsageSummaryPreferenceController
+com.android.settings.datausage.WifiDataUsageSummaryPreferenceController
com.android.settings.fuelgauge.RestrictAppPreferenceController
com.android.settings.fuelgauge.batterysaver.BatterySaverButtonPreferenceController
com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController
diff --git a/tests/robotests/src/com/android/settings/accounts/AvatarViewMixinTest.java b/tests/robotests/src/com/android/settings/accounts/AvatarViewMixinTest.java
index 6a2348c..8c75e33 100644
--- a/tests/robotests/src/com/android/settings/accounts/AvatarViewMixinTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AvatarViewMixinTest.java
@@ -27,6 +27,7 @@
import static org.mockito.Mockito.verify;
import android.accounts.Account;
+import android.app.ActivityManager;
import android.content.ContentProvider;
import android.content.ContentResolver;
import android.content.Context;
@@ -55,6 +56,7 @@
import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements;
import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.ShadowActivityManager;
import org.robolectric.shadows.ShadowContentResolver;
import org.robolectric.shadows.ShadowPackageManager;
@@ -101,6 +103,19 @@
}
@Test
+ public void onStart_lowRamDevice_doNothing() {
+ final AvatarViewMixin mixin = spy(new AvatarViewMixin(mActivity, mImageView));
+
+ final ShadowActivityManager activityManager =
+ Shadow.extract(mContext.getSystemService(ActivityManager.class));
+ activityManager.setIsLowRamDevice(true);
+
+ mixin.onStart();
+
+ verify(mixin, never()).hasAccount();
+ }
+
+ @Test
@Config(qualifiers = "mcc999",
shadows = {
BatteryFixSliceTest.ShadowBatteryStatsHelperLoader.class,
diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java
index 4347637..eab3dde 100644
--- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java
@@ -164,7 +164,8 @@
verify(mSummaryPreference).setUsageInfo(info.cycleEnd, now - UPDATE_BACKOFF_MS,
CARRIER_NAME, 1 /* numPlans */, intent);
verify(mSummaryPreference).setChartEnabled(true);
- verify(mSummaryPreference).setWifiMode(false, null);
+ verify(mSummaryPreference).setWifiMode(false /* isWifiMode */, null /* usagePeriod */,
+ false /* isSingleWifi */);
}
@Test
@@ -188,7 +189,8 @@
verify(mSummaryPreference).setUsageInfo(info.cycleEnd, now - UPDATE_BACKOFF_MS,
CARRIER_NAME, 0 /* numPlans */, intent);
verify(mSummaryPreference).setChartEnabled(true);
- verify(mSummaryPreference).setWifiMode(false, null);
+ verify(mSummaryPreference).setWifiMode(false /* isWifiMode */, null /* usagePeriod */,
+ false /* isSingleWifi */);
}
@Test
@@ -214,7 +216,8 @@
0 /* numPlans */,
null /* launchIntent */);
verify(mSummaryPreference).setChartEnabled(true);
- verify(mSummaryPreference).setWifiMode(false, null);
+ verify(mSummaryPreference).setWifiMode(false /* isWifiMode */, null /* usagePeriod */,
+ false /* isSingleWifi */);
}
@Test
@@ -240,7 +243,8 @@
0 /* numPlans */,
null /* launchIntent */);
verify(mSummaryPreference).setChartEnabled(false);
- verify(mSummaryPreference).setWifiMode(false, null);
+ verify(mSummaryPreference).setWifiMode(false /* isWifiMode */, null /* usagePeriod */,
+ false /* isSingleWifi */);
}
@Test
@@ -321,7 +325,8 @@
verify(mSummaryPreference).setLimitInfo(captor.capture());
CharSequence value = captor.getValue();
assertThat(value.toString()).isEqualTo("1.00 MB data warning / 1.00 MB data limit");
- verify(mSummaryPreference).setWifiMode(false, null);
+ verify(mSummaryPreference).setWifiMode(false /* isWifiMode */, null /* usagePeriod */,
+ false /* isSingleWifi */);
}
@Test
@@ -340,7 +345,8 @@
when(mTelephonyManager.getSimState()).thenReturn(TelephonyManager.SIM_STATE_ABSENT);
mController.updateState(mSummaryPreference);
- verify(mSummaryPreference).setWifiMode(true, info.period);
+ verify(mSummaryPreference).setWifiMode(true /* isWifiMode */, info.period /* usagePeriod */,
+ false /* isSingleWifi */);
verify(mSummaryPreference).setLimitInfo(null);
verify(mSummaryPreference).setUsageNumbers(info.usageLevel, -1L, true);
verify(mSummaryPreference).setChartEnabled(false);
diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceTest.java
index 525b82e..35e6b1d 100644
--- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceTest.java
@@ -488,7 +488,7 @@
new Intent());
mSummaryPreference.setUsageNumbers(1000000L, -1L, true);
final String cycleText = "The quick fox";
- mSummaryPreference.setWifiMode(true, cycleText);
+ mSummaryPreference.setWifiMode(true /* isWifiMode */, cycleText, false /* isSingleWifi */);
doReturn(200L).when(mSummaryPreference).getHistoricalUsageLevel();
bindViewHolder();
@@ -524,7 +524,8 @@
@Test
public void testSetWifiMode_noUsageInfo_shouldDisableLaunchButton() {
mSummaryPreference = spy(mSummaryPreference);
- mSummaryPreference.setWifiMode(true, "Test cycle text");
+ mSummaryPreference.setWifiMode(true /* isWifiMode */, "Test cycle text",
+ false /* isSingleWifi */);
doReturn(0L).when(mSummaryPreference).getHistoricalUsageLevel();
bindViewHolder();
diff --git a/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelperTest.java b/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelperTest.java
index 072c835..a9882d9 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelperTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelperTest.java
@@ -22,7 +22,6 @@
import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
@@ -43,7 +42,6 @@
import com.android.ims.ImsManager;
import com.android.settings.R;
-import com.android.settings.slices.CustomSliceManager;
import com.android.settings.slices.CustomSliceRegistry;
import com.android.settings.slices.SettingsSliceProvider;
import com.android.settings.slices.SliceBroadcastReceiver;
@@ -85,10 +83,6 @@
mFeatureFactory = FakeFeatureFactory.setupForTest();
mSlicesFeatureProvider = mFeatureFactory.getSlicesFeatureProvider();
- CustomSliceManager manager = new CustomSliceManager(mContext);
- when(mSlicesFeatureProvider.getCustomSliceManager(any(Context.class)))
- .thenReturn(manager);
-
//setup for SettingsSliceProvider tests
mProvider = spy(new SettingsSliceProvider());
doReturn(mContext).when(mProvider).getContext();
diff --git a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java
index f9109ce..644e5e8 100644
--- a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java
@@ -22,7 +22,6 @@
import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
@@ -48,7 +47,6 @@
import com.android.ims.ImsConfig;
import com.android.ims.ImsManager;
import com.android.settings.R;
-import com.android.settings.slices.CustomSliceManager;
import com.android.settings.slices.CustomSliceRegistry;
import com.android.settings.slices.SettingsSliceProvider;
import com.android.settings.slices.SliceBroadcastReceiver;
@@ -99,9 +97,6 @@
mFeatureFactory = FakeFeatureFactory.setupForTest();
mSlicesFeatureProvider = mFeatureFactory.getSlicesFeatureProvider();
- CustomSliceManager manager = new CustomSliceManager(mContext);
- when(mSlicesFeatureProvider.getCustomSliceManager(any(Context.class)))
- .thenReturn(manager);
mWfcSliceHelper = new FakeWifiCallingSliceHelper(mContext);
diff --git a/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java
index 204a0e2..db76722 100644
--- a/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java
@@ -778,9 +778,9 @@
mockWifiConfig.networkId = 5;
when(mockWifiConfig.isPasspoint()).thenReturn(true);
+ spyController.displayPreference(mockScreen);
FeatureFlagPersistent.setEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2, true);
- spyController.displayPreference(mockScreen);
mForgetClickListener.getValue().onClick(null);
verify(mockWifiManager, times(0)).removePasspointConfiguration(mockWifiConfig.FQDN);