chr56 / phonograph_plus Goto Github PK
View Code? Open in Web Editor NEWA fork of kabouzeid/Phonograph in maintenance and development
License: GNU General Public License v3.0
A fork of kabouzeid/Phonograph in maintenance and development
License: GNU General Public License v3.0
It would be nice to be able to select one or multiple folders and then show only the music in those folders. Many users have all their music in one folder, it is easier to whitelist one folder than to blacklist all folders but one.
Thanks for your work!
When I try to add files to an existing playlist it fails to add them. Any ideas on what is going on? It does ask for the playlist to be created and saved first then it says it is failed. I even try to add 1 song to an existing playlist and I get the "failed!" error message.
Update: The playlist was made but never showed up on the app until I restarted it. Still can't add individual files but can add whole artists to a playlist.
This is how it works currently:
When you select a song, it is played and the other songs from the same album are enqueued automatically. When you select the next song, the queue is emptied, the song is played and the other songs from the same album are enqueued. You can long press a song (or album/artist) to add it to the queue without deleting the queue.
This is how I would like it to work.
When you select a song, if the queue is empty the song is played. If there are other songs in the queue already, the selected song is added to the queue.
Would really love to have this feature, maybe as toggable option. There is no open source music app out there that has it. I hope you can understand what I mean, I'm not a native speaker and my English is not perfect. But my Chinese is even worse... ;-)
Thanks for your work!
The application scans 4 objects from X and freezes. There is no further action in the notification.
To rescan, you have to reset the application data.
If you use folders for your playlists, it is nessecary for using them like playlists, to be able to
Thanks for this great app!
Crash Report:
Package name: player.phonograph.plus
App version: 0.5.0 (450)
Git Commit Hash: 13b4722
Android version: 12 (SDK 31)
Device brand: motorola (by motorola)
Device model: XT2225-2 (code: rhodep)
Product name: rhodep_cn
Build version: S1SU32.73-112-4
(e8b769-403a5)
Hardware: qcom
Language: zh
java.lang.IllegalArgumentException: Invalid target position
at androidx.recyclerview.widget.RecyclerView$x.l(SourceFile:104)
at androidx.recyclerview.widget.RecyclerView$m.O0(Unknown Source:21)
at androidx.recyclerview.widget.LinearLayoutManager.N0(Unknown Source:12)
at player.phonograph.dialogs.LyricsDialog.onUpdateProgressViews(SourceFile:33)
at ma.a.handleMessage(SourceFile:31)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loopOnce(Looper.java:238)
at android.os.Looper.loop(Looper.java:357)
at android.app.ActivityThread.main(ActivityThread.java:8089)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1026)
点击“歌词滚动”
No response
0.5.0
Can not read/write tag of m4a(mp4) format.
For example, when saving edited tag, Phonograph Plus reports an Internal Error:
Failed to write tag!
z8.a: No Reader associated with this extension:m4a
(all the time)
No response
No response
No response
No response
Describe the bug or unexpected behavior
A clear and concise description of what the bug is.
Cannot access SD card from Folders (only built-in is available).
Crash log
If app crashed, copy the logs if available.
[YOUR LOGS HERE]
How to reproduce
Steps to reproduce the bugs or unexpected behaviors:
Try to go to folders -> Emulated. It says empty.
Screenshots (Optional)
(if available)
Video recording attached.
Other information
…
Motorola G 5g Plus. Android 11
.
Sometimes I want to search the queue. In those times, there are technically other ways to accomplish what I want, but this would seem most simple.
**Describe the bug or unexpected behavi
crash when moving and changing library categories in the settings
Crash log
Package name: player.phonograph.plus
App version: 0.2.2 (204)
Git Commit Hash: 8ece1e4f4973468432e7
Android version: 12 (SDK 31)
Device brand: Sony (by Sony)
Device model: XQ-AS72 (code: XQ-AS72)
Product name: XQ-AS72
Build version: 58.2.A.2.90
(058002A002009003718185433)
Hardware: qcom
Language: en
java.lang.NullPointerException
at z7.f$b.move(Unknown Source:4)
at z7.f.onViewMoved(Unknown Source:2)
at u9.c.i(:2)
at androidx.recyclerview.widget.k.q(:4)
at androidx.recyclerview.widget.k$b.b(Unknown Source:112)
at androidx.recyclerview.widget.RecyclerView.onTouchEvent(:1)
at android.view.View.dispatchTouchEvent(View.java:14551)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3114)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2787)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:519)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1896)
at android.app.Dialog.dispatchTouchEvent(Dialog.java:864)
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:477)
at android.view.View.dispatchPointerEvent(View.java:14810)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6351)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6152)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5630)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5687)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5653)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5818)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5661)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5875)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5634)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5687)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5653)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5661)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5634)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8574)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8525)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:8493)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:8697)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:260)
at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:240)
at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:8654)
at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:8783)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1120)
at android.view.Choreographer.doCallbacks(Choreographer.java:926)
at android.view.Choreographer.doFrame(Choreographer.java:851)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1105)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:346)
at android.os.Looper.loop(Looper.java:475)
at android.app.ActivityThread.main(ActivityThread.java:7889)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1009)```
and:
```Crash Report:
Package name: player.phonograph.plus
App version: 0.2.2 (204)
Git Commit Hash: 8ece1e4f4973468432e7
Android version: 12 (SDK 31)
Device brand: Sony (by Sony)
Device model: XQ-AS72 (code: XQ-AS72)
Product name: XQ-AS72
Build version: 58.2.A.2.90
(058002A002009003718185433)
Hardware: qcom
Language: en
java.lang.IllegalStateException: position0 is invalid!
at z7.f.p(:3)
at z7.d.onClick(Unknown Source:16)
at android.view.View.performClick(View.java:7451)
at android.view.View.performClickInternal(View.java:7425)
at android.view.View.access$3700(View.java:842)
at android.view.View$PerformClick.run(View.java:28690)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:346)
at android.os.Looper.loop(Looper.java:475)
at android.app.ActivityThread.main(ActivityThread.java:7889)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1009)```
Often, songs in an album are meant to come directly after one another in the given order. It would be good, for this reason, to be able to shuffle the queue by album, preserving the internal track orders thereof. Following the last song of one album, the first song of a randomly chosen album is next enqueued.
Internal Error:
Package name: player.phonograph.plus
App version: 0.5.4 (454)
Git Commit Hash: 52f6af7
Android version: 12 (SDK 32)
Device brand: POCO (by Xiaomi)
Device model: M2012K11AG (code: alioth)
Product name: lineage_alioth
Build version: lineage_alioth-userdebug 12 SQ3A.220705.004 ab0a6cffb1
(ab0a6cffb1)
Hardware: qcom
Language: en
Failed to read lyrics from song
java.io.FileNotFoundException: Unable to find:/storage/emulated/0/Music/Red_Wings__Aces_of_the_Sky__Original_Soundtrack_/Into_the_Storm.mp3
at q8.b.a(SourceFile:157)
at wa.g.a(Unknown Source:3)
at wa.g$c.invokeSuspend(Unknown Source:12)
at k6.a.resumeWith(Unknown Source:8)
at b7.r0.run(Unknown Source:102)
at kotlinx.coroutines.internal.i.run(Unknown Source:12)
at kotlinx.coroutines.scheduling.j.run(Unknown Source:2)
at kotlinx.coroutines.scheduling.a$a.run(SourceFile:66)
}
Latest
I just open the app
No response
Android 12, LineageOS 19.1 Alioth
No response
Describe the bug or unexpected behavior
On tapping the app icon, after a short while I keep getting this info. Sometimes I can see the mini bottom player with last played title displayed, sometimes even the recent changes screen assembles, sometimes I only see an empty library flashing up before the crash happens.
Crash log
Unfortunately, Scoop (autom. crash logger app) isn't capable of grabbing a crash log of my situation.
How to reproduce
For me it's "Tap the app icon". Happens in v0.3.3 and now also in v0.3.4
Additional info
I added tracks to the library using other apps while Phonograph was idle for some weeks.
Fairphone 3
Android 10, FP3 flavour
Google Play Services upd. to v22.33.16
Webview upd. to 102.0.5005.78
Plz give the blacklist back, so annoying right now without ...
App crashing on startup
Crash log
If app crashed, copy the logs if available.
Crash Report:
Package name: player.phonograph.plus
App version: 0.3.0-rc01 (290)
Git Commit Hash: a251ffe1c31cf911a108
Android version: 9 (SDK 28)
Device brand: samsung (by samsung)
Device model: SM-G610F (code: on7xreflte)
Product name: on7xreflteub
Build version: PPR1.180610.011.G611MUBSACUD1
(G611MUBSACUD1)
Hardware: samsungexynos7870
Language: en
java.lang.RuntimeException: Unable to create service player.phonograph.service.MusicService: e4.l: lateinit property uiThreadHandler has not been initialized
at android.app.ActivityThread.handleCreateService(ActivityThread.java:3789)
at android.app.ActivityThread.access$1400(ActivityThread.java:240)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1822)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7124)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)
Caused by: e4.l: lateinit property uiThreadHandler has not been initialized
at player.phonograph.service.MusicService.runOnUiThread(Unknown Source:10)
at player.phonograph.appwidgets.AppWidgetBig.f(SourceFile:6)
at k7.a.e(SourceFile:2)
at player.phonograph.service.MusicService.e(Unknown Source:19)
at player.phonograph.service.MusicService.onCreate(Unknown Source:15)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:3777)
... 8 more
How to reproduce
Steps to reproduce the bugs or unexpected behaviors:
Start the app
Crash
Screenshots (Optional)
(if available)
Other information
…
Phone is rooted from magisk but I think its unrelated
App worked fine before last update
Will switch to it till it gets fixed
Crash Report:
Package name: player.phonograph.plus
App version: 0.1.0 (104)
Git Commit Hash: 5f2adcf
Android version: 11 (SDK 30)
Device brand: lge (by LGE)
Device model: LM-G850 (code: mh2lm)
Product name: mh2lm
Build version: RKQ1.210420.001
(2202502174aca.OPEN_ESA_DS)
Hardware: mh2lm
Language: en
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$4.done(AsyncTask.java:415)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
at java.util.concurrent.FutureTask.run(FutureTask.java:271)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:305)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)
Caused by: java.lang.IllegalArgumentException: Invalid column audio_id
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:172)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:142)
at android.content.ContentProviderProxy.query(ContentProviderNative.java:472)
at android.content.ContentResolver.query(ContentResolver.java:1191)
at android.content.ContentResolver.query(ContentResolver.java:1122)
at android.content.ContentResolver.query(ContentResolver.java:1078)
at player.phonograph.util.PlaylistsUtil.doesPlaylistContain(Unknown Source:38)
at player.phonograph.util.MusicUtil.isFavorite(Unknown Source:11)
at player.phonograph.ui.fragments.player.card.CardPlayerFragment$2.a(Unknown Source:17)
at player.phonograph.ui.fragments.player.card.CardPlayerFragment$2.doInBackground(Unknown Source:2)
at android.os.AsyncTask$3.call(AsyncTask.java:394)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
... 4 more
I use the music player in folder view. I have a folder with 10 songs in it all with different artwork embedded. The artwork displays fine in the tiny folder view icons but when playing the song the artwork defaults to a seemingly random artwork in that folder and displays it for each song in the folder. This is true for the notification widget and the song playing window. I used yt-dlp which uses ffmpeg to embed the artwork from YouTube.com.
Selecting "ignore media store covers" fixes it but slows down loading time. Its a workaround that I use for now.
How to reproduce
yt-dlp -x -f bestaudio --audio-quality 5 --audio-format mp3 --embed-thumbnail --write-sub --sub-lang en --convert-subs lrc --add-metadata "YT URL HERE"
Describe the bug or unexpected behavior
When I play a song, I get a message: "Failed to read lyrics from song
No Reader associated with this extension:opus". I have disabled all settings regarding lyrics. The app should respect those settings and not show an error message.
Crash log
Crash Report:
Package name: player.phonograph.plus
App version: 0.3.3 (311)
Git Commit Hash: fec2284
Android version: 12 (SDK 32)
Device brand: not important
Device model: not important
Product name: lineage_ABC
Build version: lineage_ABC-userdebug 12
Hardware: qcom
Language: it
Failed to read lyrics from song
No Reader associated with this extension:opus
Describe the bug or unexpected behavior
The player used to show an icon in the upper corner if the track had lyric metadata, but it doesn't anymore. Sometimes, I can look at the lyrics if I open the tag editor, but the tag editor can't work with some of the containers/codecs I have in my library.
How to reproduce
Play a song that has lyric metadata. Find no lyrics icon.
Screenshots (Optional)
For example:
there should be a lyrics button next to the heart button, but in the last couple versions it doesn't appear
Hello, could you add a way to disable the automatic starting of a playlist when you click just one file. I want to just play one song and stop.
Navigation apps like OSMAnd interrupt audio playback if you set it like that.
But when the music is paused, it doesnt keep on autoplaying.
This is an integrateable feature, Retro Music player has it.
i would like to see how to compile phonograph plus instructions for this fork (even better if you provide the instructions how to compile it on termux.)
i would really appreciate that
and thank you for this fork.
The application has an internal error when it can't find the lyric.
0.5.3
To reproduce the problem, it is sufficient that there is a song without a lyric.
No response
Android version: 10 (SDK 29)
Device brand: HUAWEI (by HUAWEI)
Device model: HMA-L29 (code: HWHMA)
Product name: HMA-L29
Build version: HMA-L29 10.1.0.288(C55E8R1P5)
(10.1.0.288C55)
Hardware: kirin980
Language: it
Internal Error:
Package name: player.phonograph.plus
App version: 0.5.3 (453)
Git Commit Hash: aa473d7
Failed to read lyrics from song
java.io.FileNotFoundException: Unable to find:/storage/emulated/0/Music/My Chemical Romance - I Don_t Love You [Official Music Video] [HD].opus
at o8.b.a(SourceFile:155)
at sa.f.a(Unknown Source:3)
at sa.f$c.invokeSuspend(Unknown Source:12)
at j6.a.resumeWith(Unknown Source:8)
at a7.s0.run(Unknown Source:102)
at kotlinx.coroutines.internal.i.run(Unknown Source:11)
at kotlinx.coroutines.scheduling.j.run(Unknown Source:2)
at kotlinx.coroutines.scheduling.a$a.run(SourceFile:66)
}
I will do further tests to see when it occurs precisely. 🤔
This issue is purely a UX suggestion.
As a user, when I tap on the "now playing" notification I expect to go to the queue screen, or at least to the last visited screen before leaving the app.
Currently the main screen gets opened.
In the past I've used other music players that had this behavior, and I think it would be a good addition to improve the user experience of Phonograph Plus.
When I open the app none of my songs display the album art despite most of them having Album art in their tag.
0.5.0
Download the app and install it like new, open the app for the first time go through setup and none of the songs will have album art.
No response
Android 9
MIUI 10.3.2
No response
Crash Report:
Package name: player.phonograph.plus
App version: 0.5.4.1 (454)
Git Commit Hash: 121a4b440d10ed7d2321
Android version: 10 (SDK 29)
Device brand: Redmi (by Xiaomi)
Device model: M2004J19C (code: galahad)
Product name: galahad_global
Build version: build-20210331141959
(V12.0.4.0.QJCMIXM)
Hardware: mt6768
Language: en
java.lang.RuntimeException: Unable to start activity ComponentInfo{player.phonograph.plus/player.phonograph.ui.activities.StarterActivity}: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3338)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3487)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2071)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7561)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:995)
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.get(ArrayList.java:437)
at player.phonograph.ui.activities.StarterActivity$b.d(SourceFile:154)
at player.phonograph.ui.activities.StarterActivity.onCreate(SourceFile:52)
at android.app.Activity.performCreate(Activity.java:7893)
at android.app.Activity.performCreate(Activity.java:7880)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3313)
... 11 more
use file manager
click on song
open with phonograph
crashloop
No response
it crashes so hard cant even uninstall the app anymore without rebooting the phone
cant add or play any files from SD card on any settings at all.
edit:
after 3 reboots it suddenly stopped crashing and adding SD songs just works now?..
except when i "open with" song from file manager it loops the "Couldn't play song" error
need more testing but i guess this log could be useful?
No response
Describe the bug or unexpected behavior
Whenever I play an album or playlist (more than one song), on every song after the first one the progress bar is stuck on the maximum. Example: if the song is 4:02 long, it's stuck on 4:02 out of 4:02 and doesn't move.
How to reproduce
For me it's just to play any album or playlist with more than one song. I also only have FLAC files in the app so maybe that's it but I can't test that right now.
Prior to the update that added the "Don't clear my queue" option selecting a track would play it immediately and queue whatever was after it based on the context (album, artist, all songs, etc.).
Now, if you already have something playing and tracks in the queue, selecting a track will often play the track after the one you actually tapped on, or some other track seemingly at random.
Additionally, I have also experienced the correct title displaying but the wrong audio playing under the same conditions.
Please note that SMB share is sometimes encrypted.
Describe the bug or unexpected behavior
I used to be able to enqueue a folder and have all songs in that directory and in all subdirectories therein added to the queue recursively. This doesn't happen for anymore. Rather, when I enqueue a folder, only the top level audio files are added to queue.
Crash log
n/a
How to reproduce
Steps to reproduce the bugs or unexpected behaviors:
Screenshots (Optional)
(if available)
Other information
…
Describe the bug or unexpected behavior
If you edit the tags of an opus file, Phonograph+ will give you a notification with error message that says, «Failed to save tags» «a» «No Reader associated with this extension:opus»
An opus file uses the same tag format as OGG vorbis as far as I know, so it should work as long as Phonograph+ knows to treat the tags like OGG vorbis tags
Crash log
If app crashed, copy the logs if available.
n/a
How to reproduce
Steps to reproduce the bugs or unexpected behaviors:
Edit an OPUS file's tags. Save the changes. Observe this message:
Other information
…
Describe the bug or unexpected behavior
最新预览版播放中报错
Crash log
Crash Report:
Package name: player.phonograph.plus.preview
App version: 0.3-alpha08 (259)
Git Commit Hash: c2673c5
Android version: 12 (SDK 31)
Device brand: realme (by realme)
Device model: RMX3361 (code: RE507C)
Product name: RMX3361
Build version: RMX3361_11_C.08
(R.202206222209)
Hardware: qcom
Language: zh
j1.d: Unexpected exception thrown by non-Glide code
at j1.n.c(Unknown Source:15)
at j1.n$b.run(Unknown Source:35)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:233)
at android.os.Looper.loop(Looper.java:344)
at android.app.ActivityThread.main(ActivityThread.java:8184)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void v6.b$a.loadAlbumCover()' on a null object reference
at v6.b.requestLoadCover(Unknown Source:8)
at player.phonograph.ui.fragments.player.PlayerAlbumCoverFragment.access$deployColor(SourceFile:3)
at player.phonograph.ui.fragments.player.a.invoke(SourceFile:1)
at v6.b$a.access$setColor(Unknown Source:12)
at v6.b$a$b.invoke(SourceFile:1)
at v6.a.onColorReady(Unknown Source:14)
at f7.c.onResourceReady(SourceFile:1)
at z1.h.s(SourceFile:2)
at z1.h.r(SourceFile:4)
at j1.n.c(Unknown Source:8)
... 9 more
**How to reproduce**
Steps to reproduce the bugs or unexpected behaviors:
快速添加少量歌曲加入播放列表
横滑封面切换歌曲
报错
Good morning! I'm just leaving these error reports here. Lately, I get a LOT of these error reports. The file does play despite the errors.
Internal Error:
Package name: player.phonograph.plus
App version: 0.5.4 (454)
Git Commit Hash: 52f6af7552aa0d623bf1
Android version: 13 (SDK 33)
Device brand: samsung (by samsung)
Device model: SM-S908U (code: b0q)
Product name: b0qsqw
Build version: TP1A.220624.014.S908USQU2CWAI
(S908USQU2CWAI)
Hardware: qcom
Language: fa
Failed to read song file
y8.a: /storage/emulated/0/Music/Psalticí/Dimitrios Katsiklis/Θεία Λειτουργία σε Πλάγιο Πρώτο-KIw7eo_yyp4.m4a:java.lang.NoSuchMethodException: ba.r.<init> [class ba.w]
at b9.d.c(Unknown Source:161)
at q8.b.a(SourceFile:96)
at wa.g.a(Unknown Source:3)
at wa.g$c.invokeSuspend(Unknown Source:12)
at k6.a.resumeWith(Unknown Source:8)
at b7.r0.run(Unknown Source:102)
at kotlinx.coroutines.internal.i.run(Unknown Source:12)
at kotlinx.coroutines.scheduling.j.run(Unknown Source:2)
at kotlinx.coroutines.scheduling.a$a.run(SourceFile:66)
Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodException: ba.r.<init> [class ba.w]
at b9.j.j(SourceFile:45)
at aa.b.c(Unknown Source:24)
at aa.g$a.d(Unknown Source:31)
at aa.g.b(Unknown Source:38)
at e9.h.a(SourceFile:12)
at b9.d.c(Unknown Source:60)
... 8 more
Caused by: java.lang.NoSuchMethodException: ba.r.<init> [class ba.w]
at java.lang.Class.getConstructor0(Class.java:2363)
at java.lang.Class.getConstructor(Class.java:1759)
at b9.j.j(SourceFile:33)
... 13 more
}
It would be great to get this app through the official F-Droid repository.
The fastlane metadata is available already 👍.
If you are interested and ok with it, I can create a request for packaging on F-Droid (or file a PR).
During song playback, I sometimes (seemingly random) have Phonograph Plus crash. I am using a Pixel 6, running GrapheneOS.
This is the crashlog:
Crash Report:
Package name: player.phonograph.plus
App version: 0.5.0 (450)
Git Commit Hash: 13b4722d48f77ccf81dd
Android version: 13 (SDK 33)
Device brand: google (by Google)
Device model: Pixel 6 (code: oriole)
Product name: oriole
Build version: TQ1A.221205.011.2022122000
(2022122000)
Hardware: oriole
Language: en
java.lang.IllegalStateException: Animator has already started, cannot change it now!
at android.graphics.animation.RenderNodeAnimator.checkMutable(RenderNodeAnimator.java:138)
at android.graphics.animation.RenderNodeAnimator.setDuration(RenderNodeAnimator.java:314)
at android.graphics.animation.RenderNodeAnimator.setDuration(RenderNodeAnimator.java:37)
at android.animation.AnimatorSet.updateAnimatorsDuration(AnimatorSet.java:774)
at android.animation.AnimatorSet.getTotalDuration(AnimatorSet.java:1744)
at android.animation.AnimationHandler.lambda$new$0$android-animation-AnimationHandler(AnimationHandler.java:224)
at android.animation.AnimationHandler$$ExternalSyntheticLambda0.doFrame(Unknown Source:2)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1229)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1239)
at android.view.Choreographer.doCallbacks(Choreographer.java:899)
at android.view.Choreographer.doFrame(Choreographer.java:827)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1214)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7878)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ExecInit.main(ExecInit.java:49)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:355)
0.5.0
Unclear, appears randomly during song playback, usually pretty quickly after the song is clicked on for playback (in the first couple seconds)
No response
OS: GrapheneOS
Device: Pixel 6
No response
Describe the bug or unexpected behavior
When open the app with freeform mode and try to resize the app, it will crash
Crash log
Crash Report:
Package name: player.phonograph.plus
App version: 0.3.3 (311)
Git Commit Hash: fec22849337fddb81837
Android version: 11 (SDK 30)
Device brand: Android-x86 (by unknown)
Device model: Generic Android-x86_64 (code: x86_64)
Product name: bliss_x86_64
Build version: RSV1.210329.052
(eng.hmtheb.20220924.071710)
Hardware: bliss_x86_64
Language: vi
java.lang.NullPointerException
at player.phonograph.ui.fragments.player.card.CardPlayerFragment.access$getViewBinding(Unknown Source:2)
at player.phonograph.ui.fragments.player.card.CardPlayerFragment$b.c(Unknown Source:7)
at player.phonograph.ui.fragments.player.card.CardPlayerFragment.onColorChanged(SourceFile:1)
at player.phonograph.ui.fragments.player.h.invokeSuspend(Unknown Source:13)
at q3.a.resumeWith(Unknown Source:8)
at h4.m0.run(Unknown Source:86)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Suppressed: h4.k0: [w1{Cancelling}@17e95d9, Dispatchers.Main]
How to reproduce
Freeform
. If there is no freeform, open Developer Settings and turn on Enable Freeform windows
In the Player Notification Screen, the artwork is displayed as a vertical rectangle even for files with square artwork
0.5.4
No response
Screenshots: Android 11 (LineageOS 18.1) / Redmi K40
All application settings are default.
The same behavior was confirmed for Android 13. (Player Notification style is different)
Tested with this silent audio file
Describe the bug or unexpected behavior
Errors appear on editing artist images and tracks' tags. Remarkable seems that at least one time an error on image allocation was criticised while no image was on screen, simply editing tags, see my annotation started with "heads up".
Sorry in case I posted duplicates, better than leaving out hints, I assume.
Crash log
[Crash Report:
Package name: player.phonograph.plus
App version: 0.3.4 (312)
Git Commit Hash: b6ce5aaed1b0c9c0c156
Android version: 10 (SDK 29)
Device brand: Fairphone (by Fairphone)
Device model: FP3 (code: FP3)
Product name: FP3
Build version: 8901.3.A.0136
(gms-7c69ec7e)
Hardware: qcom
Language: de
No Songs Modified!? Maybe fail save tags?
java.lang.IllegalStateException: No Songs Modified!?
at util.phonograph.tageditor.h.invokeSuspend(Unknown Source:75)
at o3.a.resumeWith(Unknown Source:8)
at f4.m0.run(Unknown Source:102)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7397)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935)
}
-------------------
Crash Report:
Package name: player.phonograph.plus
App version: 0.3.4 (312)
Git Commit Hash: b6ce5aaed1b0c9c0c156
Android version: 10 (SDK 29)
Device brand: Fairphone (by Fairphone)
Device model: FP3 (code: FP3)
Product name: FP3
Build version: 8901.3.A.0136
(gms-7c69ec7e)
Hardware: qcom
Language: de
No Songs Modified!? Maybe fail save tags?
java.lang.IllegalStateException: No Songs Modified!?
at util.phonograph.tageditor.h.invokeSuspend(Unknown Source:75)
at o3.a.resumeWith(Unknown Source:8)
at f4.m0.run(Unknown Source:102)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7397)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935)
}
------------------
Crash Report:
Package name: player.phonograph.plus
App version: 0.3.4 (312)
Git Commit Hash: b6ce5aaed1b0c9c0c156
Android version: 10 (SDK 29)
Device brand: Fairphone (by Fairphone)
Device model: FP3 (code: FP3)
Product name: FP3
Build version: 8901.3.A.0136
(gms-7c69ec7e)
Hardware: qcom
Language: de
Can not save custom image for Goldfrapp
------------
HEADS UP: FOLLOWING CAME UP ON SAVING TAGS, NOT IMAGE
Crash Report:
Package name: player.phonograph.plus
App version: 0.3.4 (312)
Git Commit Hash: b6ce5aaed1b0c9c0c156
Android version: 10 (SDK 29)
Device brand: Fairphone (by Fairphone)
Device model: FP3 (code: FP3)
Product name: FP3
Build version: 8901.3.A.0136
(gms-7c69ec7e)
Hardware: qcom
Language: de
Can not save custom image for Goldfrapp
--------------------------
EDIT:
ANOTHER ONE AFTER UPDATING TO v0.3.5
Crash Report:
Package name: player.phonograph.plus
App version: 0.3.5 (313)
Git Commit Hash: 0daa0bd6702170952d06
Android version: 10 (SDK 29)
Device brand: Fairphone (by Fairphone)
Device model: FP3 (code: FP3)
Product name: FP3
Build version: 8901.3.A.0136
(gms-7c69ec7e)
Hardware: qcom
Language: de
Failed to save tags
a6.c: java.io.IOException: Cannot make changes to file 01 Come.mp3
at e6.c.b(Unknown Source:14)
at util.phonograph.tageditor.i.invokeSuspend(SourceFile:340)
at o3.a.resumeWith(Unknown Source:8)
at f4.m0.run(Unknown Source:102)
at kotlinx.coroutines.internal.i.run(Unknown Source:11)
at kotlinx.coroutines.scheduling.j.run(Unknown Source:2)
at kotlinx.coroutines.scheduling.a$a.run(SourceFile:66)
Caused by: java.io.IOException: Cannot make changes to file 01 Come.mp3
at e6.c.n(SourceFile:435)
at e6.c.b(Unknown Source:0)
... 6 more
}
Describe the bug or unexpected behavior
App crashes if you click "Sleep Timer", thus a timer cannot be set.
Crash log
If app crashed, copy the logs if available.
Crash Report:
Package name: player.phonograph.plus
App version: 0.2.6.1.LTS (226)
Git Commit Hash: a22661ac452a0b6ee06d
Android version: 12 (SDK 31)
Device brand: samsung (by samsung)
Device model: SM-G981U (code: x1q)
Product name: x1qsqx
Build version: SP1A.210812.016.G981USQU2FVF1
(G981USQU2FVF1)
Hardware: qcom
Language: fa
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long
at android.app.SharedPreferencesImpl.getLong(SharedPreferencesImpl.java:329)
at z7.a$d.a(Unknown Source:15)
at z7.a.getNextSleepTimerElapsedRealTime(Unknown Source:8)
at j7.a0$c.<init>(Unknown Source:8)
at j7.a0.onCreateDialog(Unknown Source:300)
at androidx.fragment.app.m.prepareDialog(Unknown Source:13)
at androidx.fragment.app.m.onGetLayoutInflater(Unknown Source:16)
at androidx.fragment.app.Fragment.performGetLayoutInflater(Unknown Source:0)
at androidx.fragment.app.g0.f(SourceFile:2)
at androidx.fragment.app.g0.l(SourceFile:3)
at androidx.fragment.app.z.Q(SourceFile:15)
at androidx.fragment.app.z.D0(Unknown Source:91)
at androidx.fragment.app.z.O(SourceFile:2)
at androidx.fragment.app.z$d.run(Unknown Source:3)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
How to reproduce
Steps to reproduce the bugs or unexpected behaviors:
Screenshots (Optional)
(if available)
Other information
This is a new issue, beginning in the most recent version on fdroid, 0.2.6.1LTS
Describe the bug or unexpected behavior
Crashed when choose a file to play. Then crased every time when it booted.
Absolutely, data of the app was cleaned before, or i don't have a chance to choose a file.
Crash log
If app crashed, copy the logs if available.
Crash Report:
Package name: player.phonograph.plus
App version: 0.2.0-RC1 (201)
Git Commit Hash: 3bc4bda
Android version: 12 (SDK 31)
Device brand: Redmi (by Xiaomi)
Device model: M2012K11AC (code: alioth)
Product name: alioth
Build version: SKQ1.211006.001 test-keys
(21.12.27)
Hardware: qcom
Language: zh
java.lang.ExceptionInInitializerError
at v3.d.(Unknown Source:11)
at v3.c.a(Unknown Source:0)
at V2.g.a(Unknown Source:222)
at V2.b.b(Unknown Source:2)
at X2.c.c(Unknown Source:69)
at O2.b.a(:4)
at T3.c$c.o(Unknown Source:5)
at d2.a.e(:2)
at q2.I.run(Unknown Source:86)
at kotlinx.coroutines.scheduling.a.u(Unknown Source:0)
at kotlinx.coroutines.scheduling.a$a.run(:5)
Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodException: u3.d.values []
at java.lang.Enum.enumValues(Enum.java:270)
at java.lang.Enum.access$000(Enum.java:61)
at java.lang.Enum$1.create(Enum.java:277)
at java.lang.Enum$1.create(Enum.java:275)
at libcore.util.BasicLruCache.get(BasicLruCache.java:63)
at java.lang.Enum.getSharedConstants(Enum.java:289)
at java.lang.Class.getEnumConstantsShared(Class.java:2459)
at java.util.EnumSet.getUniverse(EnumSet.java:407)
at java.util.EnumSet.noneOf(EnumSet.java:109)
at java.util.EnumSet.of(EnumSet.java:258)
at v3.b.(Unknown Source:8)
... 11 more
Caused by: java.lang.NoSuchMethodException: u3.d.values []
at java.lang.Class.getMethod(Class.java:2103)
at java.lang.Class.getDeclaredMethod(Class.java:2081)
at java.lang.Enum.enumValues(Enum.java:267)
... 21 more
How to reproduce
Steps to reproduce the bugs or unexpected
boot the app, choose a file to play.
behaviors:
Crash
Describe the bug or unexpected behavior
By scrolling my library (Albums, Songs, or Genres tabs), the app crashes.
Crash log
If app crashed, copy the logs if available.
Crash Report:
Package name: player.phonograph.plus
App version: 0.3.2 (310)
Git Commit Hash: a219a0464086110fe2c8
Android version: 12 (SDK 31)
Device brand: samsung (by samsung)
Device model: SM-G981U (code: x1q)
Product name: x1qsqx
Build version: SP1A.210812.016.G981USQU3FVH1
(G981USQU3FVH1)
Hardware: qcom
Language: fa
java.lang.RuntimeException: Canvas: trying to draw too large(127916100bytes) bitmap.
at android.graphics.RecordingCanvas.throwIfCannotDraw(RecordingCanvas.java:266)
at android.graphics.BaseRecordingCanvas.drawBitmap(BaseRecordingCanvas.java:97)
at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:560)
at android.widget.ImageView.onDraw(ImageView.java:1462)
at android.view.View.draw(View.java:23898)
at android.view.View.updateDisplayListIfDirty(View.java:22767)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.updateDisplayListIfDirty(View.java:22753)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.updateDisplayListIfDirty(View.java:22753)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.draw(View.java:23901)
at android.view.View.updateDisplayListIfDirty(View.java:22767)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at androidx.recyclerview.widget.RecyclerView.drawChild(Unknown Source:0)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.draw(View.java:23901)
at androidx.recyclerview.widget.RecyclerView.draw(Unknown Source:0)
at com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView.draw(Unknown Source:0)
at android.view.View.updateDisplayListIfDirty(View.java:22767)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.updateDisplayListIfDirty(View.java:22753)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(Unknown Source:13)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.updateDisplayListIfDirty(View.java:22753)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.updateDisplayListIfDirty(View.java:22753)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at androidx.recyclerview.widget.RecyclerView.drawChild(Unknown Source:0)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.draw(View.java:23901)
at androidx.recyclerview.widget.RecyclerView.draw(Unknown Source:0)
at android.view.View.updateDisplayListIfDirty(View.java:22767)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.updateDisplayListIfDirty(View.java:22753)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(Unknown Source:13)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.updateDisplayListIfDirty(View.java:22753)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.updateDisplayListIfDirty(View.java:22753)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.updateDisplayListIfDirty(View.java:22753)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.updateDisplayListIfDirty(View.java:22753)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at com.sothree.slidinguppanel.SlidingUpPanelLayout.drawChild(Unknown Source:65)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.draw(View.java:23901)
at com.sothree.slidinguppanel.SlidingUpPanelLayout.draw(Unknown Source:0)
at android.view.View.updateDisplayListIfDirty(View.java:22767)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.updateDisplayListIfDirty(View.java:22753)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at androidx.drawerlayout.widget.DrawerLayout.drawChild(SourceFile:2)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.updateDisplayListIfDirty(View.java:22753)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.updateDisplayListIfDirty(View.java:22753)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.updateDisplayListIfDirty(View.java:22753)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.updateDisplayListIfDirty(View.java:22753)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.updateDisplayListIfDirty(View.java:22753)
at android.view.View.draw(View.java:23628)
at android.view.ViewGroup.drawChild(ViewGroup.java:5355)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:5112)
at android.view.View.draw(View.java:23901)
at com.android.internal.policy.DecorView.draw(DecorView.java:1378)
at android.view.View.updateDisplayListIfDirty(View.java:22767)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:602)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:608)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:684)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:5440)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:5148)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4212)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2919)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:10491)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1108)
at android.view.Choreographer.doCallbacks(Choreographer.java:866)
at android.view.Choreographer.doFrame(Choreographer.java:797)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1092)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
How to reproduce
Steps to reproduce the bugs or unexpected behaviors:
Scroll through aforementioned tabs
Screenshots (Optional)
(if available)
Other information
…version 1.3.2
Describe the bug or unexpected behavior
A clear and concise description of what the bug is.
Exception/crash report on each app startup
Crash log
If app crashed, copy the logs if available.
Crash Report:
Package name: player.phonograph.plus
App version: 0.4.0 (400)
Git Commit Hash: 2fdd1d6c262556de0ff8
Android version: 12 (SDK 32)
Failed to read lyrics from song
java.io.FileNotFoundException: Unable to find:/storage/emulated/0/DirToMyMusic/MySong.mp3
at i8.b.a(SourceFile:155)
at ja.c.a(Unknown Source:3)
at ja.c$c.invokeSuspend(Unknown Source:12)
at e6.a.resumeWith(Unknown Source:8)
at u6.o0.run(Unknown Source:102)
at kotlinx.coroutines.internal.i.run(Unknown Source:11)
at kotlinx.coroutines.scheduling.j.run(Unknown Source:2)
at kotlinx.coroutines.scheduling.a$a.run(SourceFile:66)
}
Other information
…
I dont think the mp3 is corrupt, it plays fine, but i moved a lot of files recently before this error occured!
Describe the bug or unexpected behavior
A clear and concise description of what the bug is.
Crash log
If app crashed, copy the logs if available.
[YOUR LOGS HERE]
How to reproduce
Steps to reproduce the bugs or unexpected behaviors:
Screenshots (Optional)
(if available)
Other information
https://github.com/AdrienPoupa/VinylMusicPlayer
…
Perhaps in settings have a selection to change default sorting of artist to album artist. This will help for those of us with multiple compilations.
Package name | player.phonograph.plus |
App version | 0.3.1 |
App version code | 303 |
Android build version | cf9b02468f |
Android release version | 11 |
Android SDK version | 30 |
Android build ID | lineage_nio-userdebug 11 RQ3A.211001.001 cf9b02468f |
Device brand | motorola |
Device manufacturer | motorola |
Device name | nio |
Device model | Motorola Edge S |
Device product name | nio_retcn |
Device hardware name | qcom |
ABIs | [arm64-v8a, armeabi-v7a, armeabi] |
ABIs (32bit) | [armeabi-v7a, armeabi] |
ABIs (64bit) | [arm64-v8a] |
Crash Report:
Package name: player.phonograph.plus
App version: 0.2.2 (204)
Git Commit Hash: 8ece1e4
Android version: 11 (SDK 30)
Device brand: Redmi (by Xiaomi)
Device model: M2004J19C (code: lancelot)
Product name: lancelot_global
Build version: RP1A.200720.011
(V12.5.5.0.RJCMIXM)
Hardware: mt6768
Language: es
java.lang.IllegalStateException: Two different ViewHolders have the same stable ID. Stable IDs in your adapter MUST BE unique and SHOULD NOT change.
ViewHolder 1:a{aae0138 position=3 id=459805675864067378, oldPos=-1, pLpos:-1 not recyclable(1)}
View Holder 2:a{c375125 position=1 id=459805675864067378, oldPos=-1, pLpos:-1} com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView{9c5c511 VFED..... ......ID 0,0-1080,1826 #7f090274 app:id/recycler_view}, adapter:c8.a@7664676, layout:androidx.recyclerview.widget.GridLayoutManager@5482477, context:player.phonograph.ui.activities.MainActivity@fc47741
at androidx.recyclerview.widget.RecyclerView.y(:11)
at androidx.recyclerview.widget.RecyclerView.onLayout(:2)
at android.view.View.layout(View.java:23361)
at android.view.ViewGroup.layout(ViewGroup.java:6534)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:23361)
at android.view.ViewGroup.layout(ViewGroup.java:6534)
at androidx.coordinatorlayout.widget.CoordinatorLayout.r(:14)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(:2)
at android.view.View.layout(View.java:23361)
at android.view.ViewGroup.layout(ViewGroup.java:6534)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:23361)
at android.view.ViewGroup.layout(ViewGroup.java:6534)
at androidx.recyclerview.widget.RecyclerView$m.l0(Unknown Source:32)
at androidx.recyclerview.widget.LinearLayoutManager.y1(Unknown Source:166)
at androidx.recyclerview.widget.LinearLayoutManager.i1(:2)
at androidx.recyclerview.widget.LinearLayoutManager.B0(:17)
at androidx.recyclerview.widget.RecyclerView.A(Unknown Source:66)
at androidx.recyclerview.widget.RecyclerView.y(Unknown Source:71)
at androidx.recyclerview.widget.RecyclerView.onLayout(:2)
at android.view.View.layout(View.java:23361)
at android.view.ViewGroup.layout(ViewGroup.java:6534)
at androidx.viewpager2.widget.ViewPager2.onLayout(Unknown Source:70)
at android.view.View.layout(View.java:23361)
at android.view.ViewGroup.layout(ViewGroup.java:6534)
at com.google.android.material.appbar.g.t(:2)
at com.google.android.material.appbar.h.h(Unknown Source:0)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(:2)
at android.view.View.layout(View.java:23361)
at android.view.ViewGroup.layout(ViewGroup.java:6534)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:23361)
at android.view.ViewGroup.layout(ViewGroup.java:6534)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
at android.view.View.layout(View.java:23361)
at android.view.ViewGroup.layout(ViewGroup.java:6534)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:23361)
at android.view.ViewGroup.layout(ViewGroup.java:6534)
at com.sothree.slidinguppanel.SlidingUpPanelLayout.onLayout(Unknown Source:140)
at android.view.View.layout(View.java:23361)
at android.view.ViewGroup.layout(ViewGroup.java:6534)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:23361)
at android.view.ViewGroup.layout(ViewGroup.java:6534)
at androidx.drawerlayout.widget.DrawerLayout.onLayout(Unknown Source:56)
at android.view.View.layout(View.java:23361)
at android.view.ViewGroup.layout(ViewGroup.java:6534)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:23361)
at android.view.ViewGroup.layout(ViewGroup.java:6534)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
at android.view.View.layout(View.java:23361)
at android.view.ViewGroup.layout(ViewGroup.java:6534)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:23361)
at android.view.ViewGroup.layout(ViewGroup.java:6534)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
at android.view.View.layout(View.java:23361)
at android.view.ViewGroup.layout(ViewGroup.java:6534)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:804)
at android.view.View.layout(View.java:23361)
at android.view.ViewGroup.layout(ViewGroup.java:6534)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3702)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3160)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2129)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8603)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:975)
at android.view.Choreographer.doCallbacks(Choreographer.java:799)
at android.view.Choreographer.doFrame(Choreographer.java:734)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:960)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:236)
at android.app.ActivityThread.main(ActivityThread.java:7864)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:620)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1011)
How to reproduce
• long press on any album
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.