#!/bin/bash

libflydm="/var/lib/fly-dm"
flydmsts="${libflydm}/fly-dmsts"

rm /var/cache/astra-mobile/start_setup_wizard

sed -i "s/AutoLoginEnable=.*/AutoLoginEnable=false/" /etc/X11/fly-dm/fly-dmrc
sed -i "s/NoPasswordUnlock=.*/NoPasswordUnlock=false/" /etc/xdg/kscreenlockerrc
sed -i "s/NoPasswordUnlock=.*/NoPasswordUnlock=false/" /home/administrator/.config/kscreenlockerrc

sed -i "s/=yes/=auth_admin/g" /etc/polkit-1/localauthority/10-vendor.d/ru.astralinux.mobilewizard.pkla

if [[ $(astra-modeswitch get) != "2" ]]; then
    kwriteconfig5 --file ${flydmsts} --group PrevUser --key "%3A0" administrator
    chown fly-dm:fly-dm ${flydmsts}
    chmod 644 ${flydmsts}
    sed -i "s/UserList=.*/UserList=true/" "$CHROOT_DIR"/etc/X11/fly-dm/fly-dmrc
    sed -i "s/PreselectUser=.*/PreselectUser=Previous/" "$CHROOT_DIR"/etc/X11/fly-dm/fly-dmrc
fi

chown fly-dm:fly-dm -R ${libflydm}

# create X11 config for correct output replication in fly-dm (BT-54945)
generator="/usr/bin/astra-mobile-modeline-generator"
[ -e $generator ] && $generator

cat /etc/pam.d/login | grep pam_parsec | xargs -I{} sed -i "/{}/ s/^#*//" /etc/pam.d/login

systemctl enable fly-dm

rm -rf /etc/systemd/system/getty@.service.d

# clear prevlogin count
# 1.8
rm -rf /var/log/astra/login/*
# 1.7
systemctl stop syslog-ng.service
rm /var/log/astra/prevlogin*

bashrc="/home/administrator/.bashrc"
sed -i '/#oem_hook_begin/,/#oem_hook_end/{//!d;}' $bashrc
sed -i '/#oem_hook_begin/d' $bashrc
sed -i '/#oem_hook_end/d' $bashrc

MACHINE_TYPE=""
if [ -e /etc/astra/machine_type ]; then
    MACHINE_TYPE=`cat /etc/astra/machine_type | head -1 | tr -s ' '`
    echo "astra-mobile: detected machine type $MACHINE_TYPE"
fi

if [ -f /usr/sbin/kvadrat_lte_update ] && [[ "$MACHINE_TYPE" == *"KVADRAT.arm64.v1.rev1"* ]]; then
    for i in {1..3}; do
        killall ModemManager
    done
    /usr/sbin/kvadrat_lte_update
fi

if [ -f /usr/sbin/touchctl ] && [[ "$MACHINE_TYPE" == *"MIGT8X.amd64.v2.rev51"* ]]; then
    GOODIX_TS_FILENAME=$(modinfo -n goodix_ts)
    if [ -n "$GOODIX_TS_FILENAME" ]; then
        GOODIX_TS_REFRESH_RATE=0
        GOODIX_TS_BFREQ=6000

        rmmod goodix_ts
        /usr/sbin/touchctl write-refresh $GOODIX_TS_REFRESH_RATE
        /usr/sbin/touchctl write-bfreq $GOODIX_TS_BFREQ
        insmod $GOODIX_TS_FILENAME
    fi
fi
