public ProcessRecord(ApplicationInfo info, String processName, int vuid, int vpid) { this.info = info; this.vuid = vuid; this.vpid = vpid; this.userId = VUserHandle.getUserId(vuid); this.processName = processName; }
public int myUserId() { return VUserHandle.getUserId(myUid); }
/** @hide */ public static int getCallingUserId() { return getUserId(VBinder.getCallingUid()); }
public static int getAppUserId() { return VUserHandle.getUserId(getVUid()); }
public static void formatUid(StringBuilder sb, int uid) { if (uid < Process.FIRST_APPLICATION_UID) { sb.append(uid); } else { sb.append('u'); sb.append(getUserId(uid)); final int appId = getAppId(uid); if (appId >= FIRST_ISOLATED_UID && appId <= LAST_ISOLATED_UID) { sb.append('i'); sb.append(appId - FIRST_ISOLATED_UID); } else if (appId >= Process.FIRST_APPLICATION_UID) { sb.append('a'); sb.append(appId - Process.FIRST_APPLICATION_UID); } else { sb.append('s'); sb.append(appId); } } }
/** @hide */ public static VUserHandle getCallingUserHandle() { int userId = getUserId(VBinder.getCallingUid()); VUserHandle userHandle = userHandles.get(userId); // Intentionally not synchronized to save time if (userHandle == null) { userHandle = new VUserHandle(userId); userHandles.put(userId, userHandle); } return userHandle; }
@Override public String[] getPackagesForUid(int uid) { int userId = VUserHandle.getUserId(uid); checkUserId(userId); synchronized (this) { List<String> pkgList = new ArrayList<>(2); for (VPackage p : mPackages.values()) { PackageSetting settings = (PackageSetting) p.mExtras; if (VUserHandle.getUid(userId, settings.appId) == uid) { pkgList.add(p.packageName); } } return pkgList.toArray(new String[pkgList.size()]); } }
/** * Generate a text representation of the vuid, breaking out its individual * components -- user, app, isolated, etc. * @hide */ public static void formatUid(PrintWriter pw, int uid) { if (uid < Process.FIRST_APPLICATION_UID) { pw.print(uid); } else { pw.print('u'); pw.print(getUserId(uid)); final int appId = getAppId(uid); if (appId >= FIRST_ISOLATED_UID && appId <= LAST_ISOLATED_UID) { pw.print('i'); pw.print(appId - FIRST_ISOLATED_UID); } else if (appId >= Process.FIRST_APPLICATION_UID) { pw.print('a'); pw.print(appId - Process.FIRST_APPLICATION_UID); } else { pw.print('s'); pw.print(appId); } } }
public VDeviceInfo getDeviceInfo() { if (deviceInfo == null) { synchronized (this) { if (deviceInfo == null) { deviceInfo = VDeviceManager.get().getDeviceInfo(getUserId(vuid)); } } } return deviceInfo; }
/** * Returns the user id of the current process * @return user id of the current process * @hide */ public static int myUserId() { return getUserId(VClientImpl.get().getVUid()); }
public static VUserHandle getCallingUserHandle() { return new VUserHandle(VUserHandle.getUserId(getCallingUid())); } }
@Override public VParceledListSlice<ProviderInfo> queryContentProviders(String processName, int vuid, int flags) { int userId = VUserHandle.getUserId(vuid); checkUserId(userId); flags = updateFlagsNought(flags); ArrayList<ProviderInfo> finalList = new ArrayList<>(3); // reader synchronized (mPackages) { for (VPackage.ProviderComponent p : mProvidersByComponent.values()) { PackageSetting ps = (PackageSetting) p.owner.mExtras; if (processName == null || ps.appId == VUserHandle.getAppId(vuid) && p.info.processName.equals(processName)) { ProviderInfo providerInfo = PackageParserEx.generateProviderInfo(p, flags, ps.readUserState(userId), userId); finalList.add(providerInfo); } } } if (!finalList.isEmpty()) { Collections.sort(finalList, sProviderInitOrderSorter); } return new VParceledListSlice<>(finalList); }
private void handleStaticBroadcastAsUser(int vuid, ActivityInfo info, Intent intent, PendingResultData result) { synchronized (this) { ProcessRecord r = findProcessLocked(info.processName, vuid); if ((BROADCAST_NOT_STARTED_PKG || isStartProcessForBroadcast(info.processName, info.packageName)) && r == null) { r = startProcessIfNeedLocked(info.processName, getUserId(vuid), info.packageName); } if (r != null && r.appThread != null) { performScheduleReceiver(r.client, vuid, info, intent, result); } } }
Intent service = new Intent(); service.setComponent(new ComponentName(key.packageName, config.serviceName)); service.putExtra("_VA_|_user_id_", VUserHandle.getUserId(key.vuid)); boolean bound = false; try {
System.exit(0); data.appInfo = VPackageManager.get().getApplicationInfo(packageName, 0, getUserId(vuid)); data.processName = processName; data.appInfo.processName = processName;
public ProcessRecord(ApplicationInfo info, String processName, int vuid, int vpid) { this.info = info; this.vuid = vuid; this.vpid = vpid; this.userId = VUserHandle.getUserId(vuid); this.processName = processName; }
public ProcessRecord(ApplicationInfo info, String processName, int vuid, int vpid) { this.info = info; this.vuid = vuid; this.vpid = vpid; this.userId = VUserHandle.getUserId(vuid); this.processName = processName; }
/** @hide */ public static VUserHandle getCallingUserHandle() { int userId = getUserId(VBinder.getCallingUid()); VUserHandle userHandle = userHandles.get(userId); // Intentionally not synchronized to save time if (userHandle == null) { userHandle = new VUserHandle(userId); userHandles.put(userId, userHandle); } return userHandle; }