public static VPackage readPackageCache(String packageName) { Parcel p = Parcel.obtain(); try { File cacheFile = VEnvironment.getPackageCacheFile(packageName); FileInputStream is = new FileInputStream(cacheFile); byte[] bytes = FileUtils.toByteArray(is); is.close(); p.unmarshall(bytes, 0, bytes.length); p.setDataPosition(0); if (p.readInt() != 4) { throw new IllegalStateException("Invalid version."); } VPackage pkg = new VPackage(p); addOwner(pkg); return pkg; } catch (Exception e) { e.printStackTrace(); } finally { p.recycle(); } return null; }
p.writeInt(4); pkg.writeToParcel(p, 0); FileOutputStream fos = new FileOutputStream(VEnvironment.getPackageCacheFile(packageName)); fos.write(p.marshall()); fos.close();
private boolean loadPackageInnerLocked(PackageSetting ps) { if (ps.dependSystem) { if (!VirtualCore.get().isOutsideInstalled(ps.packageName)) { return false; } } File cacheFile = VEnvironment.getPackageCacheFile(ps.packageName); VPackage pkg = null; try { pkg = PackageParserEx.readPackageCache(ps.packageName); } catch (Throwable e) { e.printStackTrace(); } if (pkg == null || pkg.packageName == null) { return false; } chmodPackageDictionary(cacheFile); PackageCacheManager.put(pkg, ps); BroadcastSystem.get().startApp(pkg); return true; }
public static VPackage readPackageCache(String packageName) { Parcel p = Parcel.obtain(); try { File cacheFile = VEnvironment.getPackageCacheFile(packageName); FileInputStream is = new FileInputStream(cacheFile); byte[] bytes = FileUtils.toByteArray(is); is.close(); p.unmarshall(bytes, 0, bytes.length); p.setDataPosition(0); if (p.readInt() != 4) { throw new IllegalStateException("Invalid version."); } VPackage pkg = new VPackage(p); addOwner(pkg); return pkg; } catch (Exception e) { e.printStackTrace(); } finally { p.recycle(); } return null; }
public static VPackage readPackageCache(String packageName) { Parcel p = Parcel.obtain(); try { File cacheFile = VEnvironment.getPackageCacheFile(packageName); FileInputStream is = new FileInputStream(cacheFile); byte[] bytes = FileUtils.toByteArray(is); is.close(); p.unmarshall(bytes, 0, bytes.length); p.setDataPosition(0); if (p.readInt() != 4) { throw new IllegalStateException("Invalid version."); } VPackage pkg = new VPackage(p); addOwner(pkg); return pkg; } catch (Exception e) { e.printStackTrace(); } finally { p.recycle(); } return null; }
p.writeInt(4); pkg.writeToParcel(p, 0); FileOutputStream fos = new FileOutputStream(VEnvironment.getPackageCacheFile(packageName)); fos.write(p.marshall()); fos.close();
p.writeInt(4); pkg.writeToParcel(p, 0); FileOutputStream fos = new FileOutputStream(VEnvironment.getPackageCacheFile(packageName)); fos.write(p.marshall()); fos.close();
private boolean loadPackageInnerLocked(PackageSetting ps) { if (ps.dependSystem) { if (!VirtualCore.get().isOutsideInstalled(ps.packageName)) { return false; } } File cacheFile = VEnvironment.getPackageCacheFile(ps.packageName); VPackage pkg = null; try { pkg = PackageParserEx.readPackageCache(ps.packageName); } catch (Throwable e) { e.printStackTrace(); } if (pkg == null || pkg.packageName == null) { return false; } chmodPackageDictionary(cacheFile); PackageCacheManager.put(pkg, ps); BroadcastSystem.get().startApp(pkg); return true; }
private boolean loadPackageInnerLocked(PackageSetting ps) { if (ps.dependSystem) { if (!VirtualCore.get().isOutsideInstalled(ps.packageName)) { return false; } } File cacheFile = VEnvironment.getPackageCacheFile(ps.packageName); VPackage pkg = null; try { pkg = PackageParserEx.readPackageCache(ps.packageName); } catch (Throwable e) { e.printStackTrace(); } if (pkg == null || pkg.packageName == null) { return false; } chmodPackageDictionary(cacheFile); PackageCacheManager.put(pkg, ps); BroadcastSystem.get().startApp(pkg); return true; }