1*90c8c64dSAndroid Build Coastguard Worker#!/bin/bash 2*90c8c64dSAndroid Build Coastguard Worker 3*90c8c64dSAndroid Build Coastguard Workerif [ "$1" == "-h" ] 4*90c8c64dSAndroid Build Coastguard Workerthen 5*90c8c64dSAndroid Build Coastguard Worker cat <<- EOH 6*90c8c64dSAndroid Build Coastguard Worker Usage: $0 [-p] [folder] 7*90c8c64dSAndroid Build Coastguard Worker -p option prints out unused strings, otherwise a total count is printed 8*90c8c64dSAndroid Build Coastguard Worker folder option causes only that app folder to be scanned, default is to scan all folders onder apps/ 9*90c8c64dSAndroid Build Coastguard Worker EOH 10*90c8c64dSAndroid Build Coastguard Worker exit 11*90c8c64dSAndroid Build Coastguard Workerfi 12*90c8c64dSAndroid Build Coastguard Worker 13*90c8c64dSAndroid Build Coastguard Workershowall=no 14*90c8c64dSAndroid Build Coastguard Workerif [ "$1" == "-p" ] 15*90c8c64dSAndroid Build Coastguard Workerthen 16*90c8c64dSAndroid Build Coastguard Worker showall=yes 17*90c8c64dSAndroid Build Coastguard Worker shift 18*90c8c64dSAndroid Build Coastguard Workerfi 19*90c8c64dSAndroid Build Coastguard Worker 20*90c8c64dSAndroid Build Coastguard Workerapps=$1 21*90c8c64dSAndroid Build Coastguard Workerif [ "$apps" == "" ] 22*90c8c64dSAndroid Build Coastguard Workerthen 23*90c8c64dSAndroid Build Coastguard Worker apps=$ANDROID_BUILD_TOP/packages/apps/* 24*90c8c64dSAndroid Build Coastguard Workerfi 25*90c8c64dSAndroid Build Coastguard Worker 26*90c8c64dSAndroid Build Coastguard Workerfor app in $apps 27*90c8c64dSAndroid Build Coastguard Workerdo 28*90c8c64dSAndroid Build Coastguard Worker if [ -d $app/res ] 29*90c8c64dSAndroid Build Coastguard Worker then 30*90c8c64dSAndroid Build Coastguard Worker pushd $app > /dev/null 31*90c8c64dSAndroid Build Coastguard Worker # Two sed's were needed because the | operator is not supported on the mac 32*90c8c64dSAndroid Build Coastguard Worker for i in $(grep -Rs "\(string\|plurals\) name=" res | sed 's/.*string name=\"//' | sed 's/.*plurals name=\"//'|sed 's/".*$//'|sort -u) 33*90c8c64dSAndroid Build Coastguard Worker do 34*90c8c64dSAndroid Build Coastguard Worker echo $i $(grep -Rws R.plurals.$i\\\|R.string.$i\\\|@string/$i .|wc -l) 35*90c8c64dSAndroid Build Coastguard Worker done | grep ' 0$' | { 36*90c8c64dSAndroid Build Coastguard Worker if [ "$showall" == "yes" ] 37*90c8c64dSAndroid Build Coastguard Worker then 38*90c8c64dSAndroid Build Coastguard Worker echo $app 39*90c8c64dSAndroid Build Coastguard Worker cat 40*90c8c64dSAndroid Build Coastguard Worker else 41*90c8c64dSAndroid Build Coastguard Worker count=$(wc -l) 42*90c8c64dSAndroid Build Coastguard Worker if [ "$count" != "0" ] 43*90c8c64dSAndroid Build Coastguard Worker then 44*90c8c64dSAndroid Build Coastguard Worker echo $app: $count unused strings 45*90c8c64dSAndroid Build Coastguard Worker fi 46*90c8c64dSAndroid Build Coastguard Worker fi 47*90c8c64dSAndroid Build Coastguard Worker } 48*90c8c64dSAndroid Build Coastguard Worker popd $app > /dev/null 49*90c8c64dSAndroid Build Coastguard Worker fi 50*90c8c64dSAndroid Build Coastguard Workerdone 51