Loading core/java/android/app/SystemServiceRegistry.java +7 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,7 @@ import android.hardware.SystemSensorManager; import android.hardware.biometrics.BiometricManager; import android.hardware.biometrics.IAuthService; import android.hardware.camera2.CameraManager; import android.hardware.devicestate.DeviceStateManager; import android.hardware.display.ColorDisplayManager; import android.hardware.display.DisplayManager; import android.hardware.face.FaceManager; Loading Loading @@ -1348,6 +1349,12 @@ public final class SystemServiceRegistry { throws ServiceNotFoundException { return new DreamManager(ctx); }}); registerService(Context.DEVICE_STATE_SERVICE, DeviceStateManager.class, new CachedServiceFetcher<DeviceStateManager>() { @Override public DeviceStateManager createService(ContextImpl ctx) { return new DeviceStateManager(); }}); sInitializing = true; try { Loading core/java/android/content/Context.java +9 −0 Original line number Diff line number Diff line Loading @@ -3508,6 +3508,7 @@ public abstract class Context { PERMISSION_SERVICE, LIGHTS_SERVICE, //@hide: PEOPLE_SERVICE, //@hide: DEVICE_STATE_SERVICE, }) @Retention(RetentionPolicy.SOURCE) public @interface ServiceName {} Loading Loading @@ -5245,6 +5246,14 @@ public abstract class Context { */ public static final String PEOPLE_SERVICE = "people"; /** * Use with {@link #getSystemService(String)} to access device state service. * * @see #getSystemService(String) * @hide */ public static final String DEVICE_STATE_SERVICE = "device_state"; /** * Determine whether the given permission is allowed for a particular * process and user ID running in the system. Loading core/java/android/hardware/devicestate/DeviceStateManager.java 0 → 100644 +38 −0 Original line number Diff line number Diff line /* * Copyright (C) 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.hardware.devicestate; import android.annotation.SystemService; import android.content.Context; /** * Manages the state of the system for devices with user-configurable hardware like a foldable * phone. * * @hide */ @SystemService(Context.DEVICE_STATE_SERVICE) public final class DeviceStateManager { /** Invalid device state. */ public static final int INVALID_DEVICE_STATE = -1; private DeviceStateManagerGlobal mGlobal; public DeviceStateManager() { mGlobal = DeviceStateManagerGlobal.getInstance(); } } core/java/android/hardware/devicestate/DeviceStateManagerGlobal.java 0 → 100644 +58 −0 Original line number Diff line number Diff line /* * Copyright (C) 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.hardware.devicestate; import android.annotation.NonNull; import android.annotation.Nullable; import android.content.Context; import android.os.IBinder; import android.os.ServiceManager; /** * Provides communication with the device state system service on behalf of applications. * * @see DeviceStateManager * @hide */ final class DeviceStateManagerGlobal { private static DeviceStateManagerGlobal sInstance; /** * Returns an instance of {@link DeviceStateManagerGlobal}. May return {@code null} if a * connection with the device state service couldn't be established. */ @Nullable static DeviceStateManagerGlobal getInstance() { synchronized (DeviceStateManagerGlobal.class) { if (sInstance == null) { IBinder b = ServiceManager.getService(Context.DEVICE_STATE_SERVICE); if (b != null) { sInstance = new DeviceStateManagerGlobal(IDeviceStateManager .Stub.asInterface(b)); } } return sInstance; } } @NonNull private final IDeviceStateManager mDeviceStateManager; private DeviceStateManagerGlobal(@NonNull IDeviceStateManager deviceStateManager) { mDeviceStateManager = deviceStateManager; } } core/java/android/hardware/devicestate/IDeviceStateManager.aidl 0 → 100644 +20 −0 Original line number Diff line number Diff line /** * Copyright (c) 2020, The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.hardware.devicestate; /** @hide */ interface IDeviceStateManager {} Loading
core/java/android/app/SystemServiceRegistry.java +7 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,7 @@ import android.hardware.SystemSensorManager; import android.hardware.biometrics.BiometricManager; import android.hardware.biometrics.IAuthService; import android.hardware.camera2.CameraManager; import android.hardware.devicestate.DeviceStateManager; import android.hardware.display.ColorDisplayManager; import android.hardware.display.DisplayManager; import android.hardware.face.FaceManager; Loading Loading @@ -1348,6 +1349,12 @@ public final class SystemServiceRegistry { throws ServiceNotFoundException { return new DreamManager(ctx); }}); registerService(Context.DEVICE_STATE_SERVICE, DeviceStateManager.class, new CachedServiceFetcher<DeviceStateManager>() { @Override public DeviceStateManager createService(ContextImpl ctx) { return new DeviceStateManager(); }}); sInitializing = true; try { Loading
core/java/android/content/Context.java +9 −0 Original line number Diff line number Diff line Loading @@ -3508,6 +3508,7 @@ public abstract class Context { PERMISSION_SERVICE, LIGHTS_SERVICE, //@hide: PEOPLE_SERVICE, //@hide: DEVICE_STATE_SERVICE, }) @Retention(RetentionPolicy.SOURCE) public @interface ServiceName {} Loading Loading @@ -5245,6 +5246,14 @@ public abstract class Context { */ public static final String PEOPLE_SERVICE = "people"; /** * Use with {@link #getSystemService(String)} to access device state service. * * @see #getSystemService(String) * @hide */ public static final String DEVICE_STATE_SERVICE = "device_state"; /** * Determine whether the given permission is allowed for a particular * process and user ID running in the system. Loading
core/java/android/hardware/devicestate/DeviceStateManager.java 0 → 100644 +38 −0 Original line number Diff line number Diff line /* * Copyright (C) 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.hardware.devicestate; import android.annotation.SystemService; import android.content.Context; /** * Manages the state of the system for devices with user-configurable hardware like a foldable * phone. * * @hide */ @SystemService(Context.DEVICE_STATE_SERVICE) public final class DeviceStateManager { /** Invalid device state. */ public static final int INVALID_DEVICE_STATE = -1; private DeviceStateManagerGlobal mGlobal; public DeviceStateManager() { mGlobal = DeviceStateManagerGlobal.getInstance(); } }
core/java/android/hardware/devicestate/DeviceStateManagerGlobal.java 0 → 100644 +58 −0 Original line number Diff line number Diff line /* * Copyright (C) 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.hardware.devicestate; import android.annotation.NonNull; import android.annotation.Nullable; import android.content.Context; import android.os.IBinder; import android.os.ServiceManager; /** * Provides communication with the device state system service on behalf of applications. * * @see DeviceStateManager * @hide */ final class DeviceStateManagerGlobal { private static DeviceStateManagerGlobal sInstance; /** * Returns an instance of {@link DeviceStateManagerGlobal}. May return {@code null} if a * connection with the device state service couldn't be established. */ @Nullable static DeviceStateManagerGlobal getInstance() { synchronized (DeviceStateManagerGlobal.class) { if (sInstance == null) { IBinder b = ServiceManager.getService(Context.DEVICE_STATE_SERVICE); if (b != null) { sInstance = new DeviceStateManagerGlobal(IDeviceStateManager .Stub.asInterface(b)); } } return sInstance; } } @NonNull private final IDeviceStateManager mDeviceStateManager; private DeviceStateManagerGlobal(@NonNull IDeviceStateManager deviceStateManager) { mDeviceStateManager = deviceStateManager; } }
core/java/android/hardware/devicestate/IDeviceStateManager.aidl 0 → 100644 +20 −0 Original line number Diff line number Diff line /** * Copyright (c) 2020, The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.hardware.devicestate; /** @hide */ interface IDeviceStateManager {}