Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a8ec0459 authored by Kenny Root's avatar Kenny Root Committed by Android Git Automerger
Browse files

am 4b812738: am 56c02dc3: Merge "Fix getTempContainerId()" into gingerbread

Merge commit '4b812738'

* commit '4b812738':
  Fix getTempContainerId()
parents ffdfd992 4b812738
Loading
Loading
Loading
Loading
+25 −43
Original line number Diff line number Diff line
@@ -188,6 +188,8 @@ class PackageManagerService extends IPackageManager.Stub {
            "com.android.defcontainer",
            "com.android.defcontainer.DefaultContainerService");

    static final String mTempContainerPrefix = "smdl2tmp";

    final HandlerThread mHandlerThread = new HandlerThread("PackageManager",
            Process.THREAD_PRIORITY_BACKGROUND);
    final PackageHandler mHandler;
@@ -9549,47 +9551,27 @@ class PackageManagerService extends IPackageManager.Stub {
        }
    }

   static String getTempContainerId() {
       String prefix = "smdl2tmp";
    /* package */ static String getTempContainerId() {
        int tmpIdx = 1;
        String list[] = PackageHelper.getSecureContainerList();
        if (list != null) {
           int idx = 0;
           int idList[] = new int[MAX_CONTAINERS];
           boolean neverFound = true;
           for (String name : list) {
               // Ignore null entries
               if (name == null) {
                   continue;
               }
               int sidx = name.indexOf(prefix);
               if (sidx == -1) {
                   // Not a temp file. just ignore
            for (final String name : list) {
                // Ignore null and non-temporary container entries
                if (name == null || !name.startsWith(mTempContainerPrefix)) {
                    continue;
                }
               String subStr = name.substring(sidx + prefix.length());
               idList[idx] = -1;
               if (subStr != null) {

                String subStr = name.substring(mTempContainerPrefix.length());
                try {
                    int cid = Integer.parseInt(subStr);
                       idList[idx++] = cid;
                       neverFound = false;
                   } catch (NumberFormatException e) {
                   }
               }
           }
           if (!neverFound) {
               // Sort idList
               Arrays.sort(idList);
               for (int j = 1; j <= idList.length; j++) {
                   if (idList[j-1] != j) {
                       tmpIdx = j;
                       break;
                    if (cid >= tmpIdx) {
                        tmpIdx = cid + 1;
                    }
                } catch (NumberFormatException e) {
                }
            }
        }
       return prefix + tmpIdx;
        return mTempContainerPrefix + tmpIdx;
    }

   /*