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

Commit c15b5cc4 authored by Eugene Susla's avatar Eugene Susla Committed by Automerger Merge Worker
Browse files

Merge "Propagate callingPackage explicitly within CDM" into rvc-qpr-dev am: 0454090e

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12999711

Change-Id: I2c554ed2c26b73417ec7d1de2fb1e4f6129b6432
parents e618d32b 0454090e
Loading
Loading
Loading
Loading
+22 −7
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ public final class AssociationRequest implements Parcelable {

    private final boolean mSingleDevice;
    private final List<DeviceFilter<?>> mDeviceFilters;
    private String mCallingPackage;

    private AssociationRequest(
            boolean singleDevice, @Nullable List<DeviceFilter<?>> deviceFilters) {
@@ -58,6 +59,7 @@ public final class AssociationRequest implements Parcelable {
        this(
            in.readByte() != 0,
            in.readParcelableList(new ArrayList<>(), AssociationRequest.class.getClassLoader()));
        setCallingPackage(in.readString());
    }

    /** @hide */
@@ -73,32 +75,45 @@ public final class AssociationRequest implements Parcelable {
        return mDeviceFilters;
    }

    /** @hide */
    public String getCallingPackage() {
        return mCallingPackage;
    }

    /** @hide */
    public void setCallingPackage(String pkg) {
        mCallingPackage = pkg;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        AssociationRequest that = (AssociationRequest) o;
        return mSingleDevice == that.mSingleDevice &&
                Objects.equals(mDeviceFilters, that.mDeviceFilters);
        return mSingleDevice == that.mSingleDevice
                && Objects.equals(mDeviceFilters, that.mDeviceFilters)
                && Objects.equals(mCallingPackage, that.mCallingPackage);
    }

    @Override
    public int hashCode() {
        return Objects.hash(mSingleDevice, mDeviceFilters);
        return Objects.hash(mSingleDevice, mDeviceFilters, mCallingPackage);
    }

    @Override
    public String toString() {
        return "AssociationRequest{" +
                "mSingleDevice=" + mSingleDevice +
                ", mDeviceFilters=" + mDeviceFilters +
                '}';
        return "AssociationRequest{"
                + "mSingleDevice=" + mSingleDevice
                + ", mDeviceFilters=" + mDeviceFilters
                + ", mCallingPackage=" + mCallingPackage
                + '}';
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeByte((byte) (mSingleDevice ? 1 : 0));
        dest.writeParcelableList(mDeviceFilters, flags);
        dest.writeString(mCallingPackage);
    }

    @Override
+7 −0
Original line number Diff line number Diff line
@@ -18,6 +18,8 @@ package com.android.companiondevicemanager;

import static android.companion.BluetoothDeviceFilterUtils.getDeviceMacAddress;

import static java.util.Objects.requireNonNull;

import android.app.Activity;
import android.companion.CompanionDeviceManager;
import android.content.Intent;
@@ -116,6 +118,11 @@ public class DeviceChooserActivity extends Activity {
        }
    }

    @Override
    public String getCallingPackage() {
        return requireNonNull(getService().mRequest.getCallingPackage());
    }

    @Override
    public void setTitle(CharSequence title) {
        final TextView titleView = findViewById(R.id.title);
+1 −0
Original line number Diff line number Diff line
@@ -300,6 +300,7 @@ public class CompanionDeviceManagerService extends SystemService implements Bind
            mFindDeviceCallback = callback;
            mRequest = request;
            mCallingPackage = callingPackage;
            request.setCallingPackage(callingPackage);
            callback.asBinder().linkToDeath(CompanionDeviceManagerService.this /* recipient */, 0);

            final long callingIdentity = Binder.clearCallingIdentity();