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

Commit dfcdcc9a authored by Narayan Kamath's avatar Narayan Kamath
Browse files

WorkSource: Mark methods required by GMS as @SystemApi.

Bug: 71710975
Bug: 62390666
Test: make checkapi
Change-Id: Iec0714394dda40835ab3f2f444ca696850df9cdf
parent 877553e3
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -3826,6 +3826,20 @@ package android.os {
  public static abstract class UserManager.UserRestrictionSource implements java.lang.annotation.Annotation {
  }

  public class WorkSource implements android.os.Parcelable {
    method public android.os.WorkSource.WorkChain createWorkChain();
  }

  public static final class WorkSource.WorkChain implements android.os.Parcelable {
    ctor public WorkSource.WorkChain();
    method public android.os.WorkSource.WorkChain addNode(int, java.lang.String);
    method public int describeContents();
    method public java.lang.String getAttributionTag();
    method public int getAttributionUid();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.os.WorkSource.WorkChain> CREATOR;
  }

}

package android.os.storage {
+18 −6
Original line number Diff line number Diff line
package android.os;

import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.content.Context;
import android.os.WorkSourceProto;
import android.provider.Settings;
@@ -8,6 +9,8 @@ import android.provider.Settings.Global;
import android.util.Log;
import android.util.proto.ProtoOutputStream;

import com.android.internal.annotations.VisibleForTesting;

import java.util.ArrayList;
import java.util.Arrays;

@@ -464,6 +467,7 @@ public class WorkSource implements Parcelable {
     *
     * @hide
     */
    @SystemApi
    public WorkChain createWorkChain() {
        if (mChains == null) {
            mChains = new ArrayList<>(4);
@@ -854,7 +858,8 @@ public class WorkSource implements Parcelable {
     *
     * @hide
     */
    public static class WorkChain implements Parcelable {
    @SystemApi
    public static final class WorkChain implements Parcelable {
        private int mSize;
        private int[] mUids;
        private String[] mTags;
@@ -866,7 +871,8 @@ public class WorkSource implements Parcelable {
            mTags = new String[4];
        }

        // @VisibleForTesting
        /** @hide */
        @VisibleForTesting
        public WorkChain(WorkChain other) {
            mSize = other.mSize;
            mUids = other.mUids.clone();
@@ -913,16 +919,22 @@ public class WorkSource implements Parcelable {
        // TODO: The following three trivial getters are purely for testing and will be removed
        // once we have higher level logic in place, e.g for serializing this WorkChain to a proto,
        // diffing it etc.
        //
        // @VisibleForTesting


        /** @hide */
        @VisibleForTesting
        public int[] getUids() {
            return mUids;
        }
        // @VisibleForTesting

        /** @hide */
        @VisibleForTesting
        public String[] getTags() {
            return mTags;
        }
        // @VisibleForTesting

        /** @hide */
        @VisibleForTesting
        public int getSize() {
            return mSize;
        }