Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c851ea56 authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android Git Automerger
Browse files

am 69cb8757: Add new "-swNNNdp" resource qualifier.

* commit '69cb8757':
  Add new "-swNNNdp" resource qualifier.
parents d40575eb 69cb8757
Loading
Loading
Loading
Loading
+32 −0
Original line number Original line Diff line number Diff line
@@ -57911,6 +57911,17 @@
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="CONFIG_SMALLEST_SCREEN_SIZE"
 type="int"
 transient="false"
 volatile="false"
 value="2048"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="CONFIG_TOUCHSCREEN"
<field name="CONFIG_TOUCHSCREEN"
 type="int"
 type="int"
 transient="false"
 transient="false"
@@ -63995,6 +64006,17 @@
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="SMALLEST_SCREEN_WIDTH_DP_UNDEFINED"
 type="int"
 transient="false"
 volatile="false"
 value="0"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="TOUCHSCREEN_FINGER"
<field name="TOUCHSCREEN_FINGER"
 type="int"
 type="int"
 transient="false"
 transient="false"
@@ -64268,6 +64290,16 @@
 visibility="public"
 visibility="public"
>
>
</field>
</field>
<field name="smallestScreenWidthDp"
 type="int"
 transient="false"
 volatile="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="touchscreen"
<field name="touchscreen"
 type="int"
 type="int"
 transient="false"
 transient="false"
+7 −0
Original line number Original line Diff line number Diff line
@@ -338,6 +338,12 @@ public class ActivityInfo extends ComponentInfo
     * {@link android.R.attr#configChanges} attribute.
     * {@link android.R.attr#configChanges} attribute.
     */
     */
    public static final int CONFIG_SCREEN_SIZE = 0x0400;
    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.
     */
    public static final int CONFIG_SMALLEST_SCREEN_SIZE = 0x0800;
    /**
    /**
     * Bit in {@link #configChanges} that indicates that the activity
     * Bit in {@link #configChanges} that indicates that the activity
     * can itself handle changes to the font scaling factor.  Set from the
     * can itself handle changes to the font scaling factor.  Set from the
@@ -364,6 +370,7 @@ public class ActivityInfo extends ComponentInfo
        0x0800, // SCREEN LAYOUT
        0x0800, // SCREEN LAYOUT
        0x1000, // UI MODE
        0x1000, // UI MODE
        0x0200, // SCREEN SIZE
        0x0200, // SCREEN SIZE
        0x2000, // SMALLEST SCREEN SIZE
    };
    };
    /** @hide
    /** @hide
     * Convert Java change bits to native.
     * Convert Java change bits to native.
+4 −3
Original line number Original line Diff line number Diff line
@@ -396,7 +396,7 @@ public class PackageParser {
            int cookie = assmgr.addAssetPath(mArchiveSourcePath);
            int cookie = assmgr.addAssetPath(mArchiveSourcePath);
            if (cookie != 0) {
            if (cookie != 0) {
                res = new Resources(assmgr, metrics, null);
                res = new Resources(assmgr, metrics, null);
                assmgr.setConfiguration(0, 0, null, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                assmgr.setConfiguration(0, 0, null, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                        Build.VERSION.RESOURCES_SDK_INT);
                        Build.VERSION.RESOURCES_SDK_INT);
                parser = assmgr.openXmlResourceParser(cookie, "AndroidManifest.xml");
                parser = assmgr.openXmlResourceParser(cookie, "AndroidManifest.xml");
                assetError = false;
                assetError = false;
@@ -596,7 +596,7 @@ public class PackageParser {
        AssetManager assmgr = null;
        AssetManager assmgr = null;
        try {
        try {
            assmgr = new AssetManager();
            assmgr = new AssetManager();
            assmgr.setConfiguration(0, 0, null, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            assmgr.setConfiguration(0, 0, null, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                    Build.VERSION.RESOURCES_SDK_INT);
                    Build.VERSION.RESOURCES_SDK_INT);
            int cookie = assmgr.addAssetPath(packageFilePath);
            int cookie = assmgr.addAssetPath(packageFilePath);
            parser = assmgr.openXmlResourceParser(cookie, "AndroidManifest.xml");
            parser = assmgr.openXmlResourceParser(cookie, "AndroidManifest.xml");
@@ -1933,7 +1933,8 @@ public class PackageParser {
                    0);
                    0);
            if (owner.applicationInfo.targetSdkVersion
            if (owner.applicationInfo.targetSdkVersion
                        < android.os.Build.VERSION_CODES.HONEYCOMB_MR2) {
                        < android.os.Build.VERSION_CODES.HONEYCOMB_MR2) {
                a.info.configChanges |= ActivityInfo.CONFIG_SCREEN_SIZE;
                a.info.configChanges |= ActivityInfo.CONFIG_SCREEN_SIZE
                        | ActivityInfo.CONFIG_SMALLEST_SCREEN_SIZE;
            }
            }
            a.info.softInputMode = sa.getInt(
            a.info.softInputMode = sa.getInt(
                    com.android.internal.R.styleable.AndroidManifestActivity_windowSoftInputMode,
                    com.android.internal.R.styleable.AndroidManifestActivity_windowSoftInputMode,
+2 −2
Original line number Original line Diff line number Diff line
@@ -652,8 +652,8 @@ public final class AssetManager {
    public native final void setConfiguration(int mcc, int mnc, String locale,
    public native final void setConfiguration(int mcc, int mnc, String locale,
            int orientation, int touchscreen, int density, int keyboard,
            int orientation, int touchscreen, int density, int keyboard,
            int keyboardHidden, int navigation, int screenWidth, int screenHeight,
            int keyboardHidden, int navigation, int screenWidth, int screenHeight,
            int screenWidthDp, int screenHeightDp, int screenLayout, int uiMode,
            int smallestScreenWidthDp, int screenWidthDp, int screenHeightDp,
            int majorVersion);
            int screenLayout, int uiMode, int majorVersion);


    /**
    /**
     * Retrieve the resource identifier for the given resource name.
     * Retrieve the resource identifier for the given resource name.
+78 −46
Original line number Original line Diff line number Diff line
@@ -259,6 +259,15 @@ public final class Configuration implements Parcelable, Comparable<Configuration
     */
     */
    public int screenHeightDp;
    public int screenHeightDp;


    public static final int SMALLEST_SCREEN_WIDTH_DP_UNDEFINED = 0;

    /**
     * The smallest screen size an application will see in normal operation.
     * This is the smallest value of both screenWidthDp and screenHeightDp
     * in both portrait and landscape.
     */
    public int smallestScreenWidthDp;

    /**
    /**
     * @hide Internal book-keeping.
     * @hide Internal book-keeping.
     */
     */
@@ -298,6 +307,7 @@ public final class Configuration implements Parcelable, Comparable<Configuration
        uiMode = o.uiMode;
        uiMode = o.uiMode;
        screenWidthDp = o.screenWidthDp;
        screenWidthDp = o.screenWidthDp;
        screenHeightDp = o.screenHeightDp;
        screenHeightDp = o.screenHeightDp;
        smallestScreenWidthDp = o.smallestScreenWidthDp;
        seq = o.seq;
        seq = o.seq;
    }
    }
    
    
@@ -315,6 +325,56 @@ public final class Configuration implements Parcelable, Comparable<Configuration
        } else {
        } else {
            sb.append(" (no locale)");
            sb.append(" (no locale)");
        }
        }
        if (smallestScreenWidthDp != SMALLEST_SCREEN_WIDTH_DP_UNDEFINED) {
            sb.append(" sw"); sb.append(smallestScreenWidthDp); sb.append("dp");
        } else {
            sb.append("?swdp");
        }
        if (screenWidthDp != SCREEN_WIDTH_DP_UNDEFINED) {
            sb.append(" w"); sb.append(screenWidthDp); sb.append("dp");
        } else {
            sb.append("?wdp");
        }
        if (screenHeightDp != SCREEN_HEIGHT_DP_UNDEFINED) {
            sb.append(" h"); sb.append(screenHeightDp); sb.append("dp");
        } else {
            sb.append("?hdp");
        }
        switch ((screenLayout&SCREENLAYOUT_SIZE_MASK)) {
            case SCREENLAYOUT_SIZE_UNDEFINED: sb.append(" ?lsize"); break;
            case SCREENLAYOUT_SIZE_SMALL: sb.append(" smll"); break;
            case SCREENLAYOUT_SIZE_NORMAL: sb.append(" nrml"); break;
            case SCREENLAYOUT_SIZE_LARGE: sb.append(" lrg"); break;
            case SCREENLAYOUT_SIZE_XLARGE: sb.append(" xlrg"); break;
            default: sb.append(" layoutSize=");
                    sb.append(screenLayout&SCREENLAYOUT_SIZE_MASK); break;
        }
        switch ((screenLayout&SCREENLAYOUT_LONG_MASK)) {
            case SCREENLAYOUT_LONG_UNDEFINED: sb.append(" ?long"); break;
            case SCREENLAYOUT_LONG_NO: /* not-long is not interesting to print */ break;
            case SCREENLAYOUT_LONG_YES: sb.append(" long"); break;
            default: sb.append(" layoutLong=");
                    sb.append(screenLayout&SCREENLAYOUT_LONG_MASK); break;
        }
        switch (orientation) {
            case ORIENTATION_UNDEFINED: sb.append(" ?orien"); break;
            case ORIENTATION_LANDSCAPE: sb.append(" land"); break;
            case ORIENTATION_PORTRAIT: sb.append(" port"); break;
            default: sb.append(" orien="); sb.append(orientation); break;
        }
        switch ((uiMode&UI_MODE_TYPE_MASK)) {
            case UI_MODE_TYPE_UNDEFINED: sb.append(" ?uimode"); break;
            case UI_MODE_TYPE_NORMAL: /* normal is not interesting to print */ break;
            case UI_MODE_TYPE_DESK: sb.append(" desk"); break;
            case UI_MODE_TYPE_CAR: sb.append(" car"); break;
            default: sb.append(" uimode="); sb.append(uiMode&UI_MODE_TYPE_MASK); break;
        }
        switch ((uiMode&UI_MODE_NIGHT_MASK)) {
            case UI_MODE_NIGHT_UNDEFINED: sb.append(" ?night"); break;
            case UI_MODE_NIGHT_NO: /* not-night is not interesting to print */ break;
            case UI_MODE_NIGHT_YES: sb.append(" night"); break;
            default: sb.append(" night="); sb.append(uiMode&UI_MODE_NIGHT_MASK); break;
        }
        switch (touchscreen) {
        switch (touchscreen) {
            case TOUCHSCREEN_UNDEFINED: sb.append(" ?touch"); break;
            case TOUCHSCREEN_UNDEFINED: sb.append(" ?touch"); break;
            case TOUCHSCREEN_NOTOUCH: sb.append(" -touch"); break;
            case TOUCHSCREEN_NOTOUCH: sb.append(" -touch"); break;
@@ -356,51 +416,6 @@ public final class Configuration implements Parcelable, Comparable<Configuration
            case NAVIGATIONHIDDEN_YES: sb.append("/h"); break;
            case NAVIGATIONHIDDEN_YES: sb.append("/h"); break;
            default: sb.append("/"); sb.append(navigationHidden); break;
            default: sb.append("/"); sb.append(navigationHidden); break;
        }
        }
        switch (orientation) {
            case ORIENTATION_UNDEFINED: sb.append(" ?orien"); break;
            case ORIENTATION_LANDSCAPE: sb.append(" land"); break;
            case ORIENTATION_PORTRAIT: sb.append(" port"); break;
            default: sb.append(" orien="); sb.append(orientation); break;
        }
        switch ((screenLayout&SCREENLAYOUT_SIZE_MASK)) {
            case SCREENLAYOUT_SIZE_UNDEFINED: sb.append(" ?lsize"); break;
            case SCREENLAYOUT_SIZE_SMALL: sb.append(" smll"); break;
            case SCREENLAYOUT_SIZE_NORMAL: sb.append(" nrml"); break;
            case SCREENLAYOUT_SIZE_LARGE: sb.append(" lrg"); break;
            case SCREENLAYOUT_SIZE_XLARGE: sb.append(" xlrg"); break;
            default: sb.append(" layoutSize=");
                    sb.append(screenLayout&SCREENLAYOUT_SIZE_MASK); break;
        }
        switch ((screenLayout&SCREENLAYOUT_LONG_MASK)) {
            case SCREENLAYOUT_LONG_UNDEFINED: sb.append(" ?long"); break;
            case SCREENLAYOUT_LONG_NO: /* not-long is not interesting to print */ break;
            case SCREENLAYOUT_LONG_YES: sb.append(" long"); break;
            default: sb.append(" layoutLong=");
                    sb.append(screenLayout&SCREENLAYOUT_LONG_MASK); break;
        }
        switch ((uiMode&UI_MODE_TYPE_MASK)) {
            case UI_MODE_TYPE_UNDEFINED: sb.append(" ?uimode"); break;
            case UI_MODE_TYPE_NORMAL: /* normal is not interesting to print */ break;
            case UI_MODE_TYPE_DESK: sb.append(" desk"); break;
            case UI_MODE_TYPE_CAR: sb.append(" car"); break;
            default: sb.append(" uimode="); sb.append(uiMode&UI_MODE_TYPE_MASK); break;
        }
        switch ((uiMode&UI_MODE_NIGHT_MASK)) {
            case UI_MODE_NIGHT_UNDEFINED: sb.append(" ?night"); break;
            case UI_MODE_NIGHT_NO: /* not-night is not interesting to print */ break;
            case UI_MODE_NIGHT_YES: sb.append(" night"); break;
            default: sb.append(" night="); sb.append(uiMode&UI_MODE_NIGHT_MASK); break;
        }
        if (screenWidthDp != SCREEN_WIDTH_DP_UNDEFINED) {
            sb.append(" w"); sb.append(screenWidthDp); sb.append("dp");
        } else {
            sb.append("?wdp");
        }
        if (screenHeightDp != SCREEN_HEIGHT_DP_UNDEFINED) {
            sb.append(" h"); sb.append(screenHeightDp); sb.append("dp");
        } else {
            sb.append("?hdp");
        }
        if (seq != 0) {
        if (seq != 0) {
            sb.append(" s.");
            sb.append(" s.");
            sb.append(seq);
            sb.append(seq);
@@ -428,6 +443,7 @@ public final class Configuration implements Parcelable, Comparable<Configuration
        uiMode = UI_MODE_TYPE_UNDEFINED;
        uiMode = UI_MODE_TYPE_UNDEFINED;
        screenWidthDp = SCREEN_WIDTH_DP_UNDEFINED;
        screenWidthDp = SCREEN_WIDTH_DP_UNDEFINED;
        screenHeightDp = SCREEN_HEIGHT_DP_UNDEFINED;
        screenHeightDp = SCREEN_HEIGHT_DP_UNDEFINED;
        smallestScreenWidthDp = SMALLEST_SCREEN_WIDTH_DP_UNDEFINED;
        seq = 0;
        seq = 0;
    }
    }


@@ -531,6 +547,11 @@ public final class Configuration implements Parcelable, Comparable<Configuration
            changed |= ActivityInfo.CONFIG_SCREEN_SIZE;
            changed |= ActivityInfo.CONFIG_SCREEN_SIZE;
            screenHeightDp = delta.screenHeightDp;
            screenHeightDp = delta.screenHeightDp;
        }
        }
        if (delta.smallestScreenWidthDp != SMALLEST_SCREEN_WIDTH_DP_UNDEFINED
                && smallestScreenWidthDp != delta.smallestScreenWidthDp) {
            changed |= ActivityInfo.CONFIG_SMALLEST_SCREEN_SIZE;
            smallestScreenWidthDp = delta.smallestScreenWidthDp;
        }
        
        
        if (delta.seq != 0) {
        if (delta.seq != 0) {
            seq = delta.seq;
            seq = delta.seq;
@@ -564,7 +585,9 @@ public final class Configuration implements Parcelable, Comparable<Configuration
     * {@link android.content.pm.ActivityInfo#CONFIG_SCREEN_LAYOUT
     * {@link android.content.pm.ActivityInfo#CONFIG_SCREEN_LAYOUT
     * PackageManager.ActivityInfo.CONFIG_SCREEN_LAYOUT}, or
     * PackageManager.ActivityInfo.CONFIG_SCREEN_LAYOUT}, or
     * {@link android.content.pm.ActivityInfo#CONFIG_SCREEN_SIZE
     * {@link android.content.pm.ActivityInfo#CONFIG_SCREEN_SIZE
     * PackageManager.ActivityInfo.CONFIG_SCREEN_SIZE}.
     * PackageManager.ActivityInfo.CONFIG_SCREEN_SIZE}, or
     * {@link android.content.pm.ActivityInfo#CONFIG_SMALLEST_SCREEN_SIZE
     * PackageManager.ActivityInfo.CONFIG_SMALLEST_SCREEN_SIZE}.
     */
     */
    public int diff(Configuration delta) {
    public int diff(Configuration delta) {
        int changed = 0;
        int changed = 0;
@@ -625,6 +648,10 @@ public final class Configuration implements Parcelable, Comparable<Configuration
                && screenHeightDp != delta.screenHeightDp) {
                && screenHeightDp != delta.screenHeightDp) {
            changed |= ActivityInfo.CONFIG_SCREEN_SIZE;
            changed |= ActivityInfo.CONFIG_SCREEN_SIZE;
        }
        }
        if (delta.smallestScreenWidthDp != SMALLEST_SCREEN_WIDTH_DP_UNDEFINED
                && smallestScreenWidthDp != delta.smallestScreenWidthDp) {
            changed |= ActivityInfo.CONFIG_SMALLEST_SCREEN_SIZE;
        }
        
        
        return changed;
        return changed;
    }
    }
@@ -708,6 +735,7 @@ public final class Configuration implements Parcelable, Comparable<Configuration
        dest.writeInt(uiMode);
        dest.writeInt(uiMode);
        dest.writeInt(screenWidthDp);
        dest.writeInt(screenWidthDp);
        dest.writeInt(screenHeightDp);
        dest.writeInt(screenHeightDp);
        dest.writeInt(smallestScreenWidthDp);
        dest.writeInt(seq);
        dest.writeInt(seq);
    }
    }


@@ -731,6 +759,7 @@ public final class Configuration implements Parcelable, Comparable<Configuration
        uiMode = source.readInt();
        uiMode = source.readInt();
        screenWidthDp = source.readInt();
        screenWidthDp = source.readInt();
        screenHeightDp = source.readInt();
        screenHeightDp = source.readInt();
        smallestScreenWidthDp = source.readInt();
        seq = source.readInt();
        seq = source.readInt();
    }
    }
    
    
@@ -795,6 +824,8 @@ public final class Configuration implements Parcelable, Comparable<Configuration
        n = this.screenWidthDp - that.screenWidthDp;
        n = this.screenWidthDp - that.screenWidthDp;
        if (n != 0) return n;
        if (n != 0) return n;
        n = this.screenHeightDp - that.screenHeightDp;
        n = this.screenHeightDp - that.screenHeightDp;
        if (n != 0) return n;
        n = this.smallestScreenWidthDp - that.smallestScreenWidthDp;
        //if (n != 0) return n;
        //if (n != 0) return n;
        return n;
        return n;
    }
    }
@@ -830,6 +861,7 @@ public final class Configuration implements Parcelable, Comparable<Configuration
        result = 31 * result + uiMode;
        result = 31 * result + uiMode;
        result = 31 * result + screenWidthDp;
        result = 31 * result + screenWidthDp;
        result = 31 * result + screenHeightDp;
        result = 31 * result + screenHeightDp;
        result = 31 * result + smallestScreenWidthDp;
        return result;
        return result;
    }
    }
}
}
Loading