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

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

Merge "Suppress shared axis transition on Brightness level" into sc-dev

parents 5dede180 eed791e2
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@
            settings:keywords="@string/keywords_display_brightness_level"
            settings:useAdminDisabledSummary="true"
            settings:userRestriction="no_config_brightness">
            <intent android:action="com.android.intent.action.SHOW_BRIGHTNESS_DIALOG"/>
        </com.android.settingslib.RestrictedPreference>

        <com.android.settings.widget.PrimarySwitchPreference
+22 −2
Original line number Diff line number Diff line
@@ -13,12 +13,15 @@
 */
package com.android.settings.display;

import static android.content.Intent.ACTION_SHOW_BRIGHTNESS_DIALOG;

import static com.android.settingslib.display.BrightnessUtils.GAMMA_SPACE_MAX;
import static com.android.settingslib.display.BrightnessUtils.GAMMA_SPACE_MIN;
import static com.android.settingslib.display.BrightnessUtils.convertLinearToGammaFloat;

import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.database.ContentObserver;
import android.hardware.display.BrightnessInfo;
import android.hardware.display.DisplayManager;
@@ -31,6 +34,7 @@ import android.os.RemoteException;
import android.os.ServiceManager;
import android.provider.Settings.System;
import android.service.vr.IVrManager;
import android.text.TextUtils;
import android.util.Log;

import androidx.annotation.VisibleForTesting;
@@ -38,11 +42,13 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;

import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.SettingsBaseActivity;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.core.lifecycle.events.OnStop;
import com.android.settingslib.transition.SettingsTransitionHelper;

import java.text.NumberFormat;

@@ -77,10 +83,12 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr

    private final DisplayListener mDisplayListener = new DisplayListener() {
        @Override
        public void onDisplayAdded(int displayId) {}
        public void onDisplayAdded(int displayId) {
        }

        @Override
        public void onDisplayRemoved(int displayId) {}
        public void onDisplayRemoved(int displayId) {
        }

        @Override
        public void onDisplayChanged(int displayId) {
@@ -140,6 +148,18 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr
        mDisplayManager.unregisterDisplayListener(mDisplayListener);
    }

    @Override
    public boolean handlePreferenceTreeClick(Preference preference) {
        if (!TextUtils.equals(preference.getKey(), getPreferenceKey())) {
            return false;
        }
        final Intent intent = new Intent(ACTION_SHOW_BRIGHTNESS_DIALOG);
        intent.putExtra(SettingsBaseActivity.EXTRA_PAGE_TRANSITION_TYPE,
                SettingsTransitionHelper.TransitionType.TRANSITION_NONE);
        mContext.startActivity(intent);
        return true;
    }

    private void updatedSummary(Preference preference) {
        if (preference != null) {
            preference.setSummary(NumberFormat.getPercentInstance().format(getCurrentBrightness()));
+24 −0
Original line number Diff line number Diff line
@@ -25,9 +25,12 @@ import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.robolectric.Shadows.shadowOf;

import android.app.Activity;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.hardware.display.BrightnessInfo;
import android.os.PowerManager;
import android.provider.Settings.System;
@@ -36,14 +39,19 @@ import android.view.Display;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;

import com.android.settings.core.SettingsBaseActivity;
import com.android.settingslib.transition.SettingsTransitionHelper;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.shadow.api.Shadow;
import org.robolectric.shadows.ShadowActivity;
import org.robolectric.shadows.ShadowApplication;
import org.robolectric.shadows.ShadowContentResolver;

@@ -178,4 +186,20 @@ public class BrightnessLevelPreferenceControllerTest {
        mController.updateState(mPreference);
        verify(mPreference).setSummary("0%");
    }

    @Test
    public void handlePreferenceTreeClick_transitionTypeNone_shouldPassToNextActivity() {
        final Activity activity = Robolectric.setupActivity(Activity.class);
        final BrightnessLevelPreferenceController controller =
                new BrightnessLevelPreferenceController(activity, null);
        final ShadowActivity shadowActivity = shadowOf(activity);
        when(mPreference.getKey()).thenReturn("brightness");

        controller.handlePreferenceTreeClick(mPreference);

        final Intent intent = shadowActivity.getNextStartedActivity();
        assertThat(intent.getIntExtra(SettingsBaseActivity.EXTRA_PAGE_TRANSITION_TYPE, 0))
                .isEqualTo(SettingsTransitionHelper.TransitionType.TRANSITION_NONE);

    }
}