diff options
-rw-r--r-- | telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java index 21167a9..8e31e5a 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java @@ -1356,8 +1356,10 @@ final class GsmServiceStateTracker extends ServiceStateTracker { // As a special extension, the Android emulator appends the name of // the host computer's timezone to the nitz string. this is zoneinfo // timezone name of the form Area!Location or Area!Location!SubLocation - // so we need to convert the ! into / - if (nitzSubs.length >= 9) { + // so we need to convert the ! into /. If there's no "!", then maybe + // the carrier is appending something extra (as AT&T does) and it + // should be ignored + if ((nitzSubs.length >= 9) && (nitzSubs[8].indexOf('!') != -1)) { String tzname = nitzSubs[8].replace('!','/'); zone = TimeZone.getTimeZone( tzname ); } |