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

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

am 11ea3347: Allow for screen density drawables in compatibility mode.

Merge commit '11ea3347'

* commit '11ea3347':
  Allow for screen density drawables in compatibility mode.
parents 2470a7b4 11ea3347
Loading
Loading
Loading
Loading
+223 −31
Original line number Diff line number Diff line
@@ -52941,8 +52941,8 @@
 visibility="public"
>
</method>
<method name="getDensityScale"
 return="float"
<method name="getDensity"
 return="int"
 abstract="false"
 native="false"
 synchronized="false"
@@ -53051,6 +53051,19 @@
<parameter name="metrics" type="android.util.DisplayMetrics">
</parameter>
</method>
<method name="getScaledHeight"
 return="int"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="targetDensity" type="int">
</parameter>
</method>
<method name="getScaledWidth"
 return="int"
 abstract="false"
@@ -53077,19 +53090,21 @@
<parameter name="metrics" type="android.util.DisplayMetrics">
</parameter>
</method>
<method name="getWidth"
<method name="getScaledWidth"
 return="int"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="true"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="targetDensity" type="int">
</parameter>
</method>
<method name="hasAlpha"
 return="boolean"
<method name="getWidth"
 return="int"
 abstract="false"
 native="false"
 synchronized="false"
@@ -53099,13 +53114,13 @@
 visibility="public"
>
</method>
<method name="isAutoScalingEnabled"
<method name="hasAlpha"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
@@ -53154,20 +53169,7 @@
 visibility="public"
>
</method>
<method name="setAutoScalingEnabled"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="autoScalingEnabled" type="boolean">
</parameter>
</method>
<method name="setDensityScale"
<method name="setDensity"
 return="void"
 abstract="false"
 native="false"
@@ -53177,7 +53179,7 @@
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="densityScale" type="float">
<parameter name="density" type="int">
</parameter>
</method>
<method name="setPixel"
@@ -53247,11 +53249,11 @@
 visibility="public"
>
</field>
<field name="DENSITY_SCALE_UNKNOWN"
 type="float"
<field name="DENSITY_NONE"
 type="int"
 transient="false"
 volatile="false"
 value="-1.0f"
 value="0"
 static="true"
 final="true"
 deprecated="not deprecated"
@@ -53467,7 +53469,7 @@
<parameter name="id" type="int">
</parameter>
</method>
<method name="decodeStream"
<method name="decodeResourceStream"
 return="android.graphics.Bitmap"
 abstract="false"
 native="false"
@@ -53626,6 +53628,26 @@
 visibility="public"
>
</field>
<field name="inScreenDensity"
 type="int"
 transient="false"
 volatile="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="inTargetDensity"
 type="int"
 transient="false"
 volatile="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="inTempStorage"
 type="byte[]"
 transient="false"
@@ -54880,8 +54902,8 @@
 visibility="public"
>
</method>
<method name="getDensityScale"
 return="float"
<method name="getDensity"
 return="int"
 abstract="false"
 native="false"
 synchronized="false"
@@ -55237,7 +55259,7 @@
<parameter name="bitmap" type="android.graphics.Bitmap">
</parameter>
</method>
<method name="setDensityScale"
<method name="setDensity"
 return="void"
 abstract="false"
 native="false"
@@ -55247,7 +55269,7 @@
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="densityScale" type="float">
<parameter name="density" type="int">
</parameter>
</method>
<method name="setDrawFilter"
@@ -57559,6 +57581,17 @@
<parameter name="paint" type="android.graphics.Paint">
</parameter>
</method>
<method name="getDensity"
 return="int"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="getHeight"
 return="int"
 abstract="false"
@@ -62958,6 +62991,14 @@
 deprecated="not deprecated"
 visibility="public"
>
<constructor name="BitmapDrawable"
 type="android.graphics.drawable.BitmapDrawable"
 static="false"
 final="false"
 deprecated="deprecated"
 visibility="public"
>
</constructor>
<constructor name="BitmapDrawable"
 type="android.graphics.drawable.BitmapDrawable"
 static="false"
@@ -62965,6 +63006,18 @@
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="res" type="android.content.res.Resources">
</parameter>
</constructor>
<constructor name="BitmapDrawable"
 type="android.graphics.drawable.BitmapDrawable"
 static="false"
 final="false"
 deprecated="deprecated"
 visibility="public"
>
<parameter name="bitmap" type="android.graphics.Bitmap">
</parameter>
</constructor>
<constructor name="BitmapDrawable"
 type="android.graphics.drawable.BitmapDrawable"
@@ -62973,6 +63026,8 @@
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="res" type="android.content.res.Resources">
</parameter>
<parameter name="bitmap" type="android.graphics.Bitmap">
</parameter>
</constructor>
@@ -63138,6 +63193,45 @@
<parameter name="gravity" type="int">
</parameter>
</method>
<method name="setTargetDensity"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="canvas" type="android.graphics.Canvas">
</parameter>
</method>
<method name="setTargetDensity"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="metrics" type="android.util.DisplayMetrics">
</parameter>
</method>
<method name="setTargetDensity"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="density" type="int">
</parameter>
</method>
<method name="setTileModeX"
 return="void"
 abstract="false"
@@ -63474,6 +63568,25 @@
<parameter name="pathName" type="java.lang.String">
</parameter>
</method>
<method name="createFromResourceStream"
 return="android.graphics.drawable.Drawable"
 abstract="false"
 native="false"
 synchronized="false"
 static="true"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="res" type="android.content.res.Resources">
</parameter>
<parameter name="value" type="android.util.TypedValue">
</parameter>
<parameter name="is" type="java.io.InputStream">
</parameter>
<parameter name="srcName" type="java.lang.String">
</parameter>
</method>
<method name="createFromStream"
 return="android.graphics.drawable.Drawable"
 abstract="false"
@@ -65167,6 +65280,22 @@
 deprecated="not deprecated"
 visibility="public"
>
<constructor name="NinePatchDrawable"
 type="android.graphics.drawable.NinePatchDrawable"
 static="false"
 final="false"
 deprecated="deprecated"
 visibility="public"
>
<parameter name="bitmap" type="android.graphics.Bitmap">
</parameter>
<parameter name="chunk" type="byte[]">
</parameter>
<parameter name="padding" type="android.graphics.Rect">
</parameter>
<parameter name="srcName" type="java.lang.String">
</parameter>
</constructor>
<constructor name="NinePatchDrawable"
 type="android.graphics.drawable.NinePatchDrawable"
 static="false"
@@ -65174,6 +65303,8 @@
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="res" type="android.content.res.Resources">
</parameter>
<parameter name="bitmap" type="android.graphics.Bitmap">
</parameter>
<parameter name="chunk" type="byte[]">
@@ -65183,6 +65314,16 @@
<parameter name="srcName" type="java.lang.String">
</parameter>
</constructor>
<constructor name="NinePatchDrawable"
 type="android.graphics.drawable.NinePatchDrawable"
 static="false"
 final="false"
 deprecated="deprecated"
 visibility="public"
>
<parameter name="patch" type="android.graphics.NinePatch">
</parameter>
</constructor>
<constructor name="NinePatchDrawable"
 type="android.graphics.drawable.NinePatchDrawable"
 static="false"
@@ -65190,6 +65331,8 @@
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="res" type="android.content.res.Resources">
</parameter>
<parameter name="patch" type="android.graphics.NinePatch">
</parameter>
</constructor>
@@ -65254,6 +65397,45 @@
<parameter name="cf" type="android.graphics.ColorFilter">
</parameter>
</method>
<method name="setTargetDensity"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="canvas" type="android.graphics.Canvas">
</parameter>
</method>
<method name="setTargetDensity"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="metrics" type="android.util.DisplayMetrics">
</parameter>
</method>
<method name="setTargetDensity"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="density" type="int">
</parameter>
</method>
</class>
<class name="PaintDrawable"
 extends="android.graphics.drawable.ShapeDrawable"
@@ -137944,6 +138126,16 @@
 visibility="public"
>
</field>
<field name="densityDpi"
 type="int"
 transient="false"
 volatile="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="heightPixels"
 type="int"
 transient="false"
+13 −3
Original line number Diff line number Diff line
@@ -177,11 +177,17 @@ public final class ActivityThread {
        synchronized (mPackages) {
            // Resources is app scale dependent.
            ResourcesKey key = new ResourcesKey(resDir, compInfo.applicationScale);
            //Log.w(TAG, "getTopLevelResources: " + resDir);
            if (false) {
                Log.w(TAG, "getTopLevelResources: " + resDir + " / "
                        + compInfo.applicationScale);
            }
            WeakReference<Resources> wr = mActiveResources.get(key);
            Resources r = wr != null ? wr.get() : null;
            if (r != null && r.getAssets().isUpToDate()) {
                //Log.w(TAG, "Returning cached resources " + r + " " + resDir);
                if (false) {
                    Log.w(TAG, "Returning cached resources " + r + " " + resDir
                            + ": appScale=" + r.getCompatibilityInfo().applicationScale);
                }
                return r;
            }

@@ -198,7 +204,11 @@ public final class ActivityThread {
            //Log.i(TAG, "Resource: key=" + key + ", display metrics=" + metrics);
            DisplayMetrics metrics = getDisplayMetricsLocked(false);
            r = new Resources(assets, metrics, getConfiguration(), compInfo);
            //Log.i(TAG, "Created app resources " + r + ": " + r.getConfiguration());
            if (false) {
                Log.i(TAG, "Created app resources " + resDir + " " + r + ": "
                        + r.getConfiguration() + " appScale="
                        + r.getCompatibilityInfo().applicationScale);
            }
            // XXX need to remove entries when weak references go away
            mActiveResources.put(key, new WeakReference<Resources>(r));
            return r;
+14 −3
Original line number Diff line number Diff line
@@ -544,7 +544,10 @@ class ApplicationContext extends Context {
            if (fd != null) {
                Bitmap bm = BitmapFactory.decodeFileDescriptor(fd.getFileDescriptor());
                if (bm != null) {
                    return new BitmapDrawable(bm);
                    // For now clear the density until we figure out how
                    // to deal with it for wallpapers.
                    bm.setDensity(0);
                    return new BitmapDrawable(getResources(), bm);
                }
            }
        } catch (RemoteException e) {
@@ -1965,6 +1968,15 @@ class ApplicationContext extends Context {
            try {
                Resources r = getResourcesForApplication(appInfo);
                dr = r.getDrawable(resid);
                if (false) {
                    RuntimeException e = new RuntimeException("here");
                    e.fillInStackTrace();
                    Log.w(TAG, "Getting drawable 0x" + Integer.toHexString(resid)
                            + " from package " + packageName
                            + ": app scale=" + r.getCompatibilityInfo().applicationScale
                            + ", caller scale=" + mContext.getResources().getCompatibilityInfo().applicationScale,
                            e);
                }
                if (DEBUG_ICONS) Log.v(TAG, "Getting drawable 0x"
                        + Integer.toHexString(resid) + " from " + r
                        + ": " + dr);
@@ -2052,10 +2064,9 @@ class ApplicationContext extends Context {
            if (app.packageName.equals("system")) {
                return mContext.mMainThread.getSystemContext().getResources();
            }
            ActivityThread.PackageInfo pi = mContext.mMainThread.getPackageInfoNoCheck(app);
            Resources r = mContext.mMainThread.getTopLevelResources(
                    app.uid == Process.myUid() ? app.sourceDir
                    : app.publicSourceDir, pi);
                    : app.publicSourceDir, mContext.mPackageInfo);
            if (r != null) {
                return r;
            }
+2 −2
Original line number Diff line number Diff line
@@ -297,7 +297,7 @@ public abstract class LauncherActivity extends ListActivity {
                    icon.setBounds(x, y, x + width, y + height);
                    icon.draw(canvas);
                    icon.setBounds(mOldBounds);
                    icon = new BitmapDrawable(thumb);
                    icon = new BitmapDrawable(getResources(), thumb);
                } else if (iconWidth < width && iconHeight < height) {
                    final Bitmap.Config c = Bitmap.Config.ARGB_8888;
                    final Bitmap thumb = Bitmap.createBitmap(mIconWidth, mIconHeight, c);
@@ -309,7 +309,7 @@ public abstract class LauncherActivity extends ListActivity {
                    icon.setBounds(x, y, x + iconWidth, y + iconHeight);
                    icon.draw(canvas);
                    icon.setBounds(mOldBounds);
                    icon = new BitmapDrawable(thumb);
                    icon = new BitmapDrawable(getResources(), thumb);
                }
            }

+2 −2
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ public class ImageSpan extends DynamicDrawableSpan {
     */
    public ImageSpan(Bitmap b, int verticalAlignment) {
        super(verticalAlignment);
        mDrawable = new BitmapDrawable(b);
        mDrawable = new BitmapDrawable(mContext.getResources(), b);
        int width = mDrawable.getIntrinsicWidth();
        int height = mDrawable.getIntrinsicHeight();
        mDrawable.setBounds(0, 0, width > 0 ? width : 0, height > 0 ? height : 0); 
@@ -117,7 +117,7 @@ public class ImageSpan extends DynamicDrawableSpan {
                InputStream is = mContext.getContentResolver().openInputStream(
                        mContentUri);
                bitmap = BitmapFactory.decodeStream(is);
                drawable = new BitmapDrawable(bitmap);
                drawable = new BitmapDrawable(mContext.getResources(), bitmap);
                drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),
                        drawable.getIntrinsicHeight());
                is.close();
Loading