Add support for MNC=00

This adds support for operators with MNC (Mobile Network Code) zero
to add customized resources. For example, it makes it possible to
add a folder called "/res/values-mnc00/" in an application. This will
cause resources in that folder to be used when MNC is zero.
(There is a total of 14 countries that have an operator with MNC
zero.)

Without this fix, the resource framework gets confused, because MNC 0
is normally used when the MNC is undefined (not set).

Bug: 7170488
Change-Id: Icfd39fd0c739216e89446252ea0e7ceba6f002c6
This commit is contained in:
Mattias Petersson
2011-10-07 09:33:52 +02:00
committed by Johan Redestig
parent d547bcec56
commit 1d766b5321
3 changed files with 13 additions and 2 deletions

View File

@@ -7255,6 +7255,7 @@ package android.content.res {
field public static final int KEYBOARD_NOKEYS = 1; // 0x1
field public static final int KEYBOARD_QWERTY = 2; // 0x2
field public static final int KEYBOARD_UNDEFINED = 0; // 0x0
field public static final int MNC_ZERO = 65535; // 0xffff
field public static final int NAVIGATIONHIDDEN_NO = 1; // 0x1
field public static final int NAVIGATIONHIDDEN_UNDEFINED = 0; // 0x0
field public static final int NAVIGATIONHIDDEN_YES = 2; // 0x2

View File

@@ -54,10 +54,17 @@ public final class Configuration implements Parcelable, Comparable<Configuration
/**
* IMSI MNC (Mobile Network Code), corresponding to
* <a href="{@docRoot}guide/topics/resources/providing-resources.html#MccQualifier">mnc</a>
* resource qualifier. 0 if undefined.
* resource qualifier. 0 if undefined. Note that the actual MNC may be 0; in order to check
* for this use the {@link #MNC_ZERO} symbol.
*/
public int mnc;
/**
* Constant used to to represent MNC (Mobile Network Code) zero.
* 0 cannot be used, since it is used to represent an undefined MNC.
*/
public static final int MNC_ZERO = 0xffff;
/**
* Current user preference for the locale, corresponding to
* <a href="{@docRoot}guide/topics/resources/providing-resources.html#LocaleQualifier">locale</a>

View File

@@ -934,6 +934,9 @@ bool AaptGroupEntry::getMncName(const char* name,
if (out) {
out->mnc = atoi(val);
if (out->mnc == 0) {
out->mnc = ACONFIGURATION_MNC_ZERO;
}
}
return true;