public static File getDataUserPackageDirectory(int userId, String packageName) { return ensureCreated(new File(getUserSystemDirectory(userId), packageName)); }
public static File getWifiMacFile(int userId) { // return new File(getUserSystemDirectory(userId), "wifiMacAddress"); return new File(getUserSystemDirectory(userId), EncodeUtils.decode("d2lmaU1hY0FkZHJlc3M=")); }
void restoreFactoryState() { VLog.w(TAG, "Warning: Restore the factory state..."); VEnvironment.getDalvikCacheDirectory().delete(); VEnvironment.getUserSystemDirectory().delete(); VEnvironment.getDataAppDirectory().delete(); }
private void removeUserStateLocked(int userHandle) { // Cleanup package manager settings mPm.cleanUpUser(userHandle); // Remove this user from the list mUsers.remove(userHandle); mRemovingUserIds.remove(userHandle); // Remove user file AtomicFile userFile = new AtomicFile(new File(mUsersDir, userHandle + ".xml")); userFile.delete(); // Update the user list writeUserListLocked(); updateUserIdsLocked(); removeDirectoryRecursive(VEnvironment.getUserSystemDirectory(userHandle)); }
userInfo.creationTime = (now > EPOCH_PLUS_30_YEARS) ? now : 0; userInfo.partial = true; VEnvironment.getUserSystemDirectory(userInfo.id).mkdirs(); mUsers.put(userId, userInfo); writeUserListLocked();
@SuppressLint("SdCardPath") private void startIOUniformer() { ApplicationInfo info = mBoundApplication.appInfo; int userId = VUserHandle.myUserId(); String wifiMacAddressFile = deviceInfo.getWifiFile(userId).getPath(); NativeEngine.redirectDirectory("/sys/class/net/wlan0/address", wifiMacAddressFile); NativeEngine.redirectDirectory("/sys/class/net/eth0/address", wifiMacAddressFile); NativeEngine.redirectDirectory("/sys/class/net/wifi/address", wifiMacAddressFile); NativeEngine.redirectDirectory("/data/data/" + info.packageName, info.dataDir); NativeEngine.redirectDirectory("/data/user/0/" + info.packageName, info.dataDir); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { NativeEngine.redirectDirectory("/data/user_de/0/" + info.packageName, info.dataDir); } String libPath = VEnvironment.getAppLibDirectory(info.packageName).getAbsolutePath(); String userLibPath = new File(VEnvironment.getUserSystemDirectory(userId), info.packageName + "/lib").getAbsolutePath(); NativeEngine.redirectDirectory(userLibPath, libPath); NativeEngine.redirectDirectory("/data/data/" + info.packageName + "/lib/", libPath); NativeEngine.redirectDirectory("/data/user/0/" + info.packageName + "/lib/", libPath); File dataUserLib = new File(VEnvironment.getDataUserPackageDirectory(userId, info.packageName), "lib"); if (!dataUserLib.exists()) { try { Os.symlink(libPath, dataUserLib.getPath()); } catch (ErrnoException e) { VLog.w(TAG, "symlink error", e); } } setupVirtualStorage(info, userId); NativeEngine.enableIORedirect(); }
public static File getWifiMacFile(int userId) { return new File(getUserSystemDirectory(userId), "wifiMacAddress"); }
public static File getWifiMacFile(int userId) { // return new File(getUserSystemDirectory(userId), "wifiMacAddress"); return new File(getUserSystemDirectory(userId), EncodeUtils.decode("d2lmaU1hY0FkZHJlc3M=")); }
public static File getDataUserPackageDirectory(int userId, String packageName) { return ensureCreated(new File(getUserSystemDirectory(userId), packageName)); }
public static File getDataUserPackageDirectory(int userId, String packageName) { return ensureCreated(new File(getUserSystemDirectory(userId), packageName)); }
void restoreFactoryState() { VLog.w(TAG, "Warning: Restore the factory state..."); VEnvironment.getDalvikCacheDirectory().delete(); VEnvironment.getUserSystemDirectory().delete(); VEnvironment.getDataAppDirectory().delete(); }
void restoreFactoryState() { VLog.w(TAG, "Warning: Restore the factory state..."); VEnvironment.getDalvikCacheDirectory().delete(); VEnvironment.getUserSystemDirectory().delete(); VEnvironment.getDataAppDirectory().delete(); }
private void removeUserStateLocked(int userHandle) { // Cleanup package manager settings mPm.cleanUpUser(userHandle); // Remove this user from the list mUsers.remove(userHandle); mRemovingUserIds.remove(userHandle); // Remove user file AtomicFile userFile = new AtomicFile(new File(mUsersDir, userHandle + ".xml")); userFile.delete(); // Update the user list writeUserListLocked(); updateUserIdsLocked(); removeDirectoryRecursive(VEnvironment.getUserSystemDirectory(userHandle)); }
private void removeUserStateLocked(int userHandle) { // Cleanup package manager settings mPm.cleanUpUser(userHandle); // Remove this user from the list mUsers.remove(userHandle); mRemovingUserIds.remove(userHandle); // Remove user file AtomicFile userFile = new AtomicFile(new File(mUsersDir, userHandle + ".xml")); userFile.delete(); // Update the user list writeUserListLocked(); updateUserIdsLocked(); removeDirectoryRecursive(VEnvironment.getUserSystemDirectory(userHandle)); }
userInfo.creationTime = (now > EPOCH_PLUS_30_YEARS) ? now : 0; userInfo.partial = true; VEnvironment.getUserSystemDirectory(userInfo.id).mkdirs(); mUsers.put(userId, userInfo); writeUserListLocked();
userInfo.creationTime = (now > EPOCH_PLUS_30_YEARS) ? now : 0; userInfo.partial = true; VEnvironment.getUserSystemDirectory(userInfo.id).mkdirs(); mUsers.put(userId, userInfo); writeUserListLocked();
String userLibPath = new File(VEnvironment.getUserSystemDirectory(userId), info.packageName + "/lib").getAbsolutePath(); NativeEngine.redirectDirectory(userLibPath, libPath); NativeEngine.redirectDirectory("/data/data/" + info.packageName + "/lib/", libPath);
if (!info.packageName.contains("tencent")) TencentDirRedirect = RootDirKiller; RedirectSameDstPaths(Arrays.asList(new File(VEnvironment.getUserSystemDirectory(userId), info.packageName + "/lib").getAbsolutePath(), "/data/data/" + info.packageName + "/lib/", "/data/user/0/" + info.packageName + "/lib/"), libPath); RedirectSDCardPaths(new HashMap<String, String>() {{