rt/emul/compact/src/main/java/java/util/TimeZone.java
changeset 1963 4b7ef2a05eb7
parent 1340 41046f76a76a
     1.1 --- a/rt/emul/compact/src/main/java/java/util/TimeZone.java	Fri Oct 04 12:01:56 2013 +0200
     1.2 +++ b/rt/emul/compact/src/main/java/java/util/TimeZone.java	Fri May 20 06:02:44 2016 +0200
     1.3 @@ -40,9 +40,8 @@
     1.4  
     1.5  import java.io.Serializable;
     1.6  import java.lang.ref.SoftReference;
     1.7 -import java.security.AccessController;
     1.8 -import java.security.PrivilegedAction;
     1.9  import java.util.concurrent.ConcurrentHashMap;
    1.10 +import org.apidesign.bck2brwsr.core.JavaScriptBody;
    1.11  
    1.12  /**
    1.13   * <code>TimeZone</code> represents a time zone offset, and also figures out daylight
    1.14 @@ -617,8 +616,35 @@
    1.15              defaultZone = defaultTimeZone;
    1.16              if (defaultZone == null) {
    1.17                  // Need to initialize the default time zone.
    1.18 -                defaultZone = TimeZone.NO_TIMEZONE;
    1.19 -                assert defaultZone != null;
    1.20 +                defaultZone = new TimeZone() {
    1.21 +                    @Override
    1.22 +                    public int getOffset(int era, int year, int month, int day, int dayOfWeek, int milliseconds) {
    1.23 +                        return getRawOffset();
    1.24 +                    }
    1.25 +
    1.26 +                    @Override
    1.27 +                    public void setRawOffset(int offsetMillis) {
    1.28 +                    }
    1.29 +
    1.30 +                    @Override
    1.31 +                    public int getRawOffset() {
    1.32 +                        int minutesOff = dateTimezoneOffset();
    1.33 +                        return -60 * 1000 * minutesOff;
    1.34 +                    }
    1.35 +
    1.36 +                    @JavaScriptBody(args = {  }, body = "return new Date().getTimezoneOffset();")
    1.37 +                    private native int dateTimezoneOffset();
    1.38 +
    1.39 +                    @Override
    1.40 +                    public boolean useDaylightTime() {
    1.41 +                        return false;
    1.42 +                    }
    1.43 +
    1.44 +                    @Override
    1.45 +                    public boolean inDaylightTime(Date date) {
    1.46 +                        return false;
    1.47 +                    }
    1.48 +                };
    1.49              }
    1.50          }
    1.51          // Don't clone here.