<?php
echo "<h2>🔬 TESTE INLINE - SIMULA APP ANDROID</h2>";

// Simular dados que o app enviaria
$_GET['acao'] = 'atualizar-posicao';
$_SERVER['REQUEST_METHOD'] = 'POST';

// Simular dados JSON do app
$dadosApp = [
    'viagem_id' => 168,
    'latitude' => -25.4300,
    'longitude' => -49.2800,
    'velocidade' => 35.0,
    'precisao' => 6.0,
    'altitude' => 930.0,
    'motorista_nome' => 'João Silva'
];

echo "<p><strong>Simulando requisição do app Android:</strong></p>";
echo "<pre>" . json_encode($dadosApp, JSON_PRETTY_PRINT) . "</pre>";

// Simular stream do PHP
$jsonString = json_encode($dadosApp);
$tempFile = tempnam(sys_get_temp_dir(), 'php_input');
file_put_contents($tempFile, $jsonString);

// Interceptar a entrada do PHP
$originalInput = 'php://input';

echo "<h3>📡 Executando código da API...</h3>";

try {
    require_once 'config/database.php';
    
    // Simular entrada JSON
    $input = json_decode($jsonString, true);
    
    if (!$input || !isset($input['viagem_id']) || !isset($input['latitude']) || !isset($input['longitude'])) {
        echo "<div style='color: red;'>❌ Erro: viagem_id, latitude e longitude são obrigatórios</div>";
        exit;
    }
    
    $pdo = conectarBanco();
    
    // Verificar se a viagem existe
    $stmt = $pdo->prepare("SELECT id, trajeto, tecnico_id FROM viagens WHERE id = ?");
    $stmt->execute([$input['viagem_id']]);
    $viagem = $stmt->fetch();
    
    if (!$viagem) {
        echo "<div style='color: red;'>❌ Erro: Viagem não encontrada</div>";
        exit;
    }
    
    echo "<p>✅ Viagem encontrada: ID {$viagem['id']}, técnico: {$viagem['tecnico_id']}</p>";
    
    // Inserir na tabela rastreamento_tempo_real
    $nomeMotorista = $input['motorista_nome'] ?? $viagem['tecnico_id'];
    $stmt2 = $pdo->prepare("
        INSERT INTO rastreamento_tempo_real (
            tecnico_id, viagem_id, latitude, longitude, velocidade, 
            precisao, altitude, timestamp_gps, is_online
        ) VALUES (?, ?, ?, ?, ?, ?, ?, NOW(), ?)
    ");
    
    $result = $stmt2->execute([
        $nomeMotorista,
        $input['viagem_id'],
        $input['latitude'],
        $input['longitude'],
        $input['velocidade'],
        $input['precisao'],
        $input['altitude'],
        1
    ]);
    
    if ($result) {
        $id = $pdo->lastInsertId();
        echo "<div style='color: green; font-weight: bold;'>✅ SUCESSO! Ponto GPS inserido com ID: $id</div>";
        
        // Verificar total
        $stmt = $pdo->prepare("SELECT COUNT(*) as total FROM rastreamento_tempo_real WHERE viagem_id = ?");
        $stmt->execute([$input['viagem_id']]);
        $count = $stmt->fetch();
        
        echo "<p><strong>Total de pontos GPS na viagem {$input['viagem_id']}:</strong> {$count['total']}</p>";
        
        // Mostrar últimos pontos
        $stmt = $pdo->prepare("
            SELECT latitude, longitude, velocidade, timestamp_gps 
            FROM rastreamento_tempo_real 
            WHERE viagem_id = ? 
            ORDER BY id DESC 
            LIMIT 3
        ");
        $stmt->execute([$input['viagem_id']]);
        $pontos = $stmt->fetchAll();
        
        echo "<h4>🗺️ Últimos pontos GPS:</h4>";
        foreach ($pontos as $ponto) {
            echo "<p>📍 {$ponto['latitude']}, {$ponto['longitude']} | {$ponto['velocidade']} km/h | {$ponto['timestamp_gps']}</p>";
        }
        
    } else {
        echo "<div style='color: red;'>❌ Erro ao inserir no banco</div>";
    }
    
} catch (Exception $e) {
    echo "<div style='color: red;'>❌ Erro: " . $e->getMessage() . "</div>";
}

echo "<hr>";
echo "<h3>🎯 Conclusão:</h3>";
echo "<p>Se este teste funcionou, o problema original era na estrutura da API ou URL.</p>";
echo "<p>Agora o app Android deveria conseguir enviar dados GPS normalmente!</p>";

// Limpar arquivo temporário
if (file_exists($tempFile)) {
    unlink($tempFile);
}
?> 
