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

Commit a6fec7be authored by Pavel Maltsev's avatar Pavel Maltsev
Browse files

Allow OEMs to restrict access to secondary display

This is crucial for automotive use-cases when OEMs want to restrict
access to instrument cluster display by third-party apps

Bug: 28864915
Bug: 70840956
Test: manually verify that secondary display with private flag is not
accessible by third-party apps and accessible to apps with system uid

Change-Id: I39e36c2ea73d879a4c7b01220ae852298d868fd5
parent f6f68802
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -2249,6 +2249,10 @@
         mirror the content of the default display. -->
    <bool name="config_localDisplaysMirrorContent">true</bool>

    <!-- Indicates whether local non-default displays are private.
         {@see android.view.Display#FLAG_PRIVATE} -->
    <bool name="config_localDisplaysPrivate">false</bool>

    <!-- The default mode for the default display. One of the following values (See Display.java):
             0 - COLOR_MODE_DEFAULT
             7 - COLOR_MODE_SRGB
+1 −0
Original line number Diff line number Diff line
@@ -352,6 +352,7 @@
  <java-symbol type="bool" name="config_noHomeScreen" />
  <java-symbol type="bool" name="config_guestUserEphemeral" />
  <java-symbol type="bool" name="config_localDisplaysMirrorContent" />
  <java-symbol type="bool" name="config_localDisplaysPrivate" />
  <java-symbol type="integer" name="config_defaultDisplayDefaultColorMode" />
  <java-symbol type="bool" name="config_enableAppWidgetService" />
  <java-symbol type="string" name="config_defaultPictureInPictureScreenEdgeInsets" />
+4 −0
Original line number Diff line number Diff line
@@ -436,6 +436,10 @@ final class LocalDisplayAdapter extends DisplayAdapter {
                                com.android.internal.R.bool.config_localDisplaysMirrorContent)) {
                        mInfo.flags |= DisplayDeviceInfo.FLAG_OWN_CONTENT_ONLY;
                    }

                    if (res.getBoolean(com.android.internal.R.bool.config_localDisplaysPrivate)) {
                        mInfo.flags |= DisplayDeviceInfo.FLAG_PRIVATE;
                    }
                }
            }
            return mInfo;