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

Commit 9b6b6d8c authored by Adrian Roos's avatar Adrian Roos Committed by Android (Google) Code Review
Browse files

Merge "AOD: Add temporary always-on setting"

parents 5b1bc2ac 95ff1f41
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -2392,6 +2392,10 @@
    <string name="doze_title">Ambient display</string>
    <!-- [CHAR LIMIT=NONE] Display settings screen, setting description for the ambient display feature. -->
    <string name="doze_summary">Wake screen when you receive notifications</string>
    <!-- [CHAR LIMIT=30] Display settings screen, setting option name to change whether the always-on ambient display feature is enabled. -->
    <string name="doze_always_on_title">Always on</string>
    <!-- [CHAR LIMIT=NONE] Display settings screen, setting description for the always-on ambient display feature. -->
    <string name="doze_always_on_summary">Show time, notification icons, and other info</string>
    <!-- [CHAR LIMIT=30] Sound & display settings screen, setting option name to change font size -->
    <string name="title_font_size">Font size</string>
    <!-- Summary for Font size. Lets the user know that this will make text larger or smaller. Appears in the accessibility portion of setup wizard. [CHAR LIMIT=NONE] -->
+5 −0
Original line number Diff line number Diff line
@@ -110,6 +110,11 @@
        android:title="@string/doze_title"
        android:summary="@string/doze_summary" />

    <SwitchPreference
        android:key="doze_always_on"
        android:title="@string/doze_always_on_title"
        android:summary="@string/doze_always_on_summary" />

    <SwitchPreference
        android:key="tap_to_wake"
        android:title="@string/tap_to_wake"
+6 −2
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import com.android.settings.display.AutoBrightnessPreferenceController;
import com.android.settings.display.AutoRotatePreferenceController;
import com.android.settings.display.BrightnessLevelPreferenceController;
import com.android.settings.display.CameraGesturePreferenceController;
import com.android.settings.display.DozeAlwaysOnPreferenceController;
import com.android.settings.display.DozePreferenceController;
import com.android.settings.display.FontSizePreferenceController;
import com.android.settings.display.LiftToWakePreferenceController;
@@ -42,6 +43,7 @@ import com.android.settings.display.VrDisplayPreferenceController;
import com.android.settings.display.WallpaperPreferenceController;
import com.android.settings.gestures.DoubleTapScreenPreferenceController;
import com.android.settings.gestures.PickupGesturePreferenceController;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;

@@ -90,16 +92,18 @@ public class DisplaySettings extends DashboardFragment {
    private static List<PreferenceController> buildPreferenceControllers(
            Context context, Lifecycle lifecycle) {
        final List<PreferenceController> controllers = new ArrayList<>();
        final AmbientDisplayConfiguration ambientDisplayConfig = new AmbientDisplayConfiguration(context);
        controllers.add(new AutoBrightnessPreferenceController(context, KEY_AUTO_BRIGHTNESS));
        controllers.add(new AutoRotatePreferenceController(context, lifecycle));
        controllers.add(new CameraGesturePreferenceController(context));
        controllers.add(new DozePreferenceController(context));
        controllers.add(new DozePreferenceController(context, ambientDisplayConfig,
                FeatureFactory.getFactory(context).getMetricsFeatureProvider()));
        controllers.add(new DozeAlwaysOnPreferenceController(context, ambientDisplayConfig));
        controllers.add(new FontSizePreferenceController(context));
        controllers.add(new LiftToWakePreferenceController(context));
        controllers.add(new NightDisplayPreferenceController(context));
        controllers.add(new NightModePreferenceController(context));
        controllers.add(new ScreenSaverPreferenceController(context));
        AmbientDisplayConfiguration ambientDisplayConfig = new AmbientDisplayConfiguration(context);
        controllers.add(new PickupGesturePreferenceController(
                context, lifecycle, ambientDisplayConfig, UserHandle.myUserId()));
        controllers.add(new DoubleTapScreenPreferenceController(
+64 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2017 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.android.settings.display;

import static android.provider.Settings.Secure.DOZE_ALWAYS_ON;


import android.content.Context;
import android.os.UserHandle;
import android.provider.Settings;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;

import com.android.internal.hardware.AmbientDisplayConfiguration;
import com.android.settings.core.PreferenceController;

public class DozeAlwaysOnPreferenceController extends PreferenceController implements
        Preference.OnPreferenceChangeListener {

    private static final String KEY_DOZE_ALWAYS_ON = "doze_always_on";
    private static final int MY_USER = UserHandle.myUserId();

    private final AmbientDisplayConfiguration mConfig;

    public DozeAlwaysOnPreferenceController(Context context, AmbientDisplayConfiguration config) {
        super(context);
        mConfig = config;
    }

    @Override
    public String getPreferenceKey() {
        return KEY_DOZE_ALWAYS_ON;
    }

    @Override
    public void updateState(Preference preference) {
        ((SwitchPreference) preference).setChecked(mConfig.alwaysOnEnabled(MY_USER));
    }

    @Override
    public boolean onPreferenceChange(Preference preference, Object newValue) {
        int enabled = (boolean) newValue ? 1 : 0;
        Settings.Secure.putInt(mContext.getContentResolver(), DOZE_ALWAYS_ON, enabled);
        return true;
    }

    @Override
    public boolean isAvailable() {
        return mConfig.alwaysOnAvailable();
    }
}
+13 −15
Original line number Diff line number Diff line
@@ -14,16 +14,15 @@
package com.android.settings.display;

import android.content.Context;
import android.os.Build;
import android.os.SystemProperties;
import android.os.UserHandle;
import android.provider.Settings;
import android.support.annotation.VisibleForTesting;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import android.text.TextUtils;

import com.android.internal.hardware.AmbientDisplayConfiguration;
import com.android.settings.core.PreferenceController;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.overlay.FeatureFactory;

import static android.provider.Settings.Secure.DOZE_ENABLED;
import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.ACTION_AMBIENT_DISPLAY;
@@ -31,13 +30,18 @@ import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.ACTION
public class DozePreferenceController extends PreferenceController implements
        Preference.OnPreferenceChangeListener {

    private static final String KEY_DOZE = "doze";
    @VisibleForTesting
    static final String KEY_DOZE = "doze";
    private static final int MY_USER = UserHandle.myUserId();

    private final MetricsFeatureProvider mMetricsFeatureProvider;
    private final AmbientDisplayConfiguration mConfig;

    public DozePreferenceController(Context context) {
    public DozePreferenceController(Context context, AmbientDisplayConfiguration config,
            MetricsFeatureProvider metricsFeatureProvider) {
        super(context);
        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
        mMetricsFeatureProvider = metricsFeatureProvider;
        mConfig = config;
    }

    @Override
@@ -55,8 +59,7 @@ public class DozePreferenceController extends PreferenceController implements

    @Override
    public void updateState(Preference preference) {
        int value = Settings.Secure.getInt(mContext.getContentResolver(), DOZE_ENABLED, 1);
        ((SwitchPreference) preference).setChecked(value != 0);
        ((SwitchPreference) preference).setChecked(mConfig.pulseOnNotificationEnabled(MY_USER));
    }

    @Override
@@ -68,11 +71,6 @@ public class DozePreferenceController extends PreferenceController implements

    @Override
    public boolean isAvailable() {
        String name = Build.IS_DEBUGGABLE ? SystemProperties.get("debug.doze.component") : null;
        if (TextUtils.isEmpty(name)) {
            name = mContext.getResources().getString(
                    com.android.internal.R.string.config_dozeComponent);
        }
        return !TextUtils.isEmpty(name);
        return mConfig.pulseOnNotificationAvailable();
    }
}
Loading