<?php
header('Content-Type: text/html; charset=utf-8');
echo "<h2>🔍 Debug GPS Detalhado</h2>";

// 1. Verificar viagem atual
echo "<h3>1. Verificar viagem atual</h3>";

try {
    require_once 'config/database.php';
    $pdo = Database::getConnection();
    
    // Verificar viagem 1 (a que está sendo testada)
    $stmt = $pdo->prepare("SELECT * FROM viagens WHERE id = ?");
    $stmt->execute([1]);
    $viagem = $stmt->fetch();
    
    if ($viagem) {
        echo "<div style='background: #e8f5e8; padding: 10px; border-radius: 5px; margin: 10px 0;'>";
        echo "<h4>✅ Viagem encontrada:</h4>";
        echo "<p><strong>ID:</strong> {$viagem['id']}</p>";
        echo "<p><strong>Cliente:</strong> {$viagem['cliente']}</p>";
        echo "<p><strong>Data Início:</strong> {$viagem['data_inicio']}</p>";
        echo "<p><strong>Data Fim:</strong> " . ($viagem['data_fim'] ?? 'NULL (em andamento)') . "</p>";
        echo "<p><strong>KM GPS Final:</strong> {$viagem['km_gps_final']}</p>";
        echo "</div>";
    } else {
        echo "<div style='background: #ffebee; padding: 10px; border-radius: 5px; margin: 10px 0;'>";
        echo "<h4>❌ Viagem 1 não encontrada</h4>";
        echo "</div>";
    }
    
} catch (Exception $e) {
    echo "❌ Erro ao verificar viagem: " . $e->getMessage() . "<br>";
}

// 2. Verificar pontos GPS
echo "<h3>2. Verificar pontos GPS</h3>";

try {
    // Contar pontos da viagem 1
    $stmt = $pdo->prepare("SELECT COUNT(*) as total FROM rastreamento_tempo_real WHERE viagem_id = ?");
    $stmt->execute([1]);
    $result = $stmt->fetch();
    
    echo "📊 Pontos GPS da viagem 1: " . $result['total'] . "<br>";
    
    if ($result['total'] > 0) {
        // Mostrar últimos pontos
        $stmt = $pdo->prepare("SELECT * FROM rastreamento_tempo_real WHERE viagem_id = ? ORDER BY timestamp DESC LIMIT 5");
        $stmt->execute([1]);
        $pontos = $stmt->fetchAll();
        
        echo "<div style='background: #e8f5e8; padding: 10px; border-radius: 5px; margin: 10px 0;'>";
        echo "<h4>✅ Últimos pontos GPS:</h4>";
        foreach ($pontos as $ponto) {
            echo "<p><strong>Timestamp:</strong> {$ponto['timestamp']} | <strong>Lat:</strong> {$ponto['latitude']} | <strong>Lon:</strong> {$ponto['longitude']} | <strong>Vel:</strong> {$ponto['velocidade']} km/h</p>";
        }
        echo "</div>";
    } else {
        echo "<div style='background: #ffebee; padding: 10px; border-radius: 5px; margin: 10px 0;'>";
        echo "<h4>❌ Nenhum ponto GPS encontrado</h4>";
        echo "<p>O serviço está iniciando mas não está coletando pontos GPS.</p>";
        echo "</div>";
    }
    
} catch (Exception $e) {
    echo "❌ Erro ao verificar pontos GPS: " . $e->getMessage() . "<br>";
}

// 3. Diagnóstico baseado nos logs
echo "<h3>3. Diagnóstico Baseado nos Logs</h3>";
echo "<div style='background: #fff3e0; padding: 15px; border: 1px solid #ddd; border-radius: 5px;'>";
echo "<h4>📝 Análise dos Logs do Android:</h4>";
echo "<p><strong>✅ O que está funcionando:</strong></p>";
echo "<ul>";
echo "<li>LocationForegroundService criado com sucesso</li>";
echo "<li>LocationForegroundService iniciado</li>";
echo "<li>Viagem criada no servidor (ID=1)</li>";
echo "<li>API respondendo corretamente</li>";
echo "</ul>";

echo "<p><strong>❌ O que NÃO está funcionando:</strong></p>";
echo "<ul>";
echo "<li>Não há logs de '📍 Ponto GPS coletado'</li>";
echo "<li>Não há logs de '🌐 Enviando localização para o servidor'</li>";
echo "<li>Não há logs de '✅ Ponto enviado com sucesso'</li>";
echo "</ul>";

echo "<p><strong>🔍 Possíveis causas:</strong></p>";
echo "<ul>";
echo "<li><strong>Permissões:</strong> App sem permissão de localização</li>";
echo "<li><strong>GPS desligado:</strong> GPS do dispositivo desativado</li>";
echo "<li><strong>LocationCallback:</strong> Não está sendo chamado</li>";
echo "<li><strong>FusedLocationClient:</strong> Erro na configuração</li>";
echo "<li><strong>Economia de bateria:</strong> Sistema matando o serviço</li>";
echo "</ul>";
echo "</div>";

// 4. Instruções de debug
echo "<h3>4. Instruções de Debug</h3>";
echo "<div style='background: #e3f2fd; padding: 15px; border: 1px solid #ddd; border-radius: 5px;'>";
echo "<h4>🔧 Para verificar no Android:</h4>";
echo "<ol>";
echo "<li><strong>Verifique permissões:</strong> Configurações → Apps → Controle de Frotas → Permissões → Localização</li>";
echo "<li><strong>Verifique GPS:</strong> Configurações → Localização → GPS ligado</li>";
echo "<li><strong>Verifique economia de bateria:</strong> Configurações → Bateria → Otimização de bateria → Controle de Frotas → Não otimizar</li>";
echo "<li><strong>No Android Studio:</strong> Filtre por 'LocationForegroundService' e procure por erros</li>";
echo "<li><strong>Teste em outro dispositivo:</strong> Se possível, teste em outro celular</li>";
echo "</ol>";
echo "</div>";

// 5. Teste manual
echo "<h3>5. Teste Manual</h3>";
echo "<div style='background: #f8f9fa; padding: 15px; border: 1px solid #ddd; border-radius: 5px;'>";
echo "<h4>🧪 Passos para testar:</h4>";
echo "<ol>";
echo "<li><strong>Feche o app completamente</strong></li>";
echo "<li><strong>Verifique permissões de localização</strong></li>";
echo "<li><strong>Ligue o GPS do dispositivo</strong></li>";
echo "<li><strong>Abra o app novamente</strong></li>";
echo "<li><strong>Inicie uma nova viagem</strong></li>";
echo "<li><strong>Monitore os logs por 2-3 minutos</strong></li>";
echo "<li><strong>Procure por logs de pontos GPS</strong></li>";
echo "</ol>";
echo "</div>";

echo "<h3>✅ Diagnóstico Concluído!</h3>";
echo "<p><strong>Resumo:</strong> O serviço GPS está iniciando corretamente, mas não está coletando pontos GPS. O problema está na coleta de localização, não no envio para o servidor.</p>";
?>
