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

Commit 8fc81870 authored by Edgar Wang's avatar Edgar Wang
Browse files

Find the double twist sensor using the type instead of the name

Bug: 192565190
Test: manual & robotest
Change-Id: Ib2b4b39f75667700c503b49f114887a61f7603a6
parent 20e57d33
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -58,8 +58,8 @@
    <!-- Manufacturer backup settings label -->
    <string name="config_backup_settings_label" translatable="true"></string>

    <!-- Double twist sensor name and vendor used by gesture setting -->
    <string name="gesture_double_twist_sensor_name" translatable="false"></string>
    <!-- Double twist sensor type and vendor used by gesture setting -->
    <string name="gesture_double_twist_sensor_type" translatable="false"></string>
    <string name="gesture_double_twist_sensor_vendor" translatable="false"></string>

    <!-- When true enable gesture setting. -->
+3 −3
Original line number Diff line number Diff line
@@ -53,13 +53,13 @@ public class DoubleTwistPreferenceController extends GesturePreferenceController

    public static boolean isGestureAvailable(Context context) {
        final Resources resources = context.getResources();
        final String name = resources.getString(R.string.gesture_double_twist_sensor_name);
        final String type = resources.getString(R.string.gesture_double_twist_sensor_type);
        final String vendor = resources.getString(R.string.gesture_double_twist_sensor_vendor);
        if (!TextUtils.isEmpty(name) && !TextUtils.isEmpty(vendor)) {
        if (!TextUtils.isEmpty(type) && !TextUtils.isEmpty(vendor)) {
            final SensorManager sensorManager =
                    (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
            for (Sensor s : sensorManager.getSensorList(Sensor.TYPE_ALL)) {
                if (name.equals(s.getName()) && vendor.equals(s.getVendor())) {
                if (type.equals(s.getStringType()) && vendor.equals(s.getVendor())) {
                    return true;
                }
            }
+4 −4
Original line number Diff line number Diff line
@@ -78,7 +78,7 @@ public class DoubleTwistPreferenceControllerTest {
        when(mContext.getResources().getString(anyInt())).thenReturn("test");
        when(mContext.getSystemService(Context.SENSOR_SERVICE)).thenReturn(mSensorManager);
        when(mSensorManager.getSensorList(anyInt())).thenReturn(sensorList);
        when(sensorList.get(0).getName()).thenReturn("test");
        when(sensorList.get(0).getStringType()).thenReturn("test");
        when(sensorList.get(0).getVendor()).thenReturn("test");

        assertThat(mController.isAvailable()).isTrue();
@@ -97,7 +97,7 @@ public class DoubleTwistPreferenceControllerTest {
        when(mContext.getResources().getString(anyInt())).thenReturn("test");
        when(mContext.getSystemService(Context.SENSOR_SERVICE)).thenReturn(mSensorManager);
        when(mSensorManager.getSensorList(anyInt())).thenReturn(sensorList);
        when(sensorList.get(0).getName()).thenReturn("not_test");
        when(sensorList.get(0).getStringType()).thenReturn("not_test");

        assertThat(mController.isAvailable()).isFalse();
    }
@@ -105,9 +105,9 @@ public class DoubleTwistPreferenceControllerTest {
    @Test
    public void isSuggestionCompleted_doubleTwist_trueWhenNotAvailable() {
        SettingsShadowResources.overrideResource(
                R.string.gesture_double_twist_sensor_name, "nonexistant name");
                R.string.gesture_double_twist_sensor_type, "nonexistent type");
        SettingsShadowResources.overrideResource(
                R.string.gesture_double_twist_sensor_vendor, "nonexistant vendor");
                R.string.gesture_double_twist_sensor_vendor, "nonexistent vendor");

        assertThat(DoubleTwistPreferenceController.isSuggestionComplete(
                RuntimeEnvironment.application, null /* prefs */))