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

Commit a161f8b9 authored by Marvin Ramin's avatar Marvin Ramin
Browse files

Add additional information to virtualdevice dumpsys

Bug: 293114719
Test: adb shell dumpsys virtualdevice
Change-Id: Ifb73fb22c49efd45558bc46221a4725914c0da67
parent 0d4e74d5
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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;

@@ -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);

+1 −1
Original line number Diff line number Diff line
@@ -145,7 +145,7 @@ public class VirtualDeviceInternal {
        mContext = context.getApplicationContext();
        mVirtualDevice = service.createVirtualDevice(
                new Binder(),
                mContext.getPackageName(),
                mContext.getAttributionSource(),
                associationId,
                params,
                mActivityListenerBinder,
+21 −0
Original line number Diff line number Diff line
@@ -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;
@@ -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>() {
+5 −0
Original line number Diff line number Diff line
@@ -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.
     *
+11 −6
Original line number Diff line number Diff line
@@ -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;
@@ -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.
@@ -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,
@@ -209,7 +211,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub
                associationInfo,
                service,
                token,
                ownerUid,
                attributionSource,
                deviceId,
                /* inputController= */ null,
                cameraAccessController,
@@ -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,
@@ -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();
@@ -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;
@@ -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