#! /bin/sh
source build/envsetup.sh
if [ -f mbldenv.sh ];then
   source mbldenv.sh
fi
if [ -d ResultTxt ];then
   rm -r ResultTxt
fi
mkdir ResultTxt


function cp_xml_do()
{
    # cp -u mediatek/frameworks/base/res/res/values/MTKBase_arrays.xml ResultTxt/mediatek/frameworks/base/res/res/values/MTKBase_arrays.xml

    # / -> \/
    # /proj/mtk02084/p4/alps_sw_02/ALPS_SW/TRUNK/KK/alps -> \/proj\/mtk02084\/p4\/alps_sw_02\/ALPS_SW\/TRUNK\/KK\/alps
    MY_LOCAL=$(pwd | sed 's/\//\\\//g')
    
    # /proj/mtk02084/p4/alps_sw_02/ALPS_SW/TRUNK/KK/alps/mediatek/frameworks/base/res/res/values/MTKBase_arrays.xml:31: Error: "gprs_mode_1" is not translated in en-rUS, pl [MissingTranslation]
    # /proj/mtk02084/p4/alps_sw_02/ALPS_SW/TRUNK/KK/alps/mediatek/frameworks/base/res/res/values/MTKBase_arrays.xml
    # /mediatek/frameworks/base/res/res/values/MTKBase_arrays.xml
    # mediatek/frameworks/base/res/res/values/MTKBase_arrays.xml
    # test -f ResultTxt/mediatek/frameworks/base/res/res/values/MTKBase_arrays.xml || mkdir -p ResultTxt/mediatek/frameworks/base/res/res/values/MTKBase_arrays.xml ;
    # test -d ResultTxt/mediatek/frameworks/base/res/res/values/MTKBase_arrays.xml && rmdir ResultTxt/mediatek/frameworks/base/res/res/values/MTKBase_arrays.xml ;
    # cp -u mediatek/frameworks/base/res/res/values/MTKBase_arrays.xml ResultTxt/mediatek/frameworks/base/res/res/values/MTKBase_arrays.xml
    cat $1 | \
    grep ".xml" | \
    sed 's/:.*$//g' | \
    sed "s/$(echo ${MY_LOCAL})//g" | \
    sed "s/^\///g" | \
    awk 'BEGIN {FS="/"} {print "test -f "$0" || mkdir -p ResultTxt/"$0 " ; test -d "$0" && rmdir ResultTxt/"$0 " ; " "cp -u " $0 " ResultTxt/"$0}' | \
    sh
}

function cp_xml_null()
{
    echo $1
}

function cp_xml()
{
    cp_xml_null $1
}

#RESOURCE_LINT_COMMAND="mediatek/build/tools/lint --disable LintError,Security,Usability,Accessibility,Internationalization --check UnusedResources,MissingTranslation --quiet --fullpath"
RESOURCE_LINT_COMMAND="mediatek/build/tools/lint --disable LintError,Security,Performance,Usability,Accessibility,Internationalization --check MissingTranslation --quiet --fullpath"
RESOURCE_LINT_CONFIG_PATH="mediatek/build/tools/ResourceCheck/LintConfig"
RESOURCE_LINT_RESULT_PATH="ResultTxt"



# packages/apps/
RESOURCE_LINT_APP_PATH="packages/apps"
RESOURCE_LINT_APP_PATH_NAME="packages_apps_"
RESOURCE_LINT_APP_LIST=$(ls --color=never ${RESOURCE_LINT_APP_PATH}/)
for i in ${RESOURCE_LINT_APP_LIST};do

    RESOURCE_LINT_APP="$i"
    RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_config.xml
    RESOURCE_LINT_RESULT_FILE=$RESOURCE_LINT_RESULT_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_result.txt

    if [ ! -f $RESOURCE_LINT_CONFIG_FILE ];then
        RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/Default_config.xml
    fi

    $RESOURCE_LINT_COMMAND --config $RESOURCE_LINT_CONFIG_FILE ${RESOURCE_LINT_APP_PATH}/${RESOURCE_LINT_APP}/ > $RESOURCE_LINT_RESULT_FILE

    cp_xml $RESOURCE_LINT_RESULT_FILE
done



# frameworks/base/packages/
RESOURCE_LINT_APP_PATH="frameworks/base/packages/"
RESOURCE_LINT_APP_PATH_NAME="frameworks_base_packages_"
RESOURCE_LINT_APP_LIST=$(ls --color=never ${RESOURCE_LINT_APP_PATH}/)
for i in ${RESOURCE_LINT_APP_LIST};do

    RESOURCE_LINT_APP="$i"
    RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_config.xml
    RESOURCE_LINT_RESULT_FILE=$RESOURCE_LINT_RESULT_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_result.txt

    if [ ! -f $RESOURCE_LINT_CONFIG_FILE ];then
        RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/Default_config.xml
    fi

    $RESOURCE_LINT_COMMAND --config $RESOURCE_LINT_CONFIG_FILE ${RESOURCE_LINT_APP_PATH}/${RESOURCE_LINT_APP}/ > $RESOURCE_LINT_RESULT_FILE

    cp_xml $RESOURCE_LINT_RESULT_FILE
done



# mediatek/packages/apps/
RESOURCE_LINT_APP_PATH="mediatek/packages/apps/"
RESOURCE_LINT_APP_PATH_NAME="mediatek_packages_apps_"
RESOURCE_LINT_APP_LIST=$(ls --color=never $RESOURCE_LINT_APP_PATH)
for i in ${RESOURCE_LINT_APP_LIST};do

    RESOURCE_LINT_APP="$i"
    RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_config.xml
    RESOURCE_LINT_RESULT_FILE=$RESOURCE_LINT_RESULT_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_result.txt

    if [ ! -f $RESOURCE_LINT_CONFIG_FILE ];then
        RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/Default_config.xml
    fi

    $RESOURCE_LINT_COMMAND --config $RESOURCE_LINT_CONFIG_FILE ${RESOURCE_LINT_APP_PATH}${RESOURCE_LINT_APP}/ > $RESOURCE_LINT_RESULT_FILE

    cp_xml $RESOURCE_LINT_RESULT_FILE
done



# mediatek/protect/packages
RESOURCE_LINT_APP_PATH="mediatek/protect/packages/"
RESOURCE_LINT_APP_PATH_NAME="mediatek_protect_packages_"
RESOURCE_LINT_APP_LIST=$(ls --color=never $RESOURCE_LINT_APP_PATH)
for i in ${RESOURCE_LINT_APP_LIST};do

    RESOURCE_LINT_APP="$i"
    RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_config.xml
    RESOURCE_LINT_RESULT_FILE=$RESOURCE_LINT_RESULT_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_result.txt

    if [ ! -f $RESOURCE_LINT_CONFIG_FILE ];then
        RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/Default_config.xml
    fi

    $RESOURCE_LINT_COMMAND --config $RESOURCE_LINT_CONFIG_FILE ${RESOURCE_LINT_APP_PATH}${RESOURCE_LINT_APP}/ > $RESOURCE_LINT_RESULT_FILE

    cp_xml $RESOURCE_LINT_RESULT_FILE
done



# mediatek/protect-app/packages/apps
RESOURCE_LINT_APP_PATH="mediatek/protect-app/packages/apps/"
RESOURCE_LINT_APP_PATH_NAME="mediatek_protect-app_packages_apps_"
RESOURCE_LINT_APP_LIST=$(ls --color=never $RESOURCE_LINT_APP_PATH)
for i in ${RESOURCE_LINT_APP_LIST};do

    RESOURCE_LINT_APP="$i"
    RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_config.xml
    RESOURCE_LINT_RESULT_FILE=$RESOURCE_LINT_RESULT_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_result.txt

    if [ ! -f $RESOURCE_LINT_CONFIG_FILE ];then
        RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/Default_config.xml
    fi

    $RESOURCE_LINT_COMMAND --config $RESOURCE_LINT_CONFIG_FILE ${RESOURCE_LINT_APP_PATH}${RESOURCE_LINT_APP}/ > $RESOURCE_LINT_RESULT_FILE

    cp_xml $RESOURCE_LINT_RESULT_FILE
done



# wallpapers
RESOURCE_LINT_APP_PATH="packages/"
RESOURCE_LINT_APP_PATH_NAME="packages_"
RESOURCE_LINT_APP="wallpapers"
RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_config.xml
RESOURCE_LINT_RESULT_FILE=$RESOURCE_LINT_RESULT_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_result.txt
if [ ! -f $RESOURCE_LINT_CONFIG_FILE ];then
    RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/Default_config.xml
fi
$RESOURCE_LINT_COMMAND --config $RESOURCE_LINT_CONFIG_FILE ${RESOURCE_LINT_APP_PATH}${RESOURCE_LINT_APP} > $RESOURCE_LINT_RESULT_FILE
cp_xml $RESOURCE_LINT_RESULT_FILE



# services
RESOURCE_LINT_APP_PATH="packages/"
RESOURCE_LINT_APP_PATH_NAME="packages_"
RESOURCE_LINT_APP="services"
RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_config.xml
RESOURCE_LINT_RESULT_FILE=$RESOURCE_LINT_RESULT_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_result.txt
if [ ! -f $RESOURCE_LINT_CONFIG_FILE ];then
    RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/Default_config.xml
fi
$RESOURCE_LINT_COMMAND --config $RESOURCE_LINT_CONFIG_FILE ${RESOURCE_LINT_APP_PATH}${RESOURCE_LINT_APP} > $RESOURCE_LINT_RESULT_FILE
cp_xml $RESOURCE_LINT_RESULT_FILE



# screensavers
RESOURCE_LINT_APP_PATH="packages/"
RESOURCE_LINT_APP_PATH_NAME="packages_"
RESOURCE_LINT_APP="screensavers"
RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_config.xml
RESOURCE_LINT_RESULT_FILE=$RESOURCE_LINT_RESULT_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_result.txt
if [ ! -f $RESOURCE_LINT_CONFIG_FILE ];then
    RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/Default_config.xml
fi
$RESOURCE_LINT_COMMAND --config $RESOURCE_LINT_CONFIG_FILE ${RESOURCE_LINT_APP_PATH}${RESOURCE_LINT_APP} > $RESOURCE_LINT_RESULT_FILE
cp_xml $RESOURCE_LINT_RESULT_FILE



# providers
RESOURCE_LINT_APP_PATH="packages/"
RESOURCE_LINT_APP_PATH_NAME="packages_"
RESOURCE_LINT_APP="providers"
RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_config.xml
RESOURCE_LINT_RESULT_FILE=$RESOURCE_LINT_RESULT_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_result.txt
if [ ! -f $RESOURCE_LINT_CONFIG_FILE ];then
    RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/Default_config.xml
fi
$RESOURCE_LINT_COMMAND --config $RESOURCE_LINT_CONFIG_FILE ${RESOURCE_LINT_APP_PATH}${RESOURCE_LINT_APP} > $RESOURCE_LINT_RESULT_FILE
cp_xml $RESOURCE_LINT_RESULT_FILE



# inputmethods
RESOURCE_LINT_APP_PATH="packages/"
RESOURCE_LINT_APP_PATH_NAME="packages_"
RESOURCE_LINT_APP="inputmethods"
RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_config.xml
RESOURCE_LINT_RESULT_FILE=$RESOURCE_LINT_RESULT_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_result.txt
if [ ! -f $RESOURCE_LINT_CONFIG_FILE ];then
    RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/Default_config.xml
fi
$RESOURCE_LINT_COMMAND --config $RESOURCE_LINT_CONFIG_FILE ${RESOURCE_LINT_APP_PATH}${RESOURCE_LINT_APP} > $RESOURCE_LINT_RESULT_FILE
cp_xml $RESOURCE_LINT_RESULT_FILE



# experimental
RESOURCE_LINT_APP_PATH="packages/"
RESOURCE_LINT_APP_PATH_NAME="packages_"
RESOURCE_LINT_APP="experimental"
RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_config.xml
RESOURCE_LINT_RESULT_FILE=$RESOURCE_LINT_RESULT_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_result.txt
if [ ! -f $RESOURCE_LINT_CONFIG_FILE ];then
    RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/Default_config.xml
fi
$RESOURCE_LINT_COMMAND --config $RESOURCE_LINT_CONFIG_FILE ${RESOURCE_LINT_APP_PATH}${RESOURCE_LINT_APP} > $RESOURCE_LINT_RESULT_FILE
cp_xml $RESOURCE_LINT_RESULT_FILE



# mediatek/operator
RESOURCE_LINT_APP_PATH="mediatek/"
RESOURCE_LINT_APP_PATH_NAME="mediatek_"
RESOURCE_LINT_APP="operator"
RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_config.xml
RESOURCE_LINT_RESULT_FILE=$RESOURCE_LINT_RESULT_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_result.txt
if [ ! -f $RESOURCE_LINT_CONFIG_FILE ];then
    RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/Default_config.xml
fi
$RESOURCE_LINT_COMMAND --config $RESOURCE_LINT_CONFIG_FILE ${RESOURCE_LINT_APP_PATH}${RESOURCE_LINT_APP} > $RESOURCE_LINT_RESULT_FILE
cp_xml $RESOURCE_LINT_RESULT_FILE




# framework res
RESOURCE_LINT_APP_PATH="frameworks/base/core/"
RESOURCE_LINT_APP_PATH_NAME="frameworks_base_core_"
RESOURCE_LINT_APP="res"
RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_config.xml
RESOURCE_LINT_RESULT_FILE=$RESOURCE_LINT_RESULT_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_result.txt

if [ ! -f $RESOURCE_LINT_CONFIG_FILE ];then
    RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/Default_config.xml
fi

$RESOURCE_LINT_COMMAND --config $RESOURCE_LINT_CONFIG_FILE ${RESOURCE_LINT_APP_PATH}${RESOURCE_LINT_APP} > $RESOURCE_LINT_RESULT_FILE
cp_xml $RESOURCE_LINT_RESULT_FILE




# mediatek res
RESOURCE_LINT_APP_PATH="mediatek/frameworks/base/"
RESOURCE_LINT_APP_PATH_NAME="mediatek_frameworks_base_"
RESOURCE_LINT_APP="res"
RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_config.xml
RESOURCE_LINT_RESULT_FILE=$RESOURCE_LINT_RESULT_PATH/${RESOURCE_LINT_APP_PATH_NAME}${RESOURCE_LINT_APP}_result.txt

if [ ! -f $RESOURCE_LINT_CONFIG_FILE ];then
    RESOURCE_LINT_CONFIG_FILE=$RESOURCE_LINT_CONFIG_PATH/Default_config.xml
fi

$RESOURCE_LINT_COMMAND --config $RESOURCE_LINT_CONFIG_FILE ${RESOURCE_LINT_APP_PATH}${RESOURCE_LINT_APP} > $RESOURCE_LINT_RESULT_FILE
cp_xml $RESOURCE_LINT_RESULT_FILE




#grep '^[0-9]* error' $RESOURCE_LINT_RESULT_PATH/* > $RESOURCE_LINT_RESULT_PATH/All_result.txt



# remove no issue txt files
RESOURCE_LINT_RESULT_LIST=$(ls --color=never $RESOURCE_LINT_RESULT_PATH)
for i in $RESOURCE_LINT_RESULT_LIST
do
    cmp -s $RESOURCE_LINT_RESULT_PATH/$i $RESOURCE_LINT_CONFIG_PATH/"no_issues.txt" && rm $RESOURCE_LINT_RESULT_PATH/$i
done


