Snap for 12673321 from c4dd7a8288 to 25Q1-release
Change-Id: Ice50ea6e5d422b56c0ba8df391d5e84045d40b30
This commit is contained in:
@@ -15,6 +15,13 @@ flag {
|
||||
bug: "253296253"
|
||||
}
|
||||
|
||||
flag {
|
||||
name: "display_topology_pane_in_display_list"
|
||||
namespace: "display_manager"
|
||||
description: "Shows the connected display setting and shows the topology pane in the display list, even with only one display connected."
|
||||
bug: "352648432"
|
||||
}
|
||||
|
||||
flag {
|
||||
name: "enable_auth_challenge_for_usb_preferences"
|
||||
namespace: "safety_center"
|
||||
|
||||
@@ -17,3 +17,14 @@ flag {
|
||||
purpose: PURPOSE_BUGFIX
|
||||
}
|
||||
}
|
||||
|
||||
flag {
|
||||
name: "satellite_oem_settings_ux_migration"
|
||||
namespace: "settings_experience"
|
||||
description: "Migrate satellite UX to Android Settings"
|
||||
bug: "378781925"
|
||||
metadata {
|
||||
purpose: PURPOSE_BUGFIX
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -59,16 +59,15 @@
|
||||
|
||||
<com.android.settingslib.widget.SettingsSpinnerPreference
|
||||
android:key="battery_usage_spinner"
|
||||
android:order="0"
|
||||
settings:isPreferenceVisible="false" />
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="app_list"
|
||||
android:layout="@layout/preference_category_no_label"
|
||||
settings:isPreferenceVisible="false" />
|
||||
<!-- App usage preference list will be added here with the order in range [100, 1000). -->
|
||||
|
||||
<com.android.settingslib.widget.FooterPreference
|
||||
android:key="battery_usage_footer"
|
||||
android:selectable="false"
|
||||
android:order="1000"
|
||||
settings:isPreferenceVisible="false"
|
||||
settings:searchable="false" />
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package com.android.settings;
|
||||
|
||||
import static com.android.settings.SettingsActivity.EXTRA_FRAGMENT_ARG_KEY;
|
||||
import static com.android.settingslib.media.PhoneMediaDevice.isDesktop;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
@@ -186,6 +187,13 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF
|
||||
|
||||
/** Returns if catalyst is enabled on current screen. */
|
||||
protected final boolean isCatalystEnabled() {
|
||||
// TODO(b/379130874): make Catalyst compatible with desktop device, such as user restriction
|
||||
// check.
|
||||
Context context = getContext();
|
||||
if (context != null && isDesktop(context)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return getPreferenceScreenCreator() != null;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import static android.view.Display.INVALID_DISPLAY;
|
||||
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.EXTERNAL_DISPLAY_HELP_URL;
|
||||
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.DISPLAY_ID_ARG;
|
||||
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.EXTERNAL_DISPLAY_NOT_FOUND_RESOURCE;
|
||||
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.forceShowDisplayList;
|
||||
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isDisplayAllowed;
|
||||
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isUseDisplaySettingEnabled;
|
||||
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isResolutionSettingEnabled;
|
||||
@@ -295,13 +296,20 @@ public class ExternalDisplayPreferenceFragment extends SettingsPreferenceFragmen
|
||||
updateScreenForDisplayId(getDisplayIdArg(), screen, mInjector.getContext());
|
||||
}
|
||||
|
||||
private boolean okayToBypassDisplayListSelection() {
|
||||
if (mInjector != null && forceShowDisplayList(mInjector.getFlags())) {
|
||||
return false;
|
||||
}
|
||||
return !mPreviouslyShownListOfDisplays;
|
||||
}
|
||||
|
||||
private void updateScreenForDisplayId(final int displayId,
|
||||
@NonNull final PreferenceScreen screen, @NonNull Context context) {
|
||||
final var displaysToShow = getDisplaysToShow(displayId);
|
||||
if (displaysToShow.isEmpty() && displayId == INVALID_DISPLAY) {
|
||||
showTextWhenNoDisplaysToShow(screen, context);
|
||||
} else if (displaysToShow.size() == 1
|
||||
&& ((displayId == INVALID_DISPLAY && !mPreviouslyShownListOfDisplays)
|
||||
&& ((displayId == INVALID_DISPLAY && okayToBypassDisplayListSelection())
|
||||
|| displaysToShow.get(0).getDisplayId() == displayId)) {
|
||||
showDisplaySettings(displaysToShow.get(0), screen, context);
|
||||
} else if (displayId == INVALID_DISPLAY) {
|
||||
|
||||
@@ -319,7 +319,16 @@ public class ExternalDisplaySettingsConfiguration {
|
||||
*/
|
||||
public static boolean isExternalDisplaySettingsPageEnabled(@NonNull FeatureFlags flags) {
|
||||
return flags.rotationConnectedDisplaySetting()
|
||||
|| flags.resolutionAndEnableConnectedDisplaySetting();
|
||||
|| flags.resolutionAndEnableConnectedDisplaySetting()
|
||||
|| flags.displayTopologyPaneInDisplayList();
|
||||
}
|
||||
|
||||
/**
|
||||
* If true, indicates the display list activity should be shown even if there is only one
|
||||
* display.
|
||||
*/
|
||||
public static boolean forceShowDisplayList(@NonNull FeatureFlags flags) {
|
||||
return flags.displayTopologyPaneInDisplayList();
|
||||
}
|
||||
|
||||
static boolean isDisplayAllowed(@NonNull Display display,
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.settings.connecteddevice.display;
|
||||
|
||||
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.forceShowDisplayList;
|
||||
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isDisplayAllowed;
|
||||
|
||||
import android.content.Context;
|
||||
@@ -142,6 +143,10 @@ public class ExternalDisplayUpdater {
|
||||
}
|
||||
}
|
||||
|
||||
if (forceShowDisplayList(mInjector.getFlags())) {
|
||||
return context.getString(R.string.external_display_off);
|
||||
}
|
||||
|
||||
for (var display : mInjector.getAllDisplays()) {
|
||||
if (display != null && isDisplayAllowed(display, mInjector)) {
|
||||
return context.getString(R.string.external_display_off);
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.settings.fuelgauge.batteryusage;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
@@ -37,7 +38,7 @@ class AnomalyAppItemPreference extends PowerGaugePreference {
|
||||
setLayoutResource(R.layout.anomaly_app_item_preference);
|
||||
}
|
||||
|
||||
void setAnomalyHint(CharSequence anomalyHintText) {
|
||||
void setAnomalyHint(@Nullable CharSequence anomalyHintText) {
|
||||
if (!TextUtils.equals(mAnomalyHintText, anomalyHintText)) {
|
||||
mAnomalyHintText = anomalyHintText;
|
||||
notifyChanged();
|
||||
|
||||
@@ -31,7 +31,6 @@ import android.view.View;
|
||||
import android.widget.AdapterView;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceCategory;
|
||||
import androidx.preference.PreferenceGroup;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
@@ -68,11 +67,11 @@ public class BatteryUsageBreakdownController extends BasePreferenceController
|
||||
private static final String ROOT_PREFERENCE_KEY = "battery_usage_breakdown";
|
||||
private static final String FOOTER_PREFERENCE_KEY = "battery_usage_footer";
|
||||
private static final String SPINNER_PREFERENCE_KEY = "battery_usage_spinner";
|
||||
private static final String APP_LIST_PREFERENCE_KEY = "app_list";
|
||||
private static final String PACKAGE_NAME_NONE = "none";
|
||||
private static final String SLOT_TIMESTAMP = "slot_timestamp";
|
||||
private static final String ANOMALY_KEY = "anomaly_key";
|
||||
private static final String KEY_SPINNER_POSITION = "spinner_position";
|
||||
private static final int ENTRY_PREF_ORDER_OFFSET = 100;
|
||||
private static final List<BatteryDiffEntry> EMPTY_ENTRY_LIST = new ArrayList<>();
|
||||
|
||||
private static int sUiMode = Configuration.UI_MODE_NIGHT_UNDEFINED;
|
||||
@@ -89,8 +88,7 @@ public class BatteryUsageBreakdownController extends BasePreferenceController
|
||||
private SettingsSpinnerAdapter<CharSequence> mSpinnerAdapter;
|
||||
|
||||
@VisibleForTesting Context mPrefContext;
|
||||
@VisibleForTesting PreferenceCategory mRootPreference;
|
||||
@VisibleForTesting PreferenceGroup mAppListPreferenceGroup;
|
||||
@VisibleForTesting PreferenceGroup mRootPreferenceGroup;
|
||||
@VisibleForTesting FooterPreference mFooterPreference;
|
||||
@VisibleForTesting BatteryDiffData mBatteryDiffData;
|
||||
@VisibleForTesting String mBatteryUsageBreakdownTitleLastFullChargeText;
|
||||
@@ -143,7 +141,7 @@ public class BatteryUsageBreakdownController extends BasePreferenceController
|
||||
public void onDestroy() {
|
||||
mHandler.removeCallbacksAndMessages(/* token= */ null);
|
||||
mPreferenceCache.clear();
|
||||
mAppListPreferenceGroup.removeAll();
|
||||
mRootPreferenceGroup.removeAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -226,9 +224,8 @@ public class BatteryUsageBreakdownController extends BasePreferenceController
|
||||
public void displayPreference(PreferenceScreen screen) {
|
||||
super.displayPreference(screen);
|
||||
mPrefContext = screen.getContext();
|
||||
mRootPreference = screen.findPreference(ROOT_PREFERENCE_KEY);
|
||||
mRootPreferenceGroup = screen.findPreference(ROOT_PREFERENCE_KEY);
|
||||
mSpinnerPreference = screen.findPreference(SPINNER_PREFERENCE_KEY);
|
||||
mAppListPreferenceGroup = screen.findPreference(APP_LIST_PREFERENCE_KEY);
|
||||
mFooterPreference = screen.findPreference(FOOTER_PREFERENCE_KEY);
|
||||
mBatteryUsageBreakdownTitleLastFullChargeText =
|
||||
mPrefContext.getString(
|
||||
@@ -242,7 +239,7 @@ public class BatteryUsageBreakdownController extends BasePreferenceController
|
||||
R.string.battery_usage_less_than_percent_content_description,
|
||||
formatPercentage);
|
||||
|
||||
mAppListPreferenceGroup.setOrderingAsAdded(false);
|
||||
mRootPreferenceGroup.setOrderingAsAdded(false);
|
||||
mSpinnerAdapter = new SettingsSpinnerAdapter<>(mPrefContext);
|
||||
mSpinnerAdapter.addAll(
|
||||
new String[] {
|
||||
@@ -328,8 +325,9 @@ public class BatteryUsageBreakdownController extends BasePreferenceController
|
||||
: mPrefContext.getString(
|
||||
R.string.battery_usage_breakdown_title_for_slot,
|
||||
accessibilitySlotTimestamp);
|
||||
mRootPreference.setTitle(Utils.createAccessibleSequence(displayTitle, accessibilityTitle));
|
||||
mRootPreference.setVisible(true);
|
||||
mRootPreferenceGroup.setTitle(
|
||||
Utils.createAccessibleSequence(displayTitle, accessibilityTitle));
|
||||
mRootPreferenceGroup.setVisible(true);
|
||||
}
|
||||
|
||||
private void showFooterPreference(boolean isAllBatteryUsageEmpty) {
|
||||
@@ -350,7 +348,6 @@ public class BatteryUsageBreakdownController extends BasePreferenceController
|
||||
return;
|
||||
}
|
||||
mSpinnerPreference.setVisible(true);
|
||||
mAppListPreferenceGroup.setVisible(true);
|
||||
mHandler.post(
|
||||
() -> {
|
||||
removeAndCacheAllUnusedPreferences();
|
||||
@@ -374,7 +371,7 @@ public class BatteryUsageBreakdownController extends BasePreferenceController
|
||||
}
|
||||
final long start = System.currentTimeMillis();
|
||||
final List<BatteryDiffEntry> entries = getBatteryDiffEntries();
|
||||
int prefIndex = mAppListPreferenceGroup.getPreferenceCount();
|
||||
int preferenceOrder = ENTRY_PREF_ORDER_OFFSET;
|
||||
for (BatteryDiffEntry entry : entries) {
|
||||
boolean isAdded = false;
|
||||
final String appLabel = entry.getAppLabel();
|
||||
@@ -384,33 +381,32 @@ public class BatteryUsageBreakdownController extends BasePreferenceController
|
||||
continue;
|
||||
}
|
||||
final String prefKey = entry.getKey();
|
||||
AnomalyAppItemPreference pref = mAppListPreferenceGroup.findPreference(prefKey);
|
||||
if (pref != null) {
|
||||
AnomalyAppItemPreference preference = mRootPreferenceGroup.findPreference(prefKey);
|
||||
if (preference != null) {
|
||||
isAdded = true;
|
||||
} else {
|
||||
pref = (AnomalyAppItemPreference) mPreferenceCache.get(prefKey);
|
||||
preference = (AnomalyAppItemPreference) mPreferenceCache.get(prefKey);
|
||||
}
|
||||
// Creates new instance if cached preference is not found.
|
||||
if (pref == null) {
|
||||
pref = new AnomalyAppItemPreference(mPrefContext);
|
||||
pref.setKey(prefKey);
|
||||
mPreferenceCache.put(prefKey, pref);
|
||||
if (preference == null) {
|
||||
preference = new AnomalyAppItemPreference(mPrefContext);
|
||||
preference.setKey(prefKey);
|
||||
mPreferenceCache.put(prefKey, preference);
|
||||
}
|
||||
pref.setIcon(appIcon);
|
||||
pref.setTitle(appLabel);
|
||||
pref.setOrder(prefIndex);
|
||||
pref.setSingleLineTitle(true);
|
||||
preference.setIcon(appIcon);
|
||||
preference.setTitle(appLabel);
|
||||
preference.setOrder(++preferenceOrder);
|
||||
preference.setSingleLineTitle(true);
|
||||
// Updates App item preference style
|
||||
pref.setAnomalyHint(isAnomalyBatteryDiffEntry(entry) ? mAnomalyHintString : null);
|
||||
preference.setAnomalyHint(isAnomalyBatteryDiffEntry(entry) ? mAnomalyHintString : null);
|
||||
// Sets the BatteryDiffEntry to preference for launching detailed page.
|
||||
pref.setBatteryDiffEntry(entry);
|
||||
pref.setSelectable(entry.validForRestriction());
|
||||
setPreferencePercentage(pref, entry);
|
||||
setPreferenceSummary(pref, entry);
|
||||
preference.setBatteryDiffEntry(entry);
|
||||
preference.setSelectable(entry.validForRestriction());
|
||||
setPreferencePercentage(preference, entry);
|
||||
setPreferenceSummary(preference, entry);
|
||||
if (!isAdded) {
|
||||
mAppListPreferenceGroup.addPreference(pref);
|
||||
mRootPreferenceGroup.addPreference(preference);
|
||||
}
|
||||
prefIndex++;
|
||||
}
|
||||
Log.d(
|
||||
TAG,
|
||||
@@ -424,17 +420,22 @@ public class BatteryUsageBreakdownController extends BasePreferenceController
|
||||
List<BatteryDiffEntry> entries = getBatteryDiffEntries();
|
||||
Set<String> entryKeySet = new ArraySet<>(entries.size());
|
||||
entries.forEach(entry -> entryKeySet.add(entry.getKey()));
|
||||
final int prefsCount = mAppListPreferenceGroup.getPreferenceCount();
|
||||
for (int index = prefsCount - 1; index >= 0; index--) {
|
||||
final Preference pref = mAppListPreferenceGroup.getPreference(index);
|
||||
if (entryKeySet.contains(pref.getKey())) {
|
||||
// The pref is still used, don't remove.
|
||||
final int preferenceCount = mRootPreferenceGroup.getPreferenceCount();
|
||||
for (int index = preferenceCount - 1; index >= 0; index--) {
|
||||
final Preference preference = mRootPreferenceGroup.getPreference(index);
|
||||
if ((preference instanceof SettingsSpinnerPreference)
|
||||
|| (preference instanceof FooterPreference)) {
|
||||
// Consider the app preference only and skip others
|
||||
continue;
|
||||
}
|
||||
if (!TextUtils.isEmpty(pref.getKey())) {
|
||||
mPreferenceCache.put(pref.getKey(), pref);
|
||||
if (entryKeySet.contains(preference.getKey())) {
|
||||
// Don't remove the preference if it is still in use
|
||||
continue;
|
||||
}
|
||||
mAppListPreferenceGroup.removePreference(pref);
|
||||
if (!TextUtils.isEmpty(preference.getKey())) {
|
||||
mPreferenceCache.put(preference.getKey(), preference);
|
||||
}
|
||||
mRootPreferenceGroup.removePreference(preference);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ package com.android.settings.network
|
||||
|
||||
import android.content.Context
|
||||
import android.content.pm.PackageManager
|
||||
import android.provider.Settings.Global.AIRPLANE_MODE_ON
|
||||
import android.provider.Settings
|
||||
import androidx.annotation.DrawableRes
|
||||
import com.android.settings.R
|
||||
import com.android.settingslib.datastore.SettingsGlobalStore
|
||||
@@ -27,7 +27,7 @@ import com.android.settingslib.metadata.SwitchPreference
|
||||
|
||||
// LINT.IfChange
|
||||
class AirplaneModePreference :
|
||||
SwitchPreference(AIRPLANE_MODE_ON, R.string.airplane_mode),
|
||||
SwitchPreference(KEY, R.string.airplane_mode),
|
||||
PreferenceAvailabilityProvider {
|
||||
|
||||
override val icon: Int
|
||||
@@ -38,5 +38,9 @@ class AirplaneModePreference :
|
||||
override fun isAvailable(context: Context) =
|
||||
(context.resources.getBoolean(R.bool.config_show_toggle_airplane)
|
||||
&& !context.packageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK))
|
||||
|
||||
companion object {
|
||||
const val KEY = Settings.Global.AIRPLANE_MODE_ON
|
||||
}
|
||||
}
|
||||
// LINT.ThenChange(AirplaneModePreferenceController.java)
|
||||
|
||||
@@ -15,8 +15,6 @@
|
||||
*/
|
||||
package com.android.settings.network;
|
||||
|
||||
import static android.provider.SettingsSlicesContract.KEY_AIRPLANE_MODE;
|
||||
|
||||
import static com.android.settings.network.SatelliteWarningDialogActivity.EXTRA_TYPE_OF_SATELLITE_WARNING_DIALOG;
|
||||
import static com.android.settings.network.SatelliteWarningDialogActivity.TYPE_IS_AIRPLANE_MODE;
|
||||
|
||||
@@ -95,7 +93,7 @@ public class AirplaneModePreferenceController extends TogglePreferenceController
|
||||
|
||||
@Override
|
||||
public boolean handlePreferenceTreeClick(Preference preference) {
|
||||
if (KEY_AIRPLANE_MODE.equals(preference.getKey()) && isAvailable()) {
|
||||
if (AirplaneModePreference.KEY.equals(preference.getKey()) && isAvailable()) {
|
||||
// In ECM mode launch ECM app dialog
|
||||
if (mAirplaneModeEnabler.isInEcmMode()) {
|
||||
if (mFragment != null) {
|
||||
|
||||
@@ -21,7 +21,6 @@ import android.content.Intent
|
||||
import android.os.UserManager
|
||||
import android.telephony.SubscriptionInfo
|
||||
import android.telephony.euicc.EuiccManager
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.outlined.Add
|
||||
import androidx.compose.material.icons.outlined.SimCard
|
||||
@@ -44,6 +43,7 @@ import com.android.settings.network.telephony.euicc.EuiccRepository
|
||||
import com.android.settings.network.telephony.phoneNumberFlow
|
||||
import com.android.settingslib.spa.widget.preference.PreferenceModel
|
||||
import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
|
||||
import com.android.settingslib.spa.widget.ui.Category
|
||||
import com.android.settingslib.spa.widget.ui.SettingsIcon
|
||||
import com.android.settingslib.spaprivileged.model.enterprise.Restrictions
|
||||
import com.android.settingslib.spaprivileged.template.preference.RestrictedPreference
|
||||
@@ -53,7 +53,7 @@ import kotlinx.coroutines.launch
|
||||
|
||||
@Composable
|
||||
fun SimsSection(subscriptionInfoList: List<SubscriptionInfo>) {
|
||||
Column {
|
||||
Category {
|
||||
for (subInfo in subscriptionInfoList) {
|
||||
SimPreference(subInfo)
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ import android.app.settings.SettingsEnums
|
||||
import android.content.DialogInterface
|
||||
import android.os.Bundle
|
||||
import android.os.Looper
|
||||
import android.telecom.TelecomManager
|
||||
import android.telephony.SubscriptionManager
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
@@ -89,7 +90,12 @@ class ResetNetworkConfirm : InstrumentedFragment() {
|
||||
/** Configure the UI for the final confirmation interaction */
|
||||
private fun View.establishFinalConfirmationState() {
|
||||
requireViewById<View>(R.id.execute_reset_network).setOnClickListener {
|
||||
val tm = context.getSystemService(TelecomManager::class.java)
|
||||
if (tm != null && tm.isInCall) {
|
||||
showResetInternetDialog();
|
||||
} else {
|
||||
onResetClicked()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -138,9 +144,13 @@ class ResetNetworkConfirm : InstrumentedFragment() {
|
||||
* settings to its factory-default state.
|
||||
*/
|
||||
@VisibleForTesting
|
||||
suspend fun onResetClicked() {
|
||||
fun onResetClicked() {
|
||||
if (!Utils.isMonkeyRunning() && !resetStarted) {
|
||||
resetStarted = true
|
||||
viewLifecycleOwner.lifecycleScope.launch {
|
||||
showProgressDialog()
|
||||
resetNetwork()
|
||||
resetNetwork() }
|
||||
}
|
||||
}
|
||||
|
||||
private fun showProgressDialog() {
|
||||
@@ -165,10 +175,7 @@ class ResetNetworkConfirm : InstrumentedFragment() {
|
||||
val builder = AlertDialog.Builder(requireContext())
|
||||
val resetInternetClickListener =
|
||||
DialogInterface.OnClickListener { dialog, which ->
|
||||
if (!Utils.isMonkeyRunning() && !resetStarted) {
|
||||
resetStarted = true
|
||||
viewLifecycleOwner.lifecycleScope.launch { onResetClicked() }
|
||||
}
|
||||
onResetClicked()
|
||||
}
|
||||
|
||||
builder.setTitle(R.string.reset_your_internet_title)
|
||||
|
||||
@@ -20,7 +20,6 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.app.Instrumentation;
|
||||
import android.provider.Settings;
|
||||
import android.provider.SettingsSlicesContract;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
@@ -64,7 +63,7 @@ public class AirplaneModePreferenceControllerComponentTest {
|
||||
public void test_on_off_airplane_mode_multiple_times() {
|
||||
AirplaneModePreferenceController controller =
|
||||
new AirplaneModePreferenceController(mInstrumentation.getTargetContext(),
|
||||
SettingsSlicesContract.KEY_AIRPLANE_MODE);
|
||||
AirplaneModePreference.KEY);
|
||||
|
||||
for (int i = 0; i < 10; ++i) {
|
||||
Log.d(TAG, "Test #" + (i + 1));
|
||||
|
||||
@@ -17,6 +17,7 @@ package com.android.settings.connecteddevice;
|
||||
|
||||
import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
|
||||
import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
|
||||
import static com.android.settings.flags.Flags.FLAG_DISPLAY_TOPOLOGY_PANE_IN_DISPLAY_LIST;
|
||||
import static com.android.settings.flags.Flags.FLAG_RESOLUTION_AND_ENABLE_CONNECTED_DISPLAY_SETTING;
|
||||
import static com.android.settings.flags.Flags.FLAG_ROTATION_CONNECTED_DISPLAY_SETTING;
|
||||
|
||||
@@ -128,6 +129,7 @@ public class ConnectedDeviceGroupControllerTest {
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mFakeFeatureFlags.setFlag(FLAG_DISPLAY_TOPOLOGY_PANE_IN_DISPLAY_LIST, false);
|
||||
mFakeFeatureFlags.setFlag(FLAG_ROTATION_CONNECTED_DISPLAY_SETTING, true);
|
||||
mFakeFeatureFlags.setFlag(FLAG_RESOLUTION_AND_ENABLE_CONNECTED_DISPLAY_SETTING, true);
|
||||
|
||||
|
||||
@@ -59,11 +59,12 @@ public final class BatteryUsageBreakdownControllerTest {
|
||||
private static final String PREF_KEY2 = "pref_key2";
|
||||
private static final String PREF_SUMMARY = "fake preference summary";
|
||||
private static final String KEY_SPINNER_POSITION = "spinner_position";
|
||||
private static final int ENTRY_PREF_ORDER_OFFSET = 100;
|
||||
private static final long TIME_LESS_THAN_HALF_MINUTE = DateUtils.MINUTE_IN_MILLIS / 2 - 1;
|
||||
|
||||
@Mock private InstrumentedPreferenceFragment mFragment;
|
||||
@Mock private SettingsActivity mSettingsActivity;
|
||||
@Mock private PreferenceGroup mAppListPreferenceGroup;
|
||||
@Mock private PreferenceGroup mRootPreferenceGroup;
|
||||
@Mock private Drawable mDrawable;
|
||||
@Mock private BatteryHistEntry mBatteryHistEntry;
|
||||
@Mock private AnomalyAppItemPreference mAnomalyAppItemPreference;
|
||||
@@ -90,7 +91,7 @@ public final class BatteryUsageBreakdownControllerTest {
|
||||
.when(mFeatureFactory.powerUsageFeatureProvider)
|
||||
.getHideApplicationSet();
|
||||
mBatteryUsageBreakdownController = createController();
|
||||
mBatteryUsageBreakdownController.mAppListPreferenceGroup = mAppListPreferenceGroup;
|
||||
mBatteryUsageBreakdownController.mRootPreferenceGroup = mRootPreferenceGroup;
|
||||
mBatteryDiffEntry =
|
||||
new BatteryDiffEntry(
|
||||
mContext,
|
||||
@@ -130,7 +131,7 @@ public final class BatteryUsageBreakdownControllerTest {
|
||||
BatteryDiffEntry.sResourceCache.put(
|
||||
"fakeBatteryDiffEntryKey",
|
||||
new BatteryEntry.NameAndIcon("fakeName", /* icon= */ null, /* iconId= */ 1));
|
||||
doReturn(mAnomalyAppItemPreference).when(mAppListPreferenceGroup).findPreference(PREF_KEY);
|
||||
doReturn(mAnomalyAppItemPreference).when(mRootPreferenceGroup).findPreference(PREF_KEY);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -147,7 +148,7 @@ public final class BatteryUsageBreakdownControllerTest {
|
||||
@Test
|
||||
public void onDestroy_removeAllPreferenceFromPreferenceGroup() {
|
||||
mBatteryUsageBreakdownController.onDestroy();
|
||||
verify(mAppListPreferenceGroup).removeAll();
|
||||
verify(mRootPreferenceGroup).removeAll();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -162,11 +163,11 @@ public final class BatteryUsageBreakdownControllerTest {
|
||||
@Test
|
||||
public void addAllPreferences_addAllPreferences() {
|
||||
final String appLabel = "fake app label";
|
||||
doReturn(1).when(mAppListPreferenceGroup).getPreferenceCount();
|
||||
doReturn(1).when(mRootPreferenceGroup).getPreferenceCount();
|
||||
doReturn(mDrawable).when(mBatteryDiffEntry).getAppIcon();
|
||||
doReturn(appLabel).when(mBatteryDiffEntry).getAppLabel();
|
||||
doReturn(PREF_KEY).when(mBatteryDiffEntry).getKey();
|
||||
doReturn(null).when(mAppListPreferenceGroup).findPreference(PREF_KEY);
|
||||
doReturn(null).when(mRootPreferenceGroup).findPreference(PREF_KEY);
|
||||
doReturn(false).when(mBatteryDiffEntry).validForRestriction();
|
||||
|
||||
mBatteryUsageBreakdownController.addAllPreferences();
|
||||
@@ -177,11 +178,11 @@ public final class BatteryUsageBreakdownControllerTest {
|
||||
mBatteryUsageBreakdownController.mPreferenceCache.get(PREF_KEY);
|
||||
assertThat(pref).isNotNull();
|
||||
// Verifies the added preference configuration.
|
||||
verify(mAppListPreferenceGroup).addPreference(pref);
|
||||
verify(mRootPreferenceGroup).addPreference(pref);
|
||||
assertThat(pref.getKey()).isEqualTo(PREF_KEY);
|
||||
assertThat(pref.getTitle().toString()).isEqualTo(appLabel);
|
||||
assertThat(pref.getIcon()).isEqualTo(mDrawable);
|
||||
assertThat(pref.getOrder()).isEqualTo(1);
|
||||
assertThat(pref.getOrder()).isEqualTo(ENTRY_PREF_ORDER_OFFSET + 1);
|
||||
assertThat(pref.getBatteryDiffEntry()).isSameInstanceAs(mBatteryDiffEntry);
|
||||
assertThat(pref.isSingleLineTitle()).isTrue();
|
||||
assertThat(pref.isSelectable()).isFalse();
|
||||
@@ -190,20 +191,20 @@ public final class BatteryUsageBreakdownControllerTest {
|
||||
@Test
|
||||
public void addPreferenceToScreen_alreadyInScreen_notAddPreferenceAgain() {
|
||||
final String appLabel = "fake app label";
|
||||
doReturn(1).when(mAppListPreferenceGroup).getPreferenceCount();
|
||||
doReturn(1).when(mRootPreferenceGroup).getPreferenceCount();
|
||||
doReturn(mDrawable).when(mBatteryDiffEntry).getAppIcon();
|
||||
doReturn(appLabel).when(mBatteryDiffEntry).getAppLabel();
|
||||
doReturn(PREF_KEY).when(mBatteryDiffEntry).getKey();
|
||||
|
||||
mBatteryUsageBreakdownController.addAllPreferences();
|
||||
|
||||
verify(mAppListPreferenceGroup, never()).addPreference(any());
|
||||
verify(mRootPreferenceGroup, never()).addPreference(any());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void removeAndCacheAllUnusedPreferences_removePref_buildCacheAndRemoveAllPreference() {
|
||||
doReturn(1).when(mAppListPreferenceGroup).getPreferenceCount();
|
||||
doReturn(mAnomalyAppItemPreference).when(mAppListPreferenceGroup).getPreference(0);
|
||||
doReturn(1).when(mRootPreferenceGroup).getPreferenceCount();
|
||||
doReturn(mAnomalyAppItemPreference).when(mRootPreferenceGroup).getPreference(0);
|
||||
doReturn(PREF_KEY2).when(mBatteryHistEntry).getKey();
|
||||
doReturn(PREF_KEY).when(mAnomalyAppItemPreference).getKey();
|
||||
// Ensures the testing data is correct.
|
||||
@@ -213,13 +214,13 @@ public final class BatteryUsageBreakdownControllerTest {
|
||||
|
||||
assertThat(mBatteryUsageBreakdownController.mPreferenceCache.get(PREF_KEY))
|
||||
.isEqualTo(mAnomalyAppItemPreference);
|
||||
verify(mAppListPreferenceGroup).removePreference(mAnomalyAppItemPreference);
|
||||
verify(mRootPreferenceGroup).removePreference(mAnomalyAppItemPreference);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void removeAndCacheAllUnusedPreferences_keepPref_KeepAllPreference() {
|
||||
doReturn(1).when(mAppListPreferenceGroup).getPreferenceCount();
|
||||
doReturn(mAnomalyAppItemPreference).when(mAppListPreferenceGroup).getPreference(0);
|
||||
doReturn(1).when(mRootPreferenceGroup).getPreferenceCount();
|
||||
doReturn(mAnomalyAppItemPreference).when(mRootPreferenceGroup).getPreference(0);
|
||||
doReturn(PREF_KEY).when(mBatteryDiffEntry).getKey();
|
||||
doReturn(PREF_KEY).when(mAnomalyAppItemPreference).getKey();
|
||||
// Ensures the testing data is correct.
|
||||
@@ -227,15 +228,13 @@ public final class BatteryUsageBreakdownControllerTest {
|
||||
|
||||
mBatteryUsageBreakdownController.removeAndCacheAllUnusedPreferences();
|
||||
|
||||
verify(mAppListPreferenceGroup, never()).removePreference(any());
|
||||
verify(mRootPreferenceGroup, never()).removePreference(any());
|
||||
assertThat(mBatteryUsageBreakdownController.mPreferenceCache).isEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void handlePreferenceTreeClick_notPowerGaugePreference_returnFalse() {
|
||||
assertThat(
|
||||
mBatteryUsageBreakdownController.handlePreferenceTreeClick(
|
||||
mAppListPreferenceGroup))
|
||||
assertThat(mBatteryUsageBreakdownController.handlePreferenceTreeClick(mRootPreferenceGroup))
|
||||
.isFalse();
|
||||
|
||||
verify(mMetricsFeatureProvider, never())
|
||||
|
||||
@@ -16,8 +16,9 @@
|
||||
package com.android.settings.connecteddevice.display;
|
||||
|
||||
import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.VIRTUAL_DISPLAY_PACKAGE_NAME_SYSTEM_PROPERTY;
|
||||
import static com.android.settings.flags.Flags.FLAG_ROTATION_CONNECTED_DISPLAY_SETTING;
|
||||
import static com.android.settings.flags.Flags.FLAG_DISPLAY_TOPOLOGY_PANE_IN_DISPLAY_LIST;
|
||||
import static com.android.settings.flags.Flags.FLAG_RESOLUTION_AND_ENABLE_CONNECTED_DISPLAY_SETTING;
|
||||
import static com.android.settings.flags.Flags.FLAG_ROTATION_CONNECTED_DISPLAY_SETTING;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
@@ -74,6 +75,7 @@ public class ExternalDisplayTestBase {
|
||||
mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
|
||||
doReturn(0).when(mMockedIDisplayManager).getPreferredWideGamutColorSpaceId();
|
||||
mDisplayManagerGlobal = new DisplayManagerGlobal(mMockedIDisplayManager);
|
||||
mFlags.setFlag(FLAG_DISPLAY_TOPOLOGY_PANE_IN_DISPLAY_LIST, false);
|
||||
mFlags.setFlag(FLAG_ROTATION_CONNECTED_DISPLAY_SETTING, true);
|
||||
mFlags.setFlag(FLAG_RESOLUTION_AND_ENABLE_CONNECTED_DISPLAY_SETTING, true);
|
||||
mDisplays = new Display[] {
|
||||
|
||||
@@ -16,8 +16,6 @@
|
||||
|
||||
package com.android.settings.network;
|
||||
|
||||
import static android.provider.SettingsSlicesContract.KEY_AIRPLANE_MODE;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
@@ -78,12 +76,12 @@ public class AirplaneModePreferenceControllerTest {
|
||||
mResolver = mContext.getContentResolver();
|
||||
doReturn(mPackageManager).when(mContext).getPackageManager();
|
||||
mController = new AirplaneModePreferenceController(mContext,
|
||||
KEY_AIRPLANE_MODE);
|
||||
AirplaneModePreference.KEY);
|
||||
|
||||
mPreferenceManager = new PreferenceManager(mContext);
|
||||
mScreen = mPreferenceManager.createPreferenceScreen(mContext);
|
||||
mPreference = new RestrictedSwitchPreference(mContext);
|
||||
mPreference.setKey(KEY_AIRPLANE_MODE);
|
||||
mPreference.setKey(AirplaneModePreference.KEY);
|
||||
mScreen.addPreference(mPreference);
|
||||
mController.setFragment(null);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user