diff options
| author | 2017-12-08 17:32:32 -0700 | |
|---|---|---|
| committer | 2017-12-08 17:33:40 -0700 | |
| commit | 5db9a911354271abdc13a2a645d0de7d2619010e (patch) | |
| tree | cca7ffd53bc9355afa36e96124912a7af62fd90e | |
| parent | 6e15c2a89ae9733d2552d9d0a20504a4bdf69c29 (diff) | |
Add auto-doc support for @StringDef.
Behaves pretty much the same as @IntDef, but now supports "suffix"
in addition to "prefix" when matching constants.
Test: manual docs output looks sane
Bug: 70406696
Change-Id: I35064b0f9f36f1f13ccdb40302d818a004014f15
| -rw-r--r-- | core/java/android/annotation/IntDef.java | 4 | ||||
| -rw-r--r-- | core/java/android/annotation/StringDef.java | 5 | ||||
| -rw-r--r-- | core/java/android/app/slice/Slice.java | 20 | ||||
| -rw-r--r-- | core/java/android/app/slice/SliceItem.java | 14 | ||||
| -rw-r--r-- | core/java/android/content/Context.java | 2 | ||||
| -rw-r--r-- | core/java/android/view/textclassifier/TextClassifier.java | 9 | ||||
| -rw-r--r-- | keystore/java/android/security/keystore/KeyProperties.java | 34 | ||||
| -rw-r--r-- | media/java/android/media/MediaDrm.java | 4 | ||||
| -rw-r--r-- | media/java/android/media/MediaMetadata.java | 47 | ||||
| -rw-r--r-- | media/java/android/media/tv/TvContract.java | 8 | ||||
| -rw-r--r-- | telephony/java/android/telephony/SmsMessage.java | 5 |
11 files changed, 109 insertions, 43 deletions
diff --git a/core/java/android/annotation/IntDef.java b/core/java/android/annotation/IntDef.java index 3f9064e4dd73..b49b2c3e2795 100644 --- a/core/java/android/annotation/IntDef.java +++ b/core/java/android/annotation/IntDef.java @@ -52,7 +52,9 @@ import static java.lang.annotation.RetentionPolicy.SOURCE; @Target({ANNOTATION_TYPE}) public @interface IntDef { /** Defines the constant prefix for this element */ - String[] prefix() default ""; + String[] prefix() default {}; + /** Defines the constant suffix for this element */ + String[] suffix() default {}; /** Defines the allowed constants for this element */ long[] value() default {}; diff --git a/core/java/android/annotation/StringDef.java b/core/java/android/annotation/StringDef.java index d5157c3a1562..a37535b9c98e 100644 --- a/core/java/android/annotation/StringDef.java +++ b/core/java/android/annotation/StringDef.java @@ -46,6 +46,11 @@ import static java.lang.annotation.RetentionPolicy.SOURCE; @Retention(SOURCE) @Target({ANNOTATION_TYPE}) public @interface StringDef { + /** Defines the constant prefix for this element */ + String[] prefix() default {}; + /** Defines the constant suffix for this element */ + String[] suffix() default {}; + /** Defines the allowed constants for this element */ String[] value() default {}; } diff --git a/core/java/android/app/slice/Slice.java b/core/java/android/app/slice/Slice.java index ddc5760a6b3d..807c47d311ff 100644 --- a/core/java/android/app/slice/Slice.java +++ b/core/java/android/app/slice/Slice.java @@ -37,6 +37,8 @@ import android.os.RemoteException; import com.android.internal.util.ArrayUtils; import com.android.internal.util.Preconditions; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -53,9 +55,21 @@ public final class Slice implements Parcelable { /** * @hide */ - @StringDef({HINT_TITLE, HINT_LIST, HINT_LIST_ITEM, HINT_LARGE, HINT_ACTIONS, HINT_SELECTED, - HINT_NO_TINT, HINT_PARTIAL}) - public @interface SliceHint{ } + @StringDef(prefix = { "HINT_" }, value = { + HINT_TITLE, + HINT_LIST, + HINT_LIST_ITEM, + HINT_LARGE, + HINT_ACTIONS, + HINT_SELECTED, + HINT_NO_TINT, + HINT_HIDDEN, + HINT_TOGGLE, + HINT_HORIZONTAL, + HINT_PARTIAL, + }) + @Retention(RetentionPolicy.SOURCE) + public @interface SliceHint {} /** * The meta-data key that allows an activity to easily be linked directly to a slice. diff --git a/core/java/android/app/slice/SliceItem.java b/core/java/android/app/slice/SliceItem.java index cdeee3575756..743d6b7945e5 100644 --- a/core/java/android/app/slice/SliceItem.java +++ b/core/java/android/app/slice/SliceItem.java @@ -29,6 +29,8 @@ import android.widget.RemoteViews; import com.android.internal.util.ArrayUtils; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.util.Arrays; import java.util.List; @@ -55,8 +57,16 @@ public final class SliceItem implements Parcelable { /** * @hide */ - @StringDef({FORMAT_SLICE, FORMAT_TEXT, FORMAT_IMAGE, FORMAT_ACTION, FORMAT_COLOR, - FORMAT_TIMESTAMP, FORMAT_REMOTE_INPUT}) + @StringDef(prefix = { "FORMAT_" }, value = { + FORMAT_SLICE, + FORMAT_TEXT, + FORMAT_IMAGE, + FORMAT_ACTION, + FORMAT_COLOR, + FORMAT_TIMESTAMP, + FORMAT_REMOTE_INPUT, + }) + @Retention(RetentionPolicy.SOURCE) public @interface SliceType {} /** diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java index 9800ab0041b7..8ebe38521a15 100644 --- a/core/java/android/content/Context.java +++ b/core/java/android/content/Context.java @@ -2913,7 +2913,7 @@ public abstract class Context { @Nullable String profileFile, @Nullable Bundle arguments); /** @hide */ - @StringDef({ + @StringDef(suffix = { "_SERVICE" }, value = { POWER_SERVICE, WINDOW_SERVICE, LAYOUT_INFLATER_SERVICE, diff --git a/core/java/android/view/textclassifier/TextClassifier.java b/core/java/android/view/textclassifier/TextClassifier.java index f4cbc54b452b..fdc9f92347db 100644 --- a/core/java/android/view/textclassifier/TextClassifier.java +++ b/core/java/android/view/textclassifier/TextClassifier.java @@ -48,8 +48,13 @@ public interface TextClassifier { /** @hide */ @Retention(RetentionPolicy.SOURCE) - @StringDef({ - TYPE_UNKNOWN, TYPE_OTHER, TYPE_EMAIL, TYPE_PHONE, TYPE_ADDRESS, TYPE_URL + @StringDef(prefix = { "TYPE_" }, value = { + TYPE_UNKNOWN, + TYPE_OTHER, + TYPE_EMAIL, + TYPE_PHONE, + TYPE_ADDRESS, + TYPE_URL, }) @interface EntityType {} diff --git a/keystore/java/android/security/keystore/KeyProperties.java b/keystore/java/android/security/keystore/KeyProperties.java index d6b1cf1da8a2..a250d1f01ba1 100644 --- a/keystore/java/android/security/keystore/KeyProperties.java +++ b/keystore/java/android/security/keystore/KeyProperties.java @@ -39,13 +39,12 @@ public abstract class KeyProperties { * @hide */ @Retention(RetentionPolicy.SOURCE) - @IntDef(flag = true, - value = { - PURPOSE_ENCRYPT, - PURPOSE_DECRYPT, - PURPOSE_SIGN, - PURPOSE_VERIFY, - }) + @IntDef(flag = true, prefix = { "PURPOSE_" }, value = { + PURPOSE_ENCRYPT, + PURPOSE_DECRYPT, + PURPOSE_SIGN, + PURPOSE_VERIFY, + }) public @interface PurposeEnum {} /** @@ -126,7 +125,7 @@ public abstract class KeyProperties { * @hide */ @Retention(RetentionPolicy.SOURCE) - @StringDef({ + @StringDef(prefix = { "KEY_" }, value = { KEY_ALGORITHM_RSA, KEY_ALGORITHM_EC, KEY_ALGORITHM_AES, @@ -267,7 +266,7 @@ public abstract class KeyProperties { * @hide */ @Retention(RetentionPolicy.SOURCE) - @StringDef({ + @StringDef(prefix = { "BLOCK_MODE_" }, value = { BLOCK_MODE_ECB, BLOCK_MODE_CBC, BLOCK_MODE_CTR, @@ -354,7 +353,7 @@ public abstract class KeyProperties { * @hide */ @Retention(RetentionPolicy.SOURCE) - @StringDef({ + @StringDef(prefix = { "ENCRYPTION_PADDING_" }, value = { ENCRYPTION_PADDING_NONE, ENCRYPTION_PADDING_PKCS7, ENCRYPTION_PADDING_RSA_PKCS1, @@ -437,7 +436,7 @@ public abstract class KeyProperties { * @hide */ @Retention(RetentionPolicy.SOURCE) - @StringDef({ + @StringDef(prefix = { "SIGNATURE_PADDING_" }, value = { SIGNATURE_PADDING_RSA_PKCS1, SIGNATURE_PADDING_RSA_PSS, }) @@ -497,7 +496,7 @@ public abstract class KeyProperties { * @hide */ @Retention(RetentionPolicy.SOURCE) - @StringDef({ + @StringDef(prefix = { "DIGEST_" }, value = { DIGEST_NONE, DIGEST_MD5, DIGEST_SHA1, @@ -647,11 +646,12 @@ public abstract class KeyProperties { * @hide */ @Retention(RetentionPolicy.SOURCE) - @IntDef({ - ORIGIN_GENERATED, - ORIGIN_IMPORTED, - ORIGIN_UNKNOWN, - }) + @IntDef(prefix = { "ORIGIN_" }, value = { + ORIGIN_GENERATED, + ORIGIN_IMPORTED, + ORIGIN_UNKNOWN, + }) + public @interface OriginEnum {} /** Key was generated inside AndroidKeyStore. */ diff --git a/media/java/android/media/MediaDrm.java b/media/java/android/media/MediaDrm.java index 12e5744d2035..e2f9b47ed482 100644 --- a/media/java/android/media/MediaDrm.java +++ b/media/java/android/media/MediaDrm.java @@ -977,7 +977,7 @@ public final class MediaDrm { public static final String PROPERTY_ALGORITHMS = "algorithms"; /** @hide */ - @StringDef({ + @StringDef(prefix = { "PROPERTY_" }, value = { PROPERTY_VENDOR, PROPERTY_VERSION, PROPERTY_DESCRIPTION, @@ -1010,7 +1010,7 @@ public final class MediaDrm { public static final String PROPERTY_DEVICE_UNIQUE_ID = "deviceUniqueId"; /** @hide */ - @StringDef({ + @StringDef(prefix = { "PROPERTY_" }, value = { PROPERTY_DEVICE_UNIQUE_ID, }) @Retention(RetentionPolicy.SOURCE) diff --git a/media/java/android/media/MediaMetadata.java b/media/java/android/media/MediaMetadata.java index 31eb948dcd09..94d4d55639dc 100644 --- a/media/java/android/media/MediaMetadata.java +++ b/media/java/android/media/MediaMetadata.java @@ -45,34 +45,61 @@ public final class MediaMetadata implements Parcelable { /** * @hide */ - @StringDef({METADATA_KEY_TITLE, METADATA_KEY_ARTIST, METADATA_KEY_ALBUM, METADATA_KEY_AUTHOR, - METADATA_KEY_WRITER, METADATA_KEY_COMPOSER, METADATA_KEY_COMPILATION, - METADATA_KEY_DATE, METADATA_KEY_GENRE, METADATA_KEY_ALBUM_ARTIST, METADATA_KEY_ART_URI, - METADATA_KEY_ALBUM_ART_URI, METADATA_KEY_DISPLAY_TITLE, METADATA_KEY_DISPLAY_SUBTITLE, - METADATA_KEY_DISPLAY_DESCRIPTION, METADATA_KEY_DISPLAY_ICON_URI, - METADATA_KEY_MEDIA_ID, METADATA_KEY_MEDIA_URI}) + @StringDef(prefix = { "METADATA_KEY_" }, value = { + METADATA_KEY_TITLE, + METADATA_KEY_ARTIST, + METADATA_KEY_ALBUM, + METADATA_KEY_AUTHOR, + METADATA_KEY_WRITER, + METADATA_KEY_COMPOSER, + METADATA_KEY_COMPILATION, + METADATA_KEY_DATE, + METADATA_KEY_GENRE, + METADATA_KEY_ALBUM_ARTIST, + METADATA_KEY_ART_URI, + METADATA_KEY_ALBUM_ART_URI, + METADATA_KEY_DISPLAY_TITLE, + METADATA_KEY_DISPLAY_SUBTITLE, + METADATA_KEY_DISPLAY_DESCRIPTION, + METADATA_KEY_DISPLAY_ICON_URI, + METADATA_KEY_MEDIA_ID, + METADATA_KEY_MEDIA_URI, + }) @Retention(RetentionPolicy.SOURCE) public @interface TextKey {} /** * @hide */ - @StringDef({METADATA_KEY_DURATION, METADATA_KEY_YEAR, METADATA_KEY_TRACK_NUMBER, - METADATA_KEY_NUM_TRACKS, METADATA_KEY_DISC_NUMBER, METADATA_KEY_BT_FOLDER_TYPE}) + @StringDef(prefix = { "METADATA_KEY_" }, value = { + METADATA_KEY_DURATION, + METADATA_KEY_YEAR, + METADATA_KEY_TRACK_NUMBER, + METADATA_KEY_NUM_TRACKS, + METADATA_KEY_DISC_NUMBER, + METADATA_KEY_BT_FOLDER_TYPE, + }) @Retention(RetentionPolicy.SOURCE) public @interface LongKey {} /** * @hide */ - @StringDef({METADATA_KEY_ART, METADATA_KEY_ALBUM_ART, METADATA_KEY_DISPLAY_ICON}) + @StringDef(prefix = { "METADATA_KEY_" }, value = { + METADATA_KEY_ART, + METADATA_KEY_ALBUM_ART, + METADATA_KEY_DISPLAY_ICON, + }) @Retention(RetentionPolicy.SOURCE) public @interface BitmapKey {} /** * @hide */ - @StringDef({METADATA_KEY_USER_RATING, METADATA_KEY_RATING}) + @StringDef(prefix = { "METADATA_KEY_" }, value = { + METADATA_KEY_USER_RATING, + METADATA_KEY_RATING, + }) @Retention(RetentionPolicy.SOURCE) public @interface RatingKey {} diff --git a/media/java/android/media/tv/TvContract.java b/media/java/android/media/tv/TvContract.java index 0f4609603eab..3bbc2c4e2304 100644 --- a/media/java/android/media/tv/TvContract.java +++ b/media/java/android/media/tv/TvContract.java @@ -1650,7 +1650,7 @@ public final class TvContract { public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/channel"; /** @hide */ - @StringDef({ + @StringDef(prefix = { "TYPE_" }, value = { TYPE_OTHER, TYPE_NTSC, TYPE_PAL, @@ -1863,7 +1863,7 @@ public final class TvContract { public static final String TYPE_PREVIEW = "TYPE_PREVIEW"; /** @hide */ - @StringDef({ + @StringDef(prefix = { "SERVICE_TYPE_" }, value = { SERVICE_TYPE_OTHER, SERVICE_TYPE_AUDIO_VIDEO, SERVICE_TYPE_AUDIO, @@ -1881,7 +1881,7 @@ public final class TvContract { public static final String SERVICE_TYPE_AUDIO = "SERVICE_TYPE_AUDIO"; /** @hide */ - @StringDef({ + @StringDef(prefix = { "VIDEO_FORMAT_" }, value = { VIDEO_FORMAT_240P, VIDEO_FORMAT_360P, VIDEO_FORMAT_480I, @@ -1930,7 +1930,7 @@ public final class TvContract { public static final String VIDEO_FORMAT_4320P = "VIDEO_FORMAT_4320P"; /** @hide */ - @StringDef({ + @StringDef(prefix = { "VIDEO_RESOLUTION_" }, value = { VIDEO_RESOLUTION_SD, VIDEO_RESOLUTION_ED, VIDEO_RESOLUTION_HD, diff --git a/telephony/java/android/telephony/SmsMessage.java b/telephony/java/android/telephony/SmsMessage.java index a5d67c60e40b..dd2a6df2420e 100644 --- a/telephony/java/android/telephony/SmsMessage.java +++ b/telephony/java/android/telephony/SmsMessage.java @@ -83,7 +83,10 @@ public class SmsMessage { public static final int MAX_USER_DATA_SEPTETS_WITH_HEADER = 153; /** @hide */ - @StringDef({FORMAT_3GPP, FORMAT_3GPP2}) + @StringDef(prefix = { "FORMAT_" }, value = { + FORMAT_3GPP, + FORMAT_3GPP2 + }) @Retention(RetentionPolicy.SOURCE) public @interface Format {} |