src/share/classes/java/util/TimeZone.java
Print this page
@@ -726,16 +726,17 @@
* This works around a build time issue.
*/
private static TimeZone getDefaultInAppContext() {
// JavaAWTAccess provides access implementation-private methods without using reflection.
JavaAWTAccess javaAWTAccess = SharedSecrets.getJavaAWTAccess();
- if (javaAWTAccess == null) {
+ if (System.getSecurityManager() == null || javaAWTAccess == null) {
return mainAppContextDefault;
+ } else if (javaAWTAccess != null) {
+ if (javaAWTAccess.isDisposed()) {
+ return null;
} else {
- if (!javaAWTAccess.isDisposed()) {
- TimeZone tz = (TimeZone)
- javaAWTAccess.get(TimeZone.class);
+ TimeZone tz = (TimeZone) javaAWTAccess.get(TimeZone.class);
if (tz == null && javaAWTAccess.isMainAppContext()) {
return mainAppContextDefault;
} else {
return tz;
}
@@ -756,20 +757,18 @@
* This works around a build time issue.
*/
private static void setDefaultInAppContext(TimeZone tz) {
// JavaAWTAccess provides access implementation-private methods without using reflection.
JavaAWTAccess javaAWTAccess = SharedSecrets.getJavaAWTAccess();
- if (javaAWTAccess == null) {
+ if (System.getSecurityManager() == null || javaAWTAccess == null) {
mainAppContextDefault = tz;
- } else {
- if (!javaAWTAccess.isDisposed()) {
+ } else if (javaAWTAccess != null && !javaAWTAccess.isDisposed()) {
javaAWTAccess.put(TimeZone.class, tz);
if (javaAWTAccess.isMainAppContext()) {
mainAppContextDefault = null;
}
}
- }
}
/**
* Returns true if this zone has the same rule and offset as another zone.
* That is, if this zone differs only in ID, if at all. Returns false