Snap for 8107456 from 7dd97c7091 to tm-release
Change-Id: I2dbf9382e47e7fc6ed64a05de8c0ed0309af3360
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2022 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.
|
||||
-->
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/subject"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/accessibility_text_reading_preview_mail_subject"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/from"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="16dp"
|
||||
android:paddingTop="11dp"
|
||||
android:text="@string/accessibility_text_reading_preview_mail_from"
|
||||
android:textColor="?android:attr/textColorSecondary" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/accessibility_text_reading_preview_mail_content"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium" />
|
||||
</LinearLayout>
|
||||
@@ -5216,6 +5216,12 @@
|
||||
<string name="accessibility_introduction_title">About <xliff:g id="service" example="Select to Speak">%1$s</xliff:g></string>
|
||||
<!-- Title for the accessibility preference to adjust the display size, font size, bold text, and high contrast text features. [CHAR LIMIT=NONE] -->
|
||||
<string name="accessibility_text_reading_options_title">Text and reading options</string>
|
||||
<!-- Subject for the mail content of the accessibility text reading preview. [CHAR LIMIT=NONE] -->
|
||||
<string name="accessibility_text_reading_preview_mail_subject">Email: Plans for time machine, v2</string>
|
||||
<!-- Message for the mail content of the accessibility text reading preview. [CHAR LIMIT=NONE] -->
|
||||
<string name="accessibility_text_reading_preview_mail_from">From: bill@email.com</string>
|
||||
<!-- Content for the mail content of the accessibility text reading preview. [CHAR LIMIT=NONE] -->
|
||||
<string name="accessibility_text_reading_preview_mail_content">Good morning! Following up on our last conversation, I’d like to check in on the progress of your time machine development plan. Will you be able to have a prototype ready to demo at E3 this year?</string>
|
||||
<!-- Title for the footer text to explain what option accessibility service does. [CHAR LIMIT=35] -->
|
||||
<string name="accessibility_screen_option">Options</string>
|
||||
<!-- Summary for the accessibility preference to enable screen magnification. [CHAR LIMIT=25] -->
|
||||
@@ -5481,6 +5487,8 @@
|
||||
<string name="accessibility_service_primary_open_title">Open <xliff:g id="accessibility_app_name" example="TalkBack">%1$s</xliff:g></string>
|
||||
<!-- Used in the accessibility service settings to show quick settings tooltips. [CHAR LIMIT=NONE] -->
|
||||
<string name="accessibility_service_quick_settings_tooltips_content">Swipe down to quickly turn <xliff:g id="accessibility_app_name" example="TalkBack">%1$s</xliff:g> on or off in quick settings</string>
|
||||
<!-- Used in the accessibility action for accessibility quick settings tooltips to dismiss. [CHAR LIMIT=NONE] -->
|
||||
<string name="accessibility_quick_settings_tooltips_dismiss">Dismiss</string>
|
||||
<!-- Used in the Color correction settings screen to control turning on/off the feature entirely [CHAR LIMIT=60] -->
|
||||
<string name="accessibility_daltonizer_primary_switch_title">Use color correction</string>
|
||||
<!-- Title for accessibility shortcut preference for color correction. [CHAR LIMIT=60] -->
|
||||
|
||||
@@ -19,10 +19,14 @@ package com.android.settings.accessibility;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.View.AccessibilityDelegate;
|
||||
import android.view.accessibility.AccessibilityNodeInfo;
|
||||
import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.PopupWindow;
|
||||
import android.widget.TextView;
|
||||
@@ -49,6 +53,25 @@ public class AccessibilityQuickSettingsTooltipWindow extends PopupWindow {
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
private final AccessibilityDelegate mAccessibilityDelegate = new AccessibilityDelegate() {
|
||||
@Override
|
||||
public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
|
||||
super.onInitializeAccessibilityNodeInfo(host, info);
|
||||
final AccessibilityAction clickAction = new AccessibilityAction(
|
||||
AccessibilityNodeInfo.ACTION_CLICK,
|
||||
mContext.getString(R.string.accessibility_quick_settings_tooltips_dismiss));
|
||||
info.addAction(clickAction);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean performAccessibilityAction(View host, int action, Bundle args) {
|
||||
if (action == AccessibilityNodeInfo.ACTION_CLICK) {
|
||||
dismiss();
|
||||
return true;
|
||||
}
|
||||
return super.performAccessibilityAction(host, action, args);
|
||||
}
|
||||
};
|
||||
/**
|
||||
* Sets up {@link #AccessibilityQuickSettingsTooltipWindow}'s layout and content.
|
||||
*
|
||||
@@ -74,13 +97,16 @@ public class AccessibilityQuickSettingsTooltipWindow extends PopupWindow {
|
||||
final LayoutInflater inflater = mContext.getSystemService(LayoutInflater.class);
|
||||
final View popupView =
|
||||
inflater.inflate(R.layout.accessibility_qs_tooltips, /* root= */ null);
|
||||
popupView.setFocusable(/* focusable= */ true);
|
||||
popupView.setAccessibilityDelegate(mAccessibilityDelegate);
|
||||
setContentView(popupView);
|
||||
|
||||
final TextView textView = getContentView().findViewById(R.id.qs_content);
|
||||
textView.setText(text);
|
||||
|
||||
setWidth(getWindowWidthWith(textView));
|
||||
setHeight(LinearLayout.LayoutParams.WRAP_CONTENT);
|
||||
setFocusable(/* focusable= */ true);
|
||||
setOutsideTouchable(/* touchable= */ true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -17,6 +17,12 @@
|
||||
package com.android.settings.connecteddevice;
|
||||
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.UserInfo;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
@@ -54,5 +60,16 @@ public class NfcAndPaymentFragment extends DashboardFragment {
|
||||
* For Search.
|
||||
*/
|
||||
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||
new BaseSearchIndexProvider(R.xml.nfc_and_payment_settings);
|
||||
new BaseSearchIndexProvider(R.xml.nfc_and_payment_settings) {
|
||||
@Override
|
||||
protected boolean isPageSearchEnabled(Context context) {
|
||||
final UserManager userManager = context.getSystemService(UserManager.class);
|
||||
final UserInfo myUserInfo = userManager.getUserInfo(UserHandle.myUserId());
|
||||
if (myUserInfo.isGuest()) {
|
||||
return false;
|
||||
}
|
||||
final PackageManager pm = context.getPackageManager();
|
||||
return pm.hasSystemFeature(PackageManager.FEATURE_NFC);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -18,9 +18,8 @@ package com.android.settings.nfc;
|
||||
|
||||
import android.content.Context;
|
||||
import android.nfc.NfcAdapter;
|
||||
import android.provider.Settings;
|
||||
import android.os.UserManager;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import com.android.settings.R;
|
||||
@@ -32,10 +31,12 @@ import com.android.settings.R;
|
||||
*/
|
||||
public class SecureNfcEnabler extends BaseNfcEnabler {
|
||||
private final SwitchPreference mPreference;
|
||||
private final UserManager mUserManager;
|
||||
|
||||
public SecureNfcEnabler(Context context, SwitchPreference preference) {
|
||||
super(context);
|
||||
mPreference = preference;
|
||||
mUserManager = context.getSystemService(UserManager.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -48,7 +49,7 @@ public class SecureNfcEnabler extends BaseNfcEnabler {
|
||||
case NfcAdapter.STATE_ON:
|
||||
mPreference.setSummary(R.string.nfc_secure_toggle_summary);
|
||||
mPreference.setChecked(mPreference.isChecked());
|
||||
mPreference.setEnabled(true);
|
||||
mPreference.setEnabled(isToggleable());
|
||||
break;
|
||||
case NfcAdapter.STATE_TURNING_ON:
|
||||
mPreference.setEnabled(false);
|
||||
@@ -58,4 +59,11 @@ public class SecureNfcEnabler extends BaseNfcEnabler {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isToggleable() {
|
||||
if (mUserManager.isGuestUser()) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import static org.mockito.Mockito.verify;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.View;
|
||||
import android.view.accessibility.AccessibilityNodeInfo;
|
||||
import android.widget.PopupWindow;
|
||||
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
@@ -53,52 +54,68 @@ public class AccessibilityQuickSettingsTooltipWindowTest {
|
||||
|
||||
private static final String TEST_PACKAGE_NAME = "com.test.package";
|
||||
private final Context mContext = ApplicationProvider.getApplicationContext();
|
||||
private AccessibilityQuickSettingsTooltipWindow mToolTipView;
|
||||
private AccessibilityQuickSettingsTooltipWindow mTooltipView;
|
||||
private View mView;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mToolTipView = new AccessibilityQuickSettingsTooltipWindow(mContext);
|
||||
mTooltipView = new AccessibilityQuickSettingsTooltipWindow(mContext);
|
||||
mView = new View(RuntimeEnvironment.application);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void initToolTipView_atMostAvailableTextWidth() {
|
||||
public void initTooltipView_atMostAvailableTextWidth() {
|
||||
final String quickSettingsTooltipsContent = mContext.getString(
|
||||
R.string.accessibility_service_quick_settings_tooltips_content, TEST_PACKAGE_NAME);
|
||||
mToolTipView.setup(quickSettingsTooltipsContent);
|
||||
mTooltipView.setup(quickSettingsTooltipsContent);
|
||||
|
||||
final int getMaxWidth = mToolTipView.getAvailableWindowWidth();
|
||||
assertThat(mToolTipView.getWidth()).isAtMost(getMaxWidth);
|
||||
final int getMaxWidth = mTooltipView.getAvailableWindowWidth();
|
||||
assertThat(mTooltipView.getWidth()).isAtMost(getMaxWidth);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void showToolTipView_success() {
|
||||
mToolTipView.setup(TEST_PACKAGE_NAME);
|
||||
public void showTooltipView_success() {
|
||||
mTooltipView.setup(TEST_PACKAGE_NAME);
|
||||
assertThat(getLatestPopupWindow()).isNull();
|
||||
|
||||
mToolTipView.showAtTopCenter(mView);
|
||||
mTooltipView.showAtTopCenter(mView);
|
||||
|
||||
assertThat(getLatestPopupWindow()).isSameInstanceAs(mToolTipView);
|
||||
assertThat(getLatestPopupWindow()).isSameInstanceAs(mTooltipView);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void dismiss_toolTipViewShown_shouldInvokeCallbackAndNotShowing() {
|
||||
mToolTipView.setup(TEST_PACKAGE_NAME);
|
||||
mToolTipView.setOnDismissListener(mMockOnDismissListener);
|
||||
mToolTipView.showAtTopCenter(mView);
|
||||
public void accessibilityClickActionOnTooltipViewShown_shouldInvokeCallbackAndNotShowing() {
|
||||
mTooltipView.setup(TEST_PACKAGE_NAME);
|
||||
mTooltipView.setOnDismissListener(mMockOnDismissListener);
|
||||
mTooltipView.showAtTopCenter(mView);
|
||||
|
||||
mToolTipView.dismiss();
|
||||
final boolean isActionPerformed =
|
||||
mTooltipView.getContentView().performAccessibilityAction(
|
||||
AccessibilityNodeInfo.AccessibilityAction.ACTION_CLICK.getId(),
|
||||
/* arguments= */ null);
|
||||
|
||||
assertThat(isActionPerformed).isTrue();
|
||||
verify(mMockOnDismissListener).onDismiss();
|
||||
assertThat(getLatestPopupWindow().isShowing()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void dismiss_tooltipViewShown_shouldInvokeCallbackAndNotShowing() {
|
||||
mTooltipView.setup(TEST_PACKAGE_NAME);
|
||||
mTooltipView.setOnDismissListener(mMockOnDismissListener);
|
||||
mTooltipView.showAtTopCenter(mView);
|
||||
|
||||
mTooltipView.dismiss();
|
||||
|
||||
verify(mMockOnDismissListener).onDismiss();
|
||||
assertThat(getLatestPopupWindow().isShowing()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void waitAutoCloseDelayTime_toolTipViewShown_shouldInvokeCallbackAndNotShowing() {
|
||||
mToolTipView.setup(TEST_PACKAGE_NAME, /* closeDelayTimeMillis= */ 1);
|
||||
mToolTipView.setOnDismissListener(mMockOnDismissListener);
|
||||
mToolTipView.showAtTopCenter(mView);
|
||||
public void waitAutoCloseDelayTime_tooltipViewShown_shouldInvokeCallbackAndNotShowing() {
|
||||
mTooltipView.setup(TEST_PACKAGE_NAME, /* closeDelayTimeMillis= */ 1);
|
||||
mTooltipView.setOnDismissListener(mMockOnDismissListener);
|
||||
mTooltipView.showAtTopCenter(mView);
|
||||
|
||||
ShadowLooper.runUiThreadTasksIncludingDelayedTasks();
|
||||
|
||||
|
||||
@@ -18,28 +18,31 @@ package com.android.settings.homepage.contextualcards.conditional;
|
||||
|
||||
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.net.wifi.SoftApConfiguration;
|
||||
import android.net.wifi.WifiManager;
|
||||
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.homepage.contextualcards.ContextualCard;
|
||||
import com.android.settings.testutils.shadow.ShadowWifiManager;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Config(shadows = {ShadowWifiManager.class})
|
||||
public class HotspotConditionControllerTest {
|
||||
|
||||
private static final String WIFI_AP_SSID = "Test Hotspot";
|
||||
|
||||
@Mock
|
||||
private WifiManager mWifiManager;
|
||||
@Mock
|
||||
private ConditionManager mConditionManager;
|
||||
|
||||
@@ -48,12 +51,14 @@ public class HotspotConditionControllerTest {
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mContext = RuntimeEnvironment.application;
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = spy(ApplicationProvider.getApplicationContext());
|
||||
when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
|
||||
|
||||
mController = new HotspotConditionController(mContext, mConditionManager);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void buildContextualCard_hasWifiAp_shouldHaveWifiApSsid() {
|
||||
setupSoftApConfiguration();
|
||||
|
||||
@@ -63,7 +68,6 @@ public class HotspotConditionControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void buildContextualCard_noWifiAp_shouldHaveEmptySsid() {
|
||||
final ContextualCard card = mController.buildContextualCard();
|
||||
|
||||
@@ -73,6 +77,6 @@ public class HotspotConditionControllerTest {
|
||||
private void setupSoftApConfiguration() {
|
||||
final SoftApConfiguration wifiApConfig = new SoftApConfiguration.Builder()
|
||||
.setSsid(WIFI_AP_SSID).build();
|
||||
mContext.getSystemService(WifiManager.class).setSoftApConfiguration(wifiApConfig);
|
||||
when(mWifiManager.getSoftApConfiguration()).thenReturn(wifiApConfig);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ package com.android.settings.network;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyLong;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
@@ -33,6 +34,7 @@ import androidx.lifecycle.LifecycleOwner;
|
||||
import androidx.preference.PreferenceCategory;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settings.wifi.WifiConnectionPreferenceController;
|
||||
import com.android.settings.wifi.WifiEntryPreference;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
@@ -40,7 +42,6 @@ import com.android.wifitrackerlib.WifiEntry;
|
||||
import com.android.wifitrackerlib.WifiPickerTracker;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
@@ -50,7 +51,6 @@ import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Ignore
|
||||
public class WifiConnectionPreferenceControllerTest {
|
||||
private static final String KEY = "wifi_connection";
|
||||
|
||||
@@ -72,6 +72,10 @@ public class WifiConnectionPreferenceControllerTest {
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = spy(RuntimeEnvironment.application);
|
||||
FakeFeatureFactory fakeFeatureFactory = FakeFeatureFactory.setupForTest();
|
||||
when(fakeFeatureFactory.wifiTrackerLibProvider.createWifiPickerTracker(
|
||||
any(), any(), any(), any(), any(), anyLong(), anyLong(), any()))
|
||||
.thenReturn(mWifiPickerTracker);
|
||||
mLifecycleOwner = () -> mLifecycle;
|
||||
mLifecycle = new Lifecycle(mLifecycleOwner);
|
||||
when(mScreen.findPreference(eq(KEY))).thenReturn(mPreferenceCategory);
|
||||
|
||||
@@ -18,16 +18,21 @@ package com.android.settings.wifi;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
@@ -44,37 +49,36 @@ public class AddNetworkFragmentTest {
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
Context context = spy(ApplicationProvider.getApplicationContext());
|
||||
when(context.getSystemService(Context.WIFI_SERVICE)).thenReturn(mock(WifiManager.class));
|
||||
|
||||
mAddNetworkFragment = spy(new AddNetworkFragment());
|
||||
when(mAddNetworkFragment.getContext()).thenReturn(context);
|
||||
FragmentController.setupFragment(mAddNetworkFragment);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void getMetricsCategory_shouldReturnAddNetwork() {
|
||||
assertThat(mAddNetworkFragment.getMetricsCategory()).isEqualTo(
|
||||
MetricsEvent.SETTINGS_WIFI_ADD_NETWORK);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void getMode_shouldBeModeConnected() {
|
||||
assertThat(mAddNetworkFragment.getMode()).isEqualTo(WifiConfigUiBase2.MODE_CONNECT);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void launchFragment_shouldShowSubmitButton() {
|
||||
assertThat(mAddNetworkFragment.getSubmitButton()).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void launchFragment_shouldShowCancelButton() {
|
||||
assertThat(mAddNetworkFragment.getCancelButton()).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void onClickSubmitButton_shouldHandleSubmitAction() {
|
||||
View submitButton = mAddNetworkFragment.getView().findViewById(
|
||||
AddNetworkFragment.SUBMIT_BUTTON_ID);
|
||||
@@ -85,7 +89,6 @@ public class AddNetworkFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void onClickCancelButton_shouldHandleCancelAction() {
|
||||
View cancelButton = mAddNetworkFragment.getView().findViewById(
|
||||
AddNetworkFragment.CANCEL_BUTTON_ID);
|
||||
@@ -96,7 +99,6 @@ public class AddNetworkFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void dispatchSubmit_shouldHandleSubmitAction() {
|
||||
mAddNetworkFragment.dispatchSubmit();
|
||||
|
||||
|
||||
@@ -18,16 +18,21 @@ package com.android.settings.wifi;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.wifitrackerlib.NetworkDetailsTracker;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
@@ -36,7 +41,6 @@ import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.shadows.androidx.fragment.FragmentController;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Ignore
|
||||
public class ConfigureWifiEntryFragmentTest {
|
||||
|
||||
private static final String KEY_SSID = "key_ssid";
|
||||
@@ -50,13 +54,16 @@ public class ConfigureWifiEntryFragmentTest {
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
Bundle bundle = new Bundle();
|
||||
Context context = spy(ApplicationProvider.getApplicationContext());
|
||||
when(context.getSystemService(Context.WIFI_SERVICE)).thenReturn(mock(WifiManager.class));
|
||||
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString(KEY_SSID, "Test AP");
|
||||
bundle.putInt(KEY_SECURITY, 1 /* WEP */);
|
||||
mConfigureWifiEntryFragment = spy(new ConfigureWifiEntryFragment());
|
||||
mConfigureWifiEntryFragment.setArguments(bundle);
|
||||
mConfigureWifiEntryFragment.mNetworkDetailsTracker = mNetworkDetailsTracker;
|
||||
when(mConfigureWifiEntryFragment.getContext()).thenReturn(context);
|
||||
|
||||
FragmentController.setupFragment(mConfigureWifiEntryFragment);
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ package com.android.settings.wifi;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyLong;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
@@ -35,13 +36,12 @@ import android.os.Bundle;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
|
||||
import com.android.settings.wifi.NetworkRequestErrorDialogFragment.ERROR_DIALOG_TYPE;
|
||||
import com.android.settingslib.wifi.WifiTracker;
|
||||
import com.android.settingslib.wifi.WifiTrackerFactory;
|
||||
import com.android.wifitrackerlib.WifiPickerTracker;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
@@ -55,7 +55,6 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Ignore
|
||||
@Config(shadows = ShadowAlertDialogCompat.class)
|
||||
public class NetworkRequestDialogActivityTest {
|
||||
|
||||
@@ -69,11 +68,11 @@ public class NetworkRequestDialogActivityTest {
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
|
||||
mContext = spy(RuntimeEnvironment.application);
|
||||
|
||||
WifiTracker wifiTracker = mock(WifiTracker.class);
|
||||
WifiTrackerFactory.setTestingWifiTracker(wifiTracker);
|
||||
FakeFeatureFactory fakeFeatureFactory = FakeFeatureFactory.setupForTest();
|
||||
when(fakeFeatureFactory.wifiTrackerLibProvider.createWifiPickerTracker(
|
||||
any(), any(), any(), any(), any(), anyLong(), anyLong(), any()))
|
||||
.thenReturn(mock(WifiPickerTracker.class));
|
||||
|
||||
NetworkRequestDialogActivity activity =
|
||||
Robolectric.setupActivity(NetworkRequestDialogActivity.class);
|
||||
|
||||
@@ -18,6 +18,8 @@ package com.android.settings.wifi;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyLong;
|
||||
import static org.mockito.Mockito.inOrder;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
@@ -38,15 +40,16 @@ import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
|
||||
import com.android.wifitrackerlib.WifiEntry;
|
||||
import com.android.wifitrackerlib.WifiPickerTracker;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.InOrder;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.Robolectric;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
@@ -56,7 +59,6 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Ignore
|
||||
@Config(shadows = ShadowAlertDialogCompat.class)
|
||||
public class NetworkRequestDialogFragmentTest {
|
||||
|
||||
@@ -69,6 +71,12 @@ public class NetworkRequestDialogFragmentTest {
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
FakeFeatureFactory fakeFeatureFactory = FakeFeatureFactory.setupForTest();
|
||||
when(fakeFeatureFactory.wifiTrackerLibProvider.createWifiPickerTracker(
|
||||
any(), any(), any(), any(), any(), anyLong(), anyLong(), any()))
|
||||
.thenReturn(mock(WifiPickerTracker.class));
|
||||
|
||||
mActivity = Robolectric.buildActivity(FragmentActivity.class,
|
||||
new Intent().putExtra(NetworkRequestDialogFragment.EXTRA_APP_NAME,
|
||||
TEST_APP_NAME)).setup().get();
|
||||
|
||||
@@ -19,9 +19,12 @@ package com.android.settings.wifi;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.junit.Assert.fail;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyLong;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.mockito.internal.verification.VerificationModeFactory.times;
|
||||
|
||||
import android.content.DialogInterface;
|
||||
@@ -32,22 +35,21 @@ import android.widget.Button;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
|
||||
import com.android.settings.wifi.NetworkRequestErrorDialogFragment.ERROR_DIALOG_TYPE;
|
||||
import com.android.settingslib.wifi.WifiTracker;
|
||||
import com.android.settingslib.wifi.WifiTrackerFactory;
|
||||
import com.android.wifitrackerlib.WifiPickerTracker;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.Robolectric;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Ignore
|
||||
@Config(shadows = ShadowAlertDialogCompat.class)
|
||||
public class NetworkRequestErrorDialogFragmentTest {
|
||||
|
||||
@@ -56,8 +58,11 @@ public class NetworkRequestErrorDialogFragmentTest {
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
WifiTracker wifiTracker = mock(WifiTracker.class);
|
||||
WifiTrackerFactory.setTestingWifiTracker(wifiTracker);
|
||||
MockitoAnnotations.initMocks(this);
|
||||
FakeFeatureFactory fakeFeatureFactory = FakeFeatureFactory.setupForTest();
|
||||
when(fakeFeatureFactory.wifiTrackerLibProvider.createWifiPickerTracker(
|
||||
any(), any(), any(), any(), any(), anyLong(), anyLong(), any()))
|
||||
.thenReturn(mock(WifiPickerTracker.class));
|
||||
|
||||
mActivity = Robolectric.setupActivity(NetworkRequestDialogActivity.class);
|
||||
mFragment = spy(NetworkRequestErrorDialogFragment.newInstance());
|
||||
|
||||
@@ -22,6 +22,7 @@ import static com.android.settings.wifi.WifiConfigController.PRIVACY_SPINNER_IND
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
@@ -45,19 +46,19 @@ import android.widget.LinearLayout;
|
||||
import android.widget.Spinner;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.network.SubscriptionUtil;
|
||||
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
|
||||
import com.android.settingslib.wifi.AccessPoint;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.Shadows;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.shadows.ShadowInputMethodManager;
|
||||
@@ -66,7 +67,6 @@ import org.robolectric.shadows.ShadowSubscriptionManager;
|
||||
import java.util.Arrays;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Ignore
|
||||
@Config(shadows = ShadowConnectivityManager.class)
|
||||
public class WifiConfigControllerTest {
|
||||
|
||||
@@ -96,7 +96,8 @@ public class WifiConfigControllerTest {
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = RuntimeEnvironment.application;
|
||||
mContext = spy(ApplicationProvider.getApplicationContext());
|
||||
when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mock(WifiManager.class));
|
||||
when(mConfigUiBase.getContext()).thenReturn(mContext);
|
||||
when(mAccessPoint.getSecurity()).thenReturn(AccessPoint.SECURITY_PSK);
|
||||
mView = LayoutInflater.from(mContext).inflate(R.layout.wifi_dialog, null);
|
||||
|
||||
@@ -27,8 +27,9 @@ import static org.mockito.Mockito.spy;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.net.Network;
|
||||
import android.net.NetworkCapabilities;
|
||||
import android.net.wifi.WifiConfiguration;
|
||||
import android.net.wifi.WifiInfo;
|
||||
import android.net.wifi.WifiManager;
|
||||
|
||||
import androidx.core.graphics.drawable.IconCompat;
|
||||
@@ -45,9 +46,10 @@ import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
@@ -55,29 +57,40 @@ import org.robolectric.annotation.Config;
|
||||
import java.util.List;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Ignore
|
||||
@Config(shadows = ShadowConnectivityManager.class)
|
||||
public class ContextualWifiSliceTest {
|
||||
private static final String SSID = "123";
|
||||
|
||||
@Mock
|
||||
private WifiManager mWifiManager;
|
||||
@Mock
|
||||
private WifiInfo mWifiInfo;
|
||||
@Mock
|
||||
private Network mNetwork;
|
||||
|
||||
private Context mContext;
|
||||
private ContentResolver mResolver;
|
||||
private WifiManager mWifiManager;
|
||||
private ContextualWifiSlice mWifiSlice;
|
||||
private FakeFeatureFactory mFeatureFactory;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = spy(RuntimeEnvironment.application);
|
||||
mResolver = mock(ContentResolver.class);
|
||||
mFeatureFactory = FakeFeatureFactory.setupForTest();
|
||||
mFeatureFactory.slicesFeatureProvider = new SlicesFeatureProviderImpl();
|
||||
mFeatureFactory.slicesFeatureProvider.newUiSession();
|
||||
doReturn(mResolver).when(mContext).getContentResolver();
|
||||
mWifiManager = mContext.getSystemService(WifiManager.class);
|
||||
doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
|
||||
doReturn(true).when(mWifiManager).isWifiEnabled();
|
||||
doReturn(WifiManager.WIFI_STATE_ENABLED).when(mWifiManager).getWifiState();
|
||||
doReturn(mWifiInfo).when(mWifiManager).getConnectionInfo();
|
||||
doReturn(SSID).when(mWifiInfo).getSSID();
|
||||
doReturn(mNetwork).when(mWifiManager).getCurrentNetwork();
|
||||
|
||||
// Set-up specs for SliceMetadata.
|
||||
SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
|
||||
mWifiManager.setWifiEnabled(true);
|
||||
|
||||
mWifiSlice = new ContextualWifiSlice(mContext);
|
||||
}
|
||||
@@ -121,7 +134,7 @@ public class ContextualWifiSliceTest {
|
||||
mWifiSlice.sApRowCollapsed = true;
|
||||
connectToWifi(makeValidatedNetworkCapabilities());
|
||||
|
||||
mWifiManager.disconnect();
|
||||
doReturn(null).when(mWifiManager).getCurrentNetwork();
|
||||
final Slice wifiSlice = mWifiSlice.getSlice();
|
||||
|
||||
assertWifiHeader(wifiSlice);
|
||||
@@ -138,11 +151,7 @@ public class ContextualWifiSliceTest {
|
||||
}
|
||||
|
||||
private void connectToWifi(NetworkCapabilities nc) {
|
||||
final WifiConfiguration config = new WifiConfiguration();
|
||||
config.SSID = "123";
|
||||
mWifiManager.connect(config, null /* listener */);
|
||||
ShadowConnectivityManager.getShadow().setNetworkCapabilities(
|
||||
mWifiManager.getCurrentNetwork(), nc);
|
||||
ShadowConnectivityManager.getShadow().setNetworkCapabilities(mNetwork, nc);
|
||||
}
|
||||
|
||||
private NetworkCapabilities makeValidatedNetworkCapabilities() {
|
||||
|
||||
@@ -50,9 +50,10 @@ import com.android.wifitrackerlib.WifiEntry;
|
||||
import com.android.wifitrackerlib.WifiEntry.ConnectedState;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
@@ -63,7 +64,6 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Ignore
|
||||
@Config(shadows = WifiSliceTest.ShadowSliceBackgroundWorker.class)
|
||||
public class WifiSliceTest {
|
||||
|
||||
@@ -71,21 +71,24 @@ public class WifiSliceTest {
|
||||
private static final String AP2_NAME = "ap2";
|
||||
private static final String AP3_NAME = "ap3";
|
||||
|
||||
@Mock
|
||||
private WifiManager mWifiManager;
|
||||
|
||||
private Context mContext;
|
||||
private ContentResolver mResolver;
|
||||
private WifiManager mWifiManager;
|
||||
private WifiSlice mWifiSlice;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = spy(RuntimeEnvironment.application);
|
||||
mResolver = mock(ContentResolver.class);
|
||||
doReturn(mResolver).when(mContext).getContentResolver();
|
||||
mWifiManager = mContext.getSystemService(WifiManager.class);
|
||||
doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
|
||||
doReturn(WifiManager.WIFI_STATE_ENABLED).when(mWifiManager).getWifiState();
|
||||
|
||||
// Set-up specs for SliceMetadata.
|
||||
SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
|
||||
mWifiManager.setWifiEnabled(true);
|
||||
|
||||
mWifiSlice = new WifiSlice(mContext);
|
||||
}
|
||||
@@ -108,7 +111,7 @@ public class WifiSliceTest {
|
||||
|
||||
@Test
|
||||
public void getWifiSlice_wifiOff_shouldReturnSingleRow() {
|
||||
mWifiManager.setWifiEnabled(false);
|
||||
doReturn(WifiManager.WIFI_STATE_DISABLED).when(mWifiManager).getWifiState();
|
||||
|
||||
final Slice wifiSlice = mWifiSlice.getSlice();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user