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

Commit c05e55ff authored by William Escande's avatar William Escande
Browse files

Use AttributionSource Builder

Attribution source constructor are hidden api
Add a Builder option to take a AttributionSource as parameter

Test: atest BluetoothInstrumentationTests
Bug: 195144968
Tag: #refactor
Ignore-AOSP-First: No such thing on aosp
Change-Id: I901c8afff6a40bd8484fd8e10baf290aa483c280
parent c0101648
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -9975,6 +9975,7 @@ package android.content {
  public static final class AttributionSource.Builder {
    ctor public AttributionSource.Builder(int);
    ctor public AttributionSource.Builder(@NonNull android.content.AttributionSource);
    method @NonNull public android.content.AttributionSource build();
    method @NonNull public android.content.AttributionSource.Builder setAttributionTag(@Nullable String);
    method @NonNull public android.content.AttributionSource.Builder setNext(@Nullable android.content.AttributionSource);
+3 −2
Original line number Diff line number Diff line
@@ -88,8 +88,9 @@ public final class BluetoothManager {
                uid = android.os.Process.SYSTEM_UID;
            }
            try {
                res = new AttributionSource(uid,
                        AppGlobals.getPackageManager().getPackagesForUid(uid)[0], null);
                res = new AttributionSource.Builder(uid)
                    .setPackageName(AppGlobals.getPackageManager().getPackagesForUid(uid)[0])
                    .build();
            } catch (RemoteException ignored) {
            }
        }
+12 −0
Original line number Diff line number Diff line
@@ -474,6 +474,18 @@ public final class AttributionSource implements Parcelable {
            mAttributionSourceState.uid = uid;
        }

        public Builder(@NonNull AttributionSource current) {
            if (current == null) {
                throw new IllegalArgumentException("current AttributionSource can not be null");
            }
            mAttributionSourceState.uid = current.getUid();
            mAttributionSourceState.packageName = current.getPackageName();
            mAttributionSourceState.attributionTag = current.getAttributionTag();
            mAttributionSourceState.token = current.getToken();
            mAttributionSourceState.renouncedPermissions =
                current.mAttributionSourceState.renouncedPermissions;
        }

        /**
         * The package that is accessing the permission protected data.
         */