blob: 6c203b31ff781c05c0f1ede64c695e98ebb134ea [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* Copyright (C) 2016 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package java.lang;
import java.util.Properties;
/**
* A class encoding all hardcoded system property values on Android. A compiler may
* take advantage of these properties. Changing them at load-time (-D) or runtime
* may not have any effect.
*
* @hide
*/
public final class AndroidHardcodedSystemProperties {
// This value is shared with sun.misc.Version. It is defined here so that the compiler
// can use it.
public final static String JAVA_VERSION = "0";
final static String[][] STATIC_PROPERTIES = {
// None of these four are meaningful on Android, but these keys are guaranteed
// to be present for System.getProperty. For java.class.version, we use the maximum
// class file version that dx currently supports.
{ "java.class.version", "50.0" },
{ "java.version", JAVA_VERSION },
{ "java.compiler", "" },
{ "java.ext.dirs", "" },
{ "java.specification.name", "Dalvik Core Library" },
{ "java.specification.vendor", "The Android Project" },
{ "java.specification.version", "0.9" },
{ "java.vendor", "The Android Project" },
{ "java.vendor.url", "http://www.android.com/" },
{ "java.vm.name", "Dalvik" },
{ "java.vm.specification.name", "Dalvik Virtual Machine Specification" },
{ "java.vm.specification.vendor", "The Android Project" },
{ "java.vm.specification.version", "0.9" },
{ "java.vm.vendor", "The Android Project" },
{ "java.vm.vendor.url", "http://www.android.com/" },
{ "java.net.preferIPv6Addresses", "false" },
{ "file.encoding", "UTF-8" },
{ "file.separator", "/" },
{ "line.separator", "\n" },
{ "path.separator", ":" },
// Turn off ICU debugging. This allows compile-time initialization of a range of
// classes. b/28039175
{ "ICUDebug", null },
// Hardcode "sun.io.useCanonCaches" to use the default (on). b/28174137
{ "sun.io.useCanonCaches", null },
{ "sun.io.useCanonPrefixCache", null },
// Hardcode some http properties to use the default. b/28174137
{ "http.keepAlive", null },
{ "http.keepAliveDuration", null },
{ "http.maxConnections", null },
};
}