Merge changes Iacc80db5,I66dc0bfd
* changes: Load preference title from uri if available Clean up ShadowTheadUtils.
This commit is contained in:
@@ -21,6 +21,8 @@ import static android.content.Intent.EXTRA_USER;
|
|||||||
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_ICON_URI;
|
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_ICON_URI;
|
||||||
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SUMMARY;
|
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SUMMARY;
|
||||||
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SUMMARY_URI;
|
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SUMMARY_URI;
|
||||||
|
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_TITLE;
|
||||||
|
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_TITLE_URI;
|
||||||
|
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
@@ -108,12 +110,12 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
|
|||||||
if (pref == null) {
|
if (pref == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
pref.setTitle(tile.getTitle(activity.getApplicationContext()));
|
|
||||||
if (!TextUtils.isEmpty(key)) {
|
if (!TextUtils.isEmpty(key)) {
|
||||||
pref.setKey(key);
|
pref.setKey(key);
|
||||||
} else {
|
} else {
|
||||||
pref.setKey(getDashboardKeyForTile(tile));
|
pref.setKey(getDashboardKeyForTile(tile));
|
||||||
}
|
}
|
||||||
|
bindTitle(pref, tile);
|
||||||
bindSummary(pref, tile);
|
bindSummary(pref, tile);
|
||||||
bindIcon(pref, tile, forceRoundedIcon);
|
bindIcon(pref, tile, forceRoundedIcon);
|
||||||
final Bundle metadata = tile.getMetaData();
|
final Bundle metadata = tile.getMetaData();
|
||||||
@@ -168,6 +170,28 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
|
|||||||
launchIntentOrSelectProfile(activity, tile, intent, SettingsEnums.DASHBOARD_SUMMARY);
|
launchIntentOrSelectProfile(activity, tile, intent, SettingsEnums.DASHBOARD_SUMMARY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void bindTitle(Preference preference, Tile tile) {
|
||||||
|
final CharSequence title = tile.getTitle(mContext.getApplicationContext());
|
||||||
|
if (title != null) {
|
||||||
|
preference.setTitle(title);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (tile.getMetaData() != null && tile.getMetaData().containsKey(
|
||||||
|
META_DATA_PREFERENCE_TITLE_URI)) {
|
||||||
|
// Set a placeholder title before starting to fetch real title, this is necessary
|
||||||
|
// to avoid preference height change.
|
||||||
|
preference.setTitle(R.string.summary_placeholder);
|
||||||
|
|
||||||
|
ThreadUtils.postOnBackgroundThread(() -> {
|
||||||
|
final Map<String, IContentProvider> providerMap = new ArrayMap<>();
|
||||||
|
final String uri = tile.getMetaData().getString(META_DATA_PREFERENCE_TITLE_URI);
|
||||||
|
final String titleFromUri = TileUtils.getTextFromUri(
|
||||||
|
mContext, uri, providerMap, META_DATA_PREFERENCE_TITLE);
|
||||||
|
ThreadUtils.postOnMainThread(() -> preference.setTitle(titleFromUri));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void bindSummary(Preference preference, Tile tile) {
|
private void bindSummary(Preference preference, Tile tile) {
|
||||||
final CharSequence summary = tile.getSummary(mContext);
|
final CharSequence summary = tile.getSummary(mContext);
|
||||||
if (summary != null) {
|
if (summary != null) {
|
||||||
@@ -247,7 +271,7 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
|
|||||||
final UserHandle userHandle = intent.getParcelableExtra(EXTRA_USER);
|
final UserHandle userHandle = intent.getParcelableExtra(EXTRA_USER);
|
||||||
if (userHandle != null && tile.userHandle.contains(userHandle)) {
|
if (userHandle != null && tile.userHandle.contains(userHandle)) {
|
||||||
mMetricsFeatureProvider.logDashboardStartIntent(
|
mMetricsFeatureProvider.logDashboardStartIntent(
|
||||||
mContext, intent, sourceMetricCategory);
|
mContext, intent, sourceMetricCategory);
|
||||||
activity.startActivityForResultAsUser(intent, 0, userHandle);
|
activity.startActivityForResultAsUser(intent, 0, userHandle);
|
||||||
} else {
|
} else {
|
||||||
ProfileSelectDialog.show(activity.getSupportFragmentManager(), tile);
|
ProfileSelectDialog.show(activity.getSupportFragmentManager(), tile);
|
||||||
|
|||||||
@@ -206,22 +206,6 @@ public class SummaryLoader {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Updates all tile's summary to latest cached version. This is necessary to handle the case
|
|
||||||
* where category is updated after summary change.
|
|
||||||
*/
|
|
||||||
public void updateSummaryToCache(DashboardCategory category) {
|
|
||||||
if (category == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
for (Tile tile : category.getTiles()) {
|
|
||||||
final String key = mDashboardFeatureProvider.getDashboardKeyForTile(tile);
|
|
||||||
if (mSummaryTextMap.containsKey(key)) {
|
|
||||||
tile.overrideSummary(mSummaryTextMap.get(key));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private synchronized void setListeningW(boolean listening) {
|
private synchronized void setListeningW(boolean listening) {
|
||||||
if (mWorkerListening == listening) {
|
if (mWorkerListening == listening) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -249,7 +249,7 @@ public class DashboardFeatureProviderImplTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Config(shadows = {ShadowTileUtils.class, ShadowThreadUtils.class})
|
@Config(shadows = {ShadowTileUtils.class})
|
||||||
public void bindPreference_hasSummaryUri_shouldLoadSummaryFromContentProvider() {
|
public void bindPreference_hasSummaryUri_shouldLoadSummaryFromContentProvider() {
|
||||||
final Preference preference = new Preference(RuntimeEnvironment.application);
|
final Preference preference = new Preference(RuntimeEnvironment.application);
|
||||||
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
|
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
|
||||||
@@ -262,6 +262,20 @@ public class DashboardFeatureProviderImplTest {
|
|||||||
assertThat(preference.getSummary()).isEqualTo(ShadowTileUtils.MOCK_SUMMARY);
|
assertThat(preference.getSummary()).isEqualTo(ShadowTileUtils.MOCK_SUMMARY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Config(shadows = {ShadowTileUtils.class})
|
||||||
|
public void bindPreference_hasTitleUri_shouldLoadFromContentProvider() {
|
||||||
|
final Preference preference = new Preference(RuntimeEnvironment.application);
|
||||||
|
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
|
||||||
|
mActivityInfo.metaData.putString(TileUtils.META_DATA_PREFERENCE_TITLE_URI,
|
||||||
|
"content://com.android.settings/tile_title");
|
||||||
|
|
||||||
|
mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN,
|
||||||
|
preference, tile, null /*key */, Preference.DEFAULT_ORDER);
|
||||||
|
|
||||||
|
assertThat(preference.getTitle()).isEqualTo(ShadowTileUtils.MOCK_SUMMARY);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void bindPreference_withNullKeyTileKey_shouldUseTileKey() {
|
public void bindPreference_withNullKeyTileKey_shouldUseTileKey() {
|
||||||
final Preference preference = new Preference(RuntimeEnvironment.application);
|
final Preference preference = new Preference(RuntimeEnvironment.application);
|
||||||
@@ -274,7 +288,7 @@ public class DashboardFeatureProviderImplTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Config(shadows = {ShadowTileUtils.class, ShadowThreadUtils.class})
|
@Config(shadows = {ShadowTileUtils.class})
|
||||||
public void bindPreference_withIconUri_shouldLoadIconFromContentProvider() {
|
public void bindPreference_withIconUri_shouldLoadIconFromContentProvider() {
|
||||||
final Preference preference = new Preference(RuntimeEnvironment.application);
|
final Preference preference = new Preference(RuntimeEnvironment.application);
|
||||||
mActivityInfo.packageName = RuntimeEnvironment.application.getPackageName();
|
mActivityInfo.packageName = RuntimeEnvironment.application.getPackageName();
|
||||||
@@ -341,7 +355,8 @@ public class DashboardFeatureProviderImplTest {
|
|||||||
final Intent launchIntent = shadowActivity.getNextStartedActivityForResult().intent;
|
final Intent launchIntent = shadowActivity.getNextStartedActivityForResult().intent;
|
||||||
assertThat(launchIntent.getAction())
|
assertThat(launchIntent.getAction())
|
||||||
.isEqualTo("TestAction");
|
.isEqualTo("TestAction");
|
||||||
assertThat(launchIntent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, 0))
|
assertThat(
|
||||||
|
launchIntent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, 0))
|
||||||
.isEqualTo(MetricsEvent.SETTINGS_GESTURES);
|
.isEqualTo(MetricsEvent.SETTINGS_GESTURES);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -433,7 +448,7 @@ public class DashboardFeatureProviderImplTest {
|
|||||||
|
|
||||||
final ArgumentCaptor<UserHandle> argument = ArgumentCaptor.forClass(UserHandle.class);
|
final ArgumentCaptor<UserHandle> argument = ArgumentCaptor.forClass(UserHandle.class);
|
||||||
verify(mActivity)
|
verify(mActivity)
|
||||||
.startActivityForResultAsUser(any(Intent.class), anyInt(), argument.capture());
|
.startActivityForResultAsUser(any(Intent.class), anyInt(), argument.capture());
|
||||||
assertThat(argument.getValue().getIdentifier()).isEqualTo(userId);
|
assertThat(argument.getValue().getIdentifier()).isEqualTo(userId);
|
||||||
verify(mActivity, never()).getSupportFragmentManager();
|
verify(mActivity, never()).getSupportFragmentManager();
|
||||||
}
|
}
|
||||||
@@ -452,7 +467,7 @@ public class DashboardFeatureProviderImplTest {
|
|||||||
mImpl.openTileIntent(mActivity, tile);
|
mImpl.openTileIntent(mActivity, tile);
|
||||||
|
|
||||||
verify(mActivity, never())
|
verify(mActivity, never())
|
||||||
.startActivityForResultAsUser(any(Intent.class), anyInt(), any(UserHandle.class));
|
.startActivityForResultAsUser(any(Intent.class), anyInt(), any(UserHandle.class));
|
||||||
verify(mActivity).getSupportFragmentManager();
|
verify(mActivity).getSupportFragmentManager();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,21 +16,16 @@
|
|||||||
|
|
||||||
package com.android.settings.dashboard;
|
package com.android.settings.dashboard;
|
||||||
|
|
||||||
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_KEYHINT;
|
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.Mockito.verifyZeroInteractions;
|
import static org.mockito.Mockito.verifyZeroInteractions;
|
||||||
import static org.mockito.Mockito.when;
|
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.ActivityInfo;
|
import android.content.pm.ActivityInfo;
|
||||||
import android.os.Bundle;
|
|
||||||
|
|
||||||
import com.android.settings.testutils.FakeFeatureFactory;
|
import com.android.settings.testutils.FakeFeatureFactory;
|
||||||
import com.android.settingslib.drawer.CategoryKey;
|
import com.android.settingslib.drawer.CategoryKey;
|
||||||
import com.android.settingslib.drawer.DashboardCategory;
|
|
||||||
import com.android.settingslib.drawer.Tile;
|
import com.android.settingslib.drawer.Tile;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
@@ -89,26 +84,4 @@ public class SummaryLoaderTest {
|
|||||||
|
|
||||||
assertThat(mCallbackInvoked).isTrue();
|
assertThat(mCallbackInvoked).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testUpdateSummaryToCache_hasCache_shouldUpdate() {
|
|
||||||
final String testSummary = "test_summary";
|
|
||||||
final DashboardCategory category = new DashboardCategory(CategoryKey.CATEGORY_HOMEPAGE);
|
|
||||||
final ActivityInfo activityInfo = new ActivityInfo();
|
|
||||||
activityInfo.packageName = "pkg";
|
|
||||||
activityInfo.name = "cls";
|
|
||||||
activityInfo.metaData = new Bundle();
|
|
||||||
activityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "123");
|
|
||||||
final Tile tile = new Tile(activityInfo, category.key);
|
|
||||||
|
|
||||||
category.addTile(tile);
|
|
||||||
when(mFeatureFactory.dashboardFeatureProvider.getDashboardKeyForTile(tile))
|
|
||||||
.thenReturn(tile.getKey(RuntimeEnvironment.application));
|
|
||||||
|
|
||||||
mSummaryLoader.updateSummaryIfNeeded(mContext, tile, testSummary);
|
|
||||||
tile.overrideSummary(null);
|
|
||||||
mSummaryLoader.updateSummaryToCache(category);
|
|
||||||
|
|
||||||
assertThat(tile.getSummary(mContext)).isEqualTo(testSummary);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ import android.content.Context;
|
|||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.testutils.DatabaseTestUtils;
|
import com.android.settings.testutils.DatabaseTestUtils;
|
||||||
import com.android.settings.testutils.shadow.ShadowThreadUtils;
|
|
||||||
|
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
@@ -45,13 +44,11 @@ import org.mockito.MockitoAnnotations;
|
|||||||
import org.robolectric.Robolectric;
|
import org.robolectric.Robolectric;
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
import org.robolectric.annotation.Config;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@Config(shadows = ShadowThreadUtils.class)
|
|
||||||
public class AnomalyCleanupJobServiceTest {
|
public class AnomalyCleanupJobServiceTest {
|
||||||
private static final int UID = 1234;
|
private static final int UID = 1234;
|
||||||
private static final String PACKAGE_NAME = "com.android.package";
|
private static final String PACKAGE_NAME = "com.android.package";
|
||||||
|
|||||||
@@ -38,11 +38,9 @@ import org.junit.runner.RunWith;
|
|||||||
import org.robolectric.Robolectric;
|
import org.robolectric.Robolectric;
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
import org.robolectric.annotation.Config;
|
|
||||||
import org.robolectric.util.ReflectionHelpers;
|
import org.robolectric.util.ReflectionHelpers;
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@Config(shadows = ShadowThreadUtils.class)
|
|
||||||
public class CardContentProviderTest {
|
public class CardContentProviderTest {
|
||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ import android.content.Context;
|
|||||||
|
|
||||||
import com.android.settings.homepage.contextualcards.ContextualCardUpdateListener;
|
import com.android.settings.homepage.contextualcards.ContextualCardUpdateListener;
|
||||||
import com.android.settings.testutils.FakeFeatureFactory;
|
import com.android.settings.testutils.FakeFeatureFactory;
|
||||||
import com.android.settings.testutils.shadow.ShadowThreadUtils;
|
|
||||||
import com.android.settingslib.suggestions.SuggestionController;
|
import com.android.settingslib.suggestions.SuggestionController;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
@@ -38,7 +37,6 @@ import org.robolectric.RuntimeEnvironment;
|
|||||||
import org.robolectric.annotation.Config;
|
import org.robolectric.annotation.Config;
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@Config(shadows = ShadowThreadUtils.class)
|
|
||||||
public class LegacySuggestionContextualCardControllerTest {
|
public class LegacySuggestionContextualCardControllerTest {
|
||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ import java.util.Set;
|
|||||||
* TODO Investigate using ShadowContentResolver.registerProviderInternal(String, ContentProvider)
|
* TODO Investigate using ShadowContentResolver.registerProviderInternal(String, ContentProvider)
|
||||||
*/
|
*/
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@Config(shadows = {ShadowUserManager.class, ShadowThreadUtils.class, ShadowUtils.class,
|
@Config(shadows = {ShadowUserManager.class, ShadowUtils.class,
|
||||||
SlicesDatabaseAccessorTest.ShadowApplicationPackageManager.class,
|
SlicesDatabaseAccessorTest.ShadowApplicationPackageManager.class,
|
||||||
ShadowBluetoothAdapter.class, ShadowLockPatternUtils.class,
|
ShadowBluetoothAdapter.class, ShadowLockPatternUtils.class,
|
||||||
SettingsSliceProviderTest.ShadowWifiScanWorker.class})
|
SettingsSliceProviderTest.ShadowWifiScanWorker.class})
|
||||||
|
|||||||
@@ -29,15 +29,14 @@ import static org.mockito.Mockito.when;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.wifi.WifiConfiguration;
|
import android.net.wifi.WifiConfiguration;
|
||||||
|
|
||||||
import android.net.wifi.WifiManager;
|
import android.net.wifi.WifiManager;
|
||||||
|
|
||||||
import androidx.preference.PreferenceCategory;
|
import androidx.preference.PreferenceCategory;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settings.core.FeatureFlags;
|
import com.android.settings.core.FeatureFlags;
|
||||||
import com.android.settings.development.featureflags.FeatureFlagPersistent;
|
import com.android.settings.development.featureflags.FeatureFlagPersistent;
|
||||||
import com.android.settings.testutils.shadow.ShadowAccessPoint;
|
import com.android.settings.testutils.shadow.ShadowAccessPoint;
|
||||||
import com.android.settings.testutils.shadow.ShadowThreadUtils;
|
|
||||||
import com.android.settings.testutils.shadow.ShadowWifiManager;
|
import com.android.settings.testutils.shadow.ShadowWifiManager;
|
||||||
import com.android.settingslib.wifi.AccessPointPreference;
|
import com.android.settingslib.wifi.AccessPointPreference;
|
||||||
|
|
||||||
@@ -52,7 +51,7 @@ import org.robolectric.RuntimeEnvironment;
|
|||||||
import org.robolectric.annotation.Config;
|
import org.robolectric.annotation.Config;
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@Config(shadows = {ShadowThreadUtils.class, ShadowWifiManager.class})
|
@Config(shadows = {ShadowWifiManager.class})
|
||||||
public class SavedAccessPointsPreferenceControllerTest {
|
public class SavedAccessPointsPreferenceControllerTest {
|
||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
|
|||||||
@@ -26,24 +26,19 @@ import static org.mockito.Mockito.never;
|
|||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
import static org.robolectric.Shadows.shadowOf;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.FeatureInfo;
|
|
||||||
import android.content.pm.PackageManager;
|
|
||||||
import android.net.wifi.WifiConfiguration;
|
import android.net.wifi.WifiConfiguration;
|
||||||
|
import android.net.wifi.WifiManager;
|
||||||
import android.net.wifi.hotspot2.PasspointConfiguration;
|
import android.net.wifi.hotspot2.PasspointConfiguration;
|
||||||
import android.net.wifi.hotspot2.pps.HomeSp;
|
import android.net.wifi.hotspot2.pps.HomeSp;
|
||||||
import android.net.wifi.WifiEnterpriseConfig;
|
|
||||||
import android.net.wifi.WifiManager;
|
|
||||||
import androidx.preference.PreferenceCategory;
|
import androidx.preference.PreferenceCategory;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settings.core.FeatureFlags;
|
import com.android.settings.core.FeatureFlags;
|
||||||
import com.android.settings.development.featureflags.FeatureFlagPersistent;
|
import com.android.settings.development.featureflags.FeatureFlagPersistent;
|
||||||
import com.android.settings.testutils.shadow.ShadowAccessPoint;
|
import com.android.settings.testutils.shadow.ShadowAccessPoint;
|
||||||
import com.android.settings.testutils.shadow.ShadowThreadUtils;
|
|
||||||
import com.android.settings.testutils.shadow.ShadowWifiManager;
|
import com.android.settings.testutils.shadow.ShadowWifiManager;
|
||||||
import com.android.settingslib.wifi.AccessPointPreference;
|
import com.android.settingslib.wifi.AccessPointPreference;
|
||||||
|
|
||||||
@@ -58,7 +53,7 @@ import org.robolectric.RuntimeEnvironment;
|
|||||||
import org.robolectric.annotation.Config;
|
import org.robolectric.annotation.Config;
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@Config(shadows = {ShadowThreadUtils.class, ShadowWifiManager.class})
|
@Config(shadows = {ShadowWifiManager.class})
|
||||||
public class SubscribedAccessPointsPreferenceControllerTest {
|
public class SubscribedAccessPointsPreferenceControllerTest {
|
||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
|
|||||||
Reference in New Issue
Block a user