Loading src/com/android/settings/display/BrightnessLevelPreferenceController.java +4 −46 Original line number Diff line number Diff line Loading @@ -30,15 +30,9 @@ import android.hardware.display.DisplayManager.DisplayListener; import android.net.Uri; import android.os.Handler; import android.os.Looper; import android.os.PowerManager; 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; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; Loading @@ -58,11 +52,8 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr private static final String TAG = "BrightnessPrefCtrl"; private static final String KEY_BRIGHTNESS = "brightness"; private static final Uri BRIGHTNESS_FOR_VR_URI; private static final Uri BRIGHTNESS_ADJ_URI; private final float mMinVrBrightness; private final float mMaxVrBrightness; private final ContentResolver mContentResolver; private final Handler mHandler = new Handler(Looper.getMainLooper()); private final DisplayManager mDisplayManager; Loading @@ -70,7 +61,6 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr private Preference mPreference; static { BRIGHTNESS_FOR_VR_URI = System.getUriFor(System.SCREEN_BRIGHTNESS_FOR_VR); BRIGHTNESS_ADJ_URI = System.getUriFor(System.SCREEN_AUTO_BRIGHTNESS_ADJ); } Loading Loading @@ -105,12 +95,6 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr if (lifecycle != null) { lifecycle.addObserver(this); } final PowerManager powerManager = context.getSystemService(PowerManager.class); mMinVrBrightness = powerManager.getBrightnessConstraint( PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MINIMUM_VR); mMaxVrBrightness = powerManager.getBrightnessConstraint( PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MAXIMUM_VR); mContentResolver = mContext.getContentResolver(); } Loading @@ -137,7 +121,6 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr @Override public void onStart() { mContentResolver.registerContentObserver(BRIGHTNESS_FOR_VR_URI, false, mBrightnessObserver); mContentResolver.registerContentObserver(BRIGHTNESS_ADJ_URI, false, mBrightnessObserver); mDisplayManager.registerDisplayListener(mDisplayListener, mHandler, DisplayManager.EVENT_FLAG_DISPLAY_BRIGHTNESS); Loading Loading @@ -174,17 +157,11 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr private double getCurrentBrightness() { int value = 0; if (isInVrMode()) { value = convertLinearToGammaFloat(System.getFloat(mContentResolver, System.SCREEN_BRIGHTNESS_FOR_VR_FLOAT, mMaxVrBrightness), mMinVrBrightness, mMaxVrBrightness); } else { final BrightnessInfo info = mContext.getDisplay().getBrightnessInfo(); if (info != null) { value = convertLinearToGammaFloat(info.brightness, info.brightnessMinimum, info.brightnessMaximum); } } return getPercentage(value, GAMMA_SPACE_MIN, GAMMA_SPACE_MAX); } Loading @@ -197,23 +174,4 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr } return (value - min) / (max - min); } @VisibleForTesting IVrManager safeGetVrManager() { return IVrManager.Stub.asInterface(ServiceManager.getService( Context.VR_SERVICE)); } @VisibleForTesting boolean isInVrMode() { IVrManager vrManager = safeGetVrManager(); if (vrManager != null) { try { return vrManager.getVrModeState(); } catch (RemoteException e) { Log.e(TAG, "Failed to check vr mode!", e); } } return false; } } tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java +0 −42 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static android.content.Context.POWER_SERVICE; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; Loading Loading @@ -82,16 +81,11 @@ public class BrightnessLevelPreferenceControllerTest { PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MINIMUM)).thenReturn(0.0f); when(mPowerManager.getBrightnessConstraint( PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MAXIMUM)).thenReturn(1.0f); when(mPowerManager.getBrightnessConstraint( PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MINIMUM_VR)).thenReturn(0.0f); when(mPowerManager.getBrightnessConstraint( PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MAXIMUM_VR)).thenReturn(1.0f); ShadowApplication.getInstance().setSystemService(POWER_SERVICE, mPowerManager); when(mScreen.findPreference(anyString())).thenReturn(mPreference); when(mContext.getDisplay()).thenReturn(mDisplay); mController = spy(new BrightnessLevelPreferenceController(mContext, null)); doReturn(false).when(mController).isInVrMode(); } @Test Loading @@ -99,12 +93,6 @@ public class BrightnessLevelPreferenceControllerTest { assertThat(mController.isAvailable()).isTrue(); } @Test public void isInVrMode_noVrManager_shouldAlwaysReturnFalse() { doReturn(null).when(mController).safeGetVrManager(); assertThat(mController.isInVrMode()).isFalse(); } @Test public void onStart_shouldRegisterObserver() { BrightnessLevelPreferenceController controller = Loading @@ -113,8 +101,6 @@ public class BrightnessLevelPreferenceControllerTest { controller.onStart(); assertThat(shadowContentResolver.getContentObservers( System.getUriFor(System.SCREEN_BRIGHTNESS_FOR_VR))).isNotEmpty(); assertThat(shadowContentResolver.getContentObservers( System.getUriFor(System.SCREEN_AUTO_BRIGHTNESS_ADJ))).isNotEmpty(); } Loading @@ -129,8 +115,6 @@ public class BrightnessLevelPreferenceControllerTest { controller.onStart(); controller.onStop(); assertThat(shadowContentResolver.getContentObservers( System.getUriFor(System.SCREEN_BRIGHTNESS_FOR_VR_FLOAT))).isEmpty(); assertThat(shadowContentResolver.getContentObservers( System.getUriFor(System.SCREEN_AUTO_BRIGHTNESS_ADJ))).isEmpty(); } Loading @@ -150,19 +134,8 @@ public class BrightnessLevelPreferenceControllerTest { verify(mPreference).setSummary("87%"); } @Test public void updateState_inVrMode_shouldSetSummaryToVrBrightness() { doReturn(true).when(mController).isInVrMode(); System.putFloat(mContentResolver, System.SCREEN_BRIGHTNESS_FOR_VR_FLOAT, 0.6f); mController.updateState(mPreference); verify(mPreference).setSummary("91%"); } @Test public void updateState_autoBrightness_shouldSetSummaryToAutoBrightness() { doReturn(false).when(mController).isInVrMode(); System.putInt(mContentResolver, System.SCREEN_BRIGHTNESS_MODE, System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC); Loading @@ -177,7 +150,6 @@ public class BrightnessLevelPreferenceControllerTest { @Test public void updateState_manualBrightness_shouldSetSummaryToScreenBrightness() { doReturn(false).when(mController).isInVrMode(); System.putInt(mContentResolver, System.SCREEN_BRIGHTNESS_MODE, System.SCREEN_BRIGHTNESS_MODE_MANUAL); Loading @@ -190,20 +162,6 @@ public class BrightnessLevelPreferenceControllerTest { verify(mPreference).setSummary("87%"); } @Test public void updateState_brightnessOutOfRange_shouldSetSummaryInRange() { // VR mode doReturn(true).when(mController).isInVrMode(); System.putFloat(mContentResolver, System.SCREEN_BRIGHTNESS_FOR_VR_FLOAT, 1.05f); mController.updateState(mPreference); verify(mPreference).setSummary("100%"); System.putFloat(mContentResolver, System.SCREEN_BRIGHTNESS_FOR_VR_FLOAT, -20f); mController.updateState(mPreference); verify(mPreference).setSummary("0%"); } @Test public void handlePreferenceTreeClick_transitionTypeNone_shouldPassToNextActivity() { final Activity activity = Robolectric.setupActivity(Activity.class); Loading tests/robotests/src/com/android/settings/testutils/shadow/ShadowPowerManager.java +0 −9 Original line number Diff line number Diff line Loading @@ -35,13 +35,4 @@ public class ShadowPowerManager { return 0; } @Implementation protected int getMinimumScreenBrightnessForVrSetting() { return 0; } @Implementation protected int getMaximumScreenBrightnessForVrSetting() { return 0; } } Loading
src/com/android/settings/display/BrightnessLevelPreferenceController.java +4 −46 Original line number Diff line number Diff line Loading @@ -30,15 +30,9 @@ import android.hardware.display.DisplayManager.DisplayListener; import android.net.Uri; import android.os.Handler; import android.os.Looper; import android.os.PowerManager; 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; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; Loading @@ -58,11 +52,8 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr private static final String TAG = "BrightnessPrefCtrl"; private static final String KEY_BRIGHTNESS = "brightness"; private static final Uri BRIGHTNESS_FOR_VR_URI; private static final Uri BRIGHTNESS_ADJ_URI; private final float mMinVrBrightness; private final float mMaxVrBrightness; private final ContentResolver mContentResolver; private final Handler mHandler = new Handler(Looper.getMainLooper()); private final DisplayManager mDisplayManager; Loading @@ -70,7 +61,6 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr private Preference mPreference; static { BRIGHTNESS_FOR_VR_URI = System.getUriFor(System.SCREEN_BRIGHTNESS_FOR_VR); BRIGHTNESS_ADJ_URI = System.getUriFor(System.SCREEN_AUTO_BRIGHTNESS_ADJ); } Loading Loading @@ -105,12 +95,6 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr if (lifecycle != null) { lifecycle.addObserver(this); } final PowerManager powerManager = context.getSystemService(PowerManager.class); mMinVrBrightness = powerManager.getBrightnessConstraint( PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MINIMUM_VR); mMaxVrBrightness = powerManager.getBrightnessConstraint( PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MAXIMUM_VR); mContentResolver = mContext.getContentResolver(); } Loading @@ -137,7 +121,6 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr @Override public void onStart() { mContentResolver.registerContentObserver(BRIGHTNESS_FOR_VR_URI, false, mBrightnessObserver); mContentResolver.registerContentObserver(BRIGHTNESS_ADJ_URI, false, mBrightnessObserver); mDisplayManager.registerDisplayListener(mDisplayListener, mHandler, DisplayManager.EVENT_FLAG_DISPLAY_BRIGHTNESS); Loading Loading @@ -174,17 +157,11 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr private double getCurrentBrightness() { int value = 0; if (isInVrMode()) { value = convertLinearToGammaFloat(System.getFloat(mContentResolver, System.SCREEN_BRIGHTNESS_FOR_VR_FLOAT, mMaxVrBrightness), mMinVrBrightness, mMaxVrBrightness); } else { final BrightnessInfo info = mContext.getDisplay().getBrightnessInfo(); if (info != null) { value = convertLinearToGammaFloat(info.brightness, info.brightnessMinimum, info.brightnessMaximum); } } return getPercentage(value, GAMMA_SPACE_MIN, GAMMA_SPACE_MAX); } Loading @@ -197,23 +174,4 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr } return (value - min) / (max - min); } @VisibleForTesting IVrManager safeGetVrManager() { return IVrManager.Stub.asInterface(ServiceManager.getService( Context.VR_SERVICE)); } @VisibleForTesting boolean isInVrMode() { IVrManager vrManager = safeGetVrManager(); if (vrManager != null) { try { return vrManager.getVrModeState(); } catch (RemoteException e) { Log.e(TAG, "Failed to check vr mode!", e); } } return false; } }
tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java +0 −42 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static android.content.Context.POWER_SERVICE; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; Loading Loading @@ -82,16 +81,11 @@ public class BrightnessLevelPreferenceControllerTest { PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MINIMUM)).thenReturn(0.0f); when(mPowerManager.getBrightnessConstraint( PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MAXIMUM)).thenReturn(1.0f); when(mPowerManager.getBrightnessConstraint( PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MINIMUM_VR)).thenReturn(0.0f); when(mPowerManager.getBrightnessConstraint( PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MAXIMUM_VR)).thenReturn(1.0f); ShadowApplication.getInstance().setSystemService(POWER_SERVICE, mPowerManager); when(mScreen.findPreference(anyString())).thenReturn(mPreference); when(mContext.getDisplay()).thenReturn(mDisplay); mController = spy(new BrightnessLevelPreferenceController(mContext, null)); doReturn(false).when(mController).isInVrMode(); } @Test Loading @@ -99,12 +93,6 @@ public class BrightnessLevelPreferenceControllerTest { assertThat(mController.isAvailable()).isTrue(); } @Test public void isInVrMode_noVrManager_shouldAlwaysReturnFalse() { doReturn(null).when(mController).safeGetVrManager(); assertThat(mController.isInVrMode()).isFalse(); } @Test public void onStart_shouldRegisterObserver() { BrightnessLevelPreferenceController controller = Loading @@ -113,8 +101,6 @@ public class BrightnessLevelPreferenceControllerTest { controller.onStart(); assertThat(shadowContentResolver.getContentObservers( System.getUriFor(System.SCREEN_BRIGHTNESS_FOR_VR))).isNotEmpty(); assertThat(shadowContentResolver.getContentObservers( System.getUriFor(System.SCREEN_AUTO_BRIGHTNESS_ADJ))).isNotEmpty(); } Loading @@ -129,8 +115,6 @@ public class BrightnessLevelPreferenceControllerTest { controller.onStart(); controller.onStop(); assertThat(shadowContentResolver.getContentObservers( System.getUriFor(System.SCREEN_BRIGHTNESS_FOR_VR_FLOAT))).isEmpty(); assertThat(shadowContentResolver.getContentObservers( System.getUriFor(System.SCREEN_AUTO_BRIGHTNESS_ADJ))).isEmpty(); } Loading @@ -150,19 +134,8 @@ public class BrightnessLevelPreferenceControllerTest { verify(mPreference).setSummary("87%"); } @Test public void updateState_inVrMode_shouldSetSummaryToVrBrightness() { doReturn(true).when(mController).isInVrMode(); System.putFloat(mContentResolver, System.SCREEN_BRIGHTNESS_FOR_VR_FLOAT, 0.6f); mController.updateState(mPreference); verify(mPreference).setSummary("91%"); } @Test public void updateState_autoBrightness_shouldSetSummaryToAutoBrightness() { doReturn(false).when(mController).isInVrMode(); System.putInt(mContentResolver, System.SCREEN_BRIGHTNESS_MODE, System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC); Loading @@ -177,7 +150,6 @@ public class BrightnessLevelPreferenceControllerTest { @Test public void updateState_manualBrightness_shouldSetSummaryToScreenBrightness() { doReturn(false).when(mController).isInVrMode(); System.putInt(mContentResolver, System.SCREEN_BRIGHTNESS_MODE, System.SCREEN_BRIGHTNESS_MODE_MANUAL); Loading @@ -190,20 +162,6 @@ public class BrightnessLevelPreferenceControllerTest { verify(mPreference).setSummary("87%"); } @Test public void updateState_brightnessOutOfRange_shouldSetSummaryInRange() { // VR mode doReturn(true).when(mController).isInVrMode(); System.putFloat(mContentResolver, System.SCREEN_BRIGHTNESS_FOR_VR_FLOAT, 1.05f); mController.updateState(mPreference); verify(mPreference).setSummary("100%"); System.putFloat(mContentResolver, System.SCREEN_BRIGHTNESS_FOR_VR_FLOAT, -20f); mController.updateState(mPreference); verify(mPreference).setSummary("0%"); } @Test public void handlePreferenceTreeClick_transitionTypeNone_shouldPassToNextActivity() { final Activity activity = Robolectric.setupActivity(Activity.class); Loading
tests/robotests/src/com/android/settings/testutils/shadow/ShadowPowerManager.java +0 −9 Original line number Diff line number Diff line Loading @@ -35,13 +35,4 @@ public class ShadowPowerManager { return 0; } @Implementation protected int getMinimumScreenBrightnessForVrSetting() { return 0; } @Implementation protected int getMaximumScreenBrightnessForVrSetting() { return 0; } }