152d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project#!/bin/bash 252d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project 352d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectif [ "$1" == "-h" ] 452d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectthen 552d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project cat <<- EOH 652d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project Usage: $0 [-p] [folder] 752d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project -p option prints out unused strings, otherwise a total count is printed 852d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project folder option causes only that app folder to be scanned, default is to scan all folders onder apps/ 952d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project EOH 1052d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project exit 1152d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectfi 1252d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project 1352d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectshowall=no 1452d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectif [ "$1" == "-p" ] 1552d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectthen 1652d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project showall=yes 1752d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project shift 1852d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectfi 1952d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project 2052d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectapps=$1 2152d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectif [ "$apps" == "" ] 2252d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectthen 2352d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project apps=$ANDROID_BUILD_TOP/packages/apps/* 2452d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectfi 2552d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project 2652d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectfor app in $apps 2752d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectdo 2852d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project if [ -d $app/res ] 2952d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project then 3052d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project pushd $app > /dev/null 318d014167ecb6b3d5e85f4945cae2256e0ddbf758Michael Chan # Two sed's were needed because the | operator is not supported on the mac 328d014167ecb6b3d5e85f4945cae2256e0ddbf758Michael Chan for i in $(grep -Rs "\(string\|plurals\) name=" res | sed 's/.*string name=\"//' | sed 's/.*plurals name=\"//'|sed 's/".*$//'|sort -u) 3352d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project do 3469b04ff53b8d5ab611c289ae03ed6caa1559ef07Marco Nelissen echo $i $(grep -Rws R.plurals.$i\\\|R.string.$i\\\|@string/$i .|wc -l) 3552d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project done | grep ' 0$' | { 3652d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project if [ "$showall" == "yes" ] 3752d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project then 3852d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project echo $app 3952d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project cat 4052d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project else 4152d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project count=$(wc -l) 4252d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project if [ "$count" != "0" ] 4352d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project then 4452d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project echo $app: $count unused strings 4552d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project fi 4652d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project fi 4752d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project } 4852d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project popd $app > /dev/null 4952d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project fi 5052d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectdone 51