• v1.5.2 8d5fabb4d0

    vndangkhoa released this 2026-08-23 15:57:21 +07:00 | 26 commits to main since this release

    Fixed

    • Android app: crash while watching videos — the app advertised Android
      5.0+ support but never enabled core-library desugaring. Media3 (ExoPlayer)
      uses java.time & other API 26+ classes, so on any device below Android 8
      the process died instantly (NoClassDefFoundError) the moment the watch
      screen loaded player classes — typically right as playback or a quality
      switch started. Core-library desugaring is now enabled
      (desugar_jdk_libs_nio), making the player safe down to minSdk 21.
    • Android app: Picture-in-Picture crashed devices below Android 8 — the
      PiP button was shown unconditionally, but PictureInPictureParams is an
      API 26+ class; tapping it killed the process. The button is now only
      offered on API 26+.
    • Android app: media card missing from notification shade / lock screen —
      POST_NOTIFICATIONS existed in the manifest but was never requested at
      runtime, so Android 13+ silently suppressed the MediaSession notification.
      The permission is now requested when the app starts; granting it restores
      the media card with play/pause and seek controls.
    • Quality switch hardening — resuming position across a quality change
      now uses ExoPlayer's positional setMediaSource(source, positionMs)
      overload, so the resume seek is applied atomically with the new stream
      instead of racing the re-prepare.

    Changed

    • Android app version bumped to 1.5.2 (versionCode 9).
    Downloads