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

Commit b3d381a1 authored by Kholoud Mohamed's avatar Kholoud Mohamed Committed by Android (Google) Code Review
Browse files

Merge "Exposed some testAPIs in UserManager" into sc-dev

parents 635114d0 afb12625
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -31467,10 +31467,10 @@ package android.os {
    method public static android.content.Intent createUserCreationIntent(@Nullable String, @Nullable String, @Nullable String, @Nullable android.os.PersistableBundle);
    method @WorkerThread public android.os.Bundle getApplicationRestrictions(String);
    method public long getSerialNumberForUser(android.os.UserHandle);
    method @RequiresPermission("android.permission.MANAGE_USERS") public int getUserCount();
    method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.CREATE_USERS"}) public int getUserCount();
    method public long getUserCreationTime(android.os.UserHandle);
    method public android.os.UserHandle getUserForSerialNumber(long);
    method @NonNull @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}, conditional=true) public String getUserName();
    method @NonNull @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED, "android.permission.CREATE_USERS"}, conditional=true) public String getUserName();
    method public java.util.List<android.os.UserHandle> getUserProfiles();
    method public android.os.Bundle getUserRestrictions();
    method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.INTERACT_ACROSS_USERS"}, conditional=true) public android.os.Bundle getUserRestrictions(android.os.UserHandle);
+3 −3
Original line number Diff line number Diff line
@@ -8386,13 +8386,13 @@ package android.os {
    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.os.UserHandle createProfile(@NonNull String, @NonNull String, @NonNull java.util.Set<java.lang.String>) throws android.os.UserManager.UserOperationException;
    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}, conditional=true) public java.util.List<android.os.UserHandle> getAllProfiles();
    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}, conditional=true) public java.util.List<android.os.UserHandle> getEnabledProfiles();
    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.UserHandle getProfileParent(@NonNull android.os.UserHandle);
    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public android.os.UserHandle getProfileParent(@NonNull android.os.UserHandle);
    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.os.UserHandle getRestrictedProfileParent();
    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountName();
    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.PersistableBundle getSeedAccountOptions();
    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountType();
    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public long[] getSerialNumbersOfUsers(boolean);
    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<android.os.UserHandle> getUserHandles(boolean);
    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public long[] getSerialNumbersOfUsers(boolean);
    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public java.util.List<android.os.UserHandle> getUserHandles(boolean);
    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public android.graphics.Bitmap getUserIcon();
    method @Deprecated @android.os.UserManager.UserRestrictionSource @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public int getUserRestrictionSource(String, android.os.UserHandle);
    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<android.os.UserManager.EnforcingUser> getUserRestrictionSources(String, android.os.UserHandle);
+66 −0
Original line number Diff line number Diff line
@@ -748,6 +748,65 @@ package android.content.pm {
    ctor public ShortcutManager(android.content.Context);
  }

  public class UserInfo implements android.os.Parcelable {
    ctor public UserInfo(int, String, int);
    ctor public UserInfo(int, String, String, int);
    ctor public UserInfo(int, String, String, int, String);
    ctor @Deprecated public UserInfo();
    ctor public UserInfo(android.content.pm.UserInfo);
    method public boolean canHaveProfile();
    method public int describeContents();
    method public android.os.UserHandle getUserHandle();
    method public boolean isAdmin();
    method public boolean isDemo();
    method public boolean isEnabled();
    method public boolean isEphemeral();
    method public boolean isFull();
    method public boolean isGuest();
    method public boolean isInitialized();
    method public boolean isManagedProfile();
    method public boolean isPrimary();
    method public boolean isProfile();
    method public boolean isQuietModeEnabled();
    method public boolean isRestricted();
    method public boolean isSystemOnly();
    method public static boolean isSystemOnly(int);
    method public boolean supportsSwitchTo();
    method public boolean supportsSwitchToByUser();
    method public void writeToParcel(android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.UserInfo> CREATOR;
    field public static final int FLAG_ADMIN = 2; // 0x2
    field @Deprecated public static final int FLAG_DEMO = 512; // 0x200
    field public static final int FLAG_DISABLED = 64; // 0x40
    field public static final int FLAG_EPHEMERAL = 256; // 0x100
    field public static final int FLAG_FULL = 1024; // 0x400
    field @Deprecated public static final int FLAG_GUEST = 4; // 0x4
    field public static final int FLAG_INITIALIZED = 16; // 0x10
    field @Deprecated public static final int FLAG_MANAGED_PROFILE = 32; // 0x20
    field public static final int FLAG_PRIMARY = 1; // 0x1
    field public static final int FLAG_PROFILE = 4096; // 0x1000
    field public static final int FLAG_QUIET_MODE = 128; // 0x80
    field @Deprecated public static final int FLAG_RESTRICTED = 8; // 0x8
    field public static final int FLAG_SYSTEM = 2048; // 0x800
    field public static final int NO_PROFILE_GROUP_ID = -10000; // 0xffffd8f0
    field public boolean convertedFromPreCreated;
    field public long creationTime;
    field public int flags;
    field public boolean guestToRemove;
    field public String iconPath;
    field public int id;
    field public String lastLoggedInFingerprint;
    field public long lastLoggedInTime;
    field public String name;
    field public boolean partial;
    field public boolean preCreated;
    field public int profileBadge;
    field public int profileGroupId;
    field public int restrictedProfileParentId;
    field public int serialNumber;
    field public String userType;
  }

}

package android.content.res {
@@ -1511,8 +1570,15 @@ package android.os {
  }

  public class UserManager {
    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.content.pm.UserInfo createProfileForUser(@Nullable String, @NonNull String, int, int, @Nullable String[]);
    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.content.pm.UserInfo createRestrictedProfile(@Nullable String);
    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.content.pm.UserInfo createUser(@Nullable String, @NonNull String, int);
    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public String getUserType();
    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public java.util.List<android.content.pm.UserInfo> getUsers(boolean, boolean, boolean);
    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean hasBaseUserRestriction(@NonNull String, @NonNull android.os.UserHandle);
    method public static boolean isGuestUserEphemeral();
    method public static boolean isSplitSystemUser();
    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.content.pm.UserInfo preCreateUser(@NonNull String) throws android.os.UserManager.UserOperationException;
  }

  public final class VibrationAttributes implements android.os.Parcelable {
+71 −7
Original line number Diff line number Diff line
@@ -953,6 +953,32 @@ MissingNullability: android.content.pm.PackageManager#holdLock(android.os.IBinde
    
MissingNullability: android.content.pm.ShortcutManager#ShortcutManager(android.content.Context) parameter #0:
    
MissingNullability: android.content.pm.UserInfo#UserInfo(android.content.pm.UserInfo) parameter #0:
    Missing nullability on parameter `orig` in method `UserInfo`
MissingNullability: android.content.pm.UserInfo#UserInfo(int, String, String, int) parameter #1:
    Missing nullability on parameter `name` in method `UserInfo`
MissingNullability: android.content.pm.UserInfo#UserInfo(int, String, String, int) parameter #2:
    Missing nullability on parameter `iconPath` in method `UserInfo`
MissingNullability: android.content.pm.UserInfo#UserInfo(int, String, String, int, String) parameter #1:
    Missing nullability on parameter `name` in method `UserInfo`
MissingNullability: android.content.pm.UserInfo#UserInfo(int, String, String, int, String) parameter #2:
    Missing nullability on parameter `iconPath` in method `UserInfo`
MissingNullability: android.content.pm.UserInfo#UserInfo(int, String, String, int, String) parameter #4:
    Missing nullability on parameter `userType` in method `UserInfo`
MissingNullability: android.content.pm.UserInfo#UserInfo(int, String, int) parameter #1:
    Missing nullability on parameter `name` in method `UserInfo`
MissingNullability: android.content.pm.UserInfo#getUserHandle():
    Missing nullability on method `getUserHandle` return
MissingNullability: android.content.pm.UserInfo#iconPath:
    Missing nullability on field `iconPath` in class `class android.content.pm.UserInfo`
MissingNullability: android.content.pm.UserInfo#lastLoggedInFingerprint:
    Missing nullability on field `lastLoggedInFingerprint` in class `class android.content.pm.UserInfo`
MissingNullability: android.content.pm.UserInfo#name:
    Missing nullability on field `name` in class `class android.content.pm.UserInfo`
MissingNullability: android.content.pm.UserInfo#userType:
    Missing nullability on field `userType` in class `class android.content.pm.UserInfo`
MissingNullability: android.content.pm.UserInfo#writeToParcel(android.os.Parcel, int) parameter #0:
    Missing nullability on parameter `dest` in method `writeToParcel`
MissingNullability: android.content.res.AssetManager#getOverlayablesToString(String) parameter #0:
    
MissingNullability: android.content.res.Configuration#windowConfiguration:
@@ -2433,6 +2459,38 @@ MutableBareField: android.content.AutofillOptions#disabledActivities:
    
MutableBareField: android.content.AutofillOptions#whitelistedActivitiesForAugmentedAutofill:
    
MutableBareField: android.content.pm.UserInfo#convertedFromPreCreated:
    Bare field convertedFromPreCreated must be marked final, or moved behind accessors if mutable
MutableBareField: android.content.pm.UserInfo#creationTime:
    Bare field creationTime must be marked final, or moved behind accessors if mutable
MutableBareField: android.content.pm.UserInfo#flags:
    Bare field flags must be marked final, or moved behind accessors if mutable
MutableBareField: android.content.pm.UserInfo#guestToRemove:
    Bare field guestToRemove must be marked final, or moved behind accessors if mutable
MutableBareField: android.content.pm.UserInfo#iconPath:
    Bare field iconPath must be marked final, or moved behind accessors if mutable
MutableBareField: android.content.pm.UserInfo#id:
    Bare field id must be marked final, or moved behind accessors if mutable
MutableBareField: android.content.pm.UserInfo#lastLoggedInFingerprint:
    Bare field lastLoggedInFingerprint must be marked final, or moved behind accessors if mutable
MutableBareField: android.content.pm.UserInfo#lastLoggedInTime:
    Bare field lastLoggedInTime must be marked final, or moved behind accessors if mutable
MutableBareField: android.content.pm.UserInfo#name:
    Bare field name must be marked final, or moved behind accessors if mutable
MutableBareField: android.content.pm.UserInfo#partial:
    Bare field partial must be marked final, or moved behind accessors if mutable
MutableBareField: android.content.pm.UserInfo#preCreated:
    Bare field preCreated must be marked final, or moved behind accessors if mutable
MutableBareField: android.content.pm.UserInfo#profileBadge:
    Bare field profileBadge must be marked final, or moved behind accessors if mutable
MutableBareField: android.content.pm.UserInfo#profileGroupId:
    Bare field profileGroupId must be marked final, or moved behind accessors if mutable
MutableBareField: android.content.pm.UserInfo#restrictedProfileParentId:
    Bare field restrictedProfileParentId must be marked final, or moved behind accessors if mutable
MutableBareField: android.content.pm.UserInfo#serialNumber:
    Bare field serialNumber must be marked final, or moved behind accessors if mutable
MutableBareField: android.content.pm.UserInfo#userType:
    Bare field userType must be marked final, or moved behind accessors if mutable
MutableBareField: android.database.sqlite.SQLiteDebug.DbStats#cache:
    
MutableBareField: android.database.sqlite.SQLiteDebug.DbStats#dbName:
@@ -2619,6 +2677,10 @@ NotCloseable: android.telephony.ims.stub.ImsUtImplBase:
    


NullableCollection: android.os.UserManager#createProfileForUser(String, String, int, int, String[]) parameter #4:
    Type of parameter disallowedPackages in android.os.UserManager.createProfileForUser(String name, String userType, int flags, int userId, String[] disallowedPackages) is a nullable collection (`java.lang.String[]`); must be non-null


OnNameExpected: android.service.autofill.augmented.AugmentedAutofillService#dump(java.io.PrintWriter, String[]):
    
OnNameExpected: android.service.contentcapture.ContentCaptureService#dump(java.io.FileDescriptor, java.io.PrintWriter, String[]):
@@ -2729,6 +2791,8 @@ ParcelCreator: android.service.autofill.InternalValidator:

ParcelNotFinal: android.app.WindowConfiguration:
    
ParcelNotFinal: android.content.pm.UserInfo:
    Parcelable classes must be final: android.content.pm.UserInfo is not final
ParcelNotFinal: android.net.metrics.IpConnectivityLog.Event:
    
ParcelNotFinal: android.os.IncidentManager.IncidentReport:
+2 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package android.content.pm;

import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.TestApi;
import android.annotation.UserIdInt;
import android.compat.annotation.UnsupportedAppUsage;
import android.os.Parcel;
@@ -47,6 +48,7 @@ import java.lang.annotation.RetentionPolicy;
 *
 * @hide
 */
@TestApi
public class UserInfo implements Parcelable {

    /**
Loading