Merge "TestApi for UserSystemPackageInstaller" into sc-dev
This commit is contained in:
@@ -1769,6 +1769,7 @@ package android.os {
|
|||||||
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 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 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 @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 @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public java.util.Set<java.lang.String> getPreInstallableSystemPackages(@NonNull String);
|
||||||
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 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 @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 @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean hasBaseUserRestriction(@NonNull String, @NonNull android.os.UserHandle);
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ interface IUserManager {
|
|||||||
UserInfo createProfileForUserWithThrow(in String name, in String userType, int flags, int userId,
|
UserInfo createProfileForUserWithThrow(in String name, in String userType, int flags, int userId,
|
||||||
in String[] disallowedPackages);
|
in String[] disallowedPackages);
|
||||||
UserInfo createRestrictedProfileWithThrow(String name, int parentUserHandle);
|
UserInfo createRestrictedProfileWithThrow(String name, int parentUserHandle);
|
||||||
|
String[] getPreInstallableSystemPackages(in String userType);
|
||||||
void setUserEnabled(int userId);
|
void setUserEnabled(int userId);
|
||||||
void setUserAdmin(int userId);
|
void setUserAdmin(int userId);
|
||||||
void evictCredentialEncryptionKey(int userId);
|
void evictCredentialEncryptionKey(int userId);
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import android.annotation.Nullable;
|
|||||||
import android.annotation.RequiresPermission;
|
import android.annotation.RequiresPermission;
|
||||||
import android.annotation.StringDef;
|
import android.annotation.StringDef;
|
||||||
import android.annotation.SuppressAutoDoc;
|
import android.annotation.SuppressAutoDoc;
|
||||||
|
import android.annotation.SuppressLint;
|
||||||
import android.annotation.SystemApi;
|
import android.annotation.SystemApi;
|
||||||
import android.annotation.SystemService;
|
import android.annotation.SystemService;
|
||||||
import android.annotation.TestApi;
|
import android.annotation.TestApi;
|
||||||
@@ -53,6 +54,7 @@ import android.location.LocationManager;
|
|||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.util.AndroidException;
|
import android.util.AndroidException;
|
||||||
|
import android.util.ArraySet;
|
||||||
import android.view.WindowManager.LayoutParams;
|
import android.view.WindowManager.LayoutParams;
|
||||||
|
|
||||||
import com.android.internal.R;
|
import com.android.internal.R;
|
||||||
@@ -3220,6 +3222,33 @@ public class UserManager {
|
|||||||
return intent;
|
return intent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the list of the system packages that would be installed on this type of user upon
|
||||||
|
* its creation.
|
||||||
|
*
|
||||||
|
* Returns {@code null} if all system packages would be installed.
|
||||||
|
*
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@TestApi
|
||||||
|
@SuppressLint("NullableCollection")
|
||||||
|
@RequiresPermission(anyOf = {
|
||||||
|
android.Manifest.permission.MANAGE_USERS,
|
||||||
|
android.Manifest.permission.CREATE_USERS
|
||||||
|
})
|
||||||
|
public @Nullable Set<String> getPreInstallableSystemPackages(@NonNull String userType) {
|
||||||
|
try {
|
||||||
|
final String[] installableSystemPackages
|
||||||
|
= mService.getPreInstallableSystemPackages(userType);
|
||||||
|
if (installableSystemPackages == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return new ArraySet<>(installableSystemPackages);
|
||||||
|
} catch (RemoteException re) {
|
||||||
|
throw re.rethrowFromSystemServer();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @hide
|
* @hide
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -3902,6 +3902,17 @@ public class UserManagerService extends IUserManager.Stub {
|
|||||||
isFirstBoot, isUpgrade, existingPackages);
|
isFirstBoot, isUpgrade, existingPackages);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String[] getPreInstallableSystemPackages(@NonNull String userType) {
|
||||||
|
checkManageOrCreateUsersPermission("getPreInstallableSystemPackages");
|
||||||
|
final Set<String> installableSystemPackages =
|
||||||
|
mSystemPackageInstaller.getInstallablePackagesForUserType(userType);
|
||||||
|
if (installableSystemPackages == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return installableSystemPackages.toArray(new String[installableSystemPackages.size()]);
|
||||||
|
}
|
||||||
|
|
||||||
private long getCreationTime() {
|
private long getCreationTime() {
|
||||||
final long now = System.currentTimeMillis();
|
final long now = System.currentTimeMillis();
|
||||||
return (now > EPOCH_PLUS_30_YEARS) ? now : 0;
|
return (now > EPOCH_PLUS_30_YEARS) ? now : 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user