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

Commit bc19dbee authored by Jan Sebechlebsky's avatar Jan Sebechlebsky
Browse files

Fix errorprone suggestions

Bug: 297970076
Test: atest CtsVirtualDevicesTestCases CtsVirtualDevicesSensorTestCases CtsVirtualDevicesAudioTestCases CtsVirtualDevicesAppLaunchTestCases

Change-Id: I0c7b97f612d43e752a94397f8ea11730538c7869
parent 7c119c64
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.server.companion.virtual;
import static android.hardware.camera2.CameraInjectionSession.InjectionStatusCallback.ERROR_INJECTION_UNSUPPORTED;

import android.annotation.NonNull;
import android.annotation.RequiresPermission;
import android.annotation.UserIdInt;
import android.content.Context;
import android.content.pm.ApplicationInfo;
@@ -146,6 +147,7 @@ class CameraAccessController extends CameraManager.AvailabilityCallback implemen
     *
     * @param runningUids uids of the application running on the virtual display
     */
    @RequiresPermission(android.Manifest.permission.CAMERA_INJECT_EXTERNAL_CAMERA)
    public void blockCameraAccessIfNeeded(Set<Integer> runningUids) {
        synchronized (mLock) {
            for (int i = 0; i < mAppsToBlockOnVirtualDevice.size(); i++) {
@@ -181,6 +183,7 @@ class CameraAccessController extends CameraManager.AvailabilityCallback implemen
    }

    @Override
    @RequiresPermission(android.Manifest.permission.CAMERA_INJECT_EXTERNAL_CAMERA)
    public void onCameraOpened(@NonNull String cameraId, @NonNull String packageName) {
        synchronized (mLock) {
            InjectionSessionData data = mPackageToSessionData.get(packageName);
@@ -243,6 +246,7 @@ class CameraAccessController extends CameraManager.AvailabilityCallback implemen
    /**
     * Turns on blocking for a particular camera and package.
     */
    @RequiresPermission(android.Manifest.permission.CAMERA_INJECT_EXTERNAL_CAMERA)
    private void startBlocking(String packageName, String cameraId) {
        try {
            Slog.d(
+3 −1
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.server.companion.virtual;

import static android.text.TextUtils.formatSimple;

import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.StringDef;
@@ -350,7 +352,7 @@ class InputController {
    }

    private static String createPhys(@PhysType String type) {
        return String.format("virtual%s:%d", type, sNextPhysId.getAndIncrement());
        return formatSimple("virtual%s:%d", type, sNextPhysId.getAndIncrement());
    }

    private void setUniqueIdAssociation(int displayId, String phys) {
+0 −3
Original line number Diff line number Diff line
@@ -323,8 +323,5 @@ public class SensorController {
        SensorCreationException(String message) {
            super(message);
        }
        SensorCreationException(String message, Exception cause) {
            super(message, cause);
        }
    }
}
+15 −10
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTE
import android.annotation.EnforcePermission;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.StringRes;
import android.annotation.UserIdInt;
import android.app.Activity;
@@ -78,12 +79,14 @@ import android.os.UserHandle;
import android.os.UserManager;
import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.IntArray;
import android.util.Slog;
import android.util.SparseArray;
import android.view.Display;
import android.view.WindowManager;
import android.widget.Toast;


import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.app.BlockedAppStreamingActivity;
@@ -93,7 +96,6 @@ import com.android.server.companion.virtual.audio.VirtualAudioController;

import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -460,6 +462,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub
    }

    @Override
    @RequiresPermission(android.Manifest.permission.CAMERA_INJECT_EXTERNAL_CAMERA)
    public void onRunningAppsChanged(ArraySet<Integer> runningUids) {
        mCameraAccessController.blockCameraAccessIfNeeded(runningUids);
        mRunningAppsChangedCallback.accept(runningUids);
@@ -718,11 +721,9 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub
        try {
            synchronized (mVirtualDeviceLock) {
                mDefaultShowPointerIcon = showPointerIcon;
                for (int i = 0; i < mVirtualDisplays.size(); i++) {
                    final int displayId = mVirtualDisplays.keyAt(i);
                    mInputController.setShowPointerIcon(mDefaultShowPointerIcon, displayId);
                }
            }
            getDisplayIds().forEach(
                    displayId -> mInputController.setShowPointerIcon(showPointerIcon, displayId));
        } finally {
            Binder.restoreCallingIdentity(ident);
        }
@@ -830,6 +831,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub
                this, gwpc, packageName);
        gwpc.setDisplayId(displayId);

        boolean showPointer;
        synchronized (mVirtualDeviceLock) {
            if (mVirtualDisplays.contains(displayId)) {
                gwpc.unregisterRunningAppsChangedListener(this);
@@ -839,11 +841,12 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub

            PowerManager.WakeLock wakeLock = createAndAcquireWakeLockForDisplay(displayId);
            mVirtualDisplays.put(displayId, new VirtualDisplayWrapper(callback, gwpc, wakeLock));
            showPointer = mDefaultShowPointerIcon;
        }

        final long token = Binder.clearCallingIdentity();
        try {
            mInputController.setShowPointerIcon(mDefaultShowPointerIcon, displayId);
            mInputController.setShowPointerIcon(showPointer, displayId);
            mInputController.setPointerAcceleration(1f, displayId);
            mInputController.setDisplayEligibilityForPointerCapture(/* isEligible= */ false,
                    displayId);
@@ -869,6 +872,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub
        }
    }

    @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS)
    private void onActivityBlocked(int displayId, ActivityInfo activityInfo) {
        Intent intent = BlockedAppStreamingActivity.createIntent(
                activityInfo, mAssociationInfo.getDisplayName());
@@ -950,6 +954,7 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub
        }
    }

    @SuppressWarnings("AndroidFrameworkRequiresPermission")
    private void checkVirtualInputDeviceDisplayIdAssociation(int displayId) {
        if (mContext.checkCallingPermission(android.Manifest.permission.INJECT_EVENTS)
                    == PackageManager.PERMISSION_GRANTED) {
@@ -1031,8 +1036,8 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub
     */
    void showToastWhereUidIsRunning(int uid, String text, @Toast.Duration int duration,
            Looper looper) {
        ArrayList<Integer> displayIdsForUid = getDisplayIdsWhereUidIsRunning(uid);
        if (displayIdsForUid.isEmpty()) {
        IntArray displayIdsForUid = getDisplayIdsWhereUidIsRunning(uid);
        if (displayIdsForUid.size() == 0) {
            return;
        }
        DisplayManager displayManager = mContext.getSystemService(DisplayManager.class);
@@ -1045,8 +1050,8 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub
        }
    }

    private ArrayList<Integer> getDisplayIdsWhereUidIsRunning(int uid) {
        ArrayList<Integer> displayIdsForUid = new ArrayList<>();
    private IntArray getDisplayIdsWhereUidIsRunning(int uid) {
        IntArray displayIdsForUid = new IntArray();
        synchronized (mVirtualDeviceLock) {
            for (int i = 0; i < mVirtualDisplays.size(); i++) {
                if (mVirtualDisplays.valueAt(i).getWindowPolicyController().containsUid(uid)) {
+5 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import static com.android.server.wm.ActivityInterceptorCallback.VIRTUAL_DEVICE_S

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.SuppressLint;
import android.app.ActivityOptions;
import android.companion.AssociationInfo;
@@ -95,6 +96,7 @@ public class VirtualDeviceManagerService extends SystemService {
    private final CompanionDeviceManager.OnAssociationsChangedListener mCdmAssociationListener =
            new CompanionDeviceManager.OnAssociationsChangedListener() {
                @Override
                @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE)
                public void onAssociationsChanged(@NonNull List<AssociationInfo> associations) {
                    syncVirtualDevicesToCdmAssociations(associations);
                }
@@ -240,6 +242,7 @@ public class VirtualDeviceManagerService extends SystemService {
        return true;
    }

    @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE)
    private void syncVirtualDevicesToCdmAssociations(List<AssociationInfo> associations) {
        Set<VirtualDeviceImpl> virtualDevicesToRemove = new HashSet<>();
        synchronized (mVirtualDeviceManagerLock) {
@@ -265,6 +268,7 @@ public class VirtualDeviceManagerService extends SystemService {
        }
    }

    @RequiresPermission(android.Manifest.permission.MANAGE_COMPANION_DEVICES)
    private void registerCdmAssociationListener() {
        final CompanionDeviceManager cdm = getContext().getSystemService(
                CompanionDeviceManager.class);
@@ -272,6 +276,7 @@ public class VirtualDeviceManagerService extends SystemService {
                mCdmAssociationListener);
    }

    @RequiresPermission(android.Manifest.permission.MANAGE_COMPANION_DEVICES)
    private void unregisterCdmAssociationListener() {
        final CompanionDeviceManager cdm = getContext().getSystemService(
                CompanionDeviceManager.class);