#!/bin/sh

IFS="$(printf '\n\t')"

ALL=false
NAME=""

if [ "$#" -eq 0 ]; then
	ALL=true
else
	NAME="$1"
fi

print() {
	VAR_NAME="$1"
	VAR_VALUE="$2"
	PRINT_NAME="$3" # true or false

	if "$PRINT_NAME"; then
		echo "[${VAR_NAME}]: [${VAR_VALUE}]"
	else
		echo "${VAR_VALUE}"
	fi
}

print_if_needed() {
	if [ "$ALL" = true -o "$NAME" = "$1" ]; then
		VAL=$(eval "$2")
		print "$1" "$VAL" "$ALL"
	fi
}

if ! pidof nSDK > /dev/null; then
	echo "Failed to start getprop, nSDK is not running" 1>&2
	exit 1
fi

print_if_needed "persist.chrome.opt_in.stats" 'nsdk_cli get settings:/googleCastLite/usageReport'

print_if_needed "persist.chrome.tos_accepted" 'TOS=$(nsdk_cli get settings:/googleCastLite/tosAccepted); if [ $TOS -eq 1 ]; then echo -n "TRUE"; else echo -n "FALSE"; fi'

print_if_needed "ro.lang" 'nsdk_cli get settings:/ui/language | cut -d "_" -f 1'

print_if_needed "ro.country" 'nsdk_cli get settings:/ui/language | cut -d "_" -f 2'

print_if_needed "ro.board.platform" 'nsdk_cli get settings:/system/boardName'

print_if_needed "ro.build.type" 'CH=$(nsdk_cli get settings:/googleCastLite/releaseChannel); if [ $CH = "stable-channel" ]; then echo -n "user"; else echo -n eng; fi'

print_if_needed "ro.build.version.incremental" 'nsdk_cli get settings:/version | cut -d "." -f 3'

print_if_needed "ro.build.version.release" 'nsdk_cli get settings:/googleCastLite/castVersion'

print_if_needed "ro.build.version.sdk" 'nsdk_cli get settings:/googleCastLite/castVersion | cut -d "." -f 2'

print_if_needed "ro.hardware" 'nsdk_cli get settings:/system/boardName'

print_if_needed "ro.product.manufacturer" 'nsdk_cli get settings:/system/manufacturer'

print_if_needed "ro.product.model" 'nsdk_cli get settings:/system/modelName'

print_if_needed "ro.product.name" 'nsdk_cli get settings:/system/productName'

print_if_needed "ro.product.release.track" 'nsdk_cli get settings:/googleCastLite/releaseChannel'

print_if_needed "ro.product.locale.language" 'LAN=$(fw_printconst | grep "googleFactoryLocale=" | sed -E "s:.*=::" | cut -d "-" -f 1);
	if [ -n "$LAN" ]; then echo $LAN; else echo "en"; fi'

print_if_needed "ro.product.locale.region" 'REG=$(fw_printconst | grep "googleFactoryLocale=" | sed -E "s:.*=::" | cut -d "-" -f 2);
	if [ -n "$REG" ]; then echo $REG; else echo "US"; fi'

print_if_needed "ro.serialno" 'cat /factory/serial.txt'

print_if_needed "wifi.interface" 'echo -n wlan0'
