in libresource/ResourceTypes.cpp [2670:2939]
String8 ResTable_config::toString() const {
String8 res;
if (mcc != 0) {
if (res.size() > 0) res.append("-");
res.appendFormat("mcc%d", dtohs(mcc));
}
if (mnc != 0) {
if (res.size() > 0) res.append("-");
res.appendFormat("mnc%d", dtohs(mnc));
}
char localeStr[RESTABLE_MAX_LOCALE_LEN];
getBcp47Locale(localeStr);
if (strlen(localeStr) > 0) {
if (res.size() > 0) res.append("-");
res.append(localeStr);
}
if ((screenLayout&MASK_LAYOUTDIR) != 0) {
if (res.size() > 0) res.append("-");
switch (screenLayout&ResTable_config::MASK_LAYOUTDIR) {
case ResTable_config::LAYOUTDIR_LTR:
res.append("ldltr");
break;
case ResTable_config::LAYOUTDIR_RTL:
res.append("ldrtl");
break;
default:
res.appendFormat("layoutDir=%d",
dtohs(screenLayout&ResTable_config::MASK_LAYOUTDIR));
break;
}
}
if (smallestScreenWidthDp != 0) {
if (res.size() > 0) res.append("-");
res.appendFormat("sw%ddp", dtohs(smallestScreenWidthDp));
}
if (screenWidthDp != 0) {
if (res.size() > 0) res.append("-");
res.appendFormat("w%ddp", dtohs(screenWidthDp));
}
if (screenHeightDp != 0) {
if (res.size() > 0) res.append("-");
res.appendFormat("h%ddp", dtohs(screenHeightDp));
}
if ((screenLayout&MASK_SCREENSIZE) != SCREENSIZE_ANY) {
if (res.size() > 0) res.append("-");
switch (screenLayout&ResTable_config::MASK_SCREENSIZE) {
case ResTable_config::SCREENSIZE_SMALL:
res.append("small");
break;
case ResTable_config::SCREENSIZE_NORMAL:
res.append("normal");
break;
case ResTable_config::SCREENSIZE_LARGE:
res.append("large");
break;
case ResTable_config::SCREENSIZE_XLARGE:
res.append("xlarge");
break;
default:
res.appendFormat("screenLayoutSize=%d",
dtohs(screenLayout&ResTable_config::MASK_SCREENSIZE));
break;
}
}
if ((screenLayout&MASK_SCREENLONG) != 0) {
if (res.size() > 0) res.append("-");
switch (screenLayout&ResTable_config::MASK_SCREENLONG) {
case ResTable_config::SCREENLONG_NO:
res.append("notlong");
break;
case ResTable_config::SCREENLONG_YES:
res.append("long");
break;
default:
res.appendFormat("screenLayoutLong=%d",
dtohs(screenLayout&ResTable_config::MASK_SCREENLONG));
break;
}
}
if (orientation != ORIENTATION_ANY) {
if (res.size() > 0) res.append("-");
switch (orientation) {
case ResTable_config::ORIENTATION_PORT:
res.append("port");
break;
case ResTable_config::ORIENTATION_LAND:
res.append("land");
break;
case ResTable_config::ORIENTATION_SQUARE:
res.append("square");
break;
default:
res.appendFormat("orientation=%d", dtohs(orientation));
break;
}
}
if ((uiMode&MASK_UI_MODE_TYPE) != UI_MODE_TYPE_ANY) {
if (res.size() > 0) res.append("-");
switch (uiMode&ResTable_config::MASK_UI_MODE_TYPE) {
case ResTable_config::UI_MODE_TYPE_DESK:
res.append("desk");
break;
case ResTable_config::UI_MODE_TYPE_CAR:
res.append("car");
break;
case ResTable_config::UI_MODE_TYPE_TELEVISION:
res.append("television");
break;
case ResTable_config::UI_MODE_TYPE_APPLIANCE:
res.append("appliance");
break;
case ResTable_config::UI_MODE_TYPE_WATCH:
res.append("watch");
break;
default:
res.appendFormat("uiModeType=%d",
dtohs(screenLayout&ResTable_config::MASK_UI_MODE_TYPE));
break;
}
}
if ((uiMode&MASK_UI_MODE_NIGHT) != 0) {
if (res.size() > 0) res.append("-");
switch (uiMode&ResTable_config::MASK_UI_MODE_NIGHT) {
case ResTable_config::UI_MODE_NIGHT_NO:
res.append("notnight");
break;
case ResTable_config::UI_MODE_NIGHT_YES:
res.append("night");
break;
default:
res.appendFormat("uiModeNight=%d",
dtohs(uiMode&MASK_UI_MODE_NIGHT));
break;
}
}
if (density != DENSITY_DEFAULT) {
if (res.size() > 0) res.append("-");
switch (density) {
case ResTable_config::DENSITY_LOW:
res.append("ldpi");
break;
case ResTable_config::DENSITY_MEDIUM:
res.append("mdpi");
break;
case ResTable_config::DENSITY_TV:
res.append("tvdpi");
break;
case ResTable_config::DENSITY_HIGH:
res.append("hdpi");
break;
case ResTable_config::DENSITY_XHIGH:
res.append("xhdpi");
break;
case ResTable_config::DENSITY_XXHIGH:
res.append("xxhdpi");
break;
case ResTable_config::DENSITY_XXXHIGH:
res.append("xxxhdpi");
break;
case ResTable_config::DENSITY_NONE:
res.append("nodpi");
break;
case ResTable_config::DENSITY_ANY:
res.append("anydpi");
break;
default:
res.appendFormat("%ddpi", dtohs(density));
break;
}
}
if (touchscreen != TOUCHSCREEN_ANY) {
if (res.size() > 0) res.append("-");
switch (touchscreen) {
case ResTable_config::TOUCHSCREEN_NOTOUCH:
res.append("notouch");
break;
case ResTable_config::TOUCHSCREEN_FINGER:
res.append("finger");
break;
case ResTable_config::TOUCHSCREEN_STYLUS:
res.append("stylus");
break;
default:
res.appendFormat("touchscreen=%d", dtohs(touchscreen));
break;
}
}
if ((inputFlags&MASK_KEYSHIDDEN) != 0) {
if (res.size() > 0) res.append("-");
switch (inputFlags&MASK_KEYSHIDDEN) {
case ResTable_config::KEYSHIDDEN_NO:
res.append("keysexposed");
break;
case ResTable_config::KEYSHIDDEN_YES:
res.append("keyshidden");
break;
case ResTable_config::KEYSHIDDEN_SOFT:
res.append("keyssoft");
break;
}
}
if (keyboard != KEYBOARD_ANY) {
if (res.size() > 0) res.append("-");
switch (keyboard) {
case ResTable_config::KEYBOARD_NOKEYS:
res.append("nokeys");
break;
case ResTable_config::KEYBOARD_QWERTY:
res.append("qwerty");
break;
case ResTable_config::KEYBOARD_12KEY:
res.append("12key");
break;
default:
res.appendFormat("keyboard=%d", dtohs(keyboard));
break;
}
}
if ((inputFlags&MASK_NAVHIDDEN) != 0) {
if (res.size() > 0) res.append("-");
switch (inputFlags&MASK_NAVHIDDEN) {
case ResTable_config::NAVHIDDEN_NO:
res.append("navexposed");
break;
case ResTable_config::NAVHIDDEN_YES:
res.append("navhidden");
break;
default:
res.appendFormat("inputFlagsNavHidden=%d",
dtohs(inputFlags&MASK_NAVHIDDEN));
break;
}
}
if (navigation != NAVIGATION_ANY) {
if (res.size() > 0) res.append("-");
switch (navigation) {
case ResTable_config::NAVIGATION_NONAV:
res.append("nonav");
break;
case ResTable_config::NAVIGATION_DPAD:
res.append("dpad");
break;
case ResTable_config::NAVIGATION_TRACKBALL:
res.append("trackball");
break;
case ResTable_config::NAVIGATION_WHEEL:
res.append("wheel");
break;
default:
res.appendFormat("navigation=%d", dtohs(navigation));
break;
}
}
if (screenSize != 0) {
if (res.size() > 0) res.append("-");
res.appendFormat("%dx%d", dtohs(screenWidth), dtohs(screenHeight));
}
if (version != 0) {
if (res.size() > 0) res.append("-");
res.appendFormat("v%d", dtohs(sdkVersion));
if (minorVersion != 0) {
res.appendFormat(".%d", dtohs(minorVersion));
}
}
return res;
}