@Implementation protected int createSession(@NonNull PackageInstaller.SessionParams params) throws IOException { final PackageInstaller.SessionInfo sessionInfo = new PackageInstaller.SessionInfo(); sessionInfo.sessionId = nextSessionId++; sessionInfo.active = true; sessionInfo.appPackageName = params.appPackageName; sessionInfos.put(sessionInfo.getSessionId(), sessionInfo); for (final CallbackInfo callbackInfo : callbackInfos) { callbackInfo.handler.post(new Runnable() { @Override public void run() { callbackInfo.callback.onCreated(sessionInfo.sessionId); } }); } return sessionInfo.sessionId; }
if (session.getAppPackageName() != null) { updates.add(new PackageInstallInfo(session.getAppPackageName(), STATUS_INSTALLING, (int) (session.getProgress() * 100)));
private void listPackageInstallerSessions(){ PackageInstaller packageInstaller = this.getPackageManager().getPackageInstaller(); List<PackageInstaller.SessionInfo> allSessions = packageInstaller.getAllSessions(); Log.i(Constants.TAG, "DummyActivity listPackageInstallerSessions AllSessions *****"); int count = 0; for (PackageInstaller.SessionInfo se: allSessions) { count++; Log.i(Constants.TAG, "DummyActivity listPackageInstallerSessions getAppPackageName: " + se.getAppPackageName() + " - getInstallerPackageName: " + se.getInstallerPackageName() + " - getSessionId: " + se.getSessionId()); } Log.i(Constants.TAG, "DummyActivity listPackageInstallerSessions (" + count + ") AllSessions *****"); List<PackageInstaller.SessionInfo> mySessions = packageInstaller.getMySessions(); Log.i(Constants.TAG, "DummyActivity listPackageInstallerSessions MySessions *****"); count = 0; for (PackageInstaller.SessionInfo se: mySessions) { count++; Log.i(Constants.TAG, "DummyActivity listPackageInstallerSessions getAppPackageName: " + se.getAppPackageName() + " - getInstallerPackageName: " + se.getInstallerPackageName() + " - getSessionId: " + se.getSessionId()); } Log.i(Constants.TAG, "DummyActivity listPackageInstallerSessions PackageManager (" + count + ") MySessions *****"); }
@Implementation protected int createSession(@NonNull PackageInstaller.SessionParams params) throws IOException { final PackageInstaller.SessionInfo sessionInfo = new PackageInstaller.SessionInfo(); sessionInfo.sessionId = nextSessionId++; sessionInfo.active = true; sessionInfo.appPackageName = params.appPackageName; sessionInfos.put(sessionInfo.getSessionId(), sessionInfo); for (final CallbackInfo callbackInfo : callbackInfos) { callbackInfo.handler.post(new Runnable() { @Override public void run() { callbackInfo.callback.onCreated(sessionInfo.sessionId); } }); } return sessionInfo.sessionId; }
@Implementation public int createSession(@NonNull PackageInstaller.SessionParams params) throws IOException { final PackageInstaller.SessionInfo sessionInfo = new PackageInstaller.SessionInfo(); sessionInfo.sessionId = nextSessionId++; sessionInfo.active = true; sessionInfo.appPackageName = params.appPackageName; sessionInfos.put(sessionInfo.getSessionId(), sessionInfo); for (final CallbackInfo callbackInfo : callbackInfos) { callbackInfo.handler.post(new Runnable() { @Override public void run() { callbackInfo.callback.onCreated(sessionInfo.sessionId); } }); } return sessionInfo.sessionId; }
@Implementation public int createSession(@NonNull PackageInstaller.SessionParams params) throws IOException { final PackageInstaller.SessionInfo sessionInfo = new PackageInstaller.SessionInfo(); sessionInfo.sessionId = nextSessionId++; sessionInfo.active = true; sessionInfo.appPackageName = params.appPackageName; sessionInfos.put(sessionInfo.getSessionId(), sessionInfo); for (final CallbackInfo callbackInfo : callbackInfos) { callbackInfo.handler.post(new Runnable() { @Override public void run() { callbackInfo.callback.onCreated(sessionInfo.sessionId); } }); } return sessionInfo.sessionId; }
@Override public HashMap<String, Integer> updateAndGetActiveSessionCache() { HashMap<String, Integer> activePackages = new HashMap<>(); UserHandleCompat user = UserHandleCompat.myUserHandle(); for (SessionInfo info : mInstaller.getAllSessions()) { addSessionInfoToCahce(info, user); if (info.getAppPackageName() != null) { activePackages.put(info.getAppPackageName(), (int) (info.getProgress() * 100)); mActiveSessions.put(info.getSessionId(), info.getAppPackageName()); } } return activePackages; }
@Override public HashMap<String, Integer> updateAndGetActiveSessionCache() { HashMap<String, Integer> activePackages = new HashMap<>(); UserHandleCompat user = UserHandleCompat.myUserHandle(); for (SessionInfo info : mInstaller.getAllSessions()) { addSessionInfoToCahce(info, user); if (info.getAppPackageName() != null) { activePackages.put(info.getAppPackageName(), (int) (info.getProgress() * 100)); mActiveSessions.put(info.getSessionId(), info.getAppPackageName()); } } return activePackages; }
@Override public void run() { for (SessionInfo info : mInstaller.getAllSessions()) { mPendingReplays.append(info.getSessionId(), info); } } });
private void pushSessionBadgeToLauncher(int sessionId) { SessionInfo session = mInstaller.getSessionInfo(sessionId); if (session != null) { addSessionInfoToCahce(session, UserHandleCompat.myUserHandle()); if (session.getAppPackageName() != null) { mPendingBadgeUpdates.add(session.getAppPackageName()); } mPendingReplays.put(sessionId, session); replayUpdates(null); } } };
@Override public void onFinished(int sessionId, boolean success) { mPendingReplays.remove(sessionId); SessionInfo session = mInstaller.getSessionInfo(sessionId); if ((session != null) && (session.getAppPackageName() != null)) { mPendingBadgeUpdates.remove(session.getAppPackageName()); // Replay all updates with a one time update for this installed package. No // need to store this record for future updates, as the app list will get // refreshed on resume. replayUpdates(new PackageInstallInfo(session.getAppPackageName(), success ? STATUS_INSTALLED : STATUS_FAILED, 0)); } }
@Override public HashSet<String> updateAndGetActiveSessionCache() { HashSet<String> activePackages = new HashSet<String>(); UserHandleCompat user = UserHandleCompat.myUserHandle(); for (SessionInfo info : mInstaller.getAllSessions()) { addSessionInfoToCahce(info, user); if (info.getAppPackageName() != null) { activePackages.add(info.getAppPackageName()); } } return activePackages; }
@Override public void onProgressChanged(int sessionId, float progress) { SessionInfo session = mInstaller.getSessionInfo(sessionId); if (session != null && session.getAppPackageName() != null) { sendUpdate(new PackageInstallInfo(session.getAppPackageName(), STATUS_INSTALLING, (int) (session.getProgress() * 100))); } }
private void pushSessionDisplayToLauncher(int sessionId) { SessionInfo session = mInstaller.getSessionInfo(sessionId); if (session != null && session.getAppPackageName() != null) { addSessionInfoToCahce(session, UserHandleCompat.myUserHandle()); LauncherAppState app = LauncherAppState.getInstanceNoCreate(); if (app != null) { app.getModel().updateSessionDisplayInfo(session.getAppPackageName()); } } } };
private void pushSessionDisplayToLauncher(int sessionId) { SessionInfo session = mInstaller.getSessionInfo(sessionId); if (session != null && session.getAppPackageName() != null) { addSessionInfoToCache(session, Process.myUserHandle()); LauncherAppState app = LauncherAppState.getInstanceNoCreate(); if (app != null) { app.getModel().updateSessionDisplayInfo(session.getAppPackageName()); } } } };
private void addSessionInfoToCahce(SessionInfo info, UserHandleCompat user) { String packageName = info.getAppPackageName(); if (packageName != null) { mCache.cachePackageInstallInfo(packageName, user, info.getAppIcon(), info.getAppLabel()); } }
@Override public HashMap<String, Integer> updateAndGetActiveSessionCache() { HashMap<String, Integer> activePackages = new HashMap<>(); UserHandleCompat user = UserHandleCompat.myUserHandle(); for (SessionInfo info : mInstaller.getAllSessions()) { addSessionInfoToCahce(info, user); if (info.getAppPackageName() != null) { activePackages.put(info.getAppPackageName(), (int) (info.getProgress() * 100)); mActiveSessions.put(info.getSessionId(), info.getAppPackageName()); } } return activePackages; }
@Thunk private void addSessionInfoToCache(SessionInfo info, UserHandle user) { String packageName = info.getAppPackageName(); if (packageName != null) { mCache.cachePackageInstallInfo(packageName, user, info.getAppIcon(), info.getAppLabel()); } }
@Override public void onProgressChanged(int sessionId, float progress) { SessionInfo session = mInstaller.getSessionInfo(sessionId); if (session != null && session.getAppPackageName() != null) { sendUpdate(new PackageInstallInfo(session.getAppPackageName(), STATUS_INSTALLING, (int) (session.getProgress() * 100))); } }
@Thunk void addSessionInfoToCahce(SessionInfo info, UserHandleCompat user) { String packageName = info.getAppPackageName(); if (packageName != null) { mCache.cachePackageInstallInfo(packageName, user, info.getAppIcon(), info.getAppLabel()); } }