Loading Android.bp +6 −0 Original line number Diff line number Diff line Loading @@ -577,6 +577,12 @@ filegroup { ], } java_library { name: "framework-annotations-lib", srcs: [ ":framework-annotations" ], sdk_version: "current", } filegroup { name: "framework-networkstack-shared-srcs", srcs: [ Loading apex/sdkext/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ apex { name: "com.android.sdkext", manifest: "manifest.json", java_libs: [ "framework-sdkext" ], key: "com.android.sdkext.key", certificate: ":com.android.sdkext.certificate", } Loading apex/sdkext/framework/Android.bp +9 −0 Original line number Diff line number Diff line Loading @@ -19,3 +19,12 @@ filegroup { ], path: "java", } java_library { name: "framework-sdkext", srcs: [ ":framework-sdkext-sources" ], sdk_version: "system_current", libs: [ "framework-annotations-lib" ], permitted_packages: [ "android.os.ext" ], installable: true, } apex/sdkext/framework/java/android/os/ext/SdkExtensions.java 0 → 100644 +53 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 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 android.os.ext; import android.annotation.IntDef; import android.os.Build.VERSION_CODES; import android.os.SystemProperties; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; /** @hide */ public class SdkExtensions { private static final int R_EXTENSION_INT; static { R_EXTENSION_INT = SystemProperties.getInt("persist.com.android.sdkext.sdk_info", 0); } /** Values suitable as parameters for {@link #getExtensionVersion(int)}. */ @IntDef(value = { VERSION_CODES.R }) @Retention(RetentionPolicy.SOURCE) public @interface SdkVersion {} /** * Return the version of the extension to the given SDK. * * @param sdk the SDK version to get the extension version of. * @see SdkVersion * @throws IllegalArgumentException if sdk is not an sdk version with extensions */ public static int getExtensionVersion(@SdkVersion int sdk) { if (sdk < VERSION_CODES.R) { throw new IllegalArgumentException(); } return R_EXTENSION_INT; } } apex/sdkext/framework/java/android/os/ext/package.html 0 → 100644 +5 −0 Original line number Diff line number Diff line <HTML> <BODY> Provides APIs to interface with the SDK extensions. </BODY> </HTML> Loading
Android.bp +6 −0 Original line number Diff line number Diff line Loading @@ -577,6 +577,12 @@ filegroup { ], } java_library { name: "framework-annotations-lib", srcs: [ ":framework-annotations" ], sdk_version: "current", } filegroup { name: "framework-networkstack-shared-srcs", srcs: [ Loading
apex/sdkext/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ apex { name: "com.android.sdkext", manifest: "manifest.json", java_libs: [ "framework-sdkext" ], key: "com.android.sdkext.key", certificate: ":com.android.sdkext.certificate", } Loading
apex/sdkext/framework/Android.bp +9 −0 Original line number Diff line number Diff line Loading @@ -19,3 +19,12 @@ filegroup { ], path: "java", } java_library { name: "framework-sdkext", srcs: [ ":framework-sdkext-sources" ], sdk_version: "system_current", libs: [ "framework-annotations-lib" ], permitted_packages: [ "android.os.ext" ], installable: true, }
apex/sdkext/framework/java/android/os/ext/SdkExtensions.java 0 → 100644 +53 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 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 android.os.ext; import android.annotation.IntDef; import android.os.Build.VERSION_CODES; import android.os.SystemProperties; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; /** @hide */ public class SdkExtensions { private static final int R_EXTENSION_INT; static { R_EXTENSION_INT = SystemProperties.getInt("persist.com.android.sdkext.sdk_info", 0); } /** Values suitable as parameters for {@link #getExtensionVersion(int)}. */ @IntDef(value = { VERSION_CODES.R }) @Retention(RetentionPolicy.SOURCE) public @interface SdkVersion {} /** * Return the version of the extension to the given SDK. * * @param sdk the SDK version to get the extension version of. * @see SdkVersion * @throws IllegalArgumentException if sdk is not an sdk version with extensions */ public static int getExtensionVersion(@SdkVersion int sdk) { if (sdk < VERSION_CODES.R) { throw new IllegalArgumentException(); } return R_EXTENSION_INT; } }
apex/sdkext/framework/java/android/os/ext/package.html 0 → 100644 +5 −0 Original line number Diff line number Diff line <HTML> <BODY> Provides APIs to interface with the SDK extensions. </BODY> </HTML>