Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 877fcd80 authored by Fan Zhang's avatar Fan Zhang
Browse files

Suppress some gesture search when there is no hardware

Change-Id: I780fe337da25d144b6966a098e95de52b1513e39
Fixes: 110250839
Test: robotests
parent 81ec9e11
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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
+5 −0
Original line number Diff line number Diff line
@@ -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);
                }
            };
}
+24 −7
Original line number Diff line number Diff line
@@ -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
@@ -57,9 +62,21 @@ public class SwipeToNotificationSettingsTest {
    public void testSearchIndexProvider_shouldIndexResource() {
        final List<SearchIndexableResource> indexRes =
                SwipeToNotificationSettings.SEARCH_INDEX_DATA_PROVIDER
                .getXmlResourcesToIndex(RuntimeEnvironment.application, true /* enabled */);
                        .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();
    }

}