diff --git a/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java b/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java index 44982252e2a..4917663e3f7 100755 --- a/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java +++ b/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java @@ -33,7 +33,6 @@ import android.net.Uri; import android.os.Bundle; import android.os.UserHandle; import android.os.UserManager; -import androidx.annotation.VisibleForTesting; import android.text.TextUtils; import android.util.Log; import android.view.Menu; @@ -46,7 +45,6 @@ import com.android.settings.SettingsActivity; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.applications.manageapplications.ManageApplications; import com.android.settings.core.SubSettingLauncher; -import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.dashboard.DashboardFragment; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.applications.AppUtils; @@ -59,6 +57,8 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import androidx.annotation.VisibleForTesting; + /** * Dashboard fragment to display application information from Settings. This activity presents * extended information associated with a package like code, data, total size, permissions diff --git a/src/com/android/settings/gestures/SwipeToNotificationSettings.java b/src/com/android/settings/gestures/SwipeToNotificationSettings.java index 7ae8644b225..6090eb27f55 100644 --- a/src/com/android/settings/gestures/SwipeToNotificationSettings.java +++ b/src/com/android/settings/gestures/SwipeToNotificationSettings.java @@ -72,5 +72,10 @@ public class SwipeToNotificationSettings extends DashboardFragment { sir.xmlResId = R.xml.swipe_to_notification_settings; return Arrays.asList(sir); } + + @Override + protected boolean isPageSearchEnabled(Context context) { + return SwipeToNotificationPreferenceController.isAvailable(context); + } }; } diff --git a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationSettingsTest.java b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationSettingsTest.java index 78e8603655c..de7b73c810f 100644 --- a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationSettingsTest.java +++ b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationSettingsTest.java @@ -23,28 +23,33 @@ import android.provider.SearchIndexableResource; import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; -import com.android.settingslib.core.AbstractPreferenceController; +import com.android.settings.testutils.shadow.ShadowUtils; +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; +import org.robolectric.annotation.Config; import java.util.List; @RunWith(SettingsRobolectricTestRunner.class) public class SwipeToNotificationSettingsTest { - @Mock private Context mContext; private SwipeToNotificationSettings mFragment; @Before public void setUp() { - MockitoAnnotations.initMocks(this); + mContext = RuntimeEnvironment.application; mFragment = new SwipeToNotificationSettings(); + ShadowUtils.reset(); + } + + @After + public void tearDown() { + ShadowUtils.reset(); } @Test @@ -56,10 +61,22 @@ public class SwipeToNotificationSettingsTest { @Test public void testSearchIndexProvider_shouldIndexResource() { final List indexRes = - SwipeToNotificationSettings.SEARCH_INDEX_DATA_PROVIDER - .getXmlResourcesToIndex(RuntimeEnvironment.application, true /* enabled */); + SwipeToNotificationSettings.SEARCH_INDEX_DATA_PROVIDER + .getXmlResourcesToIndex(mContext, true /* enabled */); assertThat(indexRes).isNotNull(); assertThat(indexRes.get(0).xmlResId).isEqualTo(mFragment.getPreferenceScreenResId()); } + + @Test + @Config(shadows = ShadowUtils.class) + public void getNonIndexableKeys_noFingerprintHardware_shouldSuppressPage() { + ShadowUtils.setFingerprintManager(null); + + final List niks = SwipeToNotificationSettings.SEARCH_INDEX_DATA_PROVIDER + .getNonIndexableKeys(mContext); + + assertThat(niks).isNotEmpty(); + } + }