summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/devicestate/DeviceState.java11
-rw-r--r--services/core/java/com/android/server/policy/DeviceStateProviderImpl.java4
2 files changed, 14 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/devicestate/DeviceState.java b/services/core/java/com/android/server/devicestate/DeviceState.java
index 78d55b92eb80..f8d4b8fffd03 100644
--- a/services/core/java/com/android/server/devicestate/DeviceState.java
+++ b/services/core/java/com/android/server/devicestate/DeviceState.java
@@ -18,6 +18,7 @@ package com.android.server.devicestate;
import static android.hardware.devicestate.DeviceStateManager.MAXIMUM_DEVICE_STATE;
import static android.hardware.devicestate.DeviceStateManager.MINIMUM_DEVICE_STATE;
+import static android.view.Display.DEFAULT_DISPLAY;
import android.annotation.IntDef;
import android.annotation.IntRange;
@@ -48,9 +49,16 @@ public final class DeviceState {
*/
public static final int FLAG_CANCEL_OVERRIDE_REQUESTS = 1 << 0;
+ /**
+ * Flag that indicates this device state is inaccessible for applications to be placed in. This
+ * could be a device-state where the {@link DEFAULT_DISPLAY} is not enabled.
+ */
+ public static final int FLAG_APP_INACCESSIBLE = 1 << 1;
+
/** @hide */
@IntDef(prefix = {"FLAG_"}, flag = true, value = {
FLAG_CANCEL_OVERRIDE_REQUESTS,
+ FLAG_APP_INACCESSIBLE
})
@Retention(RetentionPolicy.SOURCE)
public @interface DeviceStateFlags {}
@@ -97,7 +105,8 @@ public final class DeviceState {
@Override
public String toString() {
- return "DeviceState{" + "identifier=" + mIdentifier + ", name='" + mName + '\'' + '}';
+ return "DeviceState{" + "identifier=" + mIdentifier + ", name='" + mName + '\''
+ + ", app_accessible=" + !hasFlag(FLAG_APP_INACCESSIBLE) + "}";
}
@Override
diff --git a/services/core/java/com/android/server/policy/DeviceStateProviderImpl.java b/services/core/java/com/android/server/policy/DeviceStateProviderImpl.java
index 17a5fd07f920..9b7d19a725d1 100644
--- a/services/core/java/com/android/server/policy/DeviceStateProviderImpl.java
+++ b/services/core/java/com/android/server/policy/DeviceStateProviderImpl.java
@@ -95,6 +95,7 @@ public final class DeviceStateProviderImpl implements DeviceStateProvider,
private static final String DATA_CONFIG_FILE_PATH = "system/devicestate/";
private static final String CONFIG_FILE_NAME = "device_state_configuration.xml";
private static final String FLAG_CANCEL_OVERRIDE_REQUESTS = "FLAG_CANCEL_OVERRIDE_REQUESTS";
+ private static final String FLAG_APP_INACCESSIBLE = "FLAG_APP_INACCESSIBLE";
/** Interface that allows reading the device state configuration. */
interface ReadableConfig {
@@ -145,6 +146,9 @@ public final class DeviceStateProviderImpl implements DeviceStateProvider,
case FLAG_CANCEL_OVERRIDE_REQUESTS:
flags |= DeviceState.FLAG_CANCEL_OVERRIDE_REQUESTS;
break;
+ case FLAG_APP_INACCESSIBLE:
+ flags |= DeviceState.FLAG_APP_INACCESSIBLE;
+ break;
default:
Slog.w(TAG, "Parsed unknown flag with name: "
+ configFlagString);