Snap for 7677822 from 2889a7d49f to sc-v2-release
Change-Id: I0971fd54e7b831213e9407725e017e9c0b4625e8
This commit is contained in:
@@ -302,6 +302,26 @@
|
||||
android:value="true" />
|
||||
</activity>
|
||||
|
||||
<activity
|
||||
android:name="Settings$WifiDetailsSettingsActivity"
|
||||
android:label="@string/wifi_details_title"
|
||||
android:icon="@drawable/ic_homepage_network"
|
||||
android:exported="true"
|
||||
android:permission="android.permission.CHANGE_WIFI_STATE"
|
||||
android:configChanges="orientation|keyboardHidden|screenSize">
|
||||
<!-- The intent action is only public to OEM, because a special library is required. -->
|
||||
<intent-filter android:priority="1">
|
||||
<action android:name="android.settings.WIFI_DETAILS_SETTINGS" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
<meta-data
|
||||
android:name="com.android.settings.FRAGMENT_CLASS"
|
||||
android:value="com.android.settings.wifi.details.WifiNetworkDetailsFragment" />
|
||||
<meta-data
|
||||
android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
|
||||
android:value="true" />
|
||||
</activity>
|
||||
|
||||
<activity
|
||||
android:name=".wifi.WifiPickerActivity"
|
||||
android:exported="true">
|
||||
|
||||
@@ -13370,8 +13370,6 @@
|
||||
<string name="calls_sms_no_sim">No SIM</string>
|
||||
<!-- Network & internet preferences title [CHAR LIMIT=NONE] -->
|
||||
<string name="network_and_internet_preferences_title">Network preferences</string>
|
||||
<!-- Network & internet preferences summary [CHAR LIMIT=NONE] -->
|
||||
<string name="network_and_internet_preferences_summary">Connect to public networks</string>
|
||||
<!-- Search keywords for "Internet" settings [CHAR_LIMIT=NONE] -->
|
||||
<string name="keywords_internet">network connection, internet, wireless, data, wifi, wi-fi, wi fi, cellular, mobile, cell carrier, 4g, 3g, 2g, lte</string>
|
||||
<!-- Slice title text for turning on the Wi-Fi networks. [CHAR LIMIT=40] -->
|
||||
|
||||
@@ -70,7 +70,6 @@
|
||||
<Preference
|
||||
android:key="configure_wifi_settings"
|
||||
android:title="@string/network_and_internet_preferences_title"
|
||||
android:summary="@string/network_and_internet_preferences_summary"
|
||||
settings:allowDividerAbove="true"
|
||||
android:fragment="com.android.settings.wifi.ConfigureWifiSettings"/>
|
||||
|
||||
|
||||
@@ -90,6 +90,8 @@ public class Settings extends SettingsActivity {
|
||||
public static class WifiSettingsActivity extends SettingsActivity { /* empty */ }
|
||||
public static class WifiSettings2Activity extends SettingsActivity { /* empty */ }
|
||||
public static class NetworkProviderSettingsActivity extends SettingsActivity { /* empty */ }
|
||||
/** Activity for the Wi-Fi network details settings. */
|
||||
public static class WifiDetailsSettingsActivity extends SettingsActivity { /* empty */ }
|
||||
public static class WifiP2pSettingsActivity extends SettingsActivity { /* empty */ }
|
||||
public static class AvailableVirtualKeyboardActivity extends SettingsActivity { /* empty */ }
|
||||
public static class KeyboardLayoutPickerActivity extends SettingsActivity { /* empty */ }
|
||||
|
||||
@@ -159,6 +159,7 @@ import com.android.settings.wifi.WifiInfo;
|
||||
import com.android.settings.wifi.WifiSettings;
|
||||
import com.android.settings.wifi.calling.WifiCallingDisclaimerFragment;
|
||||
import com.android.settings.wifi.calling.WifiCallingSettings;
|
||||
import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
|
||||
import com.android.settings.wifi.p2p.WifiP2pSettings;
|
||||
import com.android.settings.wifi.savedaccesspoints2.SavedAccessPointsWifiSettings2;
|
||||
import com.android.settings.wifi.tether.WifiTetherSettings;
|
||||
@@ -173,6 +174,7 @@ public class SettingsGateway {
|
||||
AdvancedConnectedDeviceDashboardFragment.class.getName(),
|
||||
CreateShortcut.class.getName(),
|
||||
WifiSettings.class.getName(),
|
||||
WifiNetworkDetailsFragment.class.getName(),
|
||||
ConfigureWifiSettings.class.getName(),
|
||||
SavedAccessPointsWifiSettings2.class.getName(),
|
||||
AllInOneTetherSettings.class.getName(),
|
||||
|
||||
@@ -37,6 +37,8 @@ import android.util.Log;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
||||
import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -63,6 +65,8 @@ public final class BatteryBackupHelper implements BackupHelper {
|
||||
static final String KEY_FULL_POWER_LIST = "full_power_list";
|
||||
static final String KEY_OPTIMIZATION_LIST = "optimization_mode_list";
|
||||
|
||||
@VisibleForTesting
|
||||
PowerAllowlistBackend mPowerAllowlistBackend;
|
||||
@VisibleForTesting
|
||||
IDeviceIdleController mIDeviceIdleController;
|
||||
@VisibleForTesting
|
||||
@@ -127,6 +131,7 @@ public final class BatteryBackupHelper implements BackupHelper {
|
||||
Log.w(TAG, "no data found in the getInstalledApplications()");
|
||||
return;
|
||||
}
|
||||
int backupCount = 0;
|
||||
final StringBuilder builder = new StringBuilder();
|
||||
final AppOpsManager appOps = mContext.getSystemService(AppOpsManager.class);
|
||||
// Converts application into the AppUsageState.
|
||||
@@ -136,20 +141,22 @@ public final class BatteryBackupHelper implements BackupHelper {
|
||||
@BatteryOptimizeUtils.OptimizationMode
|
||||
final int optimizationMode = BatteryOptimizeUtils.getAppOptimizationMode(
|
||||
mode, allowlistedApps.contains(info.packageName));
|
||||
// Ignores default optimized or unknown state.
|
||||
// Ignores default optimized/unknown state or system/default apps.
|
||||
if (optimizationMode == BatteryOptimizeUtils.MODE_OPTIMIZED
|
||||
|| optimizationMode == BatteryOptimizeUtils.MODE_UNKNOWN) {
|
||||
|| optimizationMode == BatteryOptimizeUtils.MODE_UNKNOWN
|
||||
|| isSystemOrDefaultApp(info.packageName)) {
|
||||
continue;
|
||||
}
|
||||
final String packageOptimizeMode =
|
||||
info.packageName + DELIMITER_MODE + optimizationMode;
|
||||
builder.append(packageOptimizeMode + DELIMITER);
|
||||
debugLog(packageOptimizeMode);
|
||||
backupCount++;
|
||||
}
|
||||
|
||||
writeBackupData(data, KEY_OPTIMIZATION_LIST, builder.toString());
|
||||
Log.d(TAG, String.format("backup getInstalledApplications() size=%d in %d/ms",
|
||||
applications.size(), (System.currentTimeMillis() - timestamp)));
|
||||
Log.d(TAG, String.format("backup getInstalledApplications():%d count=%d in %d/ms",
|
||||
applications.size(), backupCount, (System.currentTimeMillis() - timestamp)));
|
||||
}
|
||||
|
||||
// Provides an opportunity to inject mock IDeviceIdleController for testing.
|
||||
@@ -170,6 +177,20 @@ public final class BatteryBackupHelper implements BackupHelper {
|
||||
return mIPackageManager;
|
||||
}
|
||||
|
||||
private PowerAllowlistBackend getPowerAllowlistBackend() {
|
||||
if (mPowerAllowlistBackend != null) {
|
||||
return mPowerAllowlistBackend;
|
||||
}
|
||||
mPowerAllowlistBackend = PowerAllowlistBackend.getInstance(mContext);
|
||||
return mPowerAllowlistBackend;
|
||||
}
|
||||
|
||||
private boolean isSystemOrDefaultApp(String packageName) {
|
||||
final PowerAllowlistBackend powerAllowlistBackend = getPowerAllowlistBackend();
|
||||
return powerAllowlistBackend.isSysAllowlisted(packageName)
|
||||
|| powerAllowlistBackend.isDefaultActiveApp(packageName);
|
||||
}
|
||||
|
||||
private List<ApplicationInfo> getInstalledApplications() {
|
||||
final List<ApplicationInfo> applications = new ArrayList<>();
|
||||
final UserManager um = mContext.getSystemService(UserManager.class);
|
||||
|
||||
@@ -71,7 +71,7 @@ import com.android.settings.wifi.WifiConnectListener;
|
||||
import com.android.settings.wifi.WifiDialog2;
|
||||
import com.android.settings.wifi.WifiPickerTrackerHelper;
|
||||
import com.android.settings.wifi.WifiUtils;
|
||||
import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
|
||||
import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
|
||||
import com.android.settings.wifi.dpp.WifiDppUtils;
|
||||
import com.android.settingslib.HelpUtils;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
@@ -929,11 +929,11 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
||||
: context.getText(R.string.pref_title_network_details);
|
||||
|
||||
final Bundle bundle = new Bundle();
|
||||
bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY, wifiEntry.getKey());
|
||||
bundle.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY, wifiEntry.getKey());
|
||||
|
||||
new SubSettingLauncher(context)
|
||||
.setTitleText(title)
|
||||
.setDestination(WifiNetworkDetailsFragment2.class.getName())
|
||||
.setDestination(WifiNetworkDetailsFragment.class.getName())
|
||||
.setArguments(bundle)
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
@@ -966,12 +966,10 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
||||
|
||||
@VisibleForTesting
|
||||
void setAdditionalSettingsSummaries() {
|
||||
if (!FeatureFlagUtils.isEnabled(getContext(), FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)) {
|
||||
mConfigureWifiSettingsPreference.setSummary(getString(
|
||||
isWifiWakeupEnabled()
|
||||
? R.string.wifi_configure_settings_preference_summary_wakeup_on
|
||||
: R.string.wifi_configure_settings_preference_summary_wakeup_off));
|
||||
}
|
||||
mConfigureWifiSettingsPreference.setSummary(getString(
|
||||
isWifiWakeupEnabled()
|
||||
? R.string.wifi_configure_settings_preference_summary_wakeup_on
|
||||
: R.string.wifi_configure_settings_preference_summary_wakeup_off));
|
||||
|
||||
final int numSavedNetworks = mWifiPickerTracker.getNumSavedNetworks();
|
||||
final int numSavedSubscriptions = mWifiPickerTracker.getNumSavedSubscriptions();
|
||||
@@ -1184,7 +1182,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
||||
|
||||
private void launchConfigNewNetworkFragment(WifiEntry wifiEntry) {
|
||||
final Bundle bundle = new Bundle();
|
||||
bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY,
|
||||
bundle.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY,
|
||||
wifiEntry.getKey());
|
||||
new SubSettingLauncher(getContext())
|
||||
.setTitleText(wifiEntry.getTitle())
|
||||
|
||||
@@ -38,7 +38,7 @@ import androidx.annotation.VisibleForTesting;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.InstrumentedFragment;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
|
||||
import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
|
||||
import com.android.wifitrackerlib.NetworkDetailsTracker;
|
||||
import com.android.wifitrackerlib.WifiEntry;
|
||||
|
||||
@@ -238,6 +238,6 @@ public class ConfigureWifiEntryFragment extends InstrumentedFragment implements
|
||||
MAX_SCAN_AGE_MILLIS,
|
||||
SCAN_INTERVAL_MILLIS,
|
||||
getArguments().getString(
|
||||
WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY));
|
||||
WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ import androidx.preference.PreferenceScreen;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
|
||||
import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import com.android.settingslib.wifi.WifiEntryPreference;
|
||||
@@ -165,11 +165,11 @@ public class WifiConnectionPreferenceController extends AbstractPreferenceContro
|
||||
mPreference.setOrder(order);
|
||||
mPreference.setOnPreferenceClickListener(pref -> {
|
||||
final Bundle args = new Bundle();
|
||||
args.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY,
|
||||
args.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY,
|
||||
wifiEntry.getKey());
|
||||
new SubSettingLauncher(mPrefContext)
|
||||
.setTitleRes(R.string.pref_title_network_details)
|
||||
.setDestination(WifiNetworkDetailsFragment2.class.getName())
|
||||
.setDestination(WifiNetworkDetailsFragment.class.getName())
|
||||
.setArguments(args)
|
||||
.setSourceMetricsCategory(mMetricsCategory)
|
||||
.launch();
|
||||
|
||||
@@ -67,7 +67,7 @@ import com.android.settings.location.WifiScanningFragment;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.widget.MainSwitchBarController;
|
||||
import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
|
||||
import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
|
||||
import com.android.settings.wifi.dpp.WifiDppUtils;
|
||||
import com.android.settingslib.HelpUtils;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
@@ -844,11 +844,11 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
: context.getText(R.string.pref_title_network_details);
|
||||
|
||||
final Bundle bundle = new Bundle();
|
||||
bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY, wifiEntry.getKey());
|
||||
bundle.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY, wifiEntry.getKey());
|
||||
|
||||
new SubSettingLauncher(context)
|
||||
.setTitleText(title)
|
||||
.setDestination(WifiNetworkDetailsFragment2.class.getName())
|
||||
.setDestination(WifiNetworkDetailsFragment.class.getName())
|
||||
.setArguments(bundle)
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
@@ -1121,7 +1121,7 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
|
||||
private void launchConfigNewNetworkFragment(WifiEntry wifiEntry) {
|
||||
final Bundle bundle = new Bundle();
|
||||
bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY,
|
||||
bundle.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY,
|
||||
wifiEntry.getKey());
|
||||
new SubSettingLauncher(getContext())
|
||||
.setTitleText(wifiEntry.getTitle())
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2019 The Android Open Source Project
|
||||
* Copyright (C) 2021 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.
|
||||
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.android.settings.wifi.details2;
|
||||
package com.android.settings.wifi.details;
|
||||
|
||||
import static com.android.settings.wifi.WifiSettings.WIFI_DIALOG_ID;
|
||||
|
||||
@@ -45,6 +45,13 @@ import com.android.settings.dashboard.RestrictedDashboardFragment;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.wifi.WifiConfigUiBase2;
|
||||
import com.android.settings.wifi.WifiDialog2;
|
||||
import com.android.settings.wifi.details2.AddDevicePreferenceController2;
|
||||
import com.android.settings.wifi.details2.WifiAutoConnectPreferenceController2;
|
||||
import com.android.settings.wifi.details2.WifiDetailPreferenceController2;
|
||||
import com.android.settings.wifi.details2.WifiMeteredPreferenceController2;
|
||||
import com.android.settings.wifi.details2.WifiPrivacyPreferenceController2;
|
||||
import com.android.settings.wifi.details2.WifiSecondSummaryController2;
|
||||
import com.android.settings.wifi.details2.WifiSubscriptionDetailPreferenceController2;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||
import com.android.settingslib.RestrictedLockUtilsInternal;
|
||||
@@ -63,10 +70,10 @@ import java.util.List;
|
||||
* <p>The key of {@link WifiEntry} should be saved to the intent Extras when launching this class
|
||||
* in order to properly render this page.
|
||||
*/
|
||||
public class WifiNetworkDetailsFragment2 extends RestrictedDashboardFragment implements
|
||||
public class WifiNetworkDetailsFragment extends RestrictedDashboardFragment implements
|
||||
WifiDialog2.WifiDialog2Listener {
|
||||
|
||||
private static final String TAG = "WifiNetworkDetailsFrg2";
|
||||
private static final String TAG = "WifiNetworkDetailsFrg";
|
||||
|
||||
// Key of a Bundle to save/restore the selected WifiEntry
|
||||
public static final String KEY_CHOSEN_WIFIENTRY_KEY = "key_chosen_wifientry_key";
|
||||
@@ -86,7 +93,7 @@ public class WifiNetworkDetailsFragment2 extends RestrictedDashboardFragment imp
|
||||
@VisibleForTesting
|
||||
List<AbstractPreferenceController> mControllers;
|
||||
|
||||
public WifiNetworkDetailsFragment2() {
|
||||
public WifiNetworkDetailsFragment() {
|
||||
super(UserManager.DISALLOW_CONFIG_WIFI);
|
||||
}
|
||||
|
||||
@@ -76,6 +76,7 @@ import com.android.settings.widget.EntityHeaderController;
|
||||
import com.android.settings.wifi.WifiDialog2;
|
||||
import com.android.settings.wifi.WifiDialog2.WifiDialog2Listener;
|
||||
import com.android.settings.wifi.WifiUtils;
|
||||
import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
|
||||
import com.android.settings.wifi.dpp.WifiDppUtils;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
@@ -1099,7 +1100,7 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
|
||||
refreshPage();
|
||||
|
||||
// Refresh the Preferences in fragment.
|
||||
((WifiNetworkDetailsFragment2) mFragment).refreshPreferences();
|
||||
((WifiNetworkDetailsFragment) mFragment).refreshPreferences();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -39,7 +39,7 @@ import com.android.settings.R;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.wifi.WifiSettings;
|
||||
import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
|
||||
import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
|
||||
import com.android.wifitrackerlib.SavedNetworkTracker;
|
||||
|
||||
import java.time.Clock;
|
||||
@@ -126,7 +126,7 @@ public class SavedAccessPointsWifiSettings2 extends DashboardFragment
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows {@link WifiNetworkDetailsFragment2} for assigned key of {@link WifiEntry}.
|
||||
* Shows {@link WifiNetworkDetailsFragment} for assigned key of {@link WifiEntry}.
|
||||
*/
|
||||
public void showWifiPage(@NonNull String key, CharSequence title) {
|
||||
removeDialog(WifiSettings.WIFI_DIALOG_ID);
|
||||
@@ -137,11 +137,11 @@ public class SavedAccessPointsWifiSettings2 extends DashboardFragment
|
||||
}
|
||||
|
||||
final Bundle bundle = new Bundle();
|
||||
bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY, key);
|
||||
bundle.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY, key);
|
||||
|
||||
new SubSettingLauncher(getContext())
|
||||
.setTitleText(title)
|
||||
.setDestination(WifiNetworkDetailsFragment2.class.getName())
|
||||
.setDestination(WifiNetworkDetailsFragment.class.getName())
|
||||
.setArguments(bundle)
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.launch();
|
||||
|
||||
@@ -50,7 +50,7 @@ import com.android.settings.slices.SliceBuilderUtils;
|
||||
import com.android.settings.wifi.WifiDialogActivity;
|
||||
import com.android.settings.wifi.WifiSettings;
|
||||
import com.android.settings.wifi.WifiUtils;
|
||||
import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
|
||||
import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
|
||||
import com.android.wifitrackerlib.WifiEntry;
|
||||
|
||||
import java.util.Arrays;
|
||||
@@ -200,11 +200,11 @@ public class WifiSlice implements CustomSliceable {
|
||||
|
||||
if (wifiSliceItem.getConnectedState() != WifiEntry.CONNECTED_STATE_DISCONNECTED) {
|
||||
final Bundle bundle = new Bundle();
|
||||
bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY,
|
||||
bundle.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY,
|
||||
wifiSliceItem.getKey());
|
||||
final Intent intent = new SubSettingLauncher(mContext)
|
||||
.setTitleRes(R.string.pref_title_network_details)
|
||||
.setDestination(WifiNetworkDetailsFragment2.class.getName())
|
||||
.setDestination(WifiNetworkDetailsFragment.class.getName())
|
||||
.setArguments(bundle)
|
||||
.setSourceMetricsCategory(SettingsEnums.WIFI)
|
||||
.toIntent();
|
||||
|
||||
@@ -40,6 +40,8 @@ import android.os.RemoteException;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
|
||||
import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@@ -59,6 +61,9 @@ import org.robolectric.annotation.Resetter;
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Config(shadows = {BatteryBackupHelperTest.ShadowUserHandle.class})
|
||||
public final class BatteryBackupHelperTest {
|
||||
private static final String PACKAGE_NAME1 = "com.android.testing.1";
|
||||
private static final String PACKAGE_NAME2 = "com.android.testing.2";
|
||||
private static final String PACKAGE_NAME3 = "com.android.testing.3";
|
||||
|
||||
private Context mContext;
|
||||
private BatteryBackupHelper mBatteryBackupHelper;
|
||||
@@ -73,6 +78,8 @@ public final class BatteryBackupHelperTest {
|
||||
private AppOpsManager mAppOpsManager;
|
||||
@Mock
|
||||
private UserManager mUserManager;
|
||||
@Mock
|
||||
private PowerAllowlistBackend mPowerAllowlistBackend;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
@@ -84,6 +91,7 @@ public final class BatteryBackupHelperTest {
|
||||
mBatteryBackupHelper = new BatteryBackupHelper(mContext);
|
||||
mBatteryBackupHelper.mIDeviceIdleController = mDeviceController;
|
||||
mBatteryBackupHelper.mIPackageManager = mIPackageManager;
|
||||
mBatteryBackupHelper.mPowerAllowlistBackend = mPowerAllowlistBackend;
|
||||
}
|
||||
|
||||
@After
|
||||
@@ -172,16 +180,49 @@ public final class BatteryBackupHelperTest {
|
||||
|
||||
@Test
|
||||
public void backupOptimizationMode_backupOptimizationMode() throws Exception {
|
||||
final String packageName1 = "com.android.testing.1";
|
||||
final String packageName2 = "com.android.testing.2";
|
||||
final String packageName3 = "com.android.testing.3";
|
||||
final List<String> allowlistedApps = Arrays.asList(packageName1);
|
||||
createTestingData(packageName1, packageName2, packageName3);
|
||||
final List<String> allowlistedApps = Arrays.asList(PACKAGE_NAME1);
|
||||
createTestingData(PACKAGE_NAME1, PACKAGE_NAME2, PACKAGE_NAME3);
|
||||
|
||||
mBatteryBackupHelper.backupOptimizationMode(mBackupDataOutput, allowlistedApps);
|
||||
|
||||
// 2 for UNRESTRICTED mode and 1 for RESTRICTED mode.
|
||||
final String expectedResult = packageName1 + "|2," + packageName2 + "|1,";
|
||||
final String expectedResult = PACKAGE_NAME1 + "|2," + PACKAGE_NAME2 + "|1,";
|
||||
verifyBackupData(expectedResult);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void backupOptimizationMode_backupOptimizationModeAndIgnoreSystemApp()
|
||||
throws Exception {
|
||||
final List<String> allowlistedApps = Arrays.asList(PACKAGE_NAME1);
|
||||
createTestingData(PACKAGE_NAME1, PACKAGE_NAME2, PACKAGE_NAME3);
|
||||
// Sets "com.android.testing.1" as system app.
|
||||
doReturn(true).when(mPowerAllowlistBackend).isSysAllowlisted(PACKAGE_NAME1);
|
||||
doReturn(false).when(mPowerAllowlistBackend).isDefaultActiveApp(anyString());
|
||||
|
||||
mBatteryBackupHelper.backupOptimizationMode(mBackupDataOutput, allowlistedApps);
|
||||
|
||||
// "com.android.testing.2" for RESTRICTED mode.
|
||||
final String expectedResult = PACKAGE_NAME2 + "|1,";
|
||||
verifyBackupData(expectedResult);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void backupOptimizationMode_backupOptimizationModeAndIgnoreDefaultApp()
|
||||
throws Exception {
|
||||
final List<String> allowlistedApps = Arrays.asList(PACKAGE_NAME1);
|
||||
createTestingData(PACKAGE_NAME1, PACKAGE_NAME2, PACKAGE_NAME3);
|
||||
// Sets "com.android.testing.1" as device default app.
|
||||
doReturn(true).when(mPowerAllowlistBackend).isDefaultActiveApp(PACKAGE_NAME1);
|
||||
doReturn(false).when(mPowerAllowlistBackend).isSysAllowlisted(anyString());
|
||||
|
||||
mBatteryBackupHelper.backupOptimizationMode(mBackupDataOutput, allowlistedApps);
|
||||
|
||||
// "com.android.testing.2" for RESTRICTED mode.
|
||||
final String expectedResult = PACKAGE_NAME2 + "|1,";
|
||||
verifyBackupData(expectedResult);
|
||||
}
|
||||
|
||||
private void verifyBackupData(String expectedResult) throws Exception {
|
||||
final byte[] expectedBytes = expectedResult.getBytes();
|
||||
verify(mBackupDataOutput).writeEntityHeader(
|
||||
BatteryBackupHelper.KEY_OPTIMIZATION_LIST, expectedBytes.length);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2020 The Android Open Source Project
|
||||
* Copyright (C) 2021 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.
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings.wifi.details2;
|
||||
package com.android.settings.wifi.details;
|
||||
|
||||
import static com.android.settings.wifi.WifiSettings.WIFI_DIALOG_ID;
|
||||
|
||||
@@ -54,9 +54,9 @@ import org.robolectric.RuntimeEnvironment;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class WifiNetworkDetailsFragment2Test {
|
||||
public class WifiNetworkDetailsFragmentTest {
|
||||
|
||||
final String TEST_PREFERENCE_KEY = "TEST_PREFERENCE_KEY";
|
||||
private static final String TEST_PREFERENCE_KEY = "TEST_PREFERENCE_KEY";
|
||||
|
||||
@Mock
|
||||
WifiEntry mWifiEntry;
|
||||
@@ -64,7 +64,7 @@ public class WifiNetworkDetailsFragment2Test {
|
||||
NetworkDetailsTracker mNetworkDetailsTracker;
|
||||
@Mock
|
||||
Menu mMenu;
|
||||
private WifiNetworkDetailsFragment2 mFragment;
|
||||
private WifiNetworkDetailsFragment mFragment;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
@@ -72,7 +72,7 @@ public class WifiNetworkDetailsFragment2Test {
|
||||
doReturn(mWifiEntry).when(mNetworkDetailsTracker).getWifiEntry();
|
||||
doReturn(true).when(mWifiEntry).isSaved();
|
||||
|
||||
mFragment = new WifiNetworkDetailsFragment2();
|
||||
mFragment = new WifiNetworkDetailsFragment();
|
||||
mFragment.mNetworkDetailsTracker = mNetworkDetailsTracker;
|
||||
}
|
||||
|
||||
@@ -165,8 +165,8 @@ public class WifiNetworkDetailsFragment2Test {
|
||||
verify(controller).displayPreference(screen);
|
||||
}
|
||||
|
||||
// Fake WifiNetworkDetailsFragment2 to override the protected method as public.
|
||||
public class FakeFragment extends WifiNetworkDetailsFragment2 {
|
||||
// Fake WifiNetworkDetailsFragment to override the protected method as public.
|
||||
public static class FakeFragment extends WifiNetworkDetailsFragment {
|
||||
|
||||
@Override
|
||||
public void addPreferenceController(AbstractPreferenceController controller) {
|
||||
@@ -179,7 +179,7 @@ public class WifiNetworkDetailsFragment2Test {
|
||||
}
|
||||
}
|
||||
|
||||
public class TestController extends BasePreferenceController {
|
||||
public static class TestController extends BasePreferenceController {
|
||||
|
||||
public TestController() {
|
||||
super(RuntimeEnvironment.application, TEST_PREFERENCE_KEY);
|
||||
@@ -76,6 +76,7 @@ import com.android.settings.Utils;
|
||||
import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
|
||||
import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
|
||||
import com.android.settings.widget.EntityHeaderController;
|
||||
import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import com.android.settingslib.utils.StringUtil;
|
||||
@@ -145,7 +146,7 @@ public class WifiDetailPreferenceController2Test {
|
||||
@Mock
|
||||
private WifiInfo mMockWifiInfo;
|
||||
@Mock
|
||||
private WifiNetworkDetailsFragment2 mMockFragment;
|
||||
private WifiNetworkDetailsFragment mMockFragment;
|
||||
@Mock
|
||||
private WifiManager mMockWifiManager;
|
||||
@Mock
|
||||
|
||||
Reference in New Issue
Block a user