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

Commit b6920562 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add Adaptive brightness as an inline result in Search"

parents 47124e30 516b0f1b
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -183,5 +183,12 @@ public class DisplaySettings extends DashboardFragment {

                    return result;
                }

                @Override
                public List<PreferenceController> getPreferenceControllers(Context context) {
                    final List<PreferenceController> controllers = new ArrayList<>();
                    controllers.add(new AutoBrightnessPreferenceController(context));
                    return controllers;
                }
            };
}
+15 −0
Original line number Diff line number Diff line
@@ -18,7 +18,12 @@ import android.provider.Settings;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;

import android.util.ArrayMap;
import com.android.settings.core.PreferenceController;
import com.android.settings.search2.InlineSwitchPayload;
import com.android.settings.search2.ResultPayload;

import java.util.Map;

import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE;
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;
@@ -59,4 +64,14 @@ public class AutoBrightnessPreferenceController extends PreferenceController imp
                auto ? SCREEN_BRIGHTNESS_MODE_AUTOMATIC : SCREEN_BRIGHTNESS_MODE_MANUAL);
        return true;
    }

    @Override
    public ResultPayload getResultPayload() {
        final Map<Integer, Boolean> valueMap = new ArrayMap<>();
        valueMap.put(SCREEN_BRIGHTNESS_MODE_AUTOMATIC, true);
        valueMap.put(SCREEN_BRIGHTNESS_MODE_MANUAL, false);

        return new InlineSwitchPayload(SCREEN_BRIGHTNESS_MODE,
                ResultPayload.SettingsSource.SYSTEM, valueMap);
    }
}
+14 −2
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@ import android.content.Context;
import android.os.Parcel;
import android.os.Parcelable;
import android.provider.Settings;
import android.util.ArrayMap;

import java.util.Map;

@@ -39,7 +38,7 @@ public class InlineSwitchPayload extends InlinePayload {
    public final Map<Integer, Boolean> valueMap;

    public InlineSwitchPayload(String newUri, @SettingsSource int settingsSource,
            ArrayMap<Integer, Boolean> map) {
            Map<Integer, Boolean> map) {
        super(newUri, PayloadType.INLINE_SWITCH, settingsSource);
        valueMap = map;
    }
@@ -91,6 +90,16 @@ public class InlineSwitchPayload extends InlinePayload {
            case SettingsSource.SECURE:
                settingsValue = Settings.Secure.getInt(context.getContentResolver(),
                        settingsUri, 0);
                break;
            case SettingsSource.SYSTEM:
                settingsValue = Settings.System.getInt(context.getContentResolver(),
                        settingsUri, 0);
                break;

            case SettingsSource.GLOBAL:
                settingsValue = Settings.Global.getInt(context.getContentResolver(),
                        settingsUri, 0);
                break;
        }

        if (settingsValue == -1) {
@@ -126,10 +135,13 @@ public class InlineSwitchPayload extends InlinePayload {

        switch(settingSource) {
            case SettingsSource.GLOBAL:
                Settings.Global.putInt(context.getContentResolver(), settingsUri, switchValue);
                return;
            case SettingsSource.SECURE:
                Settings.Secure.putInt(context.getContentResolver(), settingsUri, switchValue);
                return;
            case SettingsSource.SYSTEM:
                Settings.System.putInt(context.getContentResolver(), settingsUri, switchValue);
                return;
            case SettingsSource.UNKNOWN:
                return;
+23 −0
Original line number Diff line number Diff line
@@ -20,6 +20,9 @@ import android.content.Context;
import android.provider.Settings;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.gestures.DoubleTapPowerPreferenceController;
import com.android.settings.search2.InlineSwitchPayload;
import com.android.settings.search2.ResultPayload;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -27,6 +30,7 @@ import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;

import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE;
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;
@@ -64,4 +68,23 @@ public class AutoBrightnessPreferenceControllerTest {
                SCREEN_BRIGHTNESS_MODE, SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
        assertThat(mode).isEqualTo(SCREEN_BRIGHTNESS_MODE_MANUAL);
    }

    @Test
    public void testPreferenceController_ProperResultPayloadType() {
        final Context context = ShadowApplication.getInstance().getApplicationContext();
        mController = new AutoBrightnessPreferenceController(context);
        ResultPayload payload = mController.getResultPayload();
        assertThat(payload).isInstanceOf(InlineSwitchPayload.class);
    }

    @Test
    public void testPreferenceController_CorrectPayload() {
        final Context context = ShadowApplication.getInstance().getApplicationContext();
        mController = new AutoBrightnessPreferenceController(context);
        InlineSwitchPayload payload = (InlineSwitchPayload) mController.getResultPayload();
        assertThat(payload.settingsUri).isEqualTo("screen_brightness_mode");
        assertThat(payload.settingSource).isEqualTo(ResultPayload.SettingsSource.SYSTEM);
        assertThat(payload.valueMap.get(1)).isEqualTo(true);
        assertThat(payload.valueMap.get(0)).isEqualTo(false);
    }
}
+4 −11
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import com.android.internal.hardware.AmbientDisplayConfiguration;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.core.PreferenceController;
import com.android.settings.display.AutoBrightnessPreferenceController;
import com.android.settings.gestures.DoubleTapPowerPreferenceController;
import com.android.settings.gestures.DoubleTapScreenPreferenceController;
import com.android.settings.gestures.DoubleTwistPreferenceController;
@@ -81,19 +82,11 @@ public class DatabaseIndexingUtilsTest {

    @Test
    public void testGetPreferenceControllerUriMap_CompatibleClass_ReturnsValidMap() {
        String className = "com.android.settings.gestures.GestureSettings";
        String className = "com.android.settings.DisplaySettings";

        Map map = DatabaseIndexingUtils.getPreferenceControllerUriMap(className, mContext);
        assertThat(map.get("gesture_double_twist"))
                .isInstanceOf(DoubleTwistPreferenceController.class);
        assertThat(map.get("gesture_swipe_down_fingerprint"))
                .isInstanceOf(SwipeToNotificationPreferenceController.class);
        assertThat(map.get("gesture_double_tap_screen"))
                .isInstanceOf(DoubleTapScreenPreferenceController.class);
        assertThat(map.get("gesture_pick_up"))
                .isInstanceOf(PickupGesturePreferenceController.class);
        assertThat(map.get("gesture_double_tap_power"))
                .isInstanceOf(DoubleTapPowerPreferenceController.class);
        assertThat(map.get("auto_brightness"))
                .isInstanceOf(AutoBrightnessPreferenceController.class);
    }

    @Test