1 /*
2  * Copyright (C) 2023 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.health.connect;
18 
19 import static com.android.healthfitness.flags.Flags.FLAG_MINDFULNESS;
20 
21 import android.annotation.FlaggedApi;
22 import android.annotation.IntDef;
23 import android.annotation.SystemApi;
24 import android.health.connect.datatypes.Record;
25 
26 import java.lang.annotation.Retention;
27 import java.lang.annotation.RetentionPolicy;
28 
29 /**
30  * Represents DataCategory for a {@link Record}. A record can only belong to one and only one {@link
31  * HealthDataCategory}.
32  *
33  * @hide
34  */
35 @SystemApi
36 public class HealthDataCategory {
37     public static final int UNKNOWN = 0;
38     public static final int ACTIVITY = 1;
39     public static final int BODY_MEASUREMENTS = 2;
40     public static final int CYCLE_TRACKING = 3;
41     public static final int NUTRITION = 4;
42     public static final int SLEEP = 5;
43     public static final int VITALS = 6;
44 
45     @FlaggedApi(FLAG_MINDFULNESS)
46     public static final int WELLNESS = 7;
47 
HealthDataCategory()48     private HealthDataCategory() {}
49 
50     /** @hide */
51     @IntDef({
52         UNKNOWN,
53         ACTIVITY,
54         BODY_MEASUREMENTS,
55         CYCLE_TRACKING,
56         NUTRITION,
57         SLEEP,
58         VITALS,
59         WELLNESS
60     })
61     @Retention(RetentionPolicy.SOURCE)
62     public @interface Type {}
63 }
64