package com.cctv.kioskboot;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class CctvBootReceiver extends BroadcastReceiver {

    private static final String TAG = "CctvBootReceiver";

    static void startKiosk(Context context) {
        try {
            Process p = Runtime.getRuntime().exec(new String[]{
                "su", "-c",
                "pgrep -f /data/local/tmp/boot-kiosk.sh >/dev/null || " +
                "nohup sh /data/local/tmp/boot-kiosk.sh >> /data/local/tmp/cctv-kiosk.log 2>&1 &"
            });
            p.waitFor();
            Log.i(TAG, "boot-kiosk.sh lanzado via su");
        } catch (Exception e) {
            Log.e(TAG, "su fallo, intentando sh directo", e);
            try {
                Runtime.getRuntime().exec(new String[]{
                    "sh", "-c",
                    "pgrep -f /data/local/tmp/boot-kiosk.sh >/dev/null || " +
                    "nohup sh /data/local/tmp/boot-kiosk.sh >> /data/local/tmp/cctv-kiosk.log 2>&1 &"
                });
            } catch (Exception e2) {
                Log.e(TAG, "No se pudo lanzar kiosco", e2);
            }
        }
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent == null || intent.getAction() == null) return;
        String action = intent.getAction();
        if (Intent.ACTION_BOOT_COMPLETED.equals(action)
                || "android.intent.action.QUICKBOOT_POWERON".equals(action)
                || "com.htc.intent.action.QUICKBOOT_POWERON".equals(action)) {
            Log.i(TAG, "Boot completado — iniciando kiosco CCTV");
            startKiosk(context);
        }
    }
}
