Merge "Suppress some gesture search when there is no hardware"
diff --git a/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java b/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java
index 4498225..4917663 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.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.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.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 7ae8644..6090eb2 100644
--- a/src/com/android/settings/gestures/SwipeToNotificationSettings.java
+++ b/src/com/android/settings/gestures/SwipeToNotificationSettings.java
@@ -72,5 +72,10 @@
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 78e8603..de7b73c 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 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 @@
@Test
public void testSearchIndexProvider_shouldIndexResource() {
final List<SearchIndexableResource> 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<String> niks = SwipeToNotificationSettings.SEARCH_INDEX_DATA_PROVIDER
+ .getNonIndexableKeys(mContext);
+
+ assertThat(niks).isNotEmpty();
+ }
+
}