#!/sbin/sh

# Copyright 2013 Koushik Dutta, 2014 Ron Rieve
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# arg 1 is recovery api version, generally 3.
# arg 2 is the pipe fd, to the recovery binary.
# communicate with it using the recovery api.
# arg 3 is the zip file

echo -n -e 'ui_print Installing FDroidPrivilegedExtension...\n' > /proc/self/fd/$2

FPE_NAME=FDroidPrivilegedExtension
FPE=${FPE_NAME}.apk
FDROID_NAME=FDroid
FDROID=${FDROID_NAME}.apk
PERM_DIR="/system/etc/permissions"
PERM=permissions_org.fdroid.fdroid.privileged.xml
ADDOND=80-fdroid.sh

cd /tmp
mkdir fdroid
cd fdroid
unzip -o "$3"
if [ "$?" -ne "0" ]
then
  cp /cache/${FPE} .
  cp /cache/${FDROID} .
  cp /cache/${ADDOND} .
  cp /cache/${PERM} .
fi

mount /system
rm -f /system/app/FDroid*
rm -f /system/app/FDroid*/*
rm -f /system/priv-app/FDroid*
rm -f /system/priv-app/FDroid*/*

BUILD_VERSION_SDK="$(grep -F ro.build.version.sdk /system/build.prop)"
BUILD_VERSION_SDK_INT="${BUILD_VERSION_SDK#*=}"
if [ "${BUILD_VERSION_SDK_INT}" -ge 21 ]
then
  FPE_DIR="/system/priv-app/${FPE_NAME}"
  mkdir ${FPE_DIR}
  chmod 755 ${FPE_DIR}
  FDROIDDIR="/system/app/${FDROID_NAME}"
  mkdir ${FDROIDDIR}
  chmod 755 ${FDROIDDIR}
elif [ "${BUILD_VERSION_SDK_INT}" -ge 19 ]
then
  FPE_DIR="/system/priv-app"
  FDROIDDIR="/system/app"
else
  FPE_DIR="/system/app"
  FDROIDDIR="/system/app"
fi

if [ "${BUILD_VERSION_SDK_INT}" -ge 26 ]
then
	mkdir ${PERM_DIR}
	chmod 755 ${PERM_DIR}
	cp ${PERM} ${PERM_DIR}
	chmod 644 ${PERM_DIR}/${PERM}
fi

cp ${FPE} ${FPE_DIR}
chmod 644 ${FPE_DIR}/${FPE}
echo -n -e 'ui_print done\n' > /proc/self/fd/$2
echo -n -e 'ui_print\n' > /proc/self/fd/$2

echo -n -e 'ui_print Installing FDroid...\n' > /proc/self/fd/$2
cp ${FDROID} ${FDROIDDIR}
chmod 644 ${FDROIDDIR}/${FDROID}

cp ${ADDOND} /system/addon.d/

umount /system

echo -n -e 'ui_print done\n' > /proc/self/fd/$2
echo -n -e 'ui_print\n' > /proc/self/fd/$2
