Update ApplicationInfo if it was system_server cached (#2805)
This commit is contained in:
parent
159a3adcf8
commit
c5e1a544bf
|
|
@ -87,6 +87,8 @@ import java.util.zip.ZipEntry;
|
||||||
import java.util.zip.ZipFile;
|
import java.util.zip.ZipFile;
|
||||||
import java.util.zip.ZipOutputStream;
|
import java.util.zip.ZipOutputStream;
|
||||||
|
|
||||||
|
import hidden.HiddenApiBridge;
|
||||||
|
|
||||||
public class ConfigManager {
|
public class ConfigManager {
|
||||||
private static ConfigManager instance = null;
|
private static ConfigManager instance = null;
|
||||||
|
|
||||||
|
|
@ -231,6 +233,11 @@ public class ConfigManager {
|
||||||
var apkFile = new File(module.apkPath);
|
var apkFile = new File(module.apkPath);
|
||||||
var pkg = new PackageParser().parsePackage(apkFile, 0, false);
|
var pkg = new PackageParser().parsePackage(apkFile, 0, false);
|
||||||
module.applicationInfo = pkg.applicationInfo;
|
module.applicationInfo = pkg.applicationInfo;
|
||||||
|
module.applicationInfo.sourceDir = module.apkPath;
|
||||||
|
module.applicationInfo.dataDir = statPath;
|
||||||
|
module.applicationInfo.deviceProtectedDataDir = statPath;
|
||||||
|
HiddenApiBridge.ApplicationInfo_credentialProtectedDataDir(module.applicationInfo, statPath);
|
||||||
|
module.applicationInfo.processName = module.packageName;
|
||||||
} catch (PackageParser.PackageParserException e) {
|
} catch (PackageParser.PackageParserException e) {
|
||||||
Log.w(TAG, "failed to parse " + module.apkPath, e);
|
Log.w(TAG, "failed to parse " + module.apkPath, e);
|
||||||
}
|
}
|
||||||
|
|
@ -579,8 +586,8 @@ public class ConfigManager {
|
||||||
if (oldModule.appId != -1) {
|
if (oldModule.appId != -1) {
|
||||||
Log.d(TAG, m.packageName + " did not change, skip caching it");
|
Log.d(TAG, m.packageName + " did not change, skip caching it");
|
||||||
} else {
|
} else {
|
||||||
// cache from system server, keep it and set only the appId
|
// cache from system server, update application info
|
||||||
oldModule.appId = pkgInfo.applicationInfo.uid;
|
oldModule.applicationInfo = pkgInfo.applicationInfo;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue