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

Commit 062731bc authored by Etienne Ruffieux's avatar Etienne Ruffieux Committed by Gerrit Code Review
Browse files

Merge "Moved AttributionSource related APIs in AttributionSource"

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


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


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


package android.bluetooth;
package android.bluetooth;


import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresFeature;
import android.annotation.RequiresFeature;
import android.annotation.RequiresNoPermission;
import android.annotation.RequiresNoPermission;
import android.annotation.RequiresPermission;
import android.annotation.RequiresPermission;
import android.annotation.SystemService;
import android.annotation.SystemService;
import android.app.ActivityThread;
import android.app.AppGlobals;
import android.bluetooth.annotations.RequiresBluetoothConnectPermission;
import android.bluetooth.annotations.RequiresBluetoothConnectPermission;
import android.bluetooth.annotations.RequiresLegacyBluetoothPermission;
import android.bluetooth.annotations.RequiresLegacyBluetoothPermission;
import android.content.AttributionSource;
import android.content.AttributionSource;
@@ -68,37 +64,11 @@ public final class BluetoothManager {
     * @hide
     * @hide
     */
     */
    public BluetoothManager(Context context) {
    public BluetoothManager(Context context) {
        mAttributionSource = resolveAttributionSource(context);
        mAttributionSource = (context != null) ? context.getAttributionSource() :
                AttributionSource.myAttributionSource();
        mAdapter = BluetoothAdapter.createAdapter(mAttributionSource);
        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.
     * Get the BLUETOOTH Adapter for this device.
     *
     *