Align apk and module is session types validations.

Add missing allowed session to segment entries.

Bug: 276280833
Test: atest ExerciseSessionRecordTest
Change-Id: Idc19b82d6ccabb01196821e9451585addc3576ab
diff --git a/framework/java/android/health/connect/datatypes/validation/ExerciseSessionTypesValidation.java b/framework/java/android/health/connect/datatypes/validation/ExerciseSessionTypesValidation.java
index 9a35b0c..4f18472 100644
--- a/framework/java/android/health/connect/datatypes/validation/ExerciseSessionTypesValidation.java
+++ b/framework/java/android/health/connect/datatypes/validation/ExerciseSessionTypesValidation.java
@@ -18,7 +18,10 @@
 
 import static android.health.connect.datatypes.ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_ARM_CURL;
 import static android.health.connect.datatypes.ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_BACK_EXTENSION;
+import static android.health.connect.datatypes.ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_BALL_SLAM;
+import static android.health.connect.datatypes.ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_BARBELL_SHOULDER_PRESS;
 import static android.health.connect.datatypes.ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_BENCH_PRESS;
+import static android.health.connect.datatypes.ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_BENCH_SIT_UP;
 import static android.health.connect.datatypes.ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_BIKING;
 import static android.health.connect.datatypes.ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_BIKING_STATIONARY;
 import static android.health.connect.datatypes.ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_BURPEE;
@@ -76,7 +79,10 @@
 import static android.health.connect.datatypes.ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_SWIMMING_OTHER;
 import static android.health.connect.datatypes.ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_SWIMMING_POOL;
 import static android.health.connect.datatypes.ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_UNKNOWN;
+import static android.health.connect.datatypes.ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_UPPER_TWIST;
 import static android.health.connect.datatypes.ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_WALKING;
+import static android.health.connect.datatypes.ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_WEIGHTLIFTING;
+import static android.health.connect.datatypes.ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_WHEELCHAIR;
 import static android.health.connect.datatypes.ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_YOGA;
 import static android.health.connect.datatypes.ExerciseSegmentType.isKnownSegmentType;
 import static android.health.connect.datatypes.ExerciseSessionType.EXERCISE_SESSION_TYPE_BIKING;
@@ -87,6 +93,7 @@
 import static android.health.connect.datatypes.ExerciseSessionType.EXERCISE_SESSION_TYPE_EXERCISE_CLASS;
 import static android.health.connect.datatypes.ExerciseSessionType.EXERCISE_SESSION_TYPE_GYMNASTICS;
 import static android.health.connect.datatypes.ExerciseSessionType.EXERCISE_SESSION_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING;
+import static android.health.connect.datatypes.ExerciseSessionType.EXERCISE_SESSION_TYPE_HIKING;
 import static android.health.connect.datatypes.ExerciseSessionType.EXERCISE_SESSION_TYPE_OTHER_WORKOUT;
 import static android.health.connect.datatypes.ExerciseSessionType.EXERCISE_SESSION_TYPE_PILATES;
 import static android.health.connect.datatypes.ExerciseSessionType.EXERCISE_SESSION_TYPE_ROWING_MACHINE;
@@ -100,6 +107,8 @@
 import static android.health.connect.datatypes.ExerciseSessionType.EXERCISE_SESSION_TYPE_UNKNOWN;
 import static android.health.connect.datatypes.ExerciseSessionType.EXERCISE_SESSION_TYPE_WALKING;
 import static android.health.connect.datatypes.ExerciseSessionType.EXERCISE_SESSION_TYPE_WEIGHTLIFTING;
+import static android.health.connect.datatypes.ExerciseSessionType.EXERCISE_SESSION_TYPE_WHEELCHAIR;
+import static android.health.connect.datatypes.ExerciseSessionType.EXERCISE_SESSION_TYPE_YOGA;
 import static android.health.connect.datatypes.ExerciseSessionType.isKnownSessionType;
 
 import android.health.connect.datatypes.ExerciseRoute;
@@ -142,17 +151,28 @@
             Set.of(
                     EXERCISE_SEGMENT_TYPE_ARM_CURL,
                     EXERCISE_SEGMENT_TYPE_BACK_EXTENSION,
+                    EXERCISE_SEGMENT_TYPE_BALL_SLAM,
+                    EXERCISE_SEGMENT_TYPE_BARBELL_SHOULDER_PRESS,
                     EXERCISE_SEGMENT_TYPE_BENCH_PRESS,
+                    EXERCISE_SEGMENT_TYPE_BENCH_SIT_UP,
                     EXERCISE_SEGMENT_TYPE_BURPEE,
                     EXERCISE_SEGMENT_TYPE_CRUNCH,
                     EXERCISE_SEGMENT_TYPE_DEADLIFT,
                     EXERCISE_SEGMENT_TYPE_DOUBLE_ARM_TRICEPS_EXTENSION,
+                    EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_LEFT_ARM,
+                    EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_RIGHT_ARM,
+                    EXERCISE_SEGMENT_TYPE_DUMBBELL_FRONT_RAISE,
+                    EXERCISE_SEGMENT_TYPE_DUMBBELL_LATERAL_RAISE,
                     EXERCISE_SEGMENT_TYPE_DUMBBELL_ROW,
+                    EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_LEFT_ARM,
+                    EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_RIGHT_ARM,
+                    EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_TWO_ARM,
+                    EXERCISE_SEGMENT_TYPE_FORWARD_TWIST,
                     EXERCISE_SEGMENT_TYPE_FRONT_RAISE,
                     EXERCISE_SEGMENT_TYPE_HIP_THRUST,
                     EXERCISE_SEGMENT_TYPE_HULA_HOOP,
-                    EXERCISE_SEGMENT_TYPE_JUMP_ROPE,
                     EXERCISE_SEGMENT_TYPE_JUMPING_JACK,
+                    EXERCISE_SEGMENT_TYPE_JUMP_ROPE,
                     EXERCISE_SEGMENT_TYPE_KETTLEBELL_SWING,
                     EXERCISE_SEGMENT_TYPE_LATERAL_RAISE,
                     EXERCISE_SEGMENT_TYPE_LAT_PULL_DOWN,
@@ -169,14 +189,8 @@
                     EXERCISE_SEGMENT_TYPE_SINGLE_ARM_TRICEPS_EXTENSION,
                     EXERCISE_SEGMENT_TYPE_SIT_UP,
                     EXERCISE_SEGMENT_TYPE_SQUAT,
-                    EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_LEFT_ARM,
-                    EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_RIGHT_ARM,
-                    EXERCISE_SEGMENT_TYPE_DUMBBELL_FRONT_RAISE,
-                    EXERCISE_SEGMENT_TYPE_DUMBBELL_LATERAL_RAISE,
-                    EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_LEFT_ARM,
-                    EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_RIGHT_ARM,
-                    EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_TWO_ARM,
-                    EXERCISE_SEGMENT_TYPE_FORWARD_TWIST);
+                    EXERCISE_SEGMENT_TYPE_UPPER_TWIST,
+                    EXERCISE_SEGMENT_TYPE_WEIGHTLIFTING);
 
     private static final Set<Integer> SWIMMING =
             Set.of(
@@ -192,12 +206,16 @@
     static {
         SESSION_TO_SEGMENT_MAPPING.put(
                 EXERCISE_SESSION_TYPE_BIKING, Set.of(EXERCISE_SEGMENT_TYPE_BIKING));
+
         SESSION_TO_SEGMENT_MAPPING.put(
                 EXERCISE_SESSION_TYPE_BIKING_STATIONARY,
                 Set.of(EXERCISE_SEGMENT_TYPE_BIKING_STATIONARY));
+
         SESSION_TO_SEGMENT_MAPPING.put(EXERCISE_SESSION_TYPE_CALISTHENICS, EXERCISES);
+
         SESSION_TO_SEGMENT_MAPPING.put(
                 EXERCISE_SESSION_TYPE_ELLIPTICAL, Set.of(EXERCISE_SEGMENT_TYPE_ELLIPTICAL));
+
         SESSION_TO_SEGMENT_MAPPING.put(
                 EXERCISE_SESSION_TYPE_EXERCISE_CLASS,
                 Set.of(
@@ -206,23 +224,32 @@
                         EXERCISE_SEGMENT_TYPE_PILATES,
                         EXERCISE_SEGMENT_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING));
         SESSION_TO_SEGMENT_MAPPING.put(EXERCISE_SESSION_TYPE_GYMNASTICS, EXERCISES);
+
         SESSION_TO_SEGMENT_MAPPING.put(
-                EXERCISE_SESSION_TYPE_WALKING, Set.of(EXERCISE_SEGMENT_TYPE_WALKING));
+                EXERCISE_SESSION_TYPE_HIKING,
+                Set.of(EXERCISE_SEGMENT_TYPE_WALKING, EXERCISE_SEGMENT_TYPE_WHEELCHAIR));
+
         SESSION_TO_SEGMENT_MAPPING.put(
                 EXERCISE_SESSION_TYPE_PILATES, Set.of(EXERCISE_SEGMENT_TYPE_PILATES));
+
         SESSION_TO_SEGMENT_MAPPING.put(
                 EXERCISE_SESSION_TYPE_ROWING_MACHINE, Set.of(EXERCISE_SEGMENT_TYPE_ROWING_MACHINE));
+
         SESSION_TO_SEGMENT_MAPPING.put(
                 EXERCISE_SESSION_TYPE_RUNNING,
                 Set.of(EXERCISE_SEGMENT_TYPE_RUNNING, EXERCISE_SEGMENT_TYPE_WALKING));
+
         SESSION_TO_SEGMENT_MAPPING.put(
                 EXERCISE_SESSION_TYPE_RUNNING_TREADMILL,
                 Set.of(EXERCISE_SEGMENT_TYPE_RUNNING_TREADMILL));
+
         SESSION_TO_SEGMENT_MAPPING.put(
                 EXERCISE_SESSION_TYPE_STAIR_CLIMBING, Set.of(EXERCISE_SEGMENT_TYPE_STAIR_CLIMBING));
+
         SESSION_TO_SEGMENT_MAPPING.put(
                 EXERCISE_SESSION_TYPE_STAIR_CLIMBING_MACHINE,
                 Set.of(EXERCISE_SEGMENT_TYPE_STAIR_CLIMBING_MACHINE));
+
         SESSION_TO_SEGMENT_MAPPING.put(EXERCISE_SESSION_TYPE_STRENGTH_TRAINING, EXERCISES);
 
         Set<Integer> openSwimming = new ArraySet<>(SWIMMING);
@@ -232,7 +259,17 @@
         Set<Integer> poolSwimming = new ArraySet<>(SWIMMING);
         poolSwimming.add(EXERCISE_SEGMENT_TYPE_SWIMMING_POOL);
         SESSION_TO_SEGMENT_MAPPING.put(EXERCISE_SESSION_TYPE_SWIMMING_POOL, poolSwimming);
+
+        SESSION_TO_SEGMENT_MAPPING.put(
+                EXERCISE_SESSION_TYPE_WALKING, Set.of(EXERCISE_SEGMENT_TYPE_WALKING));
+
         SESSION_TO_SEGMENT_MAPPING.put(EXERCISE_SESSION_TYPE_WEIGHTLIFTING, EXERCISES);
+
+        SESSION_TO_SEGMENT_MAPPING.put(
+                EXERCISE_SESSION_TYPE_WHEELCHAIR, Set.of(EXERCISE_SEGMENT_TYPE_WHEELCHAIR));
+
+        SESSION_TO_SEGMENT_MAPPING.put(
+                EXERCISE_SESSION_TYPE_YOGA, Set.of(EXERCISE_SEGMENT_TYPE_YOGA));
     }
 
     /**