<?php
// Teste da API de GPS em tempo real
echo "=== TESTE API GPS TEMPO REAL ===\n\n";

// Simular dados que o app Android enviaria
$dadosGPS = [
    'viagem_id' => 168,  // ID da viagem do João Silva
    'latitude' => -25.4284,
    'longitude' => -49.2733,
    'velocidade' => 45.5,
    'precision' => 10.0,
    'altitude' => 900.0,
    'battery_level' => 85,
    'timestamp' => date('Y-m-d H:i:s')
];

echo "🧪 1. Testando simulação de GPS do app Android...\n";
echo "   Dados a enviar:\n";
foreach ($dadosGPS as $key => $value) {
    echo "   - $key: $value\n";
}

// Simular POST para a API
$apiUrl = 'https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/api-simples-v2.php?acao=atualizar-posicao';

$postData = http_build_query($dadosGPS);

$context = stream_context_create([
    'http' => [
        'method' => 'POST',
        'header' => "Content-Type: application/x-www-form-urlencoded\r\n" .
                   "Content-Length: " . strlen($postData) . "\r\n",
        'content' => $postData
    ]
]);

echo "\n🌐 2. Enviando para API: $apiUrl\n";

try {
    $response = file_get_contents($apiUrl, false, $context);
    echo "✅ Resposta da API:\n";
    echo $response . "\n";
    
    // Tentar decodificar JSON
    $json = json_decode($response, true);
    if ($json) {
        if (isset($json['sucesso']) && $json['sucesso']) {
            echo "✅ SUCESSO: GPS simulado foi salvo!\n";
        } else {
            echo "❌ ERRO: " . ($json['mensagem'] ?? 'Erro desconhecido') . "\n";
        }
    } else {
        echo "⚠️ Resposta não é JSON válido\n";
    }
    
} catch (Exception $e) {
    echo "❌ ERRO na requisição: " . $e->getMessage() . "\n";
}

echo "\n📊 3. Verificando se foi salvo na tabela...\n";

// Verificar se foi salvo
require_once 'config/database.php';

try {
    $pdo = conectarBanco();
    
    $stmt = $pdo->prepare("SELECT COUNT(*) as total FROM rastreamento_tempo_real WHERE viagem_id = ?");
    $stmt->execute([$dadosGPS['viagem_id']]);
    $result = $stmt->fetch();
    
    echo "📈 Total de pontos GPS para viagem {$dadosGPS['viagem_id']}: {$result['total']}\n";
    
    if ($result['total'] > 0) {
        // Mostrar últimos pontos
        $stmt = $pdo->prepare("
            SELECT latitude, longitude, velocidade, timestamp 
            FROM rastreamento_tempo_real 
            WHERE viagem_id = ? 
            ORDER BY id DESC 
            LIMIT 5
        ");
        $stmt->execute([$dadosGPS['viagem_id']]);
        $pontos = $stmt->fetchAll();
        
        echo "\n🗺️ Últimos 5 pontos GPS:\n";
        foreach ($pontos as $ponto) {
            echo "   📍 {$ponto['latitude']}, {$ponto['longitude']} | {$ponto['velocidade']} km/h | {$ponto['timestamp']}\n";
        }
    } else {
        echo "❌ Nenhum ponto GPS encontrado!\n";
        echo "\n💡 Possíveis causas:\n";
        echo "   - API não está salvando dados\n";
        echo "   - LocationForegroundService não está rodando\n";
        echo "   - App não tem permissão de GPS\n";
        echo "   - Serviço sendo morto pelo sistema\n";
    }
    
} catch (Exception $e) {
    echo "❌ Erro ao verificar banco: " . $e->getMessage() . "\n";
}

echo "\n=== FIM DO TESTE ===\n";
?> 
