Merge "Add auto-doc support for @StringDef."

This commit is contained in:
Jeff Sharkey
2017-12-11 16:47:13 +00:00
committed by Android (Google) Code Review
11 changed files with 109 additions and 43 deletions

View File

@@ -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 */
int[] value() default {};

View File

@@ -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 {};
}

View File

@@ -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.

View File

@@ -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 {}
/**

View File

@@ -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,

View File

@@ -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 {}

View File

@@ -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. */

View File

@@ -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)

View File

@@ -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 {}

View File

@@ -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,

View File

@@ -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 {}