Loading AndroidManifest.xml +1 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,7 @@ <uses-permission android:name="android.permission.READ_PROFILE" /> <uses-permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY" /> <uses-permission android:name="android.permission.CONFIGURE_DISPLAY_COLOR_MODE" /> <uses-permission android:name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS" /> <uses-permission android:name="android.permission.SET_TIME" /> <uses-permission android:name="android.permission.ACCESS_NOTIFICATIONS" /> <uses-permission android:name="android.permission.REBOOT" /> Loading src/com/android/settings/display/ColorModePreferenceController.java +3 −38 Original line number Diff line number Diff line Loading @@ -14,11 +14,7 @@ package com.android.settings.display; import android.content.Context; import android.os.IBinder; import android.os.Parcel; import android.os.RemoteException; import android.os.ServiceManager; import android.util.Log; import android.hardware.display.ColorDisplayManager; import androidx.annotation.VisibleForTesting; Loading @@ -29,19 +25,16 @@ import com.android.settings.core.BasePreferenceController; public class ColorModePreferenceController extends BasePreferenceController { private static final String TAG = "ColorModePreference"; private static final int SURFACE_FLINGER_TRANSACTION_QUERY_COLOR_MANAGEMENT = 1030; private final ConfigurationWrapper mConfigWrapper; private ColorDisplayController mColorDisplayController; public ColorModePreferenceController(Context context, String key) { super(context, key); mConfigWrapper = new ConfigurationWrapper(); } @Override public int getAvailabilityStatus() { return mConfigWrapper.isDeviceColorManaged() return mContext.getSystemService(ColorDisplayManager.class) .isDeviceColorManaged() && !getColorDisplayController().getAccessibilityTransformActivated() ? AVAILABLE_UNSEARCHABLE : DISABLED_FOR_USER; } Loading @@ -68,32 +61,4 @@ public class ColorModePreferenceController extends BasePreferenceController { } return mColorDisplayController; } @VisibleForTesting static class ConfigurationWrapper { private final IBinder mSurfaceFlinger; ConfigurationWrapper() { mSurfaceFlinger = ServiceManager.getService("SurfaceFlinger"); } boolean isDeviceColorManaged() { if (mSurfaceFlinger != null) { final Parcel data = Parcel.obtain(); final Parcel reply = Parcel.obtain(); data.writeInterfaceToken("android.ui.ISurfaceComposer"); try { mSurfaceFlinger.transact(SURFACE_FLINGER_TRANSACTION_QUERY_COLOR_MANAGEMENT, data, reply, 0); return reply.readBoolean(); } catch (RemoteException ex) { Log.e(TAG, "Failed to query color management support", ex); } finally { data.recycle(); reply.recycle(); } } return false; } } } src/com/android/settings/display/NightDisplayAutoModePreferenceController.java +0 −1 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.settings.display; import android.content.Context; import android.hardware.display.ColorDisplayManager; import androidx.preference.DropDownPreference; Loading Loading
AndroidManifest.xml +1 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,7 @@ <uses-permission android:name="android.permission.READ_PROFILE" /> <uses-permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY" /> <uses-permission android:name="android.permission.CONFIGURE_DISPLAY_COLOR_MODE" /> <uses-permission android:name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS" /> <uses-permission android:name="android.permission.SET_TIME" /> <uses-permission android:name="android.permission.ACCESS_NOTIFICATIONS" /> <uses-permission android:name="android.permission.REBOOT" /> Loading
src/com/android/settings/display/ColorModePreferenceController.java +3 −38 Original line number Diff line number Diff line Loading @@ -14,11 +14,7 @@ package com.android.settings.display; import android.content.Context; import android.os.IBinder; import android.os.Parcel; import android.os.RemoteException; import android.os.ServiceManager; import android.util.Log; import android.hardware.display.ColorDisplayManager; import androidx.annotation.VisibleForTesting; Loading @@ -29,19 +25,16 @@ import com.android.settings.core.BasePreferenceController; public class ColorModePreferenceController extends BasePreferenceController { private static final String TAG = "ColorModePreference"; private static final int SURFACE_FLINGER_TRANSACTION_QUERY_COLOR_MANAGEMENT = 1030; private final ConfigurationWrapper mConfigWrapper; private ColorDisplayController mColorDisplayController; public ColorModePreferenceController(Context context, String key) { super(context, key); mConfigWrapper = new ConfigurationWrapper(); } @Override public int getAvailabilityStatus() { return mConfigWrapper.isDeviceColorManaged() return mContext.getSystemService(ColorDisplayManager.class) .isDeviceColorManaged() && !getColorDisplayController().getAccessibilityTransformActivated() ? AVAILABLE_UNSEARCHABLE : DISABLED_FOR_USER; } Loading @@ -68,32 +61,4 @@ public class ColorModePreferenceController extends BasePreferenceController { } return mColorDisplayController; } @VisibleForTesting static class ConfigurationWrapper { private final IBinder mSurfaceFlinger; ConfigurationWrapper() { mSurfaceFlinger = ServiceManager.getService("SurfaceFlinger"); } boolean isDeviceColorManaged() { if (mSurfaceFlinger != null) { final Parcel data = Parcel.obtain(); final Parcel reply = Parcel.obtain(); data.writeInterfaceToken("android.ui.ISurfaceComposer"); try { mSurfaceFlinger.transact(SURFACE_FLINGER_TRANSACTION_QUERY_COLOR_MANAGEMENT, data, reply, 0); return reply.readBoolean(); } catch (RemoteException ex) { Log.e(TAG, "Failed to query color management support", ex); } finally { data.recycle(); reply.recycle(); } } return false; } } }
src/com/android/settings/display/NightDisplayAutoModePreferenceController.java +0 −1 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.settings.display; import android.content.Context; import android.hardware.display.ColorDisplayManager; import androidx.preference.DropDownPreference; Loading