summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Zixuan Qu <zixuanqu@google.com> 2022-04-25 20:38:13 +0000
committer Zixuan Qu <zixuanqu@google.com> 2022-04-27 11:36:55 +0000
commit0fce6f21504b81389fef3956cafb7449120739c8 (patch)
tree9b04ec259e5d3be807897411583d9a2c01cce6ce
parentc170d9adf0977da871d14cb328d5180a2f1d290b (diff)
Remove the usage of device_config flag: DisplayManagerService.KEY_ALLOW_ALWAYS_UNLOCKED_VIRTUAL_DISPLAYS.
Test: atest DisplayManagerServiceTest Bug: 227384335 Change-Id: I125761acfd6f91a362484abacd6bc92cdfbd9a52
-rw-r--r--core/java/android/hardware/display/DisplayManager.java8
-rw-r--r--services/core/java/com/android/server/display/DisplayManagerService.java24
-rw-r--r--services/tests/servicestests/src/com/android/server/display/DisplayManagerServiceTest.java71
3 files changed, 0 insertions, 103 deletions
diff --git a/core/java/android/hardware/display/DisplayManager.java b/core/java/android/hardware/display/DisplayManager.java
index c3417310dd40..062b68e67dd5 100644
--- a/core/java/android/hardware/display/DisplayManager.java
+++ b/core/java/android/hardware/display/DisplayManager.java
@@ -1436,13 +1436,5 @@ public final class DisplayManager {
* @hide
*/
String KEY_HIGH_REFRESH_RATE_BLACKLIST = "high_refresh_rate_blacklist";
-
- /**
- * Whether to allow the creation of always unlocked virtual displays by apps having the
- * required permissions.
- * @hide
- */
- String KEY_ALLOW_ALWAYS_UNLOCKED_VIRTUAL_DISPLAYS =
- "allow_always_unlocked_virtual_displays";
}
}
diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java
index 5fcdc8a08b5d..f3d41c4003c3 100644
--- a/services/core/java/com/android/server/display/DisplayManagerService.java
+++ b/services/core/java/com/android/server/display/DisplayManagerService.java
@@ -103,8 +103,6 @@ import android.os.SystemProperties;
import android.os.Trace;
import android.os.UserHandle;
import android.os.UserManager;
-import android.provider.DeviceConfig;
-import android.provider.DeviceConfigInterface;
import android.provider.Settings;
import android.sysprop.DisplayProperties;
import android.text.TextUtils;
@@ -406,7 +404,6 @@ public final class DisplayManagerService extends SystemService {
private final SparseArray<IntArray> mDisplayAccessUIDs = new SparseArray<>();
private final Injector mInjector;
- private final DeviceConfigInterface mDeviceConfig;
// The minimum brightness curve, which guarantess that any brightness curve that dips below it
// is rejected by the system.
@@ -483,7 +480,6 @@ public final class DisplayManagerService extends SystemService {
DisplayManagerService(Context context, Injector injector) {
super(context);
mInjector = injector;
- mDeviceConfig = mInjector.getDeviceConfig();
mContext = context;
mHandler = new DisplayManagerHandler(DisplayThread.get().getLooper());
mUiHandler = UiThread.getHandler();
@@ -1332,21 +1328,6 @@ public final class DisplayManagerService extends SystemService {
"Requires ADD_ALWAYS_UNLOCKED_DISPLAY permission to "
+ "create an always unlocked virtual display.");
}
- boolean allowedByDeviceConfig = false;
- final long token = Binder.clearCallingIdentity();
- try {
- allowedByDeviceConfig = mDeviceConfig.getBoolean(
- DeviceConfig.NAMESPACE_DISPLAY_MANAGER,
- DisplayManager.DeviceConfig.KEY_ALLOW_ALWAYS_UNLOCKED_VIRTUAL_DISPLAYS,
- false);
- } finally {
- Binder.restoreCallingIdentity(token);
- }
- if (!allowedByDeviceConfig) {
- Slog.w(TAG, "Ignoring flag VIRTUAL_DISPLAY_FLAG_ALWAYS_UNLOCKED "
- + "because it is not allowed by DeviceConfig");
- flags &= ~VIRTUAL_DISPLAY_FLAG_ALWAYS_UNLOCKED;
- }
}
if ((flags & VIRTUAL_DISPLAY_FLAG_TRUSTED) == 0) {
@@ -2562,11 +2543,6 @@ public final class DisplayManagerService extends SystemService {
return DisplayProperties
.debug_allow_non_native_refresh_rate_override().orElse(true);
}
-
- @NonNull
- public DeviceConfigInterface getDeviceConfig() {
- return DeviceConfigInterface.REAL;
- }
}
@VisibleForTesting
diff --git a/services/tests/servicestests/src/com/android/server/display/DisplayManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/display/DisplayManagerServiceTest.java
index bf3c7c3e05fb..e5ea7c963358 100644
--- a/services/tests/servicestests/src/com/android/server/display/DisplayManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/display/DisplayManagerServiceTest.java
@@ -16,7 +16,6 @@
package com.android.server.display;
-import static android.Manifest.permission.ADD_ALWAYS_UNLOCKED_DISPLAY;
import static android.Manifest.permission.ADD_TRUSTED_DISPLAY;
import static com.android.server.display.VirtualDisplayAdapter.UNIQUE_ID_PREFIX;
@@ -56,8 +55,6 @@ import android.os.IBinder;
import android.os.MessageQueue;
import android.os.Process;
import android.platform.test.annotations.Presubmit;
-import android.provider.DeviceConfig;
-import android.provider.DeviceConfigInterface;
import android.view.Display;
import android.view.DisplayCutout;
import android.view.DisplayEventReceiver;
@@ -65,7 +62,6 @@ import android.view.DisplayInfo;
import android.view.Surface;
import android.view.SurfaceControl;
-import androidx.annotation.NonNull;
import androidx.test.InstrumentationRegistry;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.filters.FlakyTest;
@@ -78,7 +74,6 @@ import com.android.server.companion.virtual.VirtualDeviceManagerInternal;
import com.android.server.display.DisplayManagerService.SyncRoot;
import com.android.server.lights.LightsManager;
import com.android.server.sensors.SensorManagerInternal;
-import com.android.server.testutils.FakeDeviceConfigInterface;
import com.android.server.wm.WindowManagerInternal;
import com.google.common.collect.ImmutableMap;
@@ -119,7 +114,6 @@ public class DisplayManagerServiceTest {
public TestRule compatChangeRule = new PlatformCompatChangeRule();
private Context mContext;
- private FakeDeviceConfigInterface mDeviceConfig;
private final DisplayManagerService.Injector mShortMockedInjector =
new DisplayManagerService.Injector() {
@@ -142,12 +136,6 @@ public class DisplayManagerServiceTest {
return new VirtualDisplayAdapter(syncRoot, context, handler, displayAdapterListener,
(String name, boolean secure) -> mMockDisplayToken);
}
-
- @NonNull
- @Override
- public DeviceConfigInterface getDeviceConfig() {
- return mDeviceConfig;
- }
}
private final DisplayManagerService.Injector mBasicInjector = new BasicInjector();
@@ -195,7 +183,6 @@ public class DisplayManagerServiceTest {
VirtualDeviceManagerInternal.class, mMockVirtualDeviceManagerInternal);
mContext = spy(new ContextWrapper(ApplicationProvider.getApplicationContext()));
- mDeviceConfig = new FakeDeviceConfigInterface();
// Disable binder caches in this process.
PropertyInvalidatedCache.disableForTestMode();
@@ -649,25 +636,6 @@ public class DisplayManagerServiceTest {
}
/**
- * Tests that specifying the VIRTUAL_DISPLAY_FLAG_ALWAYS_UNLOCKED flag is processed correctly
- * when it is allowed by DeviceConfig.
- */
- @Test
- public void testCreateVirtualDisplay_alwaysUnlockedAllowed() {
- testCreateVirtualDisplay_alwaysUnlocked(/*deviceConfigAllows*/ true, /*flagExpected*/ true);
- }
-
- /**
- * Tests that specifying the VIRTUAL_DISPLAY_FLAG_ALWAYS_UNLOCKED flag when DeviceConfig does
- * not allow it results in the flag being stripped from the final flags.
- */
- @Test
- public void testCreateVirtualDisplay_alwaysUnlockedDisallowed() {
- testCreateVirtualDisplay_alwaysUnlocked(
- /*deviceConfigAllows*/ false, /*flagExpected*/ false);
- }
-
- /**
* Tests that specifying VIRTUAL_DISPLAY_FLAG_OWN_DISPLAY_GROUP is allowed when the permission
* ADD_TRUSTED_DISPLAY is granted.
*/
@@ -1186,45 +1154,6 @@ public class DisplayManagerServiceTest {
assertEquals(expectedRefreshRate, displayInfo.getRefreshRate(), 0.01f);
}
- private void testCreateVirtualDisplay_alwaysUnlocked(boolean deviceConfigAllows,
- boolean flagExpected) {
- mDeviceConfig.setProperty(DeviceConfig.NAMESPACE_DISPLAY_MANAGER,
- DisplayManager.DeviceConfig.KEY_ALLOW_ALWAYS_UNLOCKED_VIRTUAL_DISPLAYS,
- deviceConfigAllows ? "true" : "false", /*makeDefault*/ false);
-
- DisplayManagerService displayManager =
- new DisplayManagerService(mContext, mBasicInjector);
- registerDefaultDisplays(displayManager);
- String uniqueId = "uniqueId --- ALWAYS_UNLOCKED";
- int flags = DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_DISPLAY_GROUP
- | DisplayManager.VIRTUAL_DISPLAY_FLAG_ALWAYS_UNLOCKED;
-
- DisplayManagerService.BinderService bs = displayManager.new BinderService();
- when(mMockAppToken.asBinder()).thenReturn(mMockAppToken);
-
- when(mContext.checkCallingPermission(ADD_ALWAYS_UNLOCKED_DISPLAY)).thenReturn(
- PackageManager.PERMISSION_GRANTED);
- when(mContext.checkCallingPermission(ADD_TRUSTED_DISPLAY)).thenReturn(
- PackageManager.PERMISSION_GRANTED);
-
- final VirtualDisplayConfig.Builder builder = new VirtualDisplayConfig.Builder(
- VIRTUAL_DISPLAY_NAME, 600, 800, 320);
- builder.setFlags(flags);
- builder.setUniqueId(uniqueId);
-
- int displayId = bs.createVirtualDisplay(builder.build(), mMockAppToken /* callback */,
- null /* projection */, null /* virtualDeviceToken */, PACKAGE_NAME);
- displayManager.performTraversalInternal(mock(SurfaceControl.Transaction.class));
- displayManager.getDisplayHandler().runWithScissors(() -> {}, 0 /* now */);
- DisplayDeviceInfo ddi = displayManager.getDisplayDeviceInfoInternal(displayId);
- assertNotNull(ddi);
- if (flagExpected) {
- assertNotEquals(ddi.flags & DisplayDeviceInfo.FLAG_ALWAYS_UNLOCKED, 0);
- } else {
- assertEquals(ddi.flags & DisplayDeviceInfo.FLAG_ALWAYS_UNLOCKED, 0);
- }
- }
-
private int getDisplayIdForDisplayDevice(
DisplayManagerService displayManager,
DisplayManagerService.BinderService displayManagerBinderService,