1#!/bin/bash
2if [ -z "$ANDROID_PRODUCT_OUT" ]; then
3    echo "ANDROID_PRODUCT_OUT not set"
4    exit
5fi
6DISP_ID=1
7if [[ $# -eq 1 ]]; then
8  echo "$1"
9  DISP_ID=$1
10fi
11echo "Use display:$DISP_ID"
12
13adb root
14# Check always crashing one
15echo "Start AlwaysCrashingActivity in fixed mode"
16adb shell dumpsys car_service start-fixed-activity-mode $DISP_ID com.google.android.car.kitchensink com.google.android.car.kitchensink.AlwaysCrashingActivity
17sleep 1
18read -p "AlwaysCrashingAvtivity should not be tried any more. Press Enter"
19# package update
20echo "Will try package update:"
21adb install -r -g $ANDROID_PRODUCT_OUT/system/priv-app/EmbeddedKitchenSinkApp/EmbeddedKitchenSinkApp.apk
22read -p "AlwaysCrashingAvtivity should have been retried. Press Enter"
23# suspend-resume
24echo "Check retry for suspend - resume"
25adb shell setprop android.car.garagemodeduration 1
26adb shell dumpsys car_service suspend
27adb shell dumpsys car_service resume
28read -p "AlwaysCrashingAvtivity should have been retried. Press Enter"
29# starting other Activity
30echo "Switch to no crash Activity"
31adb shell dumpsys car_service start-fixed-activity-mode $DISP_ID com.google.android.car.kitchensink com.google.android.car.kitchensink.NoCrashActivity
32read -p "NoCrashAvtivity should have been shown. Press Enter"
33# stating other non-fixed Activity
34adb shell am start-activity --display $DISP_ID -n com.google.android.car.kitchensink/.EmptyActivity
35read -p "NoCrashAvtivity should be shown after showing EmptyActivity. Press Enter"
36# package update
37echo "Will try package update:"
38adb install -r -g $ANDROID_PRODUCT_OUT/system/priv-app/EmbeddedKitchenSinkApp/EmbeddedKitchenSinkApp.apk
39read -p "NoCrashActivity should be shown. Press Enter"
40# stop the mode
41echo "Stop fixed activity mode"
42adb shell dumpsys car_service stop-fixed-activity-mode $DISP_ID
43adb shell am start-activity --display $DISP_ID -n com.google.android.car.kitchensink/.EmptyActivity
44read -p "EmptyActivity should be shown. Press Enter"
45