| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #!/bin/sh
- # Crawl recursively and generate custom JSON files for PIF module from stock Xiaomi vendor-build.prop files,
- # provided by zgfg @ xda
- echo "Crawl recursively and generate custom vendor.pif.json files for PIF module from Xiaomi stock vendor-build.prop files\
- \n - provided by zgfg @ xda\n"
- FOLDERS_DEPTH="4" # Increase for crawling deeper than to sub-sub-sub-sub-folders
- script_path=${0%/*}
- test_path="$1"; [ -z "$test_path" ] && test_path="$script_path"
- results="$test_path/pif-gen-vendor-results.txt"; rm -f "$results"
- echo "results=$results"
- exec 4>&2 3>&1 2>"$results" 1>&2
- module_path="/data/adb/modules/playintegrityfix"
- gen_script="$script_path/gen_pif_vendor.sh"
- [ ! -f "$gen_script" ] || [ ! -s "$gen_script" ] && gen_script="$module_path/gen_pif_vendor.sh"
- [ ! -f "$gen_script" ] || [ ! -s "$gen_script" ] && gen_script=""
- echo "PID=$$" | tee -a "$results"
- echo "script_path=$script_path" | tee -a "$results"
- echo "test_path=$test_path" | tee -a "$results"
- echo "gen_script=$gen_script" | tee -a "$results"
- echo "" | tee -a "$results"
- (( folders = 0 )); (( created = 0 ))
- function f_gen_json()
- {
- local folder="$1"; local vendor="$2"
- echo "$vendor" | tee -a "$results"
-
- (( val = 2 ))
- [ -f "$gen_script" ] && sh "$gen_script" "$folder" && (( val = $? ))
- (( val == 0 )) && (( created++ ))
- # echo "created=$created" | tee -a "$results"
- echo "" | tee -a "$results"
- }
- function f_process_folder()
- {
- local folder="$1"
- [[ "$folder" != *essi* ]] && [[ "$folder" != *missi* ]] && [[ "$folder" != *mssi* ]] && [[ "$folder" != *qssi* ]] && return
-
- local list=$( ls "$folder"/vendor-build.prop 2>/dev/null )
- [ -z "$list" ] && return
- (( folders++ ))
- for vendor in $list
- do
- [ -n "$vendor" ] && [ -f "$vendor" ] && [ -r "$vendor" ] && [ -s "$vendor" ] && f_gen_json "$folder" "$vendor"
- done
- }
- list=$( find "$test_path" -maxdepth $FOLDERS_DEPTH -type d 2>/dev/null )
- for folder in $list
- do
- [ -n "$folder" ] && [ -e "$folder" ] && f_process_folder "$folder"
- done
-
- echo "folders=$folders, created=$created" | tee -a "$results"
- echo "" | tee -a "$results"
- exec 2>&4 1>&3 4>&- 3>&-
|