Add xxhdpi; fix ActivityManager.getLauncherLargeIconSize() etc.
Change-Id: I519d6cdc527a402d93b98df17a64fc1da52ad598
This commit is contained in:
committed by
Android Git Automerger
parent
352b8d03c6
commit
84affb8ae6
@@ -21388,6 +21388,7 @@ package android.util {
|
|||||||
field public static final int DENSITY_MEDIUM = 160; // 0xa0
|
field public static final int DENSITY_MEDIUM = 160; // 0xa0
|
||||||
field public static final int DENSITY_TV = 213; // 0xd5
|
field public static final int DENSITY_TV = 213; // 0xd5
|
||||||
field public static final int DENSITY_XHIGH = 320; // 0x140
|
field public static final int DENSITY_XHIGH = 320; // 0x140
|
||||||
|
field public static final int DENSITY_XXHIGH = 480; // 0x1e0
|
||||||
field public float density;
|
field public float density;
|
||||||
field public int densityDpi;
|
field public int densityDpi;
|
||||||
field public int heightPixels;
|
field public int heightPixels;
|
||||||
|
|||||||
@@ -1442,9 +1442,10 @@ public class ActivityManager {
|
|||||||
public int getLauncherLargeIconDensity() {
|
public int getLauncherLargeIconDensity() {
|
||||||
final Resources res = mContext.getResources();
|
final Resources res = mContext.getResources();
|
||||||
final int density = res.getDisplayMetrics().densityDpi;
|
final int density = res.getDisplayMetrics().densityDpi;
|
||||||
|
final int sw = res.getConfiguration().smallestScreenWidthDp;
|
||||||
|
|
||||||
if ((res.getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK)
|
if (sw < 600) {
|
||||||
!= Configuration.SCREENLAYOUT_SIZE_XLARGE) {
|
// Smaller than approx 7" tablets, use the regular icon size.
|
||||||
return density;
|
return density;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1456,9 +1457,13 @@ public class ActivityManager {
|
|||||||
case DisplayMetrics.DENSITY_HIGH:
|
case DisplayMetrics.DENSITY_HIGH:
|
||||||
return DisplayMetrics.DENSITY_XHIGH;
|
return DisplayMetrics.DENSITY_XHIGH;
|
||||||
case DisplayMetrics.DENSITY_XHIGH:
|
case DisplayMetrics.DENSITY_XHIGH:
|
||||||
return DisplayMetrics.DENSITY_MEDIUM * 2;
|
return DisplayMetrics.DENSITY_XXHIGH;
|
||||||
|
case DisplayMetrics.DENSITY_XXHIGH:
|
||||||
|
return DisplayMetrics.DENSITY_XHIGH * 2;
|
||||||
default:
|
default:
|
||||||
return density;
|
// The density is some abnormal value. Return some other
|
||||||
|
// abnormal value that is a reasonable scaling of it.
|
||||||
|
return (int)(density*1.5f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1471,9 +1476,10 @@ public class ActivityManager {
|
|||||||
public int getLauncherLargeIconSize() {
|
public int getLauncherLargeIconSize() {
|
||||||
final Resources res = mContext.getResources();
|
final Resources res = mContext.getResources();
|
||||||
final int size = res.getDimensionPixelSize(android.R.dimen.app_icon_size);
|
final int size = res.getDimensionPixelSize(android.R.dimen.app_icon_size);
|
||||||
|
final int sw = res.getConfiguration().smallestScreenWidthDp;
|
||||||
|
|
||||||
if ((res.getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK)
|
if (sw < 600) {
|
||||||
!= Configuration.SCREENLAYOUT_SIZE_XLARGE) {
|
// Smaller than approx 7" tablets, use the regular icon size.
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1487,9 +1493,13 @@ public class ActivityManager {
|
|||||||
case DisplayMetrics.DENSITY_HIGH:
|
case DisplayMetrics.DENSITY_HIGH:
|
||||||
return (size * DisplayMetrics.DENSITY_XHIGH) / DisplayMetrics.DENSITY_HIGH;
|
return (size * DisplayMetrics.DENSITY_XHIGH) / DisplayMetrics.DENSITY_HIGH;
|
||||||
case DisplayMetrics.DENSITY_XHIGH:
|
case DisplayMetrics.DENSITY_XHIGH:
|
||||||
return (size * DisplayMetrics.DENSITY_MEDIUM * 2) / DisplayMetrics.DENSITY_XHIGH;
|
return (size * DisplayMetrics.DENSITY_XXHIGH) / DisplayMetrics.DENSITY_XHIGH;
|
||||||
|
case DisplayMetrics.DENSITY_XXHIGH:
|
||||||
|
return (size * DisplayMetrics.DENSITY_XHIGH*2) / DisplayMetrics.DENSITY_XXHIGH;
|
||||||
default:
|
default:
|
||||||
return size;
|
// The density is some abnormal value. Return some other
|
||||||
|
// abnormal value that is a reasonable scaling of it.
|
||||||
|
return (int)(size*1.5f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -56,6 +56,13 @@ public class DisplayMetrics {
|
|||||||
*/
|
*/
|
||||||
public static final int DENSITY_XHIGH = 320;
|
public static final int DENSITY_XHIGH = 320;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Standard quantized DPI for extra-extra-high-density screens. Applications
|
||||||
|
* should not generally worry about this density; relying on XHIGH graphics
|
||||||
|
* being scaled up to it should be sufficient for almost all cases.
|
||||||
|
*/
|
||||||
|
public static final int DENSITY_XXHIGH = 480;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The reference density used throughout the system.
|
* The reference density used throughout the system.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -843,6 +843,8 @@ struct ResTable_config
|
|||||||
DENSITY_MEDIUM = ACONFIGURATION_DENSITY_MEDIUM,
|
DENSITY_MEDIUM = ACONFIGURATION_DENSITY_MEDIUM,
|
||||||
DENSITY_TV = ACONFIGURATION_DENSITY_TV,
|
DENSITY_TV = ACONFIGURATION_DENSITY_TV,
|
||||||
DENSITY_HIGH = ACONFIGURATION_DENSITY_HIGH,
|
DENSITY_HIGH = ACONFIGURATION_DENSITY_HIGH,
|
||||||
|
DENSITY_XHIGH = ACONFIGURATION_DENSITY_XHIGH,
|
||||||
|
DENSITY_XXHIGH = ACONFIGURATION_DENSITY_XXHIGH,
|
||||||
DENSITY_NONE = ACONFIGURATION_DENSITY_NONE
|
DENSITY_NONE = ACONFIGURATION_DENSITY_NONE
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,8 @@ enum {
|
|||||||
ACONFIGURATION_DENSITY_MEDIUM = 160,
|
ACONFIGURATION_DENSITY_MEDIUM = 160,
|
||||||
ACONFIGURATION_DENSITY_TV = 213,
|
ACONFIGURATION_DENSITY_TV = 213,
|
||||||
ACONFIGURATION_DENSITY_HIGH = 240,
|
ACONFIGURATION_DENSITY_HIGH = 240,
|
||||||
|
ACONFIGURATION_DENSITY_XHIGH = 320,
|
||||||
|
ACONFIGURATION_DENSITY_XXHIGH = 480,
|
||||||
ACONFIGURATION_DENSITY_NONE = 0xffff,
|
ACONFIGURATION_DENSITY_NONE = 0xffff,
|
||||||
|
|
||||||
ACONFIGURATION_KEYBOARD_ANY = 0x0000,
|
ACONFIGURATION_KEYBOARD_ANY = 0x0000,
|
||||||
|
|||||||
@@ -1079,12 +1079,17 @@ bool AaptGroupEntry::getDensityName(const char* name,
|
|||||||
if (out) out->density = ResTable_config::DENSITY_HIGH;
|
if (out) out->density = ResTable_config::DENSITY_HIGH;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strcmp(name, "xhdpi") == 0) {
|
if (strcmp(name, "xhdpi") == 0) {
|
||||||
if (out) out->density = ResTable_config::DENSITY_MEDIUM*2;
|
if (out) out->density = ResTable_config::DENSITY_XHIGH;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (strcmp(name, "xxhdpi") == 0) {
|
||||||
|
if (out) out->density = ResTable_config::DENSITY_XXHIGH;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
char* c = (char*)name;
|
char* c = (char*)name;
|
||||||
while (*c >= '0' && *c <= '9') {
|
while (*c >= '0' && *c <= '9') {
|
||||||
c++;
|
c++;
|
||||||
|
|||||||
Reference in New Issue
Block a user