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

Commit 507bb3be authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Clean up launched VDM flags from SensorManager" into main

parents bbc2f494 8fad28a0
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -10,14 +10,6 @@
package: "android.companion.virtual.flags"
container: "system"

flag {
  name: "enable_native_vdm"
  namespace: "virtual_devices"
  description: "Enable native VDM service"
  bug: "303535376"
  is_fixed_read_only: true
}

flag {
  name: "dynamic_policy"
  is_exported: true
+2 −41
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

package android.hardware;

import static android.companion.virtual.VirtualDeviceManager.ACTION_VIRTUAL_DEVICE_REMOVED;
import static android.companion.virtual.VirtualDeviceManager.EXTRA_VIRTUAL_DEVICE_ID;
import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_DEFAULT;
import static android.companion.virtual.VirtualDeviceParams.POLICY_TYPE_SENSORS;
import static android.content.Context.DEVICE_ID_DEFAULT;
@@ -164,11 +162,7 @@ public class SystemSensorManager extends SensorManager {
        // initialize the sensor list
        for (int index = 0;; ++index) {
            Sensor sensor = new Sensor();
            if (android.companion.virtual.flags.Flags.enableNativeVdm()) {
            if (!nativeGetDefaultDeviceSensorAtIndex(mNativeInstance, sensor, index)) break;
            } else {
                if (!nativeGetSensorAtIndex(mNativeInstance, sensor, index)) break;
            }
            mFullSensorsList.add(sensor);
            mHandleToSensor.put(sensor.getHandle(), sensor);
        }
@@ -555,11 +549,7 @@ public class SystemSensorManager extends SensorManager {
    }

    private List<Sensor> createRuntimeSensorListLocked(int deviceId) {
        if (android.companion.virtual.flags.Flags.vdmPublicApis()) {
        setupVirtualDeviceListener();
        } else {
            setupRuntimeSensorBroadcastReceiver();
        }
        List<Sensor> list = new ArrayList<>();
        nativeGetRuntimeSensors(mNativeInstance, deviceId, list);
        mFullRuntimeSensorListByDevice.put(deviceId, list);
@@ -570,35 +560,6 @@ public class SystemSensorManager extends SensorManager {
        return list;
    }

    private void setupRuntimeSensorBroadcastReceiver() {
        if (mRuntimeSensorBroadcastReceiver == null) {
            mRuntimeSensorBroadcastReceiver = new BroadcastReceiver() {
                @Override
                public void onReceive(Context context, Intent intent) {
                    if (intent.getAction().equals(ACTION_VIRTUAL_DEVICE_REMOVED)) {
                        synchronized (mFullRuntimeSensorListByDevice) {
                            final int deviceId = intent.getIntExtra(
                                    EXTRA_VIRTUAL_DEVICE_ID, DEVICE_ID_DEFAULT);
                            List<Sensor> removedSensors =
                                    mFullRuntimeSensorListByDevice.removeReturnOld(deviceId);
                            if (removedSensors != null) {
                                for (Sensor s : removedSensors) {
                                    cleanupSensorConnection(s);
                                }
                            }
                            mRuntimeSensorListByDeviceByType.remove(deviceId);
                        }
                    }
                }
            };

            IntentFilter filter = new IntentFilter("virtual_device_removed");
            filter.addAction(ACTION_VIRTUAL_DEVICE_REMOVED);
            mContext.registerReceiver(mRuntimeSensorBroadcastReceiver, filter,
                    Context.RECEIVER_NOT_EXPORTED);
        }
    }

    private void setupVirtualDeviceListener() {
        if (mVirtualDeviceListener != null) {
            return;
+2 −4
Original line number Diff line number Diff line
@@ -176,7 +176,7 @@ public class VirtualDeviceManagerService extends SystemService {
    public VirtualDeviceManagerService(Context context) {
        super(context);
        mImpl = new VirtualDeviceManagerImpl();
        mNativeImpl = Flags.enableNativeVdm() ? new VirtualDeviceManagerNativeImpl() : null;
        mNativeImpl = new VirtualDeviceManagerNativeImpl();
        mLocalService = new LocalService();
    }

@@ -208,9 +208,7 @@ public class VirtualDeviceManagerService extends SystemService {
    @RequiresPermission(android.Manifest.permission.MANAGE_COMPANION_DEVICES)
    public void onStart() {
        publishBinderService(Context.VIRTUAL_DEVICE_SERVICE, mImpl);
        if (Flags.enableNativeVdm()) {
        publishBinderService(VIRTUAL_DEVICE_NATIVE_SERVICE, mNativeImpl);
        }
        publishLocalService(VirtualDeviceManagerInternal.class, mLocalService);
        ActivityTaskManagerInternal activityTaskManagerInternal = getLocalService(
                ActivityTaskManagerInternal.class);