Coder Social home page Coder Social logo

gauravjot / android-noad-music-player Goto Github PK

View Code? Open in Web Editor NEW
66.0 66.0 11.0 2.74 MB

Noad Music Player for android. Available on Play Store.

Home Page: https://play.google.com/store/apps/details?id=com.droidheat.musicplayer

License: GNU General Public License v3.0

Java 100.00%
android android-application music-player

android-noad-music-player's People

Contributors

gauravjot avatar s3l1m avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

android-noad-music-player's Issues

The app crashed when I tapped multiple times on a song in the playing queue.

Expected behavior

I expected that the app could handle itself when I tapped multiple times on a song in the playing queue.

Actual behavior

When I tried to click on a song multiple times in my playing queue, then the app crashed. After that, the app is not usable/openable. It crashes every time when I am trying to open it.

How to reproduce

Here is every possible detail to reproduce the bug.

  1. Open the app.
  2. Play a song from the "Songs" tab and open it by taping on that song's name at the downside of your display.
  3. Then click on the "list icon/queue button" at the downside of your songs list.
  4. Choose a song and tap multiple times on it.
  5. Notice the bug. You can't open the app after that crash happened.
  • App version: V0.9.4
  • Operating system: Android 6.0.1
  • Device: Samsung A5

Recording Of The Bug

bug

LogCat

06-12 23:39:10.705 25371 25371 E AndroidRuntime: FATAL EXCEPTION: main

06-12 23:39:10.705 25371 25371 E AndroidRuntime: Process: com.droidheat.musicplayer, PID: 25371

06-12 23:39:10.705 25371 25371 E AndroidRuntime: java.lang.ArrayIndexOutOfBoundsException: length=370; index=-1

06-12 23:39:10.705 25371 25371 E AndroidRuntime: 	at java.util.ArrayList.get(ArrayList.java:310)

06-12 23:39:10.705 25371 25371 E AndroidRuntime: 	at com.droidheat.musicplayer.MusicPlayback.doPushPlay(MusicPlayback.java:198)

06-12 23:39:10.705 25371 25371 E AndroidRuntime: 	at com.droidheat.musicplayer.MusicPlayback.access$400(MusicPlayback.java:50)

06-12 23:39:10.705 25371 25371 E AndroidRuntime: 	at com.droidheat.musicplayer.MusicPlayback$1.onSkipToQueueItem(MusicPlayback.java:432)

06-12 23:39:10.705 25371 25371 E AndroidRuntime: 	at android.support.v4.media.session.MediaSessionCompat$Callback$StubApi21.onSkipToQueueItem(MediaSessionCompat.java:1420)

06-12 23:39:10.705 25371 25371 E AndroidRuntime: 	at android.support.v4.media.session.MediaSessionCompatApi21$CallbackProxy.onSkipToQueueItem(MediaSessionCompatApi21.java:213)

06-12 23:39:10.705 25371 25371 E AndroidRuntime: 	at android.media.session.MediaSession$CallbackMessageHandler.handleMessage(MediaSession.java:1219)

06-12 23:39:10.705 25371 25371 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:102)

06-12 23:39:10.705 25371 25371 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:148)

06-12 23:39:10.705 25371 25371 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:7325)

06-12 23:39:10.705 25371 25371 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)

06-12 23:39:10.705 25371 25371 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)

06-12 23:39:10.705 25371 25371 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

Bug: Delete doesn't work on artist page

Describe the bug.

When I play music on the app and then click on the 3 dots on the top right corner of the app. Then I click on go to artist. I found a function to delete there, and I tried to delete the music but it doesn't delete.

Steps to reproduce.

  • Launch the app

  • Click on songs feature

  • Click on the 3 dots and click on 'Go to artist'

  • Click on the 3 dots again (down on the music) there and use the delete function. It doesn't work.

Expected Behaviour

I expect the delete function should delete any music.

Screen recording

https://youtu.be/r4-1hYyl3IY

Devices and Versions)

  • Device: [Gionee]

  • Version [7.0]

  • App version [0.9.20190524-2]

What I look forward to in next update

Increase the number of equalizers, and name it. For instance, it could be Pop, Jazz, Blues and so on. Using profile 1 to 5 is ambiguous.

Changing theme does not have an obvious effect on the app overall appearance, the front end designer need to work on this.

Include share option

App crash when i split screen on my android 7.0

Describe the bug

The app crashes when I split screen on my android

Steps To Reproduce

Launch the app
Accept all permissions
Then split screen

Expected behavior

I expect the app not to crash when I split screen on my android

Device and Version

Device (Infinix s2pro)
Version (7.0)
App version 0.9.4

App crashes when I turn of the storage permission

Describe the bug

The app crashes when I turn off the storage permission

Steps To Reproduce

  1. Launch the app
  2. Accept all permissions
  3. Then go to the application details of the Noad app
  4. Turn off the storage permission

Expected behavior

I expect the app not to crash when I turn off the storage permission

Device and Version

Device (Infinix s2pro)
Version (7.0)
App version 0.9.4

Noad does not display all albums in artist view

Hi,

After having synced files, when I activate the artist list view, all artists are displayed, however only some albums are displayed (most of the time only 1, where up to 8 should be displayed.)

However I can find the song corresponding to the missing albums using the search bar.

Best regards

v0.9.20290524 Set sleep timer Crash

Expected behavior
it expected that user can use can use set sleep timer with typing 0 without any crash

Actual behavior
the app crash when i type 0 in the set sleep timer

How to reproduce

  1. open the app
  2. then go to Set Sleep timer
  3. then type 0
  4. note the bug

device

  • OS: Android 8.1.0
  • app version: 0.9.2019

Recording Of The Bug
https://youtu.be/2GHyMO82zCU

option for translation

Just add folder with translactions and instead writing text into code, use translation variable.

Duration Time

Feature request. I am missing Duration time of songs

Bug: App crash when i allow access to my file.

Describe the bug.

When I launched the app, I got a pop up that I should grant permission, I clicked on accept, and the app pops up again that I should allow access to my file and I clicked allow, the app roll and crashed.

Steps to reproduce.

  • Launch the app

  • Click on accept to grant permission

  • Then click on allow

  • And note the bug

Expected Behaviour

I expect the app shouldn't crash when I allow access to my file.

Screen recording

https://youtu.be/j7M1LJ1yycI

Devices and Versions)

  • Device: [itel]

  • Version [6.1]

  • App version [0.8.20190518-2]

Log

05-22 18:22:23.222 24873 24873 E AndroidRuntime: Process: com.droidheat.musicplayer, PID: 24873
05-22 18:22:23.222 24873 24873 E AndroidRuntime: android.view.InflateException: Binary XML file line #21: Binary XML file line #21: Error inflating class ImageView
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at com.droidheat.musicplayer.CustomAdapter.getView(CustomAdapter.java:74)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at com.commonsware.cwac.merge.MergeAdapter.getView(MergeAdapter.java:271)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.AbsListView.obtainView(AbsListView.java:2354)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.ListView.makeAndAddView(ListView.java:1878)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.ListView.fillSpecific(ListView.java:1357)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.ListView.layoutChildren(ListView.java:1677)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.AbsListView.onLayout(AbsListView.java:2156)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.View.layout(View.java:16649)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:5471)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.LinearLayout.onLayout(LinearLayout.java:1495)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.View.layout(View.java:16649)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:5471)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1775)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.View.layout(View.java:16649)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:5471)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1079)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.View.layout(View.java:16649)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:5471)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.support.constraint.ConstraintLayout.onLayout(ConstraintLayout.java:1915)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.View.layout(View.java:16649)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:5471)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.View.layout(View.java:16649)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:5471)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.LinearLayout.onLayout(LinearLayout.java:1495)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.View.layout(View.java:16649)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:5471)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.View.layout(View.java:16649)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:5471)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.LinearLayout.onLayout(LinearLayout.java:1495)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.View.layout(View.java:16649)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:5471)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:2694)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.View.layout(View.java:16649)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:5471)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2171)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1931)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.Choreographer.doCallbacks(Choreographer.java:670)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.Choreographer.doFrame(Choreographer.java:606)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:739)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:95)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:148)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:5452)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:781)
05-22 18:22:23.222 24873 24873 E AndroidRuntime: 	at com.android.internal.os.Zy```

Translation (French)

Hi, I appreciate your app, it is exactly what I was searching. I would be pleased to contribute and help you a little with the app development, for example I could translate the app in French, that is something I already done for another Android open-source app (StockTicker).
Let me know if you are interested.

Feature request - fast scroll

Hi,

It would be great if it was possible to "fast scroll" in all views (use finger on the scroll bar to move it faster to the bottom, + have the ability to scroll to a given letter (0-9, then A-Z)

Thanks in advance

App crash on launch on android 7.0 and 8.1

Describe the bug.

The app crash on launch when I open it on android 7.0 and 8.1, but it works on 6.1

Steps to reproduce.

  • Launch the app

  • And note the bug

Expected Behaviour

I expect to use it on every android version.

Screen recording

https://youtu.be/INsVkwnXW5A

Devices and Versions.

Device: [Gionee X1]

Version [7.0]

App version [0.9.4]

Log

06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: Process: com.droidheat.musicplayer, PID: 20770
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: android.view.InflateException: Binary XML file line #21: Binary XML file line #21: Error inflating class ImageView
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: Caused by: android.view.InflateException: Binary XML file line #21: Error inflating class ImageView
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: Caused by: android.content.res.Resources$NotFoundException: Drawable (missing name) with resource ID #0x7f08007f
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: Caused by: android.content.res.Resources$NotFoundException: Unable to find resource ID #0x7f08007f
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.content.res.ResourcesImpl.getResourceName(ResourcesImpl.java:253)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:760)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:630)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.content.res.Resources.loadDrawable(Resources.java:886)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.content.res.TypedArray.getDrawableForDensity(TypedArray.java:953)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.content.res.TypedArray.getDrawable(TypedArray.java:928)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.widget.ImageView.<init>(ImageView.java:188)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.widget.ImageView.<init>(ImageView.java:171)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:72)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:68)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.support.v7.app.AppCompatViewInflater.createImageView(AppCompatViewInflater.java:182)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:106)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.support.v7.app.AppCompatDelegateImpl.createView(AppCompatDelegateImpl.java:1266)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.support.v7.app.AppCompatDelegateImpl.onCreateView(AppCompatDelegateImpl.java:1316)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:772)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at com.droidheat.musicplayer.CustomAdapter.getView(CustomAdapter.java:74)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at com.commonsware.cwac.merge.MergeAdapter.getView(MergeAdapter.java:271)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.widget.AbsListView.obtainView(AbsListView.java:2365)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.widget.ListView.makeAndAddView(ListView.java:2052)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.widget.ListView.fillSpecific(ListView.java:1482)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.widget.ListView.layoutChildren(ListView.java:1803)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.widget.AbsListView.onLayout(AbsListView.java:2164)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.view.View.layout(View.java:19806)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:6150)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.widget.LinearLayout.onLayout(LinearLayout.java:1544)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.view.View.layout(View.java:19806)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:6150)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1775)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.view.View.layout(View.java:19806)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:6150)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1083)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.view.View.layout(View.java:19806)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:6150)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.support.constraint.ConstraintLayout.onLayout(ConstraintLayout.java:1915)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.view.View.layout(View.java:19806)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:6150)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.view.View.layout(View.java:19806)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:6150)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.widget.LinearLayout.onLayout(LinearLayout.java:1544)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.view.View.layout(View.java:19806)
06-05 20:04:14.878 10110 20770 20770 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:6150)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.view.View.layout(View.java:19806)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:6150)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.widget.LinearLayout.onLayout(LinearLayout.java:1544)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.view.View.layout(View.java:19806)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:6150)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at com.android.internal.policy.DecorView.onLayout(DecorView.java:762)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.view.View.layout(View.java:19806)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.view.ViewGroup.layout(ViewGroup.java:6150)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2597)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2302)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1438)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6982)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:913)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.view.Choreographer.doCallbacks(Choreographer.java:725)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.view.Choreographer.doFrame(Choreographer.java:660)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:899)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:790)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:99)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:164)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:6523)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
06-05 20:04:14.879 10110 20770 20770 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:857)```

Album track order is reversed

Noad Player is a good app with an elegant interface but I have found that with version 0.9.6 the album track order is reversed, which is a bit annoying.

Also, as a suggestion, it would be nice if the cover image was not displayed enlarged on the playback screen because it usually results in poor quality.

Anyway, thank you very much for this promising app.

Feature Request List from a Reddit user

https://www.reddit.com/r/androidapps/comments/bvr9f8/searching_for_a_music_app_help/eptxxdh/?context=3

Request:

"Hey man, checked out your app for a few mins. I'd like to give some unsolicited feedback.

To give you an idea of what my music library is like on my mobile I've got 1900+ songs, ~321 Albums (almost all are 320Kbps MP3). My tags are for the most part very neat and almost all of my music has album art. Musicolet and AIMP are my main players.

I say that to say when clicking on the albums tab there is a noticeable lag even if I'm just going back and forth between tabs. Needs some caching maybe?

Also, the shuffle button is found in seemingly random places around the app, it would be nice to find it somewhere on the now playing screen like the repeat button is.

What I like about the app is that the UI is super clean. I like the full screen album art on the now playing screen. Sleep timer is also an essential feature. Also, despite my tags being very clean, some music players still can't group my albums correctly. Your app along with Musicolet does a great job of getting this right.

What I feel is missing from your app from 3 mins of use: - Hierarchical Folder view (similar to Musicolet) - Exclude user-defined folders

  • Editing ID3 tags
  • Crossfade (Preferably with user-defined length)
  • A visible countdown for the sleep timer somewhere in the app (My notifications were cluttered, I didn't notice the notification at first)
  • Something I haven't seen on any android app (but have in AIMP for Windows [as a plugin]) is something I refer to as AutoDJ (the AIMP plugin is called Track Preview). This allows the song to come in at a user defined spot (i.e. 15% mark of a song) and go out at another user defined spot (i.e. 75% mark). Along with crossfade this makes for a pretty good listening experience.

So in practice it looks like this

Fade in at 15% of song

Song plays until 75% mark

[Crossfade] Out at 75% mark with fade in 15% mark of new song

Repeat steps 2 & 3.

Fade on skip and pause would be nice too."

Add Privacy Policy, FAQs and Contributor's guidelines.

Hello, I'm Harry. I engage in creating documents for open source projects. It's part of my contribution to helping open source projects. One of the documents I engage in creating is a privacy policy. The privacy policy will give details about user information collection, use and security. I really don't know if you externally collect user information, but, if you don't, it's good to let end users know via a privacy policy.
Contributor's guidelines is also an important document that will help prospective collaborators contribute easily to your project.

I'll love to hear your thoughts on this.

Crash when click play next

EXPECTED BEHAVIOR

user should be able to play next music

ACTUAL BEHAVIOR

The app crash when user click "play next"

STEP TO REPRODUCE

open the app
Scroll down to to find list of music
Click dot 3 on any music
Click "play next"
See error

bug recording

https://youtu.be/vnf7snnzrgs

LOG CAT

Process: com.droidheat.musicplayer, PID: 18760
java.lang.IndexOutOfBoundsException: Invalid index 1, size is 0
	at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
	at java.util.ArrayList.add(ArrayList.java:147)
	at com.droidheat.musicplayer.SongsManager.playNext(SongsManager.java:414)
	at com.droidheat.musicplayer.AdapterFiveRecentlyAdded$3.onMenuItemClick(AdapterFiveRecentlyAdded.java:153)
	at android.support.v7.widget.PopupMenu$1.onMenuItemSelected(PopupMenu.java:113)
	at android.support.v7.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:840)
	at android.support.v7.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:158)
	at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:991)
	at android.support.v7.view.menu.MenuPopup.onItemClick(MenuPopup.java:128)
	at android.widget.AdapterView.performItemClick(AdapterView.java:310)
	at android.widget.AbsListView.performItemClick(AbsListView.java:1201)
	at android.widget.AbsListView$PerformClick.run(AbsListView.java:3248)
	at android.widget.AbsListView.onTouchUp(AbsListView.java:4215)
	at android.widget.AbsListView.onTouchEvent(AbsListView.java:3926)
	at android.support.v7.widget.DropDownListView.onTouchEvent(DropDownListView.java:217)
	at android.support.v7.widget.MenuPopupWindow$MenuDropDownListView.onTouchEvent(MenuPopupWindow.java:129)
	at android.view.View.dispatchTouchEvent(View.java:8593)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2524)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2157)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2530)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2171)
	at android.widget.PopupWindow$PopupViewContainer.dispatchTouchEvent(PopupWindow.java:1799)
	at android.view.View.dispatchPointerEvent(View.java:8799)
	at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4729)
	at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4551)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4047)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4106)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4066)
	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4209)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4074)
	at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4266)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4047)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4106)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4066)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4074)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4047)
	at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6530)
	at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6504)
	at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6457)
	at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6689)
	at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:218)
	at android.os.MessageQueue.nativePollOnce(Native Method)
	at android.os.MessageQueue.next(MessageQueue.java:148)
	at android.os.Looper.loop(Looper.java:168)
	at android.app.ActivityThread.main(ActivityThread.java:5657)
	at java.lang.reflect.Method.invoke(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:372)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:990)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:785)```

The app crashed when I tried to turn on and off the equalizer from the "Equalizer" menu after activating equalizer from the app settings

Expected behavior

I expected that I could able to turn on/off the equalizer from the "Equalizer" menu after activating equalizer from settings.

Actual behavior

When I tried to turn on and off the equalizer from the "Equalizer" menu after activating equalizer from the app settings, then the app crashed.

How to reproduce

Here is every possible detail to reproduce the bug.

  1. Open the app.
  2. Go to "Settings" and enable the "Equalizer".
  3. Now click on "Equalizer" that based on the main menu.
  4. After that try to disable and enable it and then notice the bug.
  • App version: v0.9.4
  • Operating system: Android 6.0.1

Possible Fix

I think this crash occurred because of the equalizer option from settings. I believe removing this option from the app would be the easiest way to fix it.
It won't affect the user experience at all because we have another option to use this feature.

Recording Of The Bug

bug

LogCat

06-19 01:28:38.246 15730 15730 E AndroidRuntime: FATAL EXCEPTION: main

06-19 01:28:38.246 15730 15730 E AndroidRuntime: Process: com.droidheat.musicplayer, PID: 15730

06-19 01:28:38.246 15730 15730 E AndroidRuntime: java.lang.UnsupportedOperationException: AudioEffect: invalid parameter operation

06-19 01:28:38.246 15730 15730 E AndroidRuntime: 	at android.media.audiofx.AudioEffect.checkStatus(AudioEffect.java:1327)

06-19 01:28:38.246 15730 15730 E AndroidRuntime: 	at android.media.audiofx.Equalizer.setBandLevel(Equalizer.java:223)

06-19 01:28:38.246 15730 15730 E AndroidRuntime: 	at com.droidheat.musicplayer.EqualizerActivity$1.onCheckedChanged(EqualizerActivity.java:79)

06-19 01:28:38.246 15730 15730 E AndroidRuntime: 	at android.widget.CompoundButton.setChecked(CompoundButton.java:165)

06-19 01:28:38.246 15730 15730 E AndroidRuntime: 	at android.support.v7.widget.SwitchCompat.setChecked(SwitchCompat.java:1060)

06-19 01:28:38.246 15730 15730 E AndroidRuntime: 	at android.support.v7.widget.SwitchCompat.toggle(SwitchCompat.java:1055)

06-19 01:28:38.246 15730 15730 E AndroidRuntime: 	at android.widget.CompoundButton.performClick(CompoundButton.java:123)

06-19 01:28:38.246 15730 15730 E AndroidRuntime: 	at android.view.View$PerformClick.run(View.java:22589)

06-19 01:28:38.246 15730 15730 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:739)

06-19 01:28:38.246 15730 15730 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:95)

06-19 01:28:38.246 15730 15730 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:148)

06-19 01:28:38.246 15730 15730 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:7325)

06-19 01:28:38.246 15730 15730 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)

06-19 01:28:38.246 15730 15730 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)

06-19 01:28:38.246 15730 15730 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

Accessibility problems

Issue

There are pretty much unlabeled buttons and buttons that are read by the screenreader as 'hello world'.
This makes this application pretty hard to use for people who need a screenreader to use their phone.

Fix

Add labels to all buttons and correct the buttons that are read as 'hello world'

(I also reported this bug in my accessibility hub. PrivacyDragon/FOSS-accessibility-hub#8)

Feature request - Genre view

Hi,

In addition to the Artist, Album, Song views, it would be great to have a Genre view to easier access to songs.

Thanks in advance

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.