Loading core/java/android/companion/virtual/IVirtualDeviceManager.aidl +2 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.companion.virtual.IVirtualDeviceActivityListener; import android.companion.virtual.IVirtualDeviceSoundEffectListener; import android.companion.virtual.VirtualDevice; import android.companion.virtual.VirtualDeviceParams; import android.content.AttributionSource; import android.hardware.display.IVirtualDisplayCallback; import android.hardware.display.VirtualDisplayConfig; Loading @@ -46,7 +47,7 @@ interface IVirtualDeviceManager { */ @EnforcePermission("CREATE_VIRTUAL_DEVICE") IVirtualDevice createVirtualDevice( in IBinder token, String packageName, int associationId, in IBinder token, in AttributionSource attributionSource, int associationId, in VirtualDeviceParams params, in IVirtualDeviceActivityListener activityListener, in IVirtualDeviceSoundEffectListener soundEffectListener); Loading core/java/android/companion/virtual/VirtualDeviceInternal.java +1 −1 Original line number Diff line number Diff line Loading @@ -145,7 +145,7 @@ public class VirtualDeviceInternal { mContext = context.getApplicationContext(); mVirtualDevice = service.createVirtualDevice( new Binder(), mContext.getPackageName(), mContext.getAttributionSource(), associationId, params, mActivityListenerBinder, Loading core/java/android/companion/virtual/VirtualDeviceParams.java +21 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ import android.util.ArraySet; import android.util.SparseArray; import android.util.SparseIntArray; import java.io.PrintWriter; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; Loading Loading @@ -501,6 +502,26 @@ public final class VirtualDeviceParams implements Parcelable { + ")"; } /** * Dumps debugging information about the VirtualDeviceParams * @hide */ public void dump(PrintWriter pw, String prefix) { pw.println(prefix + "mName=" + mName); pw.println(prefix + "mLockState=" + mLockState); pw.println(prefix + "mUsersWithMatchingAccounts=" + mUsersWithMatchingAccounts); pw.println(prefix + "mAllowedCrossTaskNavigations=" + mAllowedCrossTaskNavigations); pw.println(prefix + "mBlockedCrossTaskNavigations=" + mBlockedCrossTaskNavigations); pw.println(prefix + "mAllowedActivities=" + mAllowedActivities); pw.println(prefix + "mBlockedActivities=" + mBlockedActivities); pw.println(prefix + "mDevicePolicies=" + mDevicePolicies); pw.println(prefix + "mDefaultNavigationPolicy=" + mDefaultNavigationPolicy); pw.println(prefix + "mDefaultActivityPolicy=" + mDefaultActivityPolicy); pw.println(prefix + "mVirtualSensorConfigs=" + mVirtualSensorConfigs); pw.println(prefix + "mAudioPlaybackSessionId=" + mAudioPlaybackSessionId); pw.println(prefix + "mAudioRecordingSessionId=" + mAudioRecordingSessionId); } @NonNull public static final Parcelable.Creator<VirtualDeviceParams> CREATOR = new Parcelable.Creator<VirtualDeviceParams>() { Loading core/java/android/companion/virtual/sensor/VirtualSensorConfig.java +5 −0 Original line number Diff line number Diff line Loading @@ -104,6 +104,11 @@ public final class VirtualSensorConfig implements Parcelable { parcel.writeInt(mFlags); } @Override public String toString() { return "VirtualSensorConfig{" + "mType=" + mType + ", mName='" + mName + '\'' + '}'; } /** * Returns the type of the sensor. * Loading services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java +11 −6 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ import android.companion.virtual.audio.IAudioConfigChangedCallback; import android.companion.virtual.audio.IAudioRoutingCallback; import android.companion.virtual.sensor.VirtualSensor; import android.companion.virtual.sensor.VirtualSensorEvent; import android.content.AttributionSource; import android.content.ComponentName; import android.content.Context; import android.content.Intent; Loading Loading @@ -125,6 +126,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub private final VirtualDeviceManagerService mService; private final PendingTrampolineCallback mPendingTrampolineCallback; private final int mOwnerUid; private final String mOwnerPackageName; private int mDeviceId; private @Nullable String mPersistentDeviceId; // Thou shall not hold the mVirtualDeviceLock over the mInputController calls. Loading Loading @@ -196,7 +198,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub AssociationInfo associationInfo, VirtualDeviceManagerService service, IBinder token, int ownerUid, AttributionSource attributionSource, int deviceId, CameraAccessController cameraAccessController, PendingTrampolineCallback pendingTrampolineCallback, Loading @@ -209,7 +211,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub associationInfo, service, token, ownerUid, attributionSource, deviceId, /* inputController= */ null, cameraAccessController, Loading @@ -227,7 +229,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub AssociationInfo associationInfo, VirtualDeviceManagerService service, IBinder token, int ownerUid, AttributionSource attributionSource, int deviceId, InputController inputController, CameraAccessController cameraAccessController, Loading @@ -238,7 +240,8 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub VirtualDeviceParams params, DisplayManagerGlobal displayManager) { super(PermissionEnforcer.fromContext(context)); UserHandle ownerUserHandle = UserHandle.getUserHandleForUid(ownerUid); mOwnerPackageName = attributionSource.getPackageName(); UserHandle ownerUserHandle = UserHandle.getUserHandleForUid(attributionSource.getUid()); mContext = context.createContextAsUser(ownerUserHandle, 0); mAssociationInfo = associationInfo; mPersistentDeviceId = PERSISTENT_ID_PREFIX_CDM_ASSOCIATION + associationInfo.getId(); Loading @@ -247,7 +250,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub mActivityListener = activityListener; mSoundEffectListener = soundEffectListener; mRunningAppsChangedCallback = runningAppsChangedCallback; mOwnerUid = ownerUid; mOwnerUid = attributionSource.getUid(); mDeviceId = deviceId; mAppToken = token; mParams = params; Loading Loading @@ -771,7 +774,9 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub fout.println(" VirtualDevice: "); fout.println(" mDeviceId: " + mDeviceId); fout.println(" mAssociationId: " + mAssociationInfo.getId()); fout.println(" mParams: " + mParams); fout.println(" mOwnerPackageName: " + mOwnerPackageName); fout.println(" mParams: "); mParams.dump(fout, " "); fout.println(" mVirtualDisplayIds: "); synchronized (mVirtualDeviceLock) { for (int i = 0; i < mVirtualDisplays.size(); i++) { Loading Loading
core/java/android/companion/virtual/IVirtualDeviceManager.aidl +2 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.companion.virtual.IVirtualDeviceActivityListener; import android.companion.virtual.IVirtualDeviceSoundEffectListener; import android.companion.virtual.VirtualDevice; import android.companion.virtual.VirtualDeviceParams; import android.content.AttributionSource; import android.hardware.display.IVirtualDisplayCallback; import android.hardware.display.VirtualDisplayConfig; Loading @@ -46,7 +47,7 @@ interface IVirtualDeviceManager { */ @EnforcePermission("CREATE_VIRTUAL_DEVICE") IVirtualDevice createVirtualDevice( in IBinder token, String packageName, int associationId, in IBinder token, in AttributionSource attributionSource, int associationId, in VirtualDeviceParams params, in IVirtualDeviceActivityListener activityListener, in IVirtualDeviceSoundEffectListener soundEffectListener); Loading
core/java/android/companion/virtual/VirtualDeviceInternal.java +1 −1 Original line number Diff line number Diff line Loading @@ -145,7 +145,7 @@ public class VirtualDeviceInternal { mContext = context.getApplicationContext(); mVirtualDevice = service.createVirtualDevice( new Binder(), mContext.getPackageName(), mContext.getAttributionSource(), associationId, params, mActivityListenerBinder, Loading
core/java/android/companion/virtual/VirtualDeviceParams.java +21 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ import android.util.ArraySet; import android.util.SparseArray; import android.util.SparseIntArray; import java.io.PrintWriter; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; Loading Loading @@ -501,6 +502,26 @@ public final class VirtualDeviceParams implements Parcelable { + ")"; } /** * Dumps debugging information about the VirtualDeviceParams * @hide */ public void dump(PrintWriter pw, String prefix) { pw.println(prefix + "mName=" + mName); pw.println(prefix + "mLockState=" + mLockState); pw.println(prefix + "mUsersWithMatchingAccounts=" + mUsersWithMatchingAccounts); pw.println(prefix + "mAllowedCrossTaskNavigations=" + mAllowedCrossTaskNavigations); pw.println(prefix + "mBlockedCrossTaskNavigations=" + mBlockedCrossTaskNavigations); pw.println(prefix + "mAllowedActivities=" + mAllowedActivities); pw.println(prefix + "mBlockedActivities=" + mBlockedActivities); pw.println(prefix + "mDevicePolicies=" + mDevicePolicies); pw.println(prefix + "mDefaultNavigationPolicy=" + mDefaultNavigationPolicy); pw.println(prefix + "mDefaultActivityPolicy=" + mDefaultActivityPolicy); pw.println(prefix + "mVirtualSensorConfigs=" + mVirtualSensorConfigs); pw.println(prefix + "mAudioPlaybackSessionId=" + mAudioPlaybackSessionId); pw.println(prefix + "mAudioRecordingSessionId=" + mAudioRecordingSessionId); } @NonNull public static final Parcelable.Creator<VirtualDeviceParams> CREATOR = new Parcelable.Creator<VirtualDeviceParams>() { Loading
core/java/android/companion/virtual/sensor/VirtualSensorConfig.java +5 −0 Original line number Diff line number Diff line Loading @@ -104,6 +104,11 @@ public final class VirtualSensorConfig implements Parcelable { parcel.writeInt(mFlags); } @Override public String toString() { return "VirtualSensorConfig{" + "mType=" + mType + ", mName='" + mName + '\'' + '}'; } /** * Returns the type of the sensor. * Loading
services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java +11 −6 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ import android.companion.virtual.audio.IAudioConfigChangedCallback; import android.companion.virtual.audio.IAudioRoutingCallback; import android.companion.virtual.sensor.VirtualSensor; import android.companion.virtual.sensor.VirtualSensorEvent; import android.content.AttributionSource; import android.content.ComponentName; import android.content.Context; import android.content.Intent; Loading Loading @@ -125,6 +126,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub private final VirtualDeviceManagerService mService; private final PendingTrampolineCallback mPendingTrampolineCallback; private final int mOwnerUid; private final String mOwnerPackageName; private int mDeviceId; private @Nullable String mPersistentDeviceId; // Thou shall not hold the mVirtualDeviceLock over the mInputController calls. Loading Loading @@ -196,7 +198,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub AssociationInfo associationInfo, VirtualDeviceManagerService service, IBinder token, int ownerUid, AttributionSource attributionSource, int deviceId, CameraAccessController cameraAccessController, PendingTrampolineCallback pendingTrampolineCallback, Loading @@ -209,7 +211,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub associationInfo, service, token, ownerUid, attributionSource, deviceId, /* inputController= */ null, cameraAccessController, Loading @@ -227,7 +229,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub AssociationInfo associationInfo, VirtualDeviceManagerService service, IBinder token, int ownerUid, AttributionSource attributionSource, int deviceId, InputController inputController, CameraAccessController cameraAccessController, Loading @@ -238,7 +240,8 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub VirtualDeviceParams params, DisplayManagerGlobal displayManager) { super(PermissionEnforcer.fromContext(context)); UserHandle ownerUserHandle = UserHandle.getUserHandleForUid(ownerUid); mOwnerPackageName = attributionSource.getPackageName(); UserHandle ownerUserHandle = UserHandle.getUserHandleForUid(attributionSource.getUid()); mContext = context.createContextAsUser(ownerUserHandle, 0); mAssociationInfo = associationInfo; mPersistentDeviceId = PERSISTENT_ID_PREFIX_CDM_ASSOCIATION + associationInfo.getId(); Loading @@ -247,7 +250,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub mActivityListener = activityListener; mSoundEffectListener = soundEffectListener; mRunningAppsChangedCallback = runningAppsChangedCallback; mOwnerUid = ownerUid; mOwnerUid = attributionSource.getUid(); mDeviceId = deviceId; mAppToken = token; mParams = params; Loading Loading @@ -771,7 +774,9 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub fout.println(" VirtualDevice: "); fout.println(" mDeviceId: " + mDeviceId); fout.println(" mAssociationId: " + mAssociationInfo.getId()); fout.println(" mParams: " + mParams); fout.println(" mOwnerPackageName: " + mOwnerPackageName); fout.println(" mParams: "); mParams.dump(fout, " "); fout.println(" mVirtualDisplayIds: "); synchronized (mVirtualDeviceLock) { for (int i = 0; i < mVirtualDisplays.size(); i++) { Loading