Merge "Implement system data migration support."

This commit is contained in:
Dianne Hackborn
2010-02-03 18:18:56 -08:00
committed by Android (Google) Code Review
7 changed files with 556 additions and 49 deletions

View File

@@ -953,6 +953,39 @@ public class PackageParser {
return null;
}
} else if (tagName.equals("original-package")) {
sa = res.obtainAttributes(attrs,
com.android.internal.R.styleable.AndroidManifestOriginalPackage);
String name = sa.getNonResourceString(
com.android.internal.R.styleable.AndroidManifestOriginalPackage_name);
sa.recycle();
if (name != null && (flags&PARSE_IS_SYSTEM) != 0) {
pkg.mOriginalPackage = name;
}
XmlUtils.skipCurrentTag(parser);
} else if (tagName.equals("adopt-permissions")) {
sa = res.obtainAttributes(attrs,
com.android.internal.R.styleable.AndroidManifestOriginalPackage);
String name = sa.getNonResourceString(
com.android.internal.R.styleable.AndroidManifestOriginalPackage_name);
sa.recycle();
if (name != null && (flags&PARSE_IS_SYSTEM) != 0) {
if (pkg.mAdoptPermissions == null) {
pkg.mAdoptPermissions = new ArrayList<String>();
}
pkg.mAdoptPermissions.add(name);
}
XmlUtils.skipCurrentTag(parser);
} else if (tagName.equals("eat-comment")) {
// Just skip this tag
XmlUtils.skipCurrentTag(parser);
@@ -2528,6 +2561,9 @@ public class PackageParser {
public ArrayList<String> usesOptionalLibraries = null;
public String[] usesLibraryFiles = null;
public String mOriginalPackage = null;
public ArrayList<String> mAdoptPermissions = null;
// We store the application meta-data independently to avoid multiple unwanted references
public Bundle mAppMetaData = null;