android events log 中configuration_chanaged 变换计算方式

android events log 中configuration_chanaged 变换计算方式

android events log 中configuration_chanaged 变换计算方式

changed |= ActivityInfo.CONFIG_XXXX;

例如:

536871936转换成16进制:20000400 ----- 对应的config 是CONFIG_SCREEN_SIZE 和CONFIG_WINDOW_CONFIGURATION

536872320 转换成16进制:20000580 ---- 对应的config是CONFIG_ORIENTATION、CONFIG_SCREEN_LAYOUT、CONFIG_SCREEN_SIZE、CONFIG_WINDOW_CONFIGURATION

09-12 01:26:30.546  2257  3288 I configuration_changed: 536871936
    
09-18 23:25:40.590  1962  1995 I configuration_changed: 536872320

frameworks/base/core/java/android/content/pm/ActivityInfo.java

/**
 * Bit in {@link #configChanges} that indicates that the activity
 * can itself handle changes to the IMSI MCC.  Set from the
 * {@link android.R.attr#configChanges} attribute.
 */
public static final int CONFIG_MCC = 0x0001;
/**
 * Bit in {@link #configChanges} that indicates that the activity
 * can itself handle changes to the IMSI MNC.  Set from the
 * {@link android.R.attr#configChanges} attribute.
 */
public static final int CONFIG_MNC = 0x0002;
/**
 * Bit in {@link #configChanges} that indicates that the activity
 * can itself handle changes to the locale.  Set from the
 * {@link android.R.attr#configChanges} attribute.
 */
public static final int CONFIG_LOCALE = 0x0004;
/**
 * Bit in {@link #configChanges} that indicates that the activity
 * can itself handle changes to the touchscreen type.  Set from the
 * {@link android.R.attr#configChanges} attribute.
 */
public static final int CONFIG_TOUCHSCREEN = 0x0008;
/**
 * Bit in {@link #configChanges} that indicates that the activity
 * can itself handle changes to the keyboard type.  Set from the
 * {@link android.R.attr#configChanges} attribute.
 */
public static final int CONFIG_KEYBOARD = 0x0010;
/**
 * Bit in {@link #configChanges} that indicates that the activity
 * can itself handle changes to the keyboard or navigation being hidden/exposed.
 * Note that inspite of the name, this applies to the changes to any
 * hidden states: keyboard or navigation.
 * Set from the {@link android.R.attr#configChanges} attribute.
 */
public static final int CONFIG_KEYBOARD_HIDDEN = 0x0020;
/**
 * Bit in {@link #configChanges} that indicates that the activity
 * can itself handle changes to the navigation type.  Set from the
 * {@link android.R.attr#configChanges} attribute.
 */
public static final int CONFIG_NAVIGATION = 0x0040;
/**
 * Bit in {@link #configChanges} that indicates that the activity
 * can itself handle changes to the screen orientation.  Set from the
 * {@link android.R.attr#configChanges} attribute.
 */
public static final int CONFIG_ORIENTATION = 0x0080;
/**
 * Bit in {@link #configChanges} that indicates that the activity
 * can itself handle changes to the screen layout.  Set from the
 * {@link android.R.attr#configChanges} attribute.
 */
public static final int CONFIG_SCREEN_LAYOUT = 0x0100;
/**
 * Bit in {@link #configChanges} that indicates that the activity
 * can itself handle the ui mode. Set from the
 * {@link android.R.attr#configChanges} attribute.
 */
public static final int CONFIG_UI_MODE = 0x0200;
/**
 * Bit in {@link #configChanges} that indicates that the activity
 * can itself handle the screen size. Set from the
 * {@link android.R.attr#configChanges} attribute.  This will be
 * set by default for applications that target an earlier version
 * than {@link android.os.Build.VERSION_CODES#HONEYCOMB_MR2}...
 * <b>however</b>, you will not see the bit set here becomes some
 * applications incorrectly compare {@link #configChanges} against
 * an absolute value rather than correctly masking out the bits
 * they are interested in.  Please don't do that, thanks.
 */
public static final int CONFIG_SCREEN_SIZE = 0x0400;
/**
 * Bit in {@link #configChanges} that indicates that the activity
 * can itself handle the smallest screen size. Set from the
 * {@link android.R.attr#configChanges} attribute.  This will be
 * set by default for applications that target an earlier version
 * than {@link android.os.Build.VERSION_CODES#HONEYCOMB_MR2}...
 * <b>however</b>, you will not see the bit set here becomes some
 * applications incorrectly compare {@link #configChanges} against
 * an absolute value rather than correctly masking out the bits
 * they are interested in.  Please don't do that, thanks.
 */
public static final int CONFIG_SMALLEST_SCREEN_SIZE = 0x0800;
/**
 * Bit in {@link #configChanges} that indicates that the activity
 * can itself handle density changes. Set from the
 * {@link android.R.attr#configChanges} attribute.
 */
public static final int CONFIG_DENSITY = 0x1000;
/**
 * Bit in {@link #configChanges} that indicates that the activity
 * can itself handle the change to layout direction. Set from the
 * {@link android.R.attr#configChanges} attribute.
 */
public static final int CONFIG_LAYOUT_DIRECTION = 0x2000;
/**
 * Bit in {@link #configChanges} that indicates that the activity
 * can itself handle the change to the display color gamut or dynamic
 * range. Set from the {@link android.R.attr#configChanges} attribute.
 */
public static final int CONFIG_COLOR_MODE = 0x4000;
/**
 * Bit in {@link #configChanges} that indicates that the activity
 * can itself handle asset path changes.  Set from the {@link android.R.attr#configChanges}
 * attribute. This is not a core resource configuration, but a higher-level value, so its
 * constant starts at the high bits.
 * @hide We do not want apps handling this yet, but we do need some kind of bit for diffs.
 */
public static final int CONFIG_ASSETS_PATHS = 0x80000000;
/**
 * Bit in {@link #configChanges} that indicates that the activity
 * can itself handle changes to the font scaling factor.  Set from the
 * {@link android.R.attr#configChanges} attribute.  This is
 * not a core resource configuration, but a higher-level value, so its
 * constant starts at the high bits.
 */
public static final int CONFIG_FONT_SCALE = 0x40000000;
/**
 * Bit indicating changes to window configuration that isn't exposed to apps.
 * This is for internal use only and apps don't handle it.
 * @hide
 * {@link Configuration}.
 */
public static final int CONFIG_WINDOW_CONFIGURATION = 0x20000000;

/**
 * Bit in {@link #configChanges} that indicates that the activity
 * can itself handle changes to font weight.  Set from the
 * {@link android.R.attr#configChanges} attribute.  This is
 * not a core resource configuration, but a higher-level value, so its
 * constant starts at the high bits.
 */

public static final int CONFIG_FONT_WEIGHT_ADJUSTMENT = 0x10000000;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值