diff options
| author | Jiuyu Sun <jiuyu@google.com> | 2017-01-20 22:58:21 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-01-20 22:58:25 +0000 |
| commit | 417d30d88b7fef58a9b8765d712885cef2d3eb88 (patch) | |
| tree | abc312dedc85a3160afd958c1efc0e9a71971a55 /core/java/android | |
| parent | 6ba5dccd50d098d8ae1c5fac8e83be7f61c70018 (diff) | |
| parent | b6d7695cf2e7cec5c7b24e1b09e1f7d8f1788cb7 (diff) | |
Merge "Change the default behavior when MCC/MNC changes."
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/content/pm/PackageParser.java | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java index 083e4cc6676b..2fdc527208c0 100644 --- a/core/java/android/content/pm/PackageParser.java +++ b/core/java/android/content/pm/PackageParser.java @@ -179,6 +179,13 @@ public class PackageParser { private static final String TAG_PACKAGE = "package"; private static final String TAG_RESTRICT_UPDATE = "restrict-update"; + /** + * Bit mask of all the valid bits that can be set in restartOnConfigChanges. + * @hide + */ + private static final int RESTART_ON_CONFIG_CHANGES_MASK = + ActivityInfo.CONFIG_MCC | ActivityInfo.CONFIG_MNC; + // These are the tags supported by child packages private static final Set<String> CHILD_PACKAGE_TAGS = new ArraySet<>(); static { @@ -3855,7 +3862,9 @@ public class PackageParser { a.info.maxRecents = sa.getInt( R.styleable.AndroidManifestActivity_maxRecents, ActivityManager.getDefaultAppRecentsLimitStatic()); - a.info.configChanges = sa.getInt(R.styleable.AndroidManifestActivity_configChanges, 0); + a.info.configChanges = getActivityConfigChanges( + sa.getInt(R.styleable.AndroidManifestActivity_configChanges, 0), + sa.getInt(R.styleable.AndroidManifestActivity_restartOnConfigChanges, 0)); a.info.softInputMode = sa.getInt( R.styleable.AndroidManifestActivity_windowSoftInputMode, 0); @@ -4083,6 +4092,17 @@ public class PackageParser { } } + /** + * @param configChanges The bit mask of configChanges fetched from AndroidManifest.xml. + * @param restartOnConfigChanges The bit mask restartOnConfigChanges fetched from + * AndroidManifest.xml. + * @hide Exposed for unit testing only. + */ + @TestApi + public static int getActivityConfigChanges(int configChanges, int restartOnConfigChanges) { + return configChanges | ((~restartOnConfigChanges) & RESTART_ON_CONFIG_CHANGES_MASK); + } + private void parseLayout(Resources res, AttributeSet attrs, Activity a) { TypedArray sw = res.obtainAttributes(attrs, com.android.internal.R.styleable.AndroidManifestLayout); |
