Merge "Remove error slice from Settings in rendering time" into qt-dev
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 9c24dd3..be86b86 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2791,7 +2791,7 @@
<!-- Display settings screen, display white balance settings title [CHAR LIMIT=30] -->
<string name="display_white_balance_title">Display white balance</string>
<!-- Display settings screen, setting option name to enable adaptive sleep [CHAR LIMIT=30] -->
- <string name="adaptive_sleep_title">Screen aware</string>
+ <string name="adaptive_sleep_title">Screen attention</string>
<!-- Setting option summary when adaptive sleep is on [CHAR LIMIT=NONE] -->
<string name="adaptive_sleep_summary_on">On / Screen won’t turn off if you’re looking at it</string>
<!-- Setting option summary when adaptive sleep is off [CHAR LIMIT=NONE] -->
@@ -2799,7 +2799,7 @@
<!-- Description about the feature adaptive sleep [CHAR LIMIT=NONE]-->
<string name="adaptive_sleep_description">Prevents your screen from turning off if you’re looking at it.</string>
<!-- Description feature's privacy sensitive details to make sure users understand what feature users, what it saves/sends etc [CHAR LIMIT=NONE]-->
- <string name="adaptive_sleep_privacy">Screen aware uses the front camera to see if someone is looking at the screen. It works on device, and images are never stored or sent to Google.</string>
+ <string name="adaptive_sleep_privacy">Screen attention uses the front camera to see if someone is looking at the screen. It works on device, and images are never stored or sent to Google.</string>
<!-- Night display screen, setting option name to enable night display (renamed "Night Light" with title caps). [CHAR LIMIT=30] -->
@@ -5329,11 +5329,11 @@
<!-- Summary for the battery high usage tip, which presents battery may run out earlier [CHAR LIMIT=NONE] -->
<string name="battery_tip_high_usage_summary">Battery may run out earlier than usual</string>
<!-- Message for battery tip dialog to show the status about the battery [CHAR LIMIT=NONE] -->
- <string name="battery_tip_dialog_message" product="default">Your phone has been used more than usual. Your battery may run out sooner than expected.\n\nMost used apps since full charge:</string>
+ <string name="battery_tip_dialog_message" product="default">Your phone has been used more than usual. Your battery may run out sooner than expected.\n\nTop apps by battery usage:</string>
<!-- Message for battery tip dialog to show the status about the battery [CHAR LIMIT=NONE] -->
- <string name="battery_tip_dialog_message" product="tablet">Your tablet has been used more than usual. Your battery may run out sooner than expected.\n\nMost used apps since full charge:</string>
+ <string name="battery_tip_dialog_message" product="tablet">Your tablet has been used more than usual. Your battery may run out sooner than expected.\n\nTop apps by battery usage:</string>
<!-- Message for battery tip dialog to show the status about the battery [CHAR LIMIT=NONE] -->
- <string name="battery_tip_dialog_message" product="device">Your device has been used more than usual. Your battery may run out sooner than expected.\n\nMost used apps since full charge:</string>
+ <string name="battery_tip_dialog_message" product="device">Your device has been used more than usual. Your battery may run out sooner than expected.\n\nTop apps by battery usage:</string>
<!-- Footer message for battery tip dialog to show the status about the battery [CHAR LIMIT=NONE] -->
<string name="battery_tip_dialog_message_footer">Includes high-power background activity</string>
<!-- Title for restricted app preference, showing how many app need to be restricted [CHAR LIMIT=NONE] -->
@@ -11025,12 +11025,12 @@
<!-- Message for forget passpoint dialog [CHAR LIMIT=none] -->
<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 / Smart Suggestions feature [CHAR_LIMIT=none] -->
- <string name="keywords_content_capture">content capture, smart suggestions</string>
+ <!-- Keywords for Content Capture feature [CHAR_LIMIT=none] -->
+ <string name="keywords_content_capture">content capture</string>
<!-- Title of the 'Content Capture' feature toggle in the Settings -> Privacy screen [CHAR LIMIT=none]-->
- <string name="content_capture">Smart Suggestions</string>
- <!-- Description of the 'Content Capture / Smart Suggestions' 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>
+ <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 apps to send content to the Android system</string>
<!-- Title for the button to initiate a heap dump for the system server. [CHAR LIMIT=NONE] -->
<string name="capture_system_heap_dump_title">Capture system heap dump</string>
diff --git a/res/values/themes_suw.xml b/res/values/themes_suw.xml
index 9bb67cf..0df6991 100644
--- a/res/values/themes_suw.xml
+++ b/res/values/themes_suw.xml
@@ -191,12 +191,14 @@
</style>
<style name="SuwAlertDialogThemeCompat" parent="@style/Theme.AppCompat.Dialog.Alert">
+ <item name="android:windowSoftInputMode">adjustResize</item>
<!-- copied from Theme.DeviceDefault.Light.Dialog.Alert -->
<item name="colorAccent">@*android:color/accent_device_default_light</item>
<item name="dialogCornerRadius">@*android:dimen/config_dialogCornerRadius</item>
</style>
<style name="SuwAlertDialogThemeCompat.Light" parent="@style/Theme.AppCompat.Light.Dialog.Alert">
+ <item name="android:windowSoftInputMode">adjustResize</item>
<!-- copied from Theme.DeviceDefault.Light.Dialog.Alert -->
<item name="colorAccent">@*android:color/accent_device_default_light</item>
<item name="dialogCornerRadius">@*android:dimen/config_dialogCornerRadius</item>
diff --git a/res/xml/sound_settings.xml b/res/xml/sound_settings.xml
index e610df2..d99cc00 100644
--- a/res/xml/sound_settings.xml
+++ b/res/xml/sound_settings.xml
@@ -103,7 +103,7 @@
settings:useAdminDisabledSummary="true"
settings:keywords="@string/keywords_sounds_and_notifications_interruptions"
settings:allowDividerAbove="true"
- settings:controller="com.android.settings.notification.ZenModeSoundSettingsPreferenceController"/>
+ settings:controller="com.android.settings.notification.ZenModePreferenceController"/>
<Preference
android:key="gesture_prevent_ringing_sound"
diff --git a/res/xml/zen_mode_settings.xml b/res/xml/zen_mode_settings.xml
index 832150a..320a37c 100644
--- a/res/xml/zen_mode_settings.xml
+++ b/res/xml/zen_mode_settings.xml
@@ -20,7 +20,7 @@
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:key="zen_mode_settings"
android:title="@string/zen_mode_settings_title"
- settings:keywords="@string/keywords_zen_mode_settings">
+ settings:searchable="false">
<PreferenceCategory
android:key="zen_mode_settings_category_behavior"
@@ -66,11 +66,13 @@
<!-- Turn on DND button -->
<com.android.settingslib.widget.LayoutPreference
- android:key="zen_mode_settings_button_container"
+ android:key="zen_mode_toggle"
+ android:title="@string/zen_mode_settings_title"
android:selectable="false"
android:layout="@layout/zen_mode_settings_button"
settings:allowDividerAbove="true"
- settings:allowDividerBelow="true"/>
+ settings:allowDividerBelow="true"
+ settings:keywords="@string/keywords_zen_mode_settings"/>
<!-- Footer that shows if user is put into alarms only or total silence mode by an app -->
<com.android.settingslib.widget.FooterPreference/>
diff --git a/src/com/android/settings/fuelgauge/batterytip/HighUsageAdapter.java b/src/com/android/settings/fuelgauge/batterytip/HighUsageAdapter.java
index d832640..cd79ea0 100644
--- a/src/com/android/settings/fuelgauge/batterytip/HighUsageAdapter.java
+++ b/src/com/android/settings/fuelgauge/batterytip/HighUsageAdapter.java
@@ -79,9 +79,6 @@
Utils.getBadgedIcon(mIconDrawableFactory, mPackageManager, app.packageName,
UserHandle.getUserId(app.uid)));
holder.appName.setText(Utils.getApplicationLabel(mContext, app.packageName));
- if (app.screenOnTimeMs != 0) {
- holder.appTime.setText(StringUtil.formatElapsedTime(mContext, app.screenOnTimeMs, false));
- }
}
@Override
diff --git a/src/com/android/settings/notification/VolumeSeekBarPreference.java b/src/com/android/settings/notification/VolumeSeekBarPreference.java
index 7f36791..92b3cae 100644
--- a/src/com/android/settings/notification/VolumeSeekBarPreference.java
+++ b/src/com/android/settings/notification/VolumeSeekBarPreference.java
@@ -80,11 +80,6 @@
mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
}
- @Override
- public boolean isSelectable() {
- return false;
- }
-
public void setStream(int stream) {
mStream = stream;
setMax(mAudioManager.getStreamMaxVolume(mStream));
diff --git a/src/com/android/settings/notification/ZenModeButtonPreferenceController.java b/src/com/android/settings/notification/ZenModeButtonPreferenceController.java
index 4829a28..3a9bcb7 100644
--- a/src/com/android/settings/notification/ZenModeButtonPreferenceController.java
+++ b/src/com/android/settings/notification/ZenModeButtonPreferenceController.java
@@ -33,11 +33,12 @@
public class ZenModeButtonPreferenceController extends AbstractZenModePreferenceController
implements PreferenceControllerMixin {
+ public static final String KEY = "zen_mode_toggle";
+
private static final String TAG = "EnableZenModeButton";
- protected static final String KEY = "zen_mode_settings_button_container";
+ private final FragmentManager mFragment;
private Button mZenButtonOn;
private Button mZenButtonOff;
- private FragmentManager mFragment;
public ZenModeButtonPreferenceController(Context context, Lifecycle lifecycle, FragmentManager
fragment) {
@@ -60,13 +61,13 @@
super.updateState(preference);
if (null == mZenButtonOn) {
- mZenButtonOn = (Button) ((LayoutPreference) preference)
+ mZenButtonOn = ((LayoutPreference) preference)
.findViewById(R.id.zen_mode_settings_turn_on_button);
updateZenButtonOnClickListener();
}
if (null == mZenButtonOff) {
- mZenButtonOff = (Button) ((LayoutPreference) preference)
+ mZenButtonOff = ((LayoutPreference) preference)
.findViewById(R.id.zen_mode_settings_turn_off_button);
mZenButtonOff.setOnClickListener(v -> {
mMetricsFeatureProvider.action(mContext,
diff --git a/src/com/android/settings/notification/ZenModeSettings.java b/src/com/android/settings/notification/ZenModeSettings.java
index 9360a33..f35c649 100644
--- a/src/com/android/settings/notification/ZenModeSettings.java
+++ b/src/com/android/settings/notification/ZenModeSettings.java
@@ -328,7 +328,6 @@
public List<String> getNonIndexableKeys(Context context) {
List<String> keys = super.getNonIndexableKeys(context);
keys.add(ZenModeDurationPreferenceController.KEY);
- keys.add(ZenModeButtonPreferenceController.KEY);
return keys;
}
diff --git a/src/com/android/settings/notification/ZenModeSliceBuilder.java b/src/com/android/settings/notification/ZenModeSliceBuilder.java
index e8b181a..9e88cea 100644
--- a/src/com/android/settings/notification/ZenModeSliceBuilder.java
+++ b/src/com/android/settings/notification/ZenModeSliceBuilder.java
@@ -18,8 +18,6 @@
import static android.app.slice.Slice.EXTRA_TOGGLE_STATE;
-import static com.android.settings.notification.ZenModeSoundSettingsPreferenceController.ZEN_MODE_KEY;
-
import android.annotation.ColorInt;
import android.app.NotificationManager;
import android.app.PendingIntent;
@@ -47,6 +45,8 @@
private static final String TAG = "ZenModeSliceBuilder";
+ private static final String ZEN_MODE_SLICE_KEY = ZenModeButtonPreferenceController.KEY;
+
/**
* Action notifying a change on the Zen Mode Slice.
*/
@@ -78,7 +78,8 @@
final PendingIntent primaryAction = getPrimaryAction(context);
final SliceAction primarySliceAction = SliceAction.createDeeplink(primaryAction,
(IconCompat) null /* icon */, ListBuilder.ICON_IMAGE, title);
- final SliceAction toggleSliceAction = SliceAction.createToggle(toggleAction, null /* actionTitle */,
+ final SliceAction toggleSliceAction = SliceAction.createToggle(toggleAction,
+ null /* actionTitle */,
isZenModeEnabled);
return new ListBuilder(context, CustomSliceRegistry.ZEN_MODE_SLICE_URI,
@@ -110,10 +111,10 @@
}
public static Intent getIntent(Context context) {
- final Uri contentUri = new Uri.Builder().appendPath(ZEN_MODE_KEY).build();
+ final Uri contentUri = new Uri.Builder().appendPath(ZEN_MODE_SLICE_KEY).build();
final String screenTitle = context.getText(R.string.zen_mode_settings_title).toString();
return SliceBuilderUtils.buildSearchResultPageIntent(context,
- ZenModeSettings.class.getName(), ZEN_MODE_KEY, screenTitle,
+ ZenModeSettings.class.getName(), ZEN_MODE_SLICE_KEY, screenTitle,
SettingsEnums.NOTIFICATION_ZEN_MODE)
.setClassName(context.getPackageName(), SubSettings.class.getName())
.setData(contentUri);
diff --git a/src/com/android/settings/notification/ZenModeSoundSettingsPreferenceController.java b/src/com/android/settings/notification/ZenModeSoundSettingsPreferenceController.java
deleted file mode 100644
index 842c49d..0000000
--- a/src/com/android/settings/notification/ZenModeSoundSettingsPreferenceController.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * 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.notification;
-
-import android.content.Context;
-
-public class ZenModeSoundSettingsPreferenceController extends ZenModePreferenceController {
-
- public static final String ZEN_MODE_KEY = "zen_mode";
-
- public ZenModeSoundSettingsPreferenceController(Context context, String key) {
- super(context, key);
- }
-
- @Override
- public int getAvailabilityStatus() {
- return AVAILABLE;
- }
-}
diff --git a/src/com/android/settings/slices/CustomSliceRegistry.java b/src/com/android/settings/slices/CustomSliceRegistry.java
index e400815..dc3324b 100644
--- a/src/com/android/settings/slices/CustomSliceRegistry.java
+++ b/src/com/android/settings/slices/CustomSliceRegistry.java
@@ -19,8 +19,6 @@
import static android.provider.SettingsSlicesContract.KEY_LOCATION;
import static android.provider.SettingsSlicesContract.KEY_WIFI;
-import static com.android.settings.notification.ZenModeSoundSettingsPreferenceController.ZEN_MODE_KEY;
-
import android.content.ContentResolver;
import android.net.Uri;
import android.provider.SettingsSlicesContract;
@@ -43,6 +41,7 @@
import com.android.settings.media.MediaOutputIndicatorSlice;
import com.android.settings.media.MediaOutputSlice;
import com.android.settings.network.telephony.MobileDataSlice;
+import com.android.settings.notification.ZenModeButtonPreferenceController;
import com.android.settings.wifi.calling.WifiCallingSliceHelper;
import com.android.settings.wifi.slice.ContextualWifiSlice;
import com.android.settings.wifi.slice.WifiSlice;
@@ -298,7 +297,7 @@
.scheme(ContentResolver.SCHEME_CONTENT)
.authority(SettingsSliceProvider.SLICE_AUTHORITY)
.appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
- .appendPath(ZEN_MODE_KEY)
+ .appendPath(ZenModeButtonPreferenceController.KEY)
.build();
/**
diff --git a/src/com/android/settings/widget/SeekBarPreference.java b/src/com/android/settings/widget/SeekBarPreference.java
index f4d2aac..44def11 100644
--- a/src/com/android/settings/widget/SeekBarPreference.java
+++ b/src/com/android/settings/widget/SeekBarPreference.java
@@ -93,7 +93,7 @@
@Override
public boolean isSelectable() {
- return false;
+ return isDisabledByAdmin();
}
@Override
diff --git a/src/com/android/settings/wifi/WifiDialog.java b/src/com/android/settings/wifi/WifiDialog.java
index fbea824..875f35d 100644
--- a/src/com/android/settings/wifi/WifiDialog.java
+++ b/src/com/android/settings/wifi/WifiDialog.java
@@ -16,6 +16,7 @@
package com.android.settings.wifi;
+import android.annotation.StyleRes;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
@@ -64,11 +65,21 @@
public static WifiDialog createModal(Context context, WifiDialogListener listener,
AccessPoint accessPoint, int mode) {
return new WifiDialog(context, listener, accessPoint, mode, 0 /* style */,
- mode == WifiConfigUiBase.MODE_VIEW /* hideSubmitButton*/);
+ mode == WifiConfigUiBase.MODE_VIEW /* hideSubmitButton */);
+ }
+
+ /**
+ * Creates a WifiDialog with customized style. It displays as a dialog above the current
+ * view.
+ */
+ public static WifiDialog createModal(Context context, WifiDialogListener listener,
+ AccessPoint accessPoint, int mode, @StyleRes int style) {
+ return new WifiDialog(context, listener, accessPoint, mode, style,
+ mode == WifiConfigUiBase.MODE_VIEW /* hideSubmitButton */);
}
/* package */ WifiDialog(Context context, WifiDialogListener listener, AccessPoint accessPoint,
- int mode, int style, boolean hideSubmitButton) {
+ int mode, @StyleRes int style, boolean hideSubmitButton) {
super(context, style);
mMode = mode;
mListener = listener;
diff --git a/src/com/android/settings/wifi/WifiDialogActivity.java b/src/com/android/settings/wifi/WifiDialogActivity.java
index 35de66e..8268ecc 100644
--- a/src/com/android/settings/wifi/WifiDialogActivity.java
+++ b/src/com/android/settings/wifi/WifiDialogActivity.java
@@ -28,6 +28,7 @@
import androidx.annotation.VisibleForTesting;
+import com.android.settings.R;
import com.android.settings.SetupWizardUtils;
import com.android.settings.wifi.dpp.WifiDppUtils;
import com.android.settingslib.wifi.AccessPoint;
@@ -74,8 +75,13 @@
accessPoint = new AccessPoint(this, accessPointState);
}
- mDialog = WifiDialog.createModal(
- this, this, accessPoint, WifiConfigUiBase.MODE_CONNECT);
+ if (WizardManagerHelper.isAnySetupWizard(getIntent())) {
+ mDialog = WifiDialog.createModal(this, this, accessPoint,
+ WifiConfigUiBase.MODE_CONNECT, R.style.SuwAlertDialogThemeCompat_Light);
+ } else {
+ mDialog = WifiDialog.createModal(
+ this, this, accessPoint, WifiConfigUiBase.MODE_CONNECT);
+ }
mDialog.show();
mDialog.setOnDismissListener(this);
}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeSoundSettingsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeSoundSettingsPreferenceControllerTest.java
deleted file mode 100644
index a08a4d7..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeSoundSettingsPreferenceControllerTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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.notification;
-
-import static com.android.settings.core.BasePreferenceController.AVAILABLE;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.content.Context;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeSoundSettingsPreferenceControllerTest {
-
- private Context mContext;
- private ZenModeSoundSettingsPreferenceController mController;
- private static final String KEY_ZEN_MODE = "zen_mode";
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
- mContext = RuntimeEnvironment.application;
- mController = new ZenModeSoundSettingsPreferenceController(mContext, KEY_ZEN_MODE);
- }
-
- @Test
- public void getAvailabilityStatus_available() {
- assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
- }
-}
diff --git a/tests/robotests/src/com/android/settings/widget/SeekBarPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/SeekBarPreferenceTest.java
index a675e02..0a1d5d8 100644
--- a/tests/robotests/src/com/android/settings/widget/SeekBarPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/widget/SeekBarPreferenceTest.java
@@ -18,12 +18,16 @@
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
import android.content.Context;
import android.os.Parcelable;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
@@ -39,9 +43,10 @@
@Before
public void setUp() {
+ MockitoAnnotations.initMocks(this);
mContext = RuntimeEnvironment.application;
- mSeekBarPreference = new SeekBarPreference(mContext);
+ mSeekBarPreference = spy(new SeekBarPreference(mContext));
mSeekBarPreference.setMax(MAX);
mSeekBarPreference.setMin(MIN);
mSeekBarPreference.setProgress(PROGRESS);
@@ -59,4 +64,18 @@
assertThat(preference.getMin()).isEqualTo(MIN);
assertThat(preference.getProgress()).isEqualTo(PROGRESS);
}
+
+ @Test
+ public void isSelectable_disabledByAdmin_returnTrue() {
+ when(mSeekBarPreference.isDisabledByAdmin()).thenReturn(true);
+
+ assertThat(mSeekBarPreference.isSelectable()).isTrue();
+ }
+
+ @Test
+ public void isSelectable_notDisabledByAdmin_returnFalse() {
+ when(mSeekBarPreference.isDisabledByAdmin()).thenReturn(false);
+
+ assertThat(mSeekBarPreference.isSelectable()).isFalse();
+ }
}
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java b/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java
index d7f8ef8..41d1bbe 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java
@@ -23,10 +23,13 @@
import android.content.Intent;
import android.net.wifi.WifiConfiguration;
+import com.android.settings.R;
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
import com.android.settings.testutils.shadow.ShadowWifiManager;
+import com.google.android.setupcompat.util.WizardManagerHelper;
+
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -72,7 +75,7 @@
}
@Test
- public void onSubmit_shouldNotConnectToNetwork_whenConnectForCallerIsFalse() {
+ public void onSubmit_whenConnectForCallerIsFalse_shouldNotConnectToNetwork() {
WifiDialogActivity activity =
Robolectric.buildActivity(
WifiDialogActivity.class,
@@ -88,4 +91,24 @@
assertThat(ShadowWifiManager.get().savedWifiConfig).isNull();
}
+
+ @Test
+ public void onSubmit_whenLaunchInSetupFlow_shouldBeLightThemeForWifiDialog() {
+ WifiDialogActivity activity =
+ Robolectric.buildActivity(
+ WifiDialogActivity.class,
+ new Intent()
+ .putExtra(WifiDialogActivity.KEY_CONNECT_FOR_CALLER, false)
+ .putExtra(WizardManagerHelper.EXTRA_IS_FIRST_RUN, true)
+ .putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, true))
+ .setup().get();
+ WifiDialog dialog = (WifiDialog) ShadowAlertDialogCompat.getLatestAlertDialog();
+
+ assertThat(dialog).isNotNull();
+
+ activity.onSubmit(dialog);
+
+ assertThat(dialog.getContext().getThemeResId())
+ .isEqualTo(R.style.SuwAlertDialogThemeCompat_Light);
+ }
}
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiDialogTest.java b/tests/robotests/src/com/android/settings/wifi/WifiDialogTest.java
index 4ce29aa..ed9b851 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiDialogTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiDialogTest.java
@@ -4,6 +4,7 @@
import android.content.Context;
+import com.android.settings.R;
import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
import com.android.settings.wifi.WifiDialog.WifiDialogListener;
import com.android.settingslib.wifi.AccessPoint;
@@ -41,4 +42,16 @@
assertThat(modal.getContext().getThemeResId())
.isEqualTo(wifiDialog.getContext().getThemeResId());
}
+
+ @Test
+ public void createModal_whenSetTheme_shouldBeCustomizedTheme() {
+ WifiDialog modal = WifiDialog.createModal(mContext, mListener, mockAccessPoint,
+ WifiConfigUiBase.MODE_CONNECT, R.style.SuwAlertDialogThemeCompat_Light);
+
+ WifiDialog wifiDialog = new WifiDialog(mContext, mListener, mockAccessPoint,
+ WifiConfigUiBase.MODE_CONNECT, R.style.SuwAlertDialogThemeCompat_Light,
+ false /* hideSubmitButton */);
+ assertThat(modal.getContext().getThemeResId())
+ .isEqualTo(wifiDialog.getContext().getThemeResId());
+ }
}