#!/system/bin/sh
# Do not allow bugreports on user builds unless USB debugging
# is enabled.
if [ "x$(getprop ro.build.type)" = "xuser" -a \
"x$(getprop init.svc.adbd)" != "xrunning" ]; then
exit 0
fi
timestamp=`date +'%Y-%m-%d-%H-%M-%S'`
storagePath="$EXTERNAL_STORAGE/bugreports"
bugreport=$storagePath/bugreport-$timestamp
screenshotPath="$EXTERNAL_STORAGE/Pictures/Screenshots"
screenshot=$screenshotPath/Screenshot_$timestamp.png
# check screen shot folder
if [ ! -e $screenshotPath ]; then
mkdir $screenshotPath
fi
# take screen shot
# we run this as a bg job in case screencap is stuck
/system/bin/screencap -p $screenshot &
# run bugreport
/system/bin/dumpstate -o $bugreport $@
# make files readable
chown root.sdcard_rw $bugreport.txt
chown root.sdcard_rw $screenshot
# invoke send_bug to look up email accounts and fire intents
# make it convenient to send bugreport to oneself
/system/bin/send_bug $bugreport.txt $screenshot