- frostwire-android-release-3.1.4-b775-plus.apk
fix:Music player notification now opens a fresh AudioPlayerActivity via a no-UI trampoline that builds MainActivity under the player; MediaSession/session content intents point to the trampoline, and MainActivity forwards Android/Oplus Seedling media-launch intents to the player for compact System UI media cards - fix:Transfer Detail no longer crashes with ClassCastException when a torrent is still in fetch phase; AbstractTransferDetailFragment.ensureTorrentHandle now guards getBittorrentDownload() results with instanceof before casting, preventing TorrentFetcherDownload→UIBittorrentDownload cast failures
- fix:My Music song deletion now removes items from the list adapter immediately instead of waiting for the background MediaStore deletion and loader refresh; DeleteDialog fires a pre-delete callback that optimistically removes deleted IDs from ApolloFragmentAdapter before file deletion begins
- fix:SoftwareUpdaterDialog and NewTransferDialog no longer crash on Android 12 and lower with NoSuchMethodError; removed androidx BundleCompat.getSerializable() which internally calls the API 33-only typed overload, now using legacy Bundle.getSerializable(String) with explicit cast
- fix:RenamePlaylist no longer crashes from background-thread getActivity() NPE when the dialog fragment detaches before MISC handler queries the playlist name; initObjects now passes application context and UI callbacks guard isAdded()/getDialog() null
- fix:ArtistAlbumFragment onItemClick no longer crashes with NPE or races when calling getActivity().finish() from the MISC handler; activity is captured locally before the async post and finish() is marshalled back to the UI thread with lifecycle guards
New frostwire-android-3.1.4-build-775
