Skip to content

İnceleme bulguları: dört düzeltme - #2

Merged
aripdcem merged 5 commits into
mainfrom
claude/compass-review-cicd-z0zirl
Aug 25, 2026
Merged

İnceleme bulguları: dört düzeltme#2
aripdcem merged 5 commits into
mainfrom
claude/compass-review-cicd-z0zirl

Conversation

@aripdcem

Copy link
Copy Markdown
Owner

Kod incelemesinde çıkan dört bulgunun düzeltmesi; her biri kendi commit'inde.

Düzeltmeler

  • Hata payı bildirmeyen fix'i kusursuz sayma. getAccuracy bildirilmemiş hata payı için 0 döndürür ve 0, Fixes.isBetter'da "kusursuz" okunuyordu: hata payını hiç söylemeyen bir fix ±5 m'lik GPS fix'ini devirebiliyordu. Bilinmeyen artık null geçiliyor — bilinene karşı kaybeder, iki bilinmeyende taze fix geçer. 4 yeni JVM testi eklendi.
  • Yaklaşık konum verildiğinde de dinlemeyi başlat. İzin sonucu yalnızca dizinin ilk elemanına (hassas konum) bakıyordu; "yaklaşık"ı seçen kullanıcının kaba izni yok sayılıyordu. Görünür arıza yoktu çünkü hemen ardından gelen onResume dinlemeyi zaten kuruyordu — doğruluk o tesadüfe yaslanıyordu.
  • İşaret satırını her derecede değil, girdileri değişince kur. Kıble/güneş/ay yazılarının satırı her derece değişiminde (saniyede ~20 kez) baştan üretiliyordu; içeriği açıdan bağımsız. Artık nokta satırı gibi yalnızca girdileri değişince, applyMarks içinden kuruluyor.
  • Ayarlardaki seçim satırını kayıtlı değere karşı koru. choiceRow indeksi sınamadan diziye uyguluyordu; daha yeni sürümden geri yüklenen yedek aralık dışı değer taşıyabilir ve ekran açılışta çökerdi. Ana ekranın smoothing okumasındaki coerceIn buraya da geldi.

Ayrıca README'deki test sayısı gerçeğe çekildi (84 yazıyordu, yeni testlerle 93).

Doğrulama

FixesTest yerelde JUnit ile koşturuldu (10/10). Dalın CI koşusu yeşil: 93 test + lint + debug APK — https://github.com/aripdcem/compass/actions/runs/32767194169

🤖 Generated with Claude Code

https://claude.ai/code/session_0186AndLaVEQTyw4n6sK2zBh


Generated by Claude Code

claude added 5 commits August 24, 2026 19:15
Android'in getAccuracy'si hata payı bildirilmemişse 0 döndürür ve 0,
Fixes.isBetter'da "kusursuz" okunuyordu: hata payını hiç söylemeyen bir
fix, ±5 m'lik GPS fix'ini devirebiliyordu. Kod başka iki yerde
(refreshLocationText, refreshWaypointFixes) hasAccuracy'yi sormaya özen
gösteriyordu; karar veren yer sormuyordu.

Bilinmeyen artık null geçiliyor: bilinene karşı kaybeder, iki bilinmeyen
eşit hassasiyet sayılır ve eşitlikteki kural işler — taze fix geçer.
Belirgin yaş farkı eskisi gibi hata payından önce karar verir.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0186AndLaVEQTyw4n6sK2zBh
İzin sonucu yalnızca dizinin ilk elemanına bakıyordu; ilk eleman hassas
konum. Kullanıcı izin ekranında "yaklaşık"ı seçtiğinde hassas reddedilir
ama kaba izin verilir — bu durumda sonuç işleyicisi izni yok sayıp konum
dinlemeyi başlatmıyordu. Görünür arıza yoktu, çünkü izin diyaloğu
etkinliği duraklattığı için hemen ardından gelen onResume dinlemeyi zaten
kuruyordu; doğruluk o tesadüfe yaslanıyordu.

Verilen herhangi bir izin yeter: uygulama kaba konumla da çalışıyor,
manifest'teki açıklama da tam olarak bunu söylüyor.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0186AndLaVEQTyw4n6sK2zBh
Kıble, güneş, güneş yayı ve ay yazılarının satırı refreshInfoText içinde
kuruluyordu; orası her derece değişiminde çağrılıyor. Satırın içeriği ise
açıdan bağımsız — yalnızca konum, güneş/ay hesabı, ayarlar ya da palet
değişince değişiyor. Yani içerik aynıyken saniyede yirmiye varan kez
span'ler, biçimlemeler ve formatTime başına yeni bir DateFormat
üretiliyordu.

Satır artık kadran işaretleriyle aynı yerden, applyMarks'tan kuruluyor:
ikisinin girdileri zaten aynı. Nokta satırına uygulanan çözümün aynısı.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0186AndLaVEQTyw4n6sK2zBh
choiceRow kayıtlı indeksi sınamadan diziye uyguluyordu. Yedekleme açık ve
kapsamında ayarlar dosyası var: daha yeni bir sürümden geri yüklenen yedek
listede olmayan bir seçenek taşıyabilir ve ayarlar ekranı daha açılışta
ArrayIndexOutOfBoundsException ile çökerdi. Ana ekran aynı değeri zaten
sınırlayarak okuyordu (applySettings'teki smoothing); asimetri buradaydı.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0186AndLaVEQTyw4n6sK2zBh
Test sayısı 84 yazıyordu; sayı bir süredir 89'du, yeni eklenenlerle 93
oldu. FixesTest satırına bilinmeyen hata payı davranışı, pil bölümüne de
işaret satırının artık önbellekte durduğu eklendi.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0186AndLaVEQTyw4n6sK2zBh
@aripdcem
aripdcem merged commit 1282a1f into main Aug 25, 2026
2 checks passed
@aripdcem
aripdcem deleted the claude/compass-review-cicd-z0zirl branch August 25, 2026 05:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants