Loading res/xml/display_settings_v2.xml +0 −1 Original line number Diff line number Diff line Loading @@ -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 Loading src/com/android/settings/display/BrightnessLevelPreferenceController.java +22 −2 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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; Loading Loading @@ -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) { Loading Loading @@ -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())); Loading tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java +24 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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); } } Loading
res/xml/display_settings_v2.xml +0 −1 Original line number Diff line number Diff line Loading @@ -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 Loading
src/com/android/settings/display/BrightnessLevelPreferenceController.java +22 −2 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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; Loading Loading @@ -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) { Loading Loading @@ -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())); Loading
tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java +24 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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); } }