Musik und Musik-Button inkonsistent
djschilling opened this issue · comments
Von @flash1293 :
Habe einen Bug gefunden - er ist klein und unwichtig und schwer zu reproduzieren, aber trotzdem ;)
- App zurücksetzen
- starten
- Ton mit Hardware-Button am Telefon auf 0 stellen
- Lvl-Mode > Lvl 1 starten
- Lvl 1 machen
- Ins Menü zurück, Settings auswählen
- Auf Ton-Button klicken (jetzt ist es das Mute-Symbol)
- Zurück, Lvl-Mode > Lvl 2 starten
- Lvl abbrechen (Zurück-Button), Menü > Settings
- Die Musik ist aus (auch wenn man mit Hardwarebutton am Telefon wieder aufdreht), aber das Symbol ist das falsche (also nicht das Mute-Symbol)
- Wenn man den Button drückt, ändert sich das Symbol auf das Mute-Symbol, der Ton bleibt aus.
- Wenn man nochmal drückt, geht die Musik an und das Symbol ist auch korrekt.
http://developer.android.com/reference/android/content/SharedPreferences.Editor.html#commit()
Wenn du die Änderungen mit commit() statt mit apply() persistierst, bekommst du einen booleschen Wert über Erfolg/Misserfolg. Vllt ist es ein Ansatz, mal zu schauen ob das persistieren auch wirklich klappt.
Problem war nicht commit()
oder apply()
, sondern das fehlerhafte benutzen von getBoolean(String key, boolean defValue)
.
Der zweite Parameter definiert einen default-Wert, der in der switchMute()
-Methode, anders wie bei der isMute()
-Methode auf true
gesetzt war.
Wie doof von mir, mal wieder zu kompliziert gedacht :|