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

Commit e6179d6f authored by Etienne Ruffieux's avatar Etienne Ruffieux Committed by Automerger Merge Worker
Browse files

Merge "Moved AttributionSource related APIs in AttributionSource" am: 062731bc am: a2fae36e

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

Change-Id: Id597191e675eca32c4d965fd4dc0e62dc2653283
parents 57f166e8 a2fae36e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -786,7 +786,7 @@ public final class BluetoothAdapter {
    @RequiresNoPermission
    public static synchronized BluetoothAdapter getDefaultAdapter() {
        if (sAdapter == null) {
            sAdapter = createAdapter(BluetoothManager.resolveAttributionSource(null));
            sAdapter = createAdapter(AttributionSource.myAttributionSource());
        }
        return sAdapter;
    }
+1 −1
Original line number Diff line number Diff line
@@ -1177,7 +1177,7 @@ public final class BluetoothDevice implements Parcelable, Attributable {

        mAddress = address;
        mAddressType = ADDRESS_TYPE_PUBLIC;
        mAttributionSource = BluetoothManager.resolveAttributionSource(null);
        mAttributionSource = AttributionSource.myAttributionSource();
    }

    /** {@hide} */
+2 −32
Original line number Diff line number Diff line
@@ -16,14 +16,10 @@

package android.bluetooth;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresFeature;
import android.annotation.RequiresNoPermission;
import android.annotation.RequiresPermission;
import android.annotation.SystemService;
import android.app.ActivityThread;
import android.app.AppGlobals;
import android.bluetooth.annotations.RequiresBluetoothConnectPermission;
import android.bluetooth.annotations.RequiresLegacyBluetoothPermission;
import android.content.AttributionSource;
@@ -68,37 +64,11 @@ public final class BluetoothManager {
     * @hide
     */
    public BluetoothManager(Context context) {
        mAttributionSource = resolveAttributionSource(context);
        mAttributionSource = (context != null) ? context.getAttributionSource() :
                AttributionSource.myAttributionSource();
        mAdapter = BluetoothAdapter.createAdapter(mAttributionSource);
    }

    /** {@hide} */
    public static @NonNull AttributionSource resolveAttributionSource(@Nullable Context context) {
        AttributionSource res = null;
        if (context != null) {
            res = context.getAttributionSource();
        }
        if (res == null) {
            res = ActivityThread.currentAttributionSource();
        }
        if (res == null) {
            int uid = android.os.Process.myUid();
            if (uid == android.os.Process.ROOT_UID) {
                uid = android.os.Process.SYSTEM_UID;
            }
            try {
                res = new AttributionSource.Builder(uid)
                    .setPackageName(AppGlobals.getPackageManager().getPackagesForUid(uid)[0])
                    .build();
            } catch (RemoteException ignored) {
            }
        }
        if (res == null) {
            throw new IllegalStateException("Failed to resolve AttributionSource");
        }
        return res;
    }

    /**
     * Get the BLUETOOTH Adapter for this device.
     *