diff options
| author | Jiyong Park <jiyong@google.com> | 2019-12-06 16:28:52 +0900 |
|---|---|---|
| committer | Jiyong Park <jiyong@google.com> | 2019-12-06 16:28:52 +0900 |
| commit | 404b9b2cf2dfe15ee1b9e4bd16ade7362d7cd648 (patch) | |
| tree | 7ae240fc6ec50c9bf591635760f90002485a4fad /core/java/android/annotation/Hide.java | |
| parent | 1403ee3ad54833761da7ea5f72ffef70fa340c88 (diff) | |
Add android.annotation.Hide
This change adds android.annotation.Hide class which can be used
to hide an API without using the @hide javadoc tag. This opens up the
possibility of running metalava over the compiled jar, which is expected
to be much faster than when ran with source files.
In the short-term, this will be only used inside services.jar and not for
framework.jar.
Bug: 139391334
Test: m
Change-Id: I589f1deb63e621a96a76d2f613d283c2d3cdfd17
Diffstat (limited to 'core/java/android/annotation/Hide.java')
| -rw-r--r-- | core/java/android/annotation/Hide.java | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/core/java/android/annotation/Hide.java b/core/java/android/annotation/Hide.java new file mode 100644 index 000000000000..c8e5a4a97ae7 --- /dev/null +++ b/core/java/android/annotation/Hide.java @@ -0,0 +1,41 @@ +/* + * 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.annotation; + +import static java.lang.annotation.ElementType.ANNOTATION_TYPE; +import static java.lang.annotation.ElementType.CONSTRUCTOR; +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.ElementType.METHOD; +import static java.lang.annotation.ElementType.PACKAGE; +import static java.lang.annotation.ElementType.TYPE; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Indicates that an API is hidden by default, in a similar fashion to the + * <pre>@hide</pre> javadoc tag. + * + * <p>Note that, in order for this to work, metalava has to be invoked with + * the flag {@code --hide-annotation android.annotation.Hide}. + * @hide + */ +@Target({TYPE, FIELD, METHOD, CONSTRUCTOR, ANNOTATION_TYPE, PACKAGE}) +@Retention(RetentionPolicy.CLASS) +public @interface Hide { +} |
