Android 15: image editor reads deprecated Window.getStatusBarColor / getNavigationBarColor

Aperta Adatta ai principianti
#19 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
88/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
android, kotlin
Ambito
mobile

Direzione di ricerca

Inizia in src/main/kotlin/io/ionic/libs/ioncameralib/view/IONCAMRImageEditorActivity.kt alle righe 40–43 e analizza come l’editor di immagini configura le barre di sistema. Sostituisci le letture obsolete dei colori di Window con un colore di scrim esplicito e intenzionale, quindi verifica l’aspetto delle barre di sistema dell’editor su Android 15 e che i getter obsoleti non siano più utilizzati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Summary

Google Play Console flags apps that ship @capacitor/camera for using edge-to-edge APIs that Android 15 deprecated, and names this library as one of the origins:

android.view.Window.getStatusBarColor
android.view.Window.getNavigationBarColor

origin: io.ionic.libs.ioncameralib.view.IONCAMRImageEditorActivity.onCreate
Where

IONCAMRImageEditorActivity.kt#L40-L43

enableEdgeToEdge(
    statusBarStyle = SystemBarStyle.dark(window.statusBarColor),
    navigationBarStyle = SystemBarStyle.dark(window.navigationBarColor)
)

The activity already adopts enableEdgeToEdge and applies insets correctly. The only problem is reading those two colours back off the Window to feed into it.

Why it may be worth more than silencing a warning

Per the Android 15 behaviour changes, Window#getStatusBarColor and Window#getNavigationBarColor are listed as deprecated and disabled for apps targeting SDK 35+, alongside their setters.

So on Android 15+ these getters no longer reflect a value the platform maintains, which means the scrim colours handed to SystemBarStyle.dark(...) are effectively incidental rather than chosen — the same call on Android 14 and Android 15 can produce different results for reasons the caller can't see.

Suggested fix

Pass explicit colours rather than reading them back, e.g. SystemBarStyle.dark(Color.TRANSPARENT) or a defined scrim constant.

Environment
  • @capacitor/camera 8.2.0 (still present on main of this library)
  • Capacitor 8, compileSdkVersion / targetSdkVersion 36
  • Reported by Play Console as a recommended action, not a blocking one
Lingua principale
Kotlin
Stelle
0
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Issue simili

Altre issue su Kotlin

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.