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

Commit aad0fcc9 authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 7783 into donut

* changes:
  Add "nodpi" density, and expose a bunch of density-related APIs.
parents 22eef5da a53b8286
Loading
Loading
Loading
Loading
+222 −0
Original line number Diff line number Diff line
@@ -48942,6 +48942,17 @@
 visibility="public"
>
</method>
<method name="getDensityScale"
 return="float"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="getHeight"
 return="int"
 abstract="false"
@@ -49015,6 +49026,28 @@
 visibility="public"
>
</method>
<method name="getScaledHeight"
 return="int"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="getScaledWidth"
 return="int"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="getWidth"
 return="int"
 abstract="false"
@@ -49037,6 +49070,17 @@
 visibility="public"
>
</method>
<method name="isAutoScalingEnabled"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="isMutable"
 return="boolean"
 abstract="false"
@@ -49081,6 +49125,32 @@
 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"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="densityScale" type="float">
</parameter>
</method>
<method name="setPixel"
 return="void"
 abstract="false"
@@ -49148,6 +49218,17 @@
 visibility="public"
>
</field>
<field name="DENSITY_SCALE_UNKNOWN"
 type="float"
 transient="false"
 volatile="false"
 value="-1.0f"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
</class>
<class name="Bitmap.CompressFormat"
 extends="java.lang.Enum"
@@ -49367,6 +49448,27 @@
 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="pad" type="android.graphics.Rect">
</parameter>
<parameter name="opts" type="android.graphics.BitmapFactory.Options">
</parameter>
</method>
<method name="decodeStream"
 return="android.graphics.Bitmap"
 abstract="false"
 native="false"
 synchronized="false"
 static="true"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="is" type="java.io.InputStream">
</parameter>
<parameter name="outPadding" type="android.graphics.Rect">
@@ -49415,6 +49517,16 @@
 visibility="public"
>
</method>
<field name="inDensity"
 type="int"
 transient="false"
 volatile="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="inDither"
 type="boolean"
 transient="false"
@@ -49475,6 +49587,16 @@
 visibility="public"
>
</field>
<field name="inScaled"
 type="boolean"
 transient="false"
 volatile="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="inTempStorage"
 type="byte[]"
 transient="false"
@@ -50729,6 +50851,17 @@
 visibility="public"
>
</method>
<method name="getDensityScale"
 return="float"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="getDrawFilter"
 return="android.graphics.DrawFilter"
 abstract="false"
@@ -51075,6 +51208,19 @@
<parameter name="bitmap" type="android.graphics.Bitmap">
</parameter>
</method>
<method name="setDensityScale"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="densityScale" type="float">
</parameter>
</method>
<method name="setDrawFilter"
 return="void"
 abstract="false"
@@ -132969,6 +133115,50 @@
 visibility="public"
>
</method>
<field name="DENSITY_DEFAULT"
 type="int"
 transient="false"
 volatile="false"
 value="160"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="DENSITY_HIGH"
 type="int"
 transient="false"
 volatile="false"
 value="240"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="DENSITY_LOW"
 type="int"
 transient="false"
 volatile="false"
 value="120"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="DENSITY_MEDIUM"
 type="int"
 transient="false"
 volatile="false"
 value="160"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="density"
 type="float"
 transient="false"
@@ -135018,6 +135208,28 @@
 visibility="public"
>
</field>
<field name="DENSITY_DEFAULT"
 type="int"
 transient="false"
 volatile="false"
 value="0"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="DENSITY_NONE"
 type="int"
 transient="false"
 volatile="false"
 value="65535"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="TYPE_ATTRIBUTE"
 type="int"
 transient="false"
@@ -135246,6 +135458,16 @@
 visibility="public"
>
</field>
<field name="density"
 type="int"
 transient="false"
 volatile="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="resourceId"
 type="int"
 transient="false"
+0 −1
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@ import android.content.pm.InstrumentationInfo;
import android.content.pm.PackageManager;
import android.content.pm.ProviderInfo;
import android.content.pm.ServiceInfo;
import android.content.pm.PackageParser.Component;
import android.content.res.AssetManager;
import android.content.res.CompatibilityInfo;
import android.content.res.Configuration;
+3 −3
Original line number Diff line number Diff line
@@ -114,14 +114,14 @@ public class CompatibilityInfo {
                    packageDensityScale = 1.0f;
                    break;
                }
                int tmpDiff = Math.abs(DisplayMetrics.DEVICE_DENSITY - density);
                int tmpDiff = Math.abs(DisplayMetrics.DENSITY_DEVICE - density);
                if (tmpDiff == 0) {
                    packageDensityScale = 1.0f;
                    break;
                }
                // prefer higher density (appScale>1.0), unless that's only option.
                if (tmpDiff < minDiff && packageDensityScale < 1.0f) {
                    packageDensityScale = DisplayMetrics.DEVICE_DENSITY / (float) density;
                    packageDensityScale = DisplayMetrics.DENSITY_DEVICE / (float) density;
                    minDiff = tmpDiff;
                }
            }
@@ -130,7 +130,7 @@ public class CompatibilityInfo {
            applicationScale = packageDensityScale;
        } else {
            applicationScale =
                    DisplayMetrics.DEVICE_DENSITY / (float) DisplayMetrics.DEFAULT_DENSITY;
                    DisplayMetrics.DENSITY_DEVICE / (float) DisplayMetrics.DENSITY_DEFAULT;
        }

        applicationInvertedScale = 1.0f / applicationScale;
+10 −1
Original line number Diff line number Diff line
@@ -87,7 +87,7 @@ public class Resources {
    /*package*/ final DisplayMetrics mMetrics = new DisplayMetrics();
    PluralRules mPluralRule;
    
    private final CompatibilityInfo mCompatibilityInfo;
    private CompatibilityInfo mCompatibilityInfo;
    private Display mDefaultDisplay;

    private static final LongSparseArray<Object> EMPTY_ARRAY = new LongSparseArray<Object>() {
@@ -1385,6 +1385,15 @@ public class Resources {
        return mCompatibilityInfo;
    }

    /**
     * This is just for testing.
     * @hide
     */
    public void setCompatibilityInfo(CompatibilityInfo ci) {
        mCompatibilityInfo = ci;
        updateConfiguration(mConfiguration, mMetrics);
    }
    
    /**
     * Return a resource identifier for the given resource name.  A fully
     * qualified resource name is of the form "package:type/entry".  The first
+24 −10
Original line number Diff line number Diff line
@@ -26,18 +26,32 @@ import android.os.*;
 * size, density, and font scaling.
 */
public class DisplayMetrics {
    /**
     * Standard quantized DPI for low-density screens.
     */
    public static final int DENSITY_LOW = 120;

    /**
     * Standard quantized DPI for medium-density screens.
     */
    public static final int DENSITY_MEDIUM = 160;

    /**
     * Standard quantized DPI for high-density screens.
     */
    public static final int DENSITY_HIGH = 240;

    /**
     * The reference density used throughout the system.
     * 
     * @hide Pending API council approval
     */
    public static final int DEFAULT_DENSITY = 160;
    public static final int DENSITY_DEFAULT = DENSITY_MEDIUM;

    /**
     * The device's density.
     * @hide
     * @hide becase eventually this should be able to change while
     * running, so shouldn't be a constant.
     */
    public static final int DEVICE_DENSITY = getDeviceDensity();
    public static final int DENSITY_DEVICE = getDeviceDensity();

    /**
     * The absolute width of the display in pixels.
@@ -62,7 +76,7 @@ public class DisplayMetrics {
     * 320x480 but the screen size remained 1.5"x2" then the density would be 
     * increased (probably to 1.5).
     *
     * @see #DEFAULT_DENSITY
     * @see #DENSITY_DEFAULT
     */
    public float density;
    /**
@@ -95,10 +109,10 @@ public class DisplayMetrics {
    public void setToDefaults() {
        widthPixels = 0;
        heightPixels = 0;
        density = DEVICE_DENSITY / (float) DEFAULT_DENSITY;
        density = DENSITY_DEVICE / (float) DENSITY_DEFAULT;
        scaledDensity = density;
        xdpi = DEVICE_DENSITY;
        ydpi = DEVICE_DENSITY;
        xdpi = DENSITY_DEVICE;
        ydpi = DENSITY_DEVICE;
    }

    /**
@@ -176,6 +190,6 @@ public class DisplayMetrics {
        // The reason for this is that ro.sf.lcd_density is write-once and is
        // set by the init process when it parses build.prop before anything else.
        return SystemProperties.getInt("qemu.sf.lcd_density",
                SystemProperties.getInt("ro.sf.lcd_density", DEFAULT_DENSITY));
                SystemProperties.getInt("ro.sf.lcd_density", DENSITY_DEFAULT));
    }
}
Loading