diff --git a/AndroidManifest.xml b/AndroidManifest.xml index c5e512eeefc..7807f0e07d9 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -69,6 +69,7 @@ + diff --git a/src/com/android/settings/display/ColorModePreferenceController.java b/src/com/android/settings/display/ColorModePreferenceController.java index 46794364156..5d6a4128768 100644 --- a/src/com/android/settings/display/ColorModePreferenceController.java +++ b/src/com/android/settings/display/ColorModePreferenceController.java @@ -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; @@ -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; } @@ -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; - } - } } diff --git a/src/com/android/settings/display/NightDisplayAutoModePreferenceController.java b/src/com/android/settings/display/NightDisplayAutoModePreferenceController.java index 8ad5e630e2b..1710f515160 100644 --- a/src/com/android/settings/display/NightDisplayAutoModePreferenceController.java +++ b/src/com/android/settings/display/NightDisplayAutoModePreferenceController.java @@ -17,7 +17,6 @@ package com.android.settings.display; import android.content.Context; - import android.hardware.display.ColorDisplayManager; import androidx.preference.DropDownPreference;