@@ -937,7 +937,7 @@ adb_framework_ready_once() {
937937 local last_log=$SECONDS
938938
939939 while [ $SECONDS -lt $deadline ]; do
940- local boot_ok dev_boot system_pid pm_ok service_ok cmd_ok resolve_ok service_status
940+ local boot_ok dev_boot system_pid pm_ok pm_list_ok service_ok cmd_ok activity_ok resolve_ok service_status
941941 boot_ok=" $( $ADB_BIN -s " $serial " shell getprop sys.boot_completed 2> /dev/null | tr -d ' \r' ) "
942942 dev_boot=" $( $ADB_BIN -s " $serial " shell getprop dev.bootcomplete 2> /dev/null | tr -d ' \r' ) "
943943 system_pid=" $( run_with_timeout " $per_try " " $ADB_BIN " -s " $serial " shell pidof system_server 2> /dev/null | tr -d ' \r' || true) "
@@ -947,6 +947,11 @@ adb_framework_ready_once() {
947947 pm_ok=1
948948 fi
949949
950+ pm_list_ok=0
951+ if run_with_timeout " $per_try " " $ADB_BIN " -s " $serial " shell pm list packages -f > /dev/null 2>&1 ; then
952+ pm_list_ok=1
953+ fi
954+
950955 cmd_ok=0
951956 if run_with_timeout " $per_try " " $ADB_BIN " -s " $serial " shell cmd -l > /dev/null 2>&1 ; then
952957 cmd_ok=1
@@ -958,21 +963,26 @@ adb_framework_ready_once() {
958963 resolve_ok=1
959964 fi
960965
966+ activity_ok=0
967+ if run_with_timeout " $per_try " " $ADB_BIN " -s " $serial " shell cmd activity top > /dev/null 2>&1 ; then
968+ activity_ok=1
969+ fi
970+
961971 service_ok=0
962972 service_status=" $( run_with_timeout " $per_try " " $ADB_BIN " -s " $serial " shell service check package 2> /dev/null | tr -d ' \r' || true) "
963973 if [ -n " $service_status " ] && printf ' %s' " $service_status " | grep -q " found" ; then
964974 service_ok=1
965975 fi
966976
967977 if [ " $boot_ok " = " 1" ] && [ " $dev_boot " = " 1" ] && [ -n " $system_pid " ] \
968- && [ $pm_ok -eq 1 ] && [ $cmd_ok -eq 1 ] && [ $resolve_ok -eq 1 ] \
969- && [ $service_ok -eq 1 ]; then
978+ && [ $pm_ok -eq 1 ] && [ $pm_list_ok -eq 1 ] && [ $cmd_ok -eq 1 ] \
979+ && [ $activity_ok -eq 1 ] && [ $resolve_ok -eq 1 ] && [ $ service_ok -eq 1 ]; then
970980 ba_log " Android framework ready on $serial (system_server=$system_pid )"
971981 return 0
972982 fi
973983
974984 if [ $(( SECONDS - last_log)) -ge $log_interval ]; then
975- ba_log " Waiting for Android framework on $serial (system_server=${system_pid:- down} boot_ok=${boot_ok:- ?} /${dev_boot:- ?} pm_ready=$pm_ok cmd_ready=$cmd_ok package_service_ready=$service_ok resolve_ready=$resolve_ok )"
985+ ba_log " Waiting for Android framework on $serial (system_server=${system_pid:- down} boot_ok=${boot_ok:- ?} /${dev_boot:- ?} pm_ready=$pm_ok pm_list_ready= $pm_list_ok cmd_ready=$cmd_ok activity_ready= $activity_ok package_service_ready=$service_ok resolve_ready=$resolve_ok )"
976986 last_log=$SECONDS
977987 fi
978988 sleep 2
0 commit comments