summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java6
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 );
}