Loading core/java/android/content/pm/ActivityInfo.java +15 −14 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.content.pm; import android.content.res.Configuration; import android.os.Parcel; import android.os.Parcelable; import android.util.Printer; Loading Loading @@ -437,20 +438,20 @@ public class ActivityInfo extends ComponentInfo * native side given the bit we have assigned in ActivityInfo. */ public static int[] CONFIG_NATIVE_BITS = new int[] { 0x0001, // MNC 0x0002, // MCC 0x0004, // LOCALE 0x0008, // TOUCH SCREEN 0x0010, // KEYBOARD 0x0020, // KEYBOARD HIDDEN 0x0040, // NAVIGATION 0x0080, // ORIENTATION 0x0800, // SCREEN LAYOUT 0x1000, // UI MODE 0x0200, // SCREEN SIZE 0x2000, // SMALLEST SCREEN SIZE 0x0100, // DENSITY 0x4000, // LAYOUT DIRECTION Configuration.NATIVE_CONFIG_MNC, // MNC Configuration.NATIVE_CONFIG_MCC, // MCC Configuration.NATIVE_CONFIG_LOCALE, // LOCALE Configuration.NATIVE_CONFIG_TOUCHSCREEN, // TOUCH SCREEN Configuration.NATIVE_CONFIG_KEYBOARD, // KEYBOARD Configuration.NATIVE_CONFIG_KEYBOARD_HIDDEN, // KEYBOARD HIDDEN Configuration.NATIVE_CONFIG_NAVIGATION, // NAVIGATION Configuration.NATIVE_CONFIG_ORIENTATION, // ORIENTATION Configuration.NATIVE_CONFIG_SCREEN_LAYOUT, // SCREEN LAYOUT Configuration.NATIVE_CONFIG_UI_MODE, // UI MODE Configuration.NATIVE_CONFIG_SCREEN_SIZE, // SCREEN SIZE Configuration.NATIVE_CONFIG_SMALLEST_SCREEN_SIZE, // SMALLEST SCREEN SIZE Configuration.NATIVE_CONFIG_DENSITY, // DENSITY Configuration.NATIVE_CONFIG_LAYOUTDIR, // LAYOUT DIRECTION }; /** @hide * Convert Java change bits to native. Loading core/java/android/content/pm/PackageParser.java +17 −9 Original line number Diff line number Diff line Loading @@ -1864,7 +1864,8 @@ public class PackageParser { } String manageSpaceActivity = sa.getNonConfigurationString( com.android.internal.R.styleable.AndroidManifestApplication_manageSpaceActivity, 0); com.android.internal.R.styleable.AndroidManifestApplication_manageSpaceActivity, Configuration.NATIVE_CONFIG_VERSION); if (manageSpaceActivity != null) { ai.manageSpaceActivityName = buildClassName(pkgName, manageSpaceActivity, outError); Loading @@ -1878,7 +1879,8 @@ public class PackageParser { // backupAgent, killAfterRestore, and restoreAnyVersion are only relevant // if backup is possible for the given application. String backupAgent = sa.getNonConfigurationString( com.android.internal.R.styleable.AndroidManifestApplication_backupAgent, 0); com.android.internal.R.styleable.AndroidManifestApplication_backupAgent, Configuration.NATIVE_CONFIG_VERSION); if (backupAgent != null) { ai.backupAgentName = buildClassName(pkgName, backupAgent, outError); if (DEBUG_BACKUP) { Loading Loading @@ -1999,7 +2001,8 @@ public class PackageParser { if (owner.applicationInfo.targetSdkVersion >= Build.VERSION_CODES.FROYO) { str = sa.getNonConfigurationString( com.android.internal.R.styleable.AndroidManifestApplication_taskAffinity, 0); com.android.internal.R.styleable.AndroidManifestApplication_taskAffinity, Configuration.NATIVE_CONFIG_VERSION); } else { // Some older apps have been seen to use a resource reference // here that on older builds was ignored (with a warning). We Loading @@ -2014,7 +2017,8 @@ public class PackageParser { CharSequence pname; if (owner.applicationInfo.targetSdkVersion >= Build.VERSION_CODES.FROYO) { pname = sa.getNonConfigurationString( com.android.internal.R.styleable.AndroidManifestApplication_process, 0); com.android.internal.R.styleable.AndroidManifestApplication_process, Configuration.NATIVE_CONFIG_VERSION); } else { // Some older apps have been seen to use a resource reference // here that on older builds was ignored (with a warning). We Loading Loading @@ -2278,7 +2282,8 @@ public class PackageParser { a.info.applicationInfo.uiOptions); String parentName = sa.getNonConfigurationString( com.android.internal.R.styleable.AndroidManifestActivity_parentActivityName, 0); com.android.internal.R.styleable.AndroidManifestActivity_parentActivityName, Configuration.NATIVE_CONFIG_VERSION); if (parentName != null) { String parentClassName = buildClassName(a.info.packageName, parentName, outError); if (outError[0] == null) { Loading @@ -2300,7 +2305,8 @@ public class PackageParser { } str = sa.getNonConfigurationString( com.android.internal.R.styleable.AndroidManifestActivity_taskAffinity, 0); com.android.internal.R.styleable.AndroidManifestActivity_taskAffinity, Configuration.NATIVE_CONFIG_VERSION); a.info.taskAffinity = buildTaskAffinityName(owner.applicationInfo.packageName, owner.applicationInfo.taskAffinity, str, outError); Loading Loading @@ -2509,7 +2515,8 @@ public class PackageParser { com.android.internal.R.styleable.AndroidManifestActivityAlias); String targetActivity = sa.getNonConfigurationString( com.android.internal.R.styleable.AndroidManifestActivityAlias_targetActivity, 0); com.android.internal.R.styleable.AndroidManifestActivityAlias_targetActivity, Configuration.NATIVE_CONFIG_VERSION); if (targetActivity == null) { outError[0] = "<activity-alias> does not specify android:targetActivity"; sa.recycle(); Loading Loading @@ -2599,7 +2606,7 @@ public class PackageParser { String parentName = sa.getNonConfigurationString( com.android.internal.R.styleable.AndroidManifestActivityAlias_parentActivityName, 0); Configuration.NATIVE_CONFIG_VERSION); if (parentName != null) { String parentClassName = buildClassName(a.info.packageName, parentName, outError); if (outError[0] == null) { Loading Loading @@ -3656,7 +3663,8 @@ public class PackageParser { if (args.processRes != 0) { CharSequence pname; if (owner.applicationInfo.targetSdkVersion >= Build.VERSION_CODES.FROYO) { pname = args.sa.getNonConfigurationString(args.processRes, 0); pname = args.sa.getNonConfigurationString(args.processRes, Configuration.NATIVE_CONFIG_VERSION); } else { // Some older apps have been seen to use a resource reference // here that on older builds was ignored (with a warning). We Loading core/java/android/content/res/Configuration.java +34 −1 Original line number Diff line number Diff line Loading @@ -545,6 +545,39 @@ public final class Configuration implements Parcelable, Comparable<Configuration */ public int seq; /** @hide Native-specific bit mask for MCC config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_MCC = 0x0001; /** @hide Native-specific bit mask for MNC config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_MNC = 0x0002; /** @hide Native-specific bit mask for LOCALE config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_LOCALE = 0x0004; /** @hide Native-specific bit mask for TOUCHSCREEN config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_TOUCHSCREEN = 0x0008; /** @hide Native-specific bit mask for KEYBOARD config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_KEYBOARD = 0x0010; /** @hide Native-specific bit mask for KEYBOARD_HIDDEN config; DO NOT USE UNLESS YOU * ARE SURE. */ public static final int NATIVE_CONFIG_KEYBOARD_HIDDEN = 0x0020; /** @hide Native-specific bit mask for NAVIGATION config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_NAVIGATION = 0x0040; /** @hide Native-specific bit mask for ORIENTATION config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_ORIENTATION = 0x0080; /** @hide Native-specific bit mask for DENSITY config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_DENSITY = 0x0100; /** @hide Native-specific bit mask for SCREEN_SIZE config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_SCREEN_SIZE = 0x0200; /** @hide Native-specific bit mask for VERSION config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_VERSION = 0x0400; /** @hide Native-specific bit mask for SCREEN_LAYOUT config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_SCREEN_LAYOUT = 0x0800; /** @hide Native-specific bit mask for UI_MODE config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_UI_MODE = 0x1000; /** @hide Native-specific bit mask for SMALLEST_SCREEN_SIZE config; DO NOT USE UNLESS YOU * ARE SURE. */ public static final int NATIVE_CONFIG_SMALLEST_SCREEN_SIZE = 0x2000; /** @hide Native-specific bit mask for LAYOUTDIR config ; DO NOT USE UNLESS YOU ARE SURE.*/ public static final int NATIVE_CONFIG_LAYOUTDIR = 0x4000; /** * Construct an invalid Configuration. You must call {@link #setToDefaults} * for this object to be valid. {@more} Loading core/java/android/content/res/TypedArray.java +3 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.content.res; import android.content.pm.ActivityInfo; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.util.DisplayMetrics; Loading Loading @@ -170,7 +171,7 @@ public class TypedArray { * * @param index Index of attribute to retrieve. * @param allowedChangingConfigs Bit mask of configurations from * ActivityInfo that are allowed to change. * {@link Configuration}.NATIVE_CONFIG_* that are allowed to change. * * @return String holding string data. Any styling information is * removed. Returns null if the attribute is not defined. Loading Loading
core/java/android/content/pm/ActivityInfo.java +15 −14 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.content.pm; import android.content.res.Configuration; import android.os.Parcel; import android.os.Parcelable; import android.util.Printer; Loading Loading @@ -437,20 +438,20 @@ public class ActivityInfo extends ComponentInfo * native side given the bit we have assigned in ActivityInfo. */ public static int[] CONFIG_NATIVE_BITS = new int[] { 0x0001, // MNC 0x0002, // MCC 0x0004, // LOCALE 0x0008, // TOUCH SCREEN 0x0010, // KEYBOARD 0x0020, // KEYBOARD HIDDEN 0x0040, // NAVIGATION 0x0080, // ORIENTATION 0x0800, // SCREEN LAYOUT 0x1000, // UI MODE 0x0200, // SCREEN SIZE 0x2000, // SMALLEST SCREEN SIZE 0x0100, // DENSITY 0x4000, // LAYOUT DIRECTION Configuration.NATIVE_CONFIG_MNC, // MNC Configuration.NATIVE_CONFIG_MCC, // MCC Configuration.NATIVE_CONFIG_LOCALE, // LOCALE Configuration.NATIVE_CONFIG_TOUCHSCREEN, // TOUCH SCREEN Configuration.NATIVE_CONFIG_KEYBOARD, // KEYBOARD Configuration.NATIVE_CONFIG_KEYBOARD_HIDDEN, // KEYBOARD HIDDEN Configuration.NATIVE_CONFIG_NAVIGATION, // NAVIGATION Configuration.NATIVE_CONFIG_ORIENTATION, // ORIENTATION Configuration.NATIVE_CONFIG_SCREEN_LAYOUT, // SCREEN LAYOUT Configuration.NATIVE_CONFIG_UI_MODE, // UI MODE Configuration.NATIVE_CONFIG_SCREEN_SIZE, // SCREEN SIZE Configuration.NATIVE_CONFIG_SMALLEST_SCREEN_SIZE, // SMALLEST SCREEN SIZE Configuration.NATIVE_CONFIG_DENSITY, // DENSITY Configuration.NATIVE_CONFIG_LAYOUTDIR, // LAYOUT DIRECTION }; /** @hide * Convert Java change bits to native. Loading
core/java/android/content/pm/PackageParser.java +17 −9 Original line number Diff line number Diff line Loading @@ -1864,7 +1864,8 @@ public class PackageParser { } String manageSpaceActivity = sa.getNonConfigurationString( com.android.internal.R.styleable.AndroidManifestApplication_manageSpaceActivity, 0); com.android.internal.R.styleable.AndroidManifestApplication_manageSpaceActivity, Configuration.NATIVE_CONFIG_VERSION); if (manageSpaceActivity != null) { ai.manageSpaceActivityName = buildClassName(pkgName, manageSpaceActivity, outError); Loading @@ -1878,7 +1879,8 @@ public class PackageParser { // backupAgent, killAfterRestore, and restoreAnyVersion are only relevant // if backup is possible for the given application. String backupAgent = sa.getNonConfigurationString( com.android.internal.R.styleable.AndroidManifestApplication_backupAgent, 0); com.android.internal.R.styleable.AndroidManifestApplication_backupAgent, Configuration.NATIVE_CONFIG_VERSION); if (backupAgent != null) { ai.backupAgentName = buildClassName(pkgName, backupAgent, outError); if (DEBUG_BACKUP) { Loading Loading @@ -1999,7 +2001,8 @@ public class PackageParser { if (owner.applicationInfo.targetSdkVersion >= Build.VERSION_CODES.FROYO) { str = sa.getNonConfigurationString( com.android.internal.R.styleable.AndroidManifestApplication_taskAffinity, 0); com.android.internal.R.styleable.AndroidManifestApplication_taskAffinity, Configuration.NATIVE_CONFIG_VERSION); } else { // Some older apps have been seen to use a resource reference // here that on older builds was ignored (with a warning). We Loading @@ -2014,7 +2017,8 @@ public class PackageParser { CharSequence pname; if (owner.applicationInfo.targetSdkVersion >= Build.VERSION_CODES.FROYO) { pname = sa.getNonConfigurationString( com.android.internal.R.styleable.AndroidManifestApplication_process, 0); com.android.internal.R.styleable.AndroidManifestApplication_process, Configuration.NATIVE_CONFIG_VERSION); } else { // Some older apps have been seen to use a resource reference // here that on older builds was ignored (with a warning). We Loading Loading @@ -2278,7 +2282,8 @@ public class PackageParser { a.info.applicationInfo.uiOptions); String parentName = sa.getNonConfigurationString( com.android.internal.R.styleable.AndroidManifestActivity_parentActivityName, 0); com.android.internal.R.styleable.AndroidManifestActivity_parentActivityName, Configuration.NATIVE_CONFIG_VERSION); if (parentName != null) { String parentClassName = buildClassName(a.info.packageName, parentName, outError); if (outError[0] == null) { Loading @@ -2300,7 +2305,8 @@ public class PackageParser { } str = sa.getNonConfigurationString( com.android.internal.R.styleable.AndroidManifestActivity_taskAffinity, 0); com.android.internal.R.styleable.AndroidManifestActivity_taskAffinity, Configuration.NATIVE_CONFIG_VERSION); a.info.taskAffinity = buildTaskAffinityName(owner.applicationInfo.packageName, owner.applicationInfo.taskAffinity, str, outError); Loading Loading @@ -2509,7 +2515,8 @@ public class PackageParser { com.android.internal.R.styleable.AndroidManifestActivityAlias); String targetActivity = sa.getNonConfigurationString( com.android.internal.R.styleable.AndroidManifestActivityAlias_targetActivity, 0); com.android.internal.R.styleable.AndroidManifestActivityAlias_targetActivity, Configuration.NATIVE_CONFIG_VERSION); if (targetActivity == null) { outError[0] = "<activity-alias> does not specify android:targetActivity"; sa.recycle(); Loading Loading @@ -2599,7 +2606,7 @@ public class PackageParser { String parentName = sa.getNonConfigurationString( com.android.internal.R.styleable.AndroidManifestActivityAlias_parentActivityName, 0); Configuration.NATIVE_CONFIG_VERSION); if (parentName != null) { String parentClassName = buildClassName(a.info.packageName, parentName, outError); if (outError[0] == null) { Loading Loading @@ -3656,7 +3663,8 @@ public class PackageParser { if (args.processRes != 0) { CharSequence pname; if (owner.applicationInfo.targetSdkVersion >= Build.VERSION_CODES.FROYO) { pname = args.sa.getNonConfigurationString(args.processRes, 0); pname = args.sa.getNonConfigurationString(args.processRes, Configuration.NATIVE_CONFIG_VERSION); } else { // Some older apps have been seen to use a resource reference // here that on older builds was ignored (with a warning). We Loading
core/java/android/content/res/Configuration.java +34 −1 Original line number Diff line number Diff line Loading @@ -545,6 +545,39 @@ public final class Configuration implements Parcelable, Comparable<Configuration */ public int seq; /** @hide Native-specific bit mask for MCC config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_MCC = 0x0001; /** @hide Native-specific bit mask for MNC config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_MNC = 0x0002; /** @hide Native-specific bit mask for LOCALE config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_LOCALE = 0x0004; /** @hide Native-specific bit mask for TOUCHSCREEN config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_TOUCHSCREEN = 0x0008; /** @hide Native-specific bit mask for KEYBOARD config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_KEYBOARD = 0x0010; /** @hide Native-specific bit mask for KEYBOARD_HIDDEN config; DO NOT USE UNLESS YOU * ARE SURE. */ public static final int NATIVE_CONFIG_KEYBOARD_HIDDEN = 0x0020; /** @hide Native-specific bit mask for NAVIGATION config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_NAVIGATION = 0x0040; /** @hide Native-specific bit mask for ORIENTATION config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_ORIENTATION = 0x0080; /** @hide Native-specific bit mask for DENSITY config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_DENSITY = 0x0100; /** @hide Native-specific bit mask for SCREEN_SIZE config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_SCREEN_SIZE = 0x0200; /** @hide Native-specific bit mask for VERSION config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_VERSION = 0x0400; /** @hide Native-specific bit mask for SCREEN_LAYOUT config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_SCREEN_LAYOUT = 0x0800; /** @hide Native-specific bit mask for UI_MODE config; DO NOT USE UNLESS YOU ARE SURE. */ public static final int NATIVE_CONFIG_UI_MODE = 0x1000; /** @hide Native-specific bit mask for SMALLEST_SCREEN_SIZE config; DO NOT USE UNLESS YOU * ARE SURE. */ public static final int NATIVE_CONFIG_SMALLEST_SCREEN_SIZE = 0x2000; /** @hide Native-specific bit mask for LAYOUTDIR config ; DO NOT USE UNLESS YOU ARE SURE.*/ public static final int NATIVE_CONFIG_LAYOUTDIR = 0x4000; /** * Construct an invalid Configuration. You must call {@link #setToDefaults} * for this object to be valid. {@more} Loading
core/java/android/content/res/TypedArray.java +3 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.content.res; import android.content.pm.ActivityInfo; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.util.DisplayMetrics; Loading Loading @@ -170,7 +171,7 @@ public class TypedArray { * * @param index Index of attribute to retrieve. * @param allowedChangingConfigs Bit mask of configurations from * ActivityInfo that are allowed to change. * {@link Configuration}.NATIVE_CONFIG_* that are allowed to change. * * @return String holding string data. Any styling information is * removed. Returns null if the attribute is not defined. Loading