Revert "Add device state Hal service"
Revert submission 30266203-device state hal service
Reason for revert: DroidMonitor created revert due to b/381006458. Will be verified through ABTD for standard investigation.
Reverted changes: /q/submissionid:30266203-device+state+hal+service
Change-Id: I4abf46bf7865bcd0b189b55f43c165732956712d
diff --git a/services/core/Android.bp b/services/core/Android.bp
index d2b8bda..aea16b0 100644
--- a/services/core/Android.bp
+++ b/services/core/Android.bp
@@ -178,7 +178,6 @@
static_libs: [
"android.frameworks.vibrator-V1-java", // AIDL
- "android.frameworks.devicestate-V1-java", // AIDL
"android.hardware.authsecret-V1.0-java",
"android.hardware.authsecret-V1-java",
"android.hardware.boot-V1.0-java", // HIDL
diff --git a/services/core/java/com/android/server/devicestate/DeviceStateManagerService.java b/services/core/java/com/android/server/devicestate/DeviceStateManagerService.java
index 2513443..8b9c664 100644
--- a/services/core/java/com/android/server/devicestate/DeviceStateManagerService.java
+++ b/services/core/java/com/android/server/devicestate/DeviceStateManagerService.java
@@ -19,16 +19,7 @@
import static android.Manifest.permission.CONTROL_DEVICE_STATE;
import static android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND;
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
-import static android.frameworks.devicestate.DeviceStateConfiguration.DeviceStatePropertyValue.FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_CLOSED;
-import static android.frameworks.devicestate.DeviceStateConfiguration.DeviceStatePropertyValue.FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_HALF_OPEN;
-import static android.frameworks.devicestate.DeviceStateConfiguration.DeviceStatePropertyValue.FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_OPEN;
-import static android.frameworks.devicestate.DeviceStateConfiguration.DeviceStatePropertyValue.FEATURE_DUAL_DISPLAY;
-import static android.frameworks.devicestate.DeviceStateConfiguration.DeviceStatePropertyValue.FEATURE_REAR_DISPLAY;
-import static android.frameworks.devicestate.DeviceStateConfiguration.DeviceStatePropertyValue.FOLDABLE_DISPLAY_CONFIGURATION_INNER_PRIMARY;
-import static android.frameworks.devicestate.DeviceStateConfiguration.DeviceStatePropertyValue.FOLDABLE_DISPLAY_CONFIGURATION_OUTER_PRIMARY;
-import static android.hardware.devicestate.DeviceState.PROPERTY_FEATURE_DUAL_DISPLAY_INTERNAL_DEFAULT;
import static android.hardware.devicestate.DeviceState.PROPERTY_FEATURE_REAR_DISPLAY;
-import static android.hardware.devicestate.DeviceState.PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_INNER_PRIMARY;
import static android.hardware.devicestate.DeviceState.PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_OUTER_PRIMARY;
import static android.hardware.devicestate.DeviceState.PROPERTY_POLICY_AVAILABLE_FOR_APP_REQUEST;
import static android.hardware.devicestate.DeviceState.PROPERTY_POLICY_CANCEL_OVERRIDE_REQUESTS;
@@ -53,10 +44,6 @@
import android.app.ActivityManagerInternal;
import android.app.IProcessObserver;
import android.content.Context;
-import android.frameworks.devicestate.DeviceStateConfiguration;
-import android.frameworks.devicestate.ErrorCode;
-import android.frameworks.devicestate.IDeviceStateListener;
-import android.frameworks.devicestate.IDeviceStateService;
import android.hardware.devicestate.DeviceState;
import android.hardware.devicestate.DeviceStateInfo;
import android.hardware.devicestate.DeviceStateManager;
@@ -69,12 +56,9 @@
import android.os.IBinder;
import android.os.RemoteException;
import android.os.ResultReceiver;
-import android.os.ServiceManager;
-import android.os.ServiceSpecificException;
import android.os.ShellCallback;
import android.os.SystemProperties;
import android.os.Trace;
-import android.util.LongSparseLongArray;
import android.util.Slog;
import android.util.SparseArray;
@@ -98,7 +82,6 @@
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.WeakHashMap;
@@ -147,8 +130,6 @@
@NonNull
private final BinderService mBinderService;
@NonNull
- private final HalService mHalService;
- @NonNull
private final OverrideRequestController mOverrideRequestController;
@NonNull
private final DeviceStateProviderListener mDeviceStateProviderListener;
@@ -158,7 +139,7 @@
// All supported device states keyed by identifier.
@GuardedBy("mLock")
- private final SparseArray<DeviceState> mDeviceStates = new SparseArray<>();
+ private SparseArray<DeviceState> mDeviceStates = new SparseArray<>();
// The current committed device state. Will be empty until the first device state provided by
// the DeviceStateProvider is committed.
@@ -196,7 +177,7 @@
@GuardedBy("mLock")
private final SparseArray<ProcessRecord> mProcessRecords = new SparseArray<>();
- private final Set<Integer> mDeviceStatesAvailableForAppRequests = new HashSet<>();
+ private Set<Integer> mDeviceStatesAvailableForAppRequests = new HashSet<>();
private Set<Integer> mFoldedDeviceStates = new HashSet<>();
@@ -278,7 +259,6 @@
mDeviceStateProviderListener = new DeviceStateProviderListener();
mDeviceStatePolicy.getDeviceStateProvider().setListener(mDeviceStateProviderListener);
mBinderService = new BinderService();
- mHalService = new HalService();
mActivityTaskManagerInternal = LocalServices.getService(ActivityTaskManagerInternal.class);
mDeviceStateNotificationController = new DeviceStateNotificationController(
context, mHandler,
@@ -292,10 +272,6 @@
@Override
public void onStart() {
publishBinderService(Context.DEVICE_STATE_SERVICE, mBinderService);
- String halServiceName = IDeviceStateService.DESCRIPTOR + "/default";
- if (ServiceManager.isDeclared(halServiceName)) {
- publishBinderService(halServiceName, mHalService);
- }
publishLocalService(DeviceStateManagerInternal.class, new LocalService());
if (!Flags.deviceStatePropertyMigration()) {
@@ -464,11 +440,6 @@
return mBinderService;
}
- @VisibleForTesting
- IDeviceStateService getHalBinderService() {
- return mHalService;
- }
-
private void updateSupportedStates(DeviceState[] supportedDeviceStates,
@DeviceStateProvider.SupportedStatesUpdatedReason int reason) {
synchronized (mLock) {
@@ -1311,124 +1282,6 @@
}
}
- private final class HalService extends IDeviceStateService.Stub {
- private final LongSparseLongArray mPublicProperties = new LongSparseLongArray();
- public HalService() {
- mPublicProperties.put(
- DeviceState.PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_CLOSED,
- FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_CLOSED);
- mPublicProperties.put(
- DeviceState.PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_HALF_OPEN,
- FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_HALF_OPEN);
- mPublicProperties.put(
- DeviceState.PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_OPEN,
- FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_OPEN);
- mPublicProperties.put(
- PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_OUTER_PRIMARY,
- FOLDABLE_DISPLAY_CONFIGURATION_OUTER_PRIMARY);
- mPublicProperties.put(
- PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_INNER_PRIMARY,
- FOLDABLE_DISPLAY_CONFIGURATION_INNER_PRIMARY);
- mPublicProperties.put(
- PROPERTY_FEATURE_REAR_DISPLAY,
- FEATURE_REAR_DISPLAY);
- mPublicProperties.put(
- PROPERTY_FEATURE_DUAL_DISPLAY_INTERNAL_DEFAULT,
- FEATURE_DUAL_DISPLAY);
- }
-
- private final class HalBinderCallback implements IDeviceStateManagerCallback {
- private final IDeviceStateListener mListener;
-
- private HalBinderCallback(@NonNull IDeviceStateListener listener) {
- mListener = listener;
- }
-
- @Override
- public void onDeviceStateInfoChanged(DeviceStateInfo info) throws RemoteException {
- DeviceStateConfiguration config = new DeviceStateConfiguration();
- Set<Integer> systemProperties = new HashSet<>(
- info.currentState.getConfiguration().getSystemProperties());
- Set<Integer> physicalProperties = new HashSet<>(
- info.currentState.getConfiguration().getPhysicalProperties());
- config.deviceProperties = 0;
- for (Integer prop : systemProperties) {
- Long publicProperty = mPublicProperties.get(prop);
- if (publicProperty != null) {
- config.deviceProperties |= publicProperty.longValue();
- }
- }
- for (Integer prop : physicalProperties) {
- Long publicProperty = mPublicProperties.get(prop);
- if (publicProperty != null) {
- config.deviceProperties |= publicProperty.longValue();
- }
- }
- mListener.onDeviceStateChanged(config);
- }
-
- @Override
- public void onRequestActive(IBinder token) {
- //No-op
- }
-
- @Override
- public void onRequestCanceled(IBinder token) {
- //No-op
- }
-
- @Override
- public IBinder asBinder() {
- return mListener.asBinder();
- }
- }
-
- @Override
- public void registerListener(IDeviceStateListener listener) throws RemoteException {
- if (listener == null) {
- throw new ServiceSpecificException(ErrorCode.BAD_INPUT);
- }
-
- final int callingPid = Binder.getCallingPid();
- final long token = Binder.clearCallingIdentity();
- try {
- HalBinderCallback callback = new HalBinderCallback(listener);
- DeviceStateInfo info = registerProcess(callingPid, callback);
- if (info != null) {
- callback.onDeviceStateInfoChanged(info);
- }
- } catch (SecurityException e) {
- throw new ServiceSpecificException(ErrorCode.ALREADY_EXISTS);
- } finally {
- Binder.restoreCallingIdentity(token);
- }
- }
-
- @Override
- public void unregisterListener(IDeviceStateListener listener) throws RemoteException {
- final int callingPid = Binder.getCallingPid();
-
- synchronized (mLock) {
- if (mProcessRecords.contains(callingPid)) {
- mProcessRecords.remove(callingPid);
- return;
- }
- }
-
- throw new ServiceSpecificException(ErrorCode.BAD_INPUT);
- }
-
- @Override
- public int getInterfaceVersion() throws RemoteException {
- return IDeviceStateService.VERSION;
- }
-
- @Override
- public String getInterfaceHash() throws RemoteException {
- return IDeviceStateService.HASH;
- }
- }
-
/** Implementation of {@link IDeviceStateManager} published as a binder service. */
private final class BinderService extends IDeviceStateManager.Stub {
diff --git a/services/manifest_services.xml b/services/manifest_services.xml
index 9457205..114fe32 100644
--- a/services/manifest_services.xml
+++ b/services/manifest_services.xml
@@ -4,9 +4,4 @@
<version>2</version>
<fqname>IAltitudeService/default</fqname>
</hal>
- <hal format="aidl">
- <name>android.frameworks.devicestate</name>
- <version>1</version>
- <fqname>IDeviceStateService/default</fqname>
- </hal>
</manifest>
diff --git a/services/tests/servicestests/src/com/android/server/devicestate/DeviceStateManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/devicestate/DeviceStateManagerServiceTest.java
index 5127b2d..ab5a5a9 100644
--- a/services/tests/servicestests/src/com/android/server/devicestate/DeviceStateManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/devicestate/DeviceStateManagerServiceTest.java
@@ -24,14 +24,9 @@
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertThrows;
import android.content.Context;
-import android.frameworks.devicestate.DeviceStateConfiguration;
-import android.frameworks.devicestate.ErrorCode;
-import android.frameworks.devicestate.IDeviceStateListener;
-import android.frameworks.devicestate.IDeviceStateService;
import android.hardware.devicestate.DeviceState;
import android.hardware.devicestate.DeviceStateInfo;
import android.hardware.devicestate.DeviceStateRequest;
@@ -39,7 +34,6 @@
import android.os.Binder;
import android.os.IBinder;
import android.os.RemoteException;
-import android.os.ServiceSpecificException;
import android.platform.test.annotations.Presubmit;
import android.platform.test.flag.junit.FlagsParameterization;
import android.platform.test.flag.junit.SetFlagsRule;
@@ -342,53 +336,6 @@
}
@Test
- public void halRegisterUnregisterCallback() throws RemoteException {
- IDeviceStateService halService = mService.getHalBinderService();
- IDeviceStateListener halListener = new IDeviceStateListener.Stub() {
- @Override
- public void onDeviceStateChanged(DeviceStateConfiguration deviceState) { }
-
- @Override
- public int getInterfaceVersion() {
- return IDeviceStateListener.VERSION;
- }
-
- @Override
- public String getInterfaceHash() {
- return IDeviceStateListener.HASH;
- }
- };
-
- int errorCode = ErrorCode.OK;
- try {
- halService.unregisterListener(halListener);
- } catch(ServiceSpecificException e) {
- errorCode = e.errorCode;
- }
- assertEquals(errorCode, ErrorCode.BAD_INPUT);
-
- errorCode = ErrorCode.OK;
- try {
- halService.unregisterListener(null);
- } catch(ServiceSpecificException e) {
- errorCode = e.errorCode;
- }
- assertEquals(errorCode, ErrorCode.BAD_INPUT);
-
- halService.registerListener(halListener);
-
- errorCode = ErrorCode.OK;
- try {
- halService.registerListener(halListener);
- } catch (ServiceSpecificException e) {
- errorCode = e.errorCode;
- }
- assertEquals(errorCode, ErrorCode.ALREADY_EXISTS);
-
- halService.unregisterListener(halListener);
- }
-
- @Test
public void registerCallback() throws RemoteException {
final TestDeviceStateManagerCallback callback = new TestDeviceStateManagerCallback();
mService.getBinderService().registerCallback(callback);