@Override public VParceledListSlice getAllSessions(int userId) throws RemoteException { final List<SessionInfo> result = new ArrayList<>(); synchronized (mSessions) { for (int i = 0; i < mSessions.size(); i++) { final PackageInstallerSession session = mSessions.valueAt(i); if (session.userId == userId) { result.add(session.generateInfo()); } } } return new VParceledListSlice<>(result); }
@Override public Object call(Object who, Method method, Object... args) throws Throwable { int maxNum = (int) args[0]; int flags = (int) args[1]; return VActivityManager.get().getServices(maxNum, flags).getList(); }
verifySameType(listElementClass, parcelable.getClass());
@Override public VParceledListSlice getMySessions(String installerPackageName, int userId) throws RemoteException { final List<SessionInfo> result = new ArrayList<>(); synchronized (mSessions) { for (int i = 0; i < mSessions.size(); i++) { final PackageInstallerSession session = mSessions.valueAt(i); if (ObjectsCompat.equals(session.installerPackageName, installerPackageName) && session.userId == userId) { result.add(session.generateInfo()); } } } return new VParceledListSlice<>(result); }
public List<ApplicationInfo> getInstalledApplications(int flags, int userId) { try { // noinspection unchecked return getInterface().getInstalledApplications(flags, userId).getList(); } catch (RemoteException e) { return VirtualRuntime.crash(e); } }
listElementClass = parcelable.getClass(); } else { verifySameType(listElementClass, parcelable.getClass()); verifySameType(listElementClass, parcelable.getClass());
@Override public VParceledListSlice<PackageInfo> getInstalledPackages(int flags, int userId) { checkUserId(userId); ArrayList<PackageInfo> pkgList = new ArrayList<>(mPackages.size()); synchronized (mPackages) { for (VPackage p : mPackages.values()) { PackageSetting ps = (PackageSetting) p.mExtras; PackageInfo info = generatePackageInfo(p, ps, flags, userId); if (info != null) { pkgList.add(info); } } } return new VParceledListSlice<>(pkgList); }
public List<PackageInfo> getInstalledPackages(int flags, int userId) { try { return getInterface().getInstalledPackages(flags, userId).getList(); } catch (RemoteException e) { return VirtualRuntime.crash(e); } }
verifySameType(listElementClass, parcelable.getClass());
@Override public VParceledListSlice<ApplicationInfo> getInstalledApplications(int flags, int userId) { checkUserId(userId); flags = updateFlagsNought(flags); ArrayList<ApplicationInfo> list = new ArrayList<>(mPackages.size()); synchronized (mPackages) { for (VPackage p : mPackages.values()) { PackageSetting ps = (PackageSetting) p.mExtras; ApplicationInfo info = PackageParserEx.generateApplicationInfo(p, flags, ps.readUserState(userId), userId); list.add(info); } } return new VParceledListSlice<>(list); }
public List<ProviderInfo> queryContentProviders(String processName, int uid, int flags) { try { // noinspection unchecked return getInterface().queryContentProviders(processName, uid, flags).getList(); } catch (RemoteException e) { return VirtualRuntime.crash(e); } }
verifySameType(listElementClass, parcelable.getClass());
@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); }
listElementClass = parcelable.getClass(); } else { verifySameType(listElementClass, parcelable.getClass()); verifySameType(listElementClass, parcelable.getClass());
@Override public VParceledListSlice<ActivityManager.RunningServiceInfo> getServices(int maxNum, int flags, int userId) { synchronized (mHistory) { List<ActivityManager.RunningServiceInfo> services = new ArrayList<>(mHistory.size()); for (ServiceRecord r : mHistory) { if (r.process.userId != userId) { continue; } ActivityManager.RunningServiceInfo info = new ActivityManager.RunningServiceInfo(); info.uid = r.process.vuid; info.pid = r.process.pid; ProcessRecord processRecord = findProcessLocked(r.process.pid); if (processRecord != null) { info.process = processRecord.processName; info.clientPackage = processRecord.info.packageName; } info.activeSince = r.activeSince; info.lastActivityTime = r.lastActivityTime; info.clientCount = r.getClientCount(); info.service = ComponentUtils.toComponentName(r.serviceInfo); info.started = r.startId > 0; services.add(info); } return new VParceledListSlice<>(services); } }
@Override public Object call(Object who, Method method, Object... args) throws Throwable { int maxNum = (int) args[0]; int flags = (int) args[1]; return VActivityManager.get().getServices(maxNum, flags).getList(); }
listElementClass = parcelable.getClass(); } else { verifySameType(listElementClass, parcelable.getClass()); verifySameType(listElementClass, parcelable.getClass());
@Override public VParceledListSlice<PackageInfo> getInstalledPackages(int flags, int userId) { checkUserId(userId); return new VParceledListSlice<>(new ArrayList<PackageInfo>(0)); }
@Override public Object call(Object who, Method method, Object... args) throws Throwable { int maxNum = (int) args[0]; int flags = (int) args[1]; return VActivityManager.get().getServices(maxNum, flags).getList(); }