Java 类android.content.pm.PackageInstaller.SessionInfo 实例源码

项目:FMTech    文件:PackageInstallerImpl.java   
public PackageInstallerImpl(Context paramContext)
{
  this.mContext = paramContext;
  this.mPackageInstaller = this.mContext.getPackageManager().getPackageInstaller();
  this.mSessionInfoMap = new HashMap();
  Iterator localIterator = this.mPackageInstaller.getMySessions().iterator();
  while (localIterator.hasNext())
  {
    PackageInstaller.SessionInfo localSessionInfo1 = (PackageInstaller.SessionInfo)localIterator.next();
    String str = localSessionInfo1.getAppPackageName();
    PackageInstaller.SessionInfo localSessionInfo2 = (PackageInstaller.SessionInfo)this.mSessionInfoMap.put(str, localSessionInfo1);
    if (localSessionInfo2 != null)
    {
      Object[] arrayOfObject = new Object[3];
      arrayOfObject[0] = str;
      arrayOfObject[1] = Integer.valueOf(localSessionInfo2.getSessionId());
      arrayOfObject[2] = Integer.valueOf(localSessionInfo1.getSessionId());
      FinskyLog.w("Multiple sessions for %s found. Removing %d & keeping %d.", arrayOfObject);
    }
  }
  this.mOpenSessionMap = new HashMap();
}
项目:FMTech    文件:eer.java   
private static boolean a(Context paramContext, String paramString)
{
  if (Build.VERSION.SDK_INT >= 21) {}
  for (int i = 1; i != 0; i = 0)
  {
    Iterator localIterator = paramContext.getPackageManager().getPackageInstaller().getAllSessions().iterator();
    do
    {
      if (!localIterator.hasNext()) {
        break;
      }
    } while (!paramString.equals(((PackageInstaller.SessionInfo)localIterator.next()).getAppPackageName()));
    return true;
  }
  PackageManager localPackageManager = paramContext.getPackageManager();
  try
  {
    boolean bool = localPackageManager.getApplicationInfo(paramString, 8192).enabled;
    if (bool) {
      return true;
    }
  }
  catch (PackageManager.NameNotFoundException localNameNotFoundException) {}
  return false;
}
项目:LB-Launcher    文件:PackageInstallerCompatVL.java   
PackageInstallerCompatVL(Context context) {
    mInstaller = context.getPackageManager().getPackageInstaller();
    LauncherAppState.setApplicationContext(context.getApplicationContext());
    mCache = LauncherAppState.getInstance().getIconCache();
    mWorker = new Handler();

    mResumed = false;
    mBound = false;

    mInstaller.registerSessionCallback(mCallback, mWorker);

    // On start, send updates for all active sessions
    mWorker.post(new Runnable() {

        @Override
        public void run() {
            for (SessionInfo info : mInstaller.getAllSessions()) {
                mPendingReplays.append(info.getSessionId(), info);
            }
        }
    });
}
项目:LaunchEnr    文件:PackageInstallerCompatVL.java   
@Override
public HashMap<String, Integer> updateAndGetActiveSessionCache() {
    HashMap<String, Integer> activePackages = new HashMap<>();
    UserHandle user = Process.myUserHandle();
    for (SessionInfo info : mInstaller.getAllSessions()) {
        addSessionInfoToCache(info, user);
        if (info.getAppPackageName() != null) {
            activePackages.put(info.getAppPackageName(), (int) (info.getProgress() * 100));
            mActiveSessions.put(info.getSessionId(), info.getAppPackageName());
        }
    }
    return activePackages;
}
项目:LaunchEnr    文件:PackageInstallerCompatVL.java   
@Thunk private void addSessionInfoToCache(SessionInfo info, UserHandle user) {
    String packageName = info.getAppPackageName();
    if (packageName != null) {
        mCache.cachePackageInstallInfo(packageName, user, info.getAppIcon(),
                info.getAppLabel());
    }
}
项目:LaunchEnr    文件:PackageInstallerCompatVL.java   
@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)));
    }
}
项目:LaunchEnr    文件:PackageInstallerCompatVL.java   
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());
        }
    }
}
项目:FlickLauncher    文件:PackageInstallerCompatVL.java   
@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;
}
项目:FlickLauncher    文件:PackageInstallerCompatVL.java   
@Thunk void addSessionInfoToCahce(SessionInfo info, UserHandleCompat user) {
    String packageName = info.getAppPackageName();
    if (packageName != null) {
        mCache.cachePackageInstallInfo(packageName, user, info.getAppIcon(),
                info.getAppLabel());
    }
}
项目:FlickLauncher    文件:PackageInstallerCompatVL.java   
@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)));
    }
}
项目:FlickLauncher    文件:PackageInstallerCompatVL.java   
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());
        }
    }
}
项目:SimpleUILauncher    文件:PackageInstallerCompatVL.java   
@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;
}
项目:SimpleUILauncher    文件:PackageInstallerCompatVL.java   
@Thunk void addSessionInfoToCahce(SessionInfo info, UserHandleCompat user) {
    String packageName = info.getAppPackageName();
    if (packageName != null) {
        mCache.cachePackageInstallInfo(packageName, user, info.getAppIcon(),
                info.getAppLabel());
    }
}
项目:SimpleUILauncher    文件:PackageInstallerCompatVL.java   
@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)));
    }
}
项目:SimpleUILauncher    文件:PackageInstallerCompatVL.java   
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());
        }
    }
}
项目:SimplOS    文件:PackageInstallerCompatVL.java   
@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;
}
项目:SimplOS    文件:PackageInstallerCompatVL.java   
@Thunk void addSessionInfoToCahce(SessionInfo info, UserHandleCompat user) {
    String packageName = info.getAppPackageName();
    if (packageName != null) {
        mCache.cachePackageInstallInfo(packageName, user, info.getAppIcon(),
                info.getAppLabel());
    }
}
项目:SimplOS    文件:PackageInstallerCompatVL.java   
@Override
public void onProgressChanged(int sessionId, float progress) {
    SessionInfo session = mInstaller.getSessionInfo(sessionId);
    if (session != null) {
        sendUpdate(new PackageInstallInfo(session.getAppPackageName(),
                STATUS_INSTALLING,
                (int) (session.getProgress() * 100)));
    }
}
项目:SimplOS    文件:PackageInstallerCompatVL.java   
private void pushSessionDisplayToLauncher(int sessionId) {
    SessionInfo session = mInstaller.getSessionInfo(sessionId);
    if (session != null) {
        addSessionInfoToCahce(session, UserHandleCompat.myUserHandle());
        LauncherAppState app = LauncherAppState.getInstanceNoCreate();

        if (app != null) {
            app.getModel().updateSessionDisplayInfo(session.getAppPackageName());
        }
    }
}
项目:Trebuchet    文件:PackageInstallerCompatVL.java   
@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;
}
项目:Trebuchet    文件:PackageInstallerCompatVL.java   
@Thunk void addSessionInfoToCahce(SessionInfo info, UserHandleCompat user) {
    String packageName = info.getAppPackageName();
    if (packageName != null) {
        mCache.cachePackageInstallInfo(packageName, user, info.getAppIcon(),
                info.getAppLabel());
    }
}
项目:Trebuchet    文件:PackageInstallerCompatVL.java   
@Override
public void onProgressChanged(int sessionId, float progress) {
    SessionInfo session = mInstaller.getSessionInfo(sessionId);
    if (session != null) {
        sendUpdate(new PackageInstallInfo(session.getAppPackageName(),
                STATUS_INSTALLING,
                (int) (session.getProgress() * 100)));
    }
}
项目:Trebuchet    文件:PackageInstallerCompatVL.java   
private void pushSessionDisplayToLauncher(int sessionId) {
    SessionInfo session = mInstaller.getSessionInfo(sessionId);
    if (session != null) {
        addSessionInfoToCahce(session, UserHandleCompat.myUserHandle());
        LauncherAppState app = LauncherAppState.getInstanceNoCreate();

        if (app != null) {
            app.getModel().updateSessionDisplayInfo(session.getAppPackageName());
        }
    }
}
项目:FLauncher    文件:PackageInstallerCompatVL.java   
@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;
}
项目:FLauncher    文件:PackageInstallerCompatVL.java   
@Thunk void addSessionInfoToCahce(SessionInfo info, UserHandleCompat user) {
    String packageName = info.getAppPackageName();
    if (packageName != null) {
        mCache.cachePackageInstallInfo(packageName, user, info.getAppIcon(),
                info.getAppLabel());
    }
}
项目:FLauncher    文件:PackageInstallerCompatVL.java   
@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)));
    }
}
项目:FLauncher    文件:PackageInstallerCompatVL.java   
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());
        }
    }
}
项目:LB-Launcher    文件:PackageInstallerCompatVL.java   
@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;
}
项目:LB-Launcher    文件:PackageInstallerCompatVL.java   
private void addSessionInfoToCahce(SessionInfo info, UserHandleCompat user) {
    String packageName = info.getAppPackageName();
    if (packageName != null) {
        mCache.cachePackageInstallInfo(packageName, user, info.getAppIcon(),
                info.getAppLabel());
    }
}
项目:LB-Launcher    文件:PackageInstallerCompatVL.java   
@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));
    }
}
项目:LB-Launcher    文件:PackageInstallerCompatVL.java   
@Override
public void onProgressChanged(int sessionId, float progress) {
    SessionInfo session = mInstaller.getSessionInfo(sessionId);
    if (session != null) {
        mPendingReplays.put(sessionId, session);
        replayUpdates(null);
    }
}
项目:LB-Launcher    文件:PackageInstallerCompatVL.java   
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);
    }
}
项目:FMTech    文件:GooglePlayServicesUtil.java   
static boolean zzi(Context paramContext, String paramString)
{
  boolean bool1 = true;
  if (zzq.zzdC(21))
  {
    Iterator localIterator = paramContext.getPackageManager().getPackageInstaller().getAllSessions().iterator();
    while (localIterator.hasNext()) {
      if (paramString.equals(((PackageInstaller.SessionInfo)localIterator.next()).getAppPackageName())) {
        return bool1;
      }
    }
  }
  if (zzq.zzdC(18))
  {
    Bundle localBundle = ((UserManager)paramContext.getSystemService("user")).getApplicationRestrictions(paramContext.getPackageName());
    if ((localBundle == null) || (!"true".equals(localBundle.getString("restricted_profile")))) {}
  }
  while (bool1)
  {
    return false;
    bool1 = false;
  }
  PackageManager localPackageManager = paramContext.getPackageManager();
  try
  {
    boolean bool2 = localPackageManager.getApplicationInfo(paramString, 8192).enabled;
    return bool2;
  }
  catch (PackageManager.NameNotFoundException localNameNotFoundException) {}
  return false;
}
项目:LB-Launcher    文件:PackageInstallerCompatVL.java   
private void replayUpdates(PackageInstallInfo newInfo) {
    if (DEBUG) Log.d(TAG, "updates resumed");
    if (!mResumed || !mBound) {
        // Not yet ready
        return;
    }
    if ((mPendingReplays.size() == 0) && (newInfo == null)) {
        // Nothing to update
        return;
    }

    LauncherAppState app = LauncherAppState.getInstanceNoCreate();
    if (app == null) {
        // Try again later
        if (DEBUG) Log.d(TAG, "app is null, delaying send");
        return;
    }

    ArrayList<PackageInstallInfo> updates = new ArrayList<PackageInstallInfo>();
    if ((newInfo != null) && (newInfo.state != STATUS_INSTALLED)) {
        updates.add(newInfo);
    }
    for (int i = mPendingReplays.size() - 1; i >= 0; i--) {
        SessionInfo session = mPendingReplays.valueAt(i);
        if (session.getAppPackageName() != null) {
            updates.add(new PackageInstallInfo(session.getAppPackageName(),
                    STATUS_INSTALLING,
                    (int) (session.getProgress() * 100)));
        }
    }
    mPendingReplays.clear();
    if (!updates.isEmpty()) {
        app.setPackageState(updates);
    }

    if (!mPendingBadgeUpdates.isEmpty()) {
        for (String pkg : mPendingBadgeUpdates) {
            app.updatePackageBadge(pkg);
        }
        mPendingBadgeUpdates.clear();
    }
}