Giter VIP home page Giter VIP logo

sptallent / jolly-music-player Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 3.96 MB

A feature-rich music player written in native Java for the Android platform. This project uses the AcoustID project API along with MusicBrainz to accurately identify and tag meta-data associated with individual songs in the user's music library.

License: MIT License

Java 100.00%
acoustid android android-app coverartarchive java meta-data music-player music-visualizer musicbrainz tagging

jolly-music-player's Introduction

Jolly Music Player

feature_graphic

Description

A feature-rich music player written in native Java for the Android platform. This project uses the AcoustID project API along with MusicBrainz to accurately identify and tag meta-data associated with individual songs in the user's music library.

Getting Started

Prerequisites

  • minSdkVersion 23 (Android 6 Marshmallow)
  • targetSdkVersion 33 (Android 13 Tiramisu)

Features

  • Seamless playback for uninterrupted music enjoyment.
  • Automatic music metadata lookup for accurate song details.
  • Intuitive organization for easy navigation and quick access to your favorite tunes.
  • Smart search functionality to find songs, albums, or artists instantly.
  • Stylish Light & Dark themes to customize the look and feel of the music player.
  • Sleep timer to drift off to your favorite melodies.

Installation

  1. Clone the repository
git clone https://github.com/sptallent/jolly-music-player.git
  1. Import the project into your favorite Java IDE.
  2. Add your API key for AcoustID.
  3. Build and run the application.

Usage

  1. Launch the Jolly Music Player application.
  2. Browse and select your favorite songs, albums, or artists to start playing your music.
  3. Explore the various features like automatic metadata lookup, intuitive organization, themes, and more.

Known Issues:

  1. Theme changing can cause the music service to be reset which requires the user to press next song before music will be played again.
  2. Using the notification media controls while there isn't a song queue can cause the application to crash.
  3. Input from external devices can send playNext and playPrev to the MusicService but play/pause doesn't seem to be working.

Contributing

Contributions are welcome! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request.

License

This project is licensed under the MIT License.

Acknowledgements

  • AcoustID - AcoustID is a project providing a unique identifier for audio recordings by analyzing their acoustic fingerprint.
  • MusicBrainz - MusicBrainz is an open music encyclopedia that collects and makes available music metadata.
  • Glide by Google - A fast and efficient image loading library for Android.
  • SmartTabLayout by Ogaclejapan - A custom ViewPager title strip that gives you a smooth and customizable tab layout.
  • AudioVisualizer by Gautam Chibde - A customizable audio visualizer for Android.
  • SeekArc by SavanTech - A circular seek bar library for Android.

Contact

For any questions or inquiries, please contact [email protected].

jolly-music-player's People

Contributors

sptallent avatar

Stargazers

 avatar  avatar

Watchers

 avatar

jolly-music-player's Issues

Release download...?

It's it possible to provide a release? If the API key can be configurable in-app, it should be possible to be built with FDroid (if it doesn't meet FDroid inclusion criteria, or can still be hosted in a 3rd party fdroid repo like izzyondroid)

App crashes on first start

App crashes with the following logcat error. Full process logcat is at the very bottom.

FATAL EXCEPTION: main
Process: sage.musicplayer, PID: 29726
java.lang.RuntimeException: Unable to start service sage.musicplayer.Service.MusicService@8236006 with Intent { act=action_play cmp=sage.musicplayer/.Service.MusicService }: java.lang.IllegalArgumentException: sage.musicplayer: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
Caused by: java.lang.IllegalArgumentException: sage.musicplayer: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.

Other feedback: app is extremely slow to start, especially on the first run but also quite slow on the second. I assume it's trying to index media or something (I have 40gb+ of music alone on my tablet's internal storage, more on external); if so this should be done after the user configures if not directly using the built-in media database; either way there should be some feedback other than an extremely long progress bar on first run.

logcat filtered to process
10.09 10:50:01.184 12065 29726 29726 sage.musicplayer D/NetworkSecurityConfig: No Network Security Config specified, using platform default
10.09 10:50:01.122 12065 29726 29726 sage.musicplayer E/age.musicplaye: Not starting debugger since process cannot load the jdwp agent.
10.09 10:50:01.125 12065 29726 29726 sage.musicplayer E/USNET: USNET: appName: sage.musicplayer
10.09 10:50:01.126 12065 29726 29726 sage.musicplayer D/ProcessState: Binder ioctl to enable oneway spam detection failed: Invalid argument
10.09 10:50:01.129 12065 29726 29726 sage.musicplayer D/ActivityThread: setConscryptValidator
10.09 10:50:01.129 12065 29726 29726 sage.musicplayer D/ActivityThread: setConscryptValidator - put
10.09 10:50:01.146 12065 29726 29726 sage.musicplayer D/ActivityThread: handleBindApplication()++ app=sage.musicplayer
10.09 10:50:01.148 12065 29726 29726 sage.musicplayer D/CompatibilityChangeReporter: Compat change id reported: 171979766; UID 12065; state: ENABLED
10.09 10:50:01.180 12065 29726 29726 sage.musicplayer V/GraphicsEnvironment: ANGLE Developer option for 'sage.musicplayer' set to: 'default'
10.09 10:50:01.180 12065 29726 29726 sage.musicplayer V/GraphicsEnvironment: ANGLE GameManagerService for sage.musicplayer: false
10.09 10:50:01.180 12065 29726 29726 sage.musicplayer V/GraphicsEnvironment: App is not on the allowlist for updatable production driver.
10.09 10:50:01.181 12065 29726 29726 sage.musicplayer D/LoadedApk: LoadedApk::makeApplication() appContext.mOpPackageName=sage.musicplayer appContext.mBasePackageName=sage.musicplayer
10.09 10:50:01.182 12065 29726 29726 sage.musicplayer D/NetworkSecurityConfig: No Network Security Config specified, using platform default
10.09 10:50:01.190 12065 29726 29726 sage.musicplayer I/FirebaseApp: Device unlocked: initializing all Firebase APIs for app [DEFAULT]
10.09 10:50:01.190 12065 29726 29726 sage.musicplayer I/FirebaseCrashlytics: Initializing Firebase Crashlytics 18.3.3 for sage.musicplayer
10.09 10:50:01.216 12065 29726 29726 sage.musicplayer I/FirebaseInitProvider: FirebaseApp initialization successful
10.09 10:50:01.217 12065 29726 29726 sage.musicplayer D/WM-WrkMgrInitializer: Initializing WorkManager with default configuration.
10.09 10:50:01.219 12065 29726 29749 sage.musicplayer I/DynamiteModule: Considering local module com.google.android.gms.measurement.dynamite:86 and remote module com.google.android.gms.measurement.dynamite:93
10.09 10:50:01.219 12065 29726 29749 sage.musicplayer I/DynamiteModule: Selected remote version of com.google.android.gms.measurement.dynamite, version >= 93
10.09 10:50:01.220 12065 29726 29749 sage.musicplayer V/DynamiteModule: Dynamite loader version >= 2, using loadModule2NoCrashUtils
10.09 10:50:01.225 12065 29726 29726 sage.musicplayer D/ActivityThread: handleBindApplication() --
10.09 10:50:01.234 12065 29726 29761 sage.musicplayer D/OpenGLRenderer: RenderThread::requireGlContext()
10.09 10:50:01.235 12065 29726 29761 sage.musicplayer I/AdrenoGLES-0: QUALCOMM build                   : 390f4e9c29, Ie058859f22
10.09 10:50:01.235 12065 29726 29761 sage.musicplayer I/AdrenoGLES-0: Build Date                       : 07/15/22
10.09 10:50:01.235 12065 29726 29761 sage.musicplayer I/AdrenoGLES-0: OpenGL ES Shader Compiler Version: EV031.32.02.02
10.09 10:50:01.235 12065 29726 29761 sage.musicplayer I/AdrenoGLES-0: Local Branch                     : 
10.09 10:50:01.235 12065 29726 29761 sage.musicplayer I/AdrenoGLES-0: Remote Branch                    : refs/tags/AU_LINUX_ANDROID_LA.UM.9.1.R1.11.00.00.604.073
10.09 10:50:01.235 12065 29726 29761 sage.musicplayer I/AdrenoGLES-0: Remote Branch                    : NONE
10.09 10:50:01.235 12065 29726 29761 sage.musicplayer I/AdrenoGLES-0: Reconstruct Branch               : NOTHING
10.09 10:50:01.235 12065 29726 29761 sage.musicplayer I/AdrenoGLES-0: Build Config                     : S P 10.0.7 AArch64
10.09 10:50:01.235 12065 29726 29761 sage.musicplayer I/AdrenoGLES-0: Driver Path                      : /vendor/lib64/egl/libGLESv2_adreno.so
10.09 10:50:01.235 12065 29726 29726 sage.musicplayer D/AppCompatDelegate: Checking for metadata for AppLocalesMetadataHolderService : Service not found
10.09 10:50:01.246 12065 29726 29759 sage.musicplayer D/CompatibilityChangeReporter: Compat change id reported: 160794467; UID 12065; state: ENABLED
10.09 10:50:01.250 12065 29726 29761 sage.musicplayer I/AdrenoGLES-0: PFP: 0x016ee190, ME: 0x00000000
10.09 10:50:01.256 12065 29726 29726 sage.musicplayer I/DecorView: [INFO] isPopOver=false, config=true
10.09 10:50:01.257 12065 29726 29726 sage.musicplayer I/DecorView: updateCaptionType >> DecorView@eca9701[], isFloating=false, isApplication=true, hasWindowControllerCallback=true, hasWindowDecorCaption=false
10.09 10:50:01.257 12065 29726 29726 sage.musicplayer D/DecorView: setCaptionType = 0, this = DecorView@eca9701[]
10.09 10:50:01.259 12065 29726 29726 sage.musicplayer I/DecorView: getCurrentDensityDpi: from real metrics. densityDpi=360 msg=resources_loaded
10.09 10:50:01.259 12065 29726 29726 sage.musicplayer I/DecorView: setWindowBackground: isPopOver=false color=ff303030 d=android.graphics.drawable.ColorDrawable@46c9fe7
10.09 10:50:01.264 12065 29726 29761 sage.musicplayer D/OpenGLRenderer: RenderThread::setGrContext()
10.09 10:50:01.349 12065 29726 29746 sage.musicplayer W/age.musicplaye: ClassLoaderContext classpath element mismatch. expected=/system_ext/framework/androidx.window.extensions.jar, found=/system/system_ext/framework/androidx.window.extensions.jar (PCL[]{PCL[/system/framework/org.apache.http.legacy.jar*3994927574]#PCL[/system/framework/com.android.media.remotedisplay.jar*2700067333]#PCL[/system/framework/com.android.location.provider.jar*2527093069]#PCL[/system_ext/framework/androidx.window.extensions.jar*2256721318]#PCL[/system_ext/framework/androidx.window.sidecar.jar*1978296452]} | PCL[]{PCL[/system/framework/org.apache.http.legacy.jar*3994927574]#PCL[/system/framework/com.android.media.remotedisplay.jar*2700067333]#PCL[/system/framework/com.android.location.provider.jar*2527093069]#PCL[/system/system_ext/framework/androidx.window.extensions.jar*2256721318]#PCL[/system/system_ext/framework/androidx.window.sidecar.jar*1978296452]})
10.09 10:50:01.350 12065 29726 29726 sage.musicplayer D/RenderScript HIDL Adaptation: IRenderScriptDevice::getService()
10.09 10:50:01.350 12065 29726 29726 sage.musicplayer D/hw-ProcessState: Binder ioctl to enable oneway spam detection failed: Invalid argument
10.09 10:50:01.368 12065 29726 29749 sage.musicplayer W/System: ClassLoader referenced unknown path: 
10.09 10:50:01.368 12065 29726 29726 sage.musicplayer D/RenderScript HIDL Adaptation: IRenderScriptDevice::getService() returned 0xb4000074825fe400
10.09 10:50:01.368 12065 29726 29726 sage.musicplayer D/RenderScript HIDL Adaptation: HIDL successfully loaded.
10.09 10:50:01.371 12065 29726 29766 sage.musicplayer E/RenderScript: Failed to find hal setup entry points: undefined symbol: rsdHalAbort
10.09 10:50:01.372 12065 29726 29766 sage.musicplayer E/RenderScript: Failed to load runtime , loading default
10.09 10:50:01.380 12065 29726 29749 sage.musicplayer W/age.musicplaye: ClassLoaderContext type mismatch. expected=PCL, found=DLC (PCL[] | DLC[];PCL[/data/app/~~wQ5nX_pPr4U7vHd7Tb8oQQ==/sage.musicplayer-DNYtTOCVdk5ChdulXLXEfQ==/base.apk*3038640331])
10.09 10:50:01.381 12065 29726 29726 sage.musicplayer D/age.musicplaye: Successfully queried cache dir: /data/user_de/0/sage.musicplayer/code_cache
10.09 10:50:01.381 12065 29726 29726 sage.musicplayer D/RenderScript: Setting cache dir: /data/user_de/0/sage.musicplayer/code_cache
10.09 10:50:01.387 12065 29726 29746 sage.musicplayer I/DynamiteModule: Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:233012802
10.09 10:50:01.387 12065 29726 29746 sage.musicplayer I/DynamiteModule: Selected remote version of com.google.android.gms.ads.dynamite, version >= 233012802
10.09 10:50:01.387 12065 29726 29746 sage.musicplayer V/DynamiteModule: Dynamite loader version >= 2, using loadModule2NoCrashUtils
10.09 10:50:01.410 12065 29726 29726 sage.musicplayer W/Glide: Failed to find GeneratedAppGlideModule. You should include an annotationProcessor compile dependency on com.github.bumptech.glide:compiler in your application and a @GlideModule annotated AppGlideModule implementation or LibraryGlideModules will be silently ignored
10.09 10:50:01.410 12065 29726 29746 sage.musicplayer W/age.musicplaye: ClassLoaderContext type mismatch. expected=PCL, found=DLC (PCL[] | DLC[];PCL[/data/app/~~wQ5nX_pPr4U7vHd7Tb8oQQ==/sage.musicplayer-DNYtTOCVdk5ChdulXLXEfQ==/base.apk*3038640331])
10.09 10:50:01.419 12065 29726 29726 sage.musicplayer I/MSHandlerLifeCycle: check: return. pkg=sage.musicplayer parent=null callers=com.android.internal.policy.DecorView.setVisibility:4434 android.app.ActivityThread.handleResumeActivity:5504 android.app.servertransaction.ResumeActivityItem.execute:54 android.app.servertransaction.ActivityTransactionItem.execute:45 android.app.servertransaction.TransactionExecutor.executeLifecycleState:176 
10.09 10:50:01.420 12065 29726 29726 sage.musicplayer I/MSHandlerLifeCycle: removeMultiSplitHandler: no exist. decor=DecorView@eca9701[]
10.09 10:50:01.440 12065 29726 29726 sage.musicplayer I/ViewRootImpl@2c90a8b[SplashActivity]: setView = com.android.internal.policy.DecorView@eca9701 TM=true
10.09 10:50:01.443 12065 29726 29726 sage.musicplayer I/MSHandlerLifeCycle: check: windowingMode=1 isFullSize=true isPopOver=false allowedPopOver=false isHidden=false skipActivityType=false isHandlerType=true this: DecorView@eca9701[SplashActivity]
10.09 10:50:01.444 12065 29726 29726 sage.musicplayer I/MSHandlerLifeCycle: removeMultiSplitHandler: no exist. decor=DecorView@eca9701[SplashActivity]
10.09 10:50:01.453 12065 29726 29776 sage.musicplayer I/FA: App measurement initialized, version: 80076
10.09 10:50:01.454 12065 29726 29776 sage.musicplayer I/FA: To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
10.09 10:50:01.454 12065 29726 29776 sage.musicplayer I/FA: To enable faster debug mode event logging run:
10.09 10:50:01.454 12065 29726 29776 sage.musicplayer I/FA:   adb shell setprop debug.firebase.analytics.app sage.musicplayer
10.09 10:50:01.472 12065 29726 29726 sage.musicplayer I/ViewRootImpl@2c90a8b[SplashActivity]: Relayout returned: old=(0,0,1600,2560) new=(0,0,1600,2560) req=(1600,2560)0 dur=16 res=0x7 s={true 0xb4000075c6da2800} ch=true fn=-1
10.09 10:50:01.473 12065 29726 29726 sage.musicplayer D/ViewRootImpl@2c90a8b[SplashActivity]: mThreadedRenderer.initialize() mSurface={isValid=true 0xb4000075c6da2800} hwInitialized=true
10.09 10:50:01.478 12065 29726 29761 sage.musicplayer D/OpenGLRenderer: eglCreateWindowSurface
10.09 10:50:01.486 12065 29726 29726 sage.musicplayer I/ViewRootImpl@2c90a8b[SplashActivity]: [DP] dp(1) 1 android.view.ViewRootImpl.reportNextDraw:11617 android.view.ViewRootImpl.performTraversals:4252 android.view.ViewRootImpl.doTraversal:2952 
10.09 10:50:01.487 12065 29726 29726 sage.musicplayer D/ViewRootImpl@2c90a8b[SplashActivity]: Creating frameDrawingCallback nextDrawUseBlastSync=false reportNextDraw=true hasBlurUpdates=false
10.09 10:50:01.487 12065 29726 29726 sage.musicplayer D/ViewRootImpl@2c90a8b[SplashActivity]: Creating frameCompleteCallback
10.09 10:50:01.489 12065 29726 29791 sage.musicplayer D/ViewRootImpl@2c90a8b[SplashActivity]: Received frameDrawingCallback frameNum=1. Creating transactionCompleteCallback=false
10.09 10:50:01.497 12065 29726 29761 sage.musicplayer I/BufferQueueProducer: [ViewRootImpl@2c90a8b[SplashActivity]#0(BLAST Consumer)0](id:741e00000000,api:1,p:29726,c:29726) queueBuffer: queued for the first time.
10.09 10:50:01.497 12065 29726 29761 sage.musicplayer D/BLASTBufferQueue: [ViewRootImpl@2c90a8b[SplashActivity]#0](f:0,a:0) onFrameAvailable the first frame is available
10.09 10:50:01.498 12065 29726 29761 sage.musicplayer D/OpenGLRenderer: DrawFrameTask::run() invoke frameCompleteCallback
10.09 10:50:01.498 12065 29726 29761 sage.musicplayer D/ViewRootImpl@2c90a8b[SplashActivity]: Received frameCompleteCallback  lastAcquiredFrameNum=1 lastAttemptedDrawFrameNum=1
10.09 10:50:01.501 12065 29726 29726 sage.musicplayer I/ViewRootImpl@2c90a8b[SplashActivity]: [DP] pdf(0)  mWindowCallbacks.size= 1  fn= mFrameNumberandroid.view.ViewRootImpl.lambda$addFrameCompleteCallbackIfNeeded$3$ViewRootImpl:5106 android.view.ViewRootImpl$$ExternalSyntheticLambda16.run:6 android.os.Handler.handleCallback:938 
10.09 10:50:01.501 12065 29726 29726 sage.musicplayer I/ViewRootImpl@2c90a8b[SplashActivity]: [DP] rdf (fn= -1) 
10.09 10:50:01.501 12065 29726 29726 sage.musicplayer D/ViewRootImpl@2c90a8b[SplashActivity]: reportDrawFinished (fn= -1) 
10.09 10:50:01.502 12065 29726 29726 sage.musicplayer D/InsetsSourceConsumer: ensureControlAlpha: for ITYPE_NAVIGATION_BAR on sage.musicplayer/sage.musicplayer.SplashActivity
10.09 10:50:01.503 12065 29726 29726 sage.musicplayer D/InsetsSourceConsumer: ensureControlAlpha: for ITYPE_STATUS_BAR on sage.musicplayer/sage.musicplayer.SplashActivity
10.09 10:50:01.530 12065 29726 29726 sage.musicplayer I/ViewRootImpl@2c90a8b[SplashActivity]: MSG_WINDOW_FOCUS_CHANGED 1 1
10.09 10:50:01.530 12065 29726 29726 sage.musicplayer D/ViewRootImpl@2c90a8b[SplashActivity]: mThreadedRenderer.initializeIfNeeded()#2 mSurface={isValid=true 0xb4000075c6da2800}
10.09 10:50:01.530 12065 29726 29726 sage.musicplayer D/InputMethodManager: startInputInner - Id : 0
10.09 10:50:01.530 12065 29726 29726 sage.musicplayer I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
10.09 10:50:01.539 12065 29726 29726 sage.musicplayer D/InputMethodManager: startInputInner - Id : 0
10.09 10:50:01.550 12065 29726 29776 sage.musicplayer I/FA: Tag Manager is not found and thus will not be used
10.09 10:50:43.339 12065 29726 29726 sage.musicplayer I/DecorView: [INFO] isPopOver=false, config=true
10.09 10:50:43.339 12065 29726 29726 sage.musicplayer I/DecorView: updateCaptionType >> DecorView@65b76d2[], isFloating=false, isApplication=true, hasWindowControllerCallback=true, hasWindowDecorCaption=false
10.09 10:50:43.339 12065 29726 29726 sage.musicplayer D/DecorView: setCaptionType = 0, this = DecorView@65b76d2[]
10.09 10:50:43.340 12065 29726 29726 sage.musicplayer I/DecorView: getCurrentDensityDpi: from real metrics. densityDpi=360 msg=resources_loaded
10.09 10:50:43.340 12065 29726 29726 sage.musicplayer I/DecorView: setWindowBackground: isPopOver=false color=ff303030 d=android.graphics.drawable.ColorDrawable@9be26a0
10.09 10:50:43.355 12065 29726 29726 sage.musicplayer D/CompatibilityChangeReporter: Compat change id reported: 171228096; UID 12065; state: ENABLED
10.09 10:50:43.420 12065 29726 29726 sage.musicplayer I/DecorView: [INFO] isPopOver=false, config=false
10.09 10:50:43.420 12065 29726 29726 sage.musicplayer I/DecorView: updateCaptionType >> DecorView@a9ba17d[], isFloating=false, isApplication=true, hasWindowControllerCallback=false, hasWindowDecorCaption=false
10.09 10:50:43.420 12065 29726 29726 sage.musicplayer D/DecorView: setCaptionType = 0, this = DecorView@a9ba17d[]
10.09 10:50:43.420 12065 29726 29726 sage.musicplayer I/DecorView: getCurrentDensityDpi: from app context. densityDpi=360 msg=resources_loaded
10.09 10:50:43.420 12065 29726 29726 sage.musicplayer I/DecorView: setWindowBackground: isPopOver=false color=ff303030 d=android.graphics.drawable.ColorDrawable@7f084c3
10.09 10:50:43.421 12065 29726 29726 sage.musicplayer I/DecorView: setWindowBackground: isPopOver=false color=0 d=android.graphics.drawable.ColorDrawable@8c839be
10.09 10:50:43.440 12065 29726 29726 sage.musicplayer I/MSHandlerLifeCycle: check: return. pkg=sage.musicplayer parent=null callers=com.android.internal.policy.DecorView.setVisibility:4434 android.app.ActivityThread.handleResumeActivity:5504 android.app.servertransaction.ResumeActivityItem.execute:54 android.app.servertransaction.ActivityTransactionItem.execute:45 android.app.servertransaction.TransactionExecutor.executeLifecycleState:176 
10.09 10:50:43.440 12065 29726 29726 sage.musicplayer I/MSHandlerLifeCycle: removeMultiSplitHandler: no exist. decor=DecorView@65b76d2[]
10.09 10:50:43.450 12065 29726 29726 sage.musicplayer I/ViewRootImpl@daa8fb[MainActivity]: setView = com.android.internal.policy.DecorView@65b76d2 TM=true
10.09 10:50:43.450 12065 29726 29726 sage.musicplayer I/MSHandlerLifeCycle: check: windowingMode=1 isFullSize=true isPopOver=false allowedPopOver=false isHidden=false skipActivityType=false isHandlerType=true this: DecorView@65b76d2[MainActivity]
10.09 10:50:43.450 12065 29726 29726 sage.musicplayer I/MSHandlerLifeCycle: removeMultiSplitHandler: no exist. decor=DecorView@65b76d2[MainActivity]
10.09 10:50:43.457 12065 29726 29726 sage.musicplayer V/MediaPlayer-JNI: native_setup
10.09 10:50:43.460 12065 29726 29726 sage.musicplayer V/MediaPlayerNative: constructor
10.09 10:50:43.461 12065 29726 29726 sage.musicplayer V/MediaPlayerNative: setListener
10.09 10:50:43.463 12065 29726 29726 sage.musicplayer V/MediaPlayer-JNI: get_session_id()
10.09 10:50:43.465 12065 29726 29726 sage.musicplayer W/MediaPlayer: Use of stream types is deprecated for operations other than volume control
10.09 10:50:43.465 12065 29726 29726 sage.musicplayer W/MediaPlayer: See the documentation of setAudioStreamType() for what to use instead with android.media.AudioAttributes to qualify your playback use case
10.09 10:50:43.472 12065 29726 29726 sage.musicplayer V/MediaPlayer-JNI: setAudioStreamType: 3
10.09 10:50:43.472 12065 29726 29726 sage.musicplayer V/MediaPlayerNative: MediaPlayer::setAudioStreamType
10.09 10:50:43.476 12065 29726 29726 sage.musicplayer W/MediaSessionCompat: Couldn't find a unique registered media button receiver in the given context.
10.09 10:50:43.482 12065 29726 29726 sage.musicplayer D/AndroidRuntime: Shutting down VM
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: FATAL EXCEPTION: main
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: Process: sage.musicplayer, PID: 29726
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: java.lang.RuntimeException: Unable to start service sage.musicplayer.Service.MusicService@8236006 with Intent { act=action_play cmp=sage.musicplayer/.Service.MusicService }: java.lang.IllegalArgumentException: sage.musicplayer: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: 	at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:5313)
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: 	at android.app.ActivityThread.access$2300(ActivityThread.java:324)
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2374)
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:106)
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: 	at android.os.Looper.loopOnce(Looper.java:226)
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: 	at android.os.Looper.loop(Looper.java:313)
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:8855)
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: Caused by: java.lang.IllegalArgumentException: sage.musicplayer: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: 	at android.app.PendingIntent.checkFlags(PendingIntent.java:382)
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: 	at android.app.PendingIntent.getActivityAsUser(PendingIntent.java:465)
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: 	at android.app.PendingIntent.getActivity(PendingIntent.java:451)
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: 	at android.app.PendingIntent.getActivity(PendingIntent.java:415)
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: 	at sage.musicplayer.Service.MusicService.a(SourceFile:24)
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: 	at sage.musicplayer.Service.MusicService.onStartCommand(SourceFile:121)
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: 	at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:5295)
10.09 10:50:43.483 12065 29726 29726 sage.musicplayer E/AndroidRuntime: 	... 9 more
10.09 10:50:43.540 12065 29726 29858 sage.musicplayer I/TRuntime.CctTransportBackend: Making request to: https://crashlyticsreports-pa.googleapis.com/v1/firelog/legacy/batchlog
10.09 10:50:45.559 12065 29726 29726 sage.musicplayer I/Process: Sending signal. PID: 29726 SIG: 9
10.09 10:50:46.698 12065 30009 30009 sage.musicplayer E/age.musicplaye: Not starting debugger since process cannot load the jdwp agent.
10.09 10:50:46.700 12065 30009 30009 sage.musicplayer E/USNET: USNET: appName: sage.musicplayer
10.09 10:50:46.701 12065 30009 30009 sage.musicplayer D/ProcessState: Binder ioctl to enable oneway spam detection failed: Invalid argument
10.09 10:50:46.703 12065 30009 30009 sage.musicplayer D/ActivityThread: setConscryptValidator
10.09 10:50:46.729 12065 30009 30009 sage.musicplayer D/ActivityThread: handleBindApplication()++ app=sage.musicplayer
10.09 10:50:46.733 12065 30009 30009 sage.musicplayer D/CompatibilityChangeReporter: Compat change id reported: 171979766; UID 12065; state: ENABLED
10.09 10:50:46.703 12065 30009 30009 sage.musicplayer D/ActivityThread: setConscryptValidator - put
10.09 10:50:46.786 12065 30009 30009 sage.musicplayer V/GraphicsEnvironment: ANGLE Developer option for 'sage.musicplayer' set to: 'default'
10.09 10:50:46.787 12065 30009 30009 sage.musicplayer V/GraphicsEnvironment: ANGLE GameManagerService for sage.musicplayer: false
10.09 10:50:46.787 12065 30009 30009 sage.musicplayer V/GraphicsEnvironment: App is not on the allowlist for updatable production driver.
10.09 10:50:46.789 12065 30009 30009 sage.musicplayer D/LoadedApk: LoadedApk::makeApplication() appContext.mOpPackageName=sage.musicplayer appContext.mBasePackageName=sage.musicplayer
10.09 10:50:46.789 12065 30009 30009 sage.musicplayer D/NetworkSecurityConfig: No Network Security Config specified, using platform default
10.09 10:50:46.797 12065 30009 30009 sage.musicplayer D/NetworkSecurityConfig: No Network Security Config specified, using platform default
10.09 10:50:46.805 12065 30009 30009 sage.musicplayer I/FirebaseApp: Device unlocked: initializing all Firebase APIs for app [DEFAULT]
10.09 10:50:46.806 12065 30009 30009 sage.musicplayer I/FirebaseCrashlytics: Initializing Firebase Crashlytics 18.3.3 for sage.musicplayer
10.09 10:50:46.869 12065 30009 30009 sage.musicplayer I/FirebaseInitProvider: FirebaseApp initialization successful
10.09 10:50:46.871 12065 30009 30009 sage.musicplayer D/WM-WrkMgrInitializer: Initializing WorkManager with default configuration.
10.09 10:50:46.920 12065 30009 30033 sage.musicplayer I/DynamiteModule: Considering local module com.google.android.gms.measurement.dynamite:86 and remote module com.google.android.gms.measurement.dynamite:93
10.09 10:50:46.920 12065 30009 30033 sage.musicplayer I/DynamiteModule: Selected remote version of com.google.android.gms.measurement.dynamite, version >= 93
10.09 10:50:46.920 12065 30009 30033 sage.musicplayer V/DynamiteModule: Dynamite loader version >= 2, using loadModule2NoCrashUtils
10.09 10:50:46.926 12065 30009 30009 sage.musicplayer D/ActivityThread: handleBindApplication() --
10.09 10:50:46.979 12065 30009 30043 sage.musicplayer D/CompatibilityChangeReporter: Compat change id reported: 160794467; UID 12065; state: ENABLED
10.09 10:50:46.985 12065 30009 30040 sage.musicplayer I/TRuntime.CctTransportBackend: Making request to: https://crashlyticsreports-pa.googleapis.com/v1/firelog/legacy/batchlog
10.09 10:50:46.986 12065 30009 30033 sage.musicplayer W/System: ClassLoader referenced unknown path: 
10.09 10:50:47.036 12065 30009 30033 sage.musicplayer W/age.musicplaye: ClassLoaderContext type mismatch. expected=PCL, found=DLC (PCL[] | DLC[];PCL[/data/app/~~wQ5nX_pPr4U7vHd7Tb8oQQ==/sage.musicplayer-DNYtTOCVdk5ChdulXLXEfQ==/base.apk*3038640331])
10.09 10:50:47.052 12065 30009 30029 sage.musicplayer W/age.musicplaye: ClassLoaderContext classpath element mismatch. expected=/system_ext/framework/androidx.window.extensions.jar, found=/system/system_ext/framework/androidx.window.extensions.jar (PCL[]{PCL[/system/framework/org.apache.http.legacy.jar*3994927574]#PCL[/system/framework/com.android.media.remotedisplay.jar*2700067333]#PCL[/system/framework/com.android.location.provider.jar*2527093069]#PCL[/system_ext/framework/androidx.window.extensions.jar*2256721318]#PCL[/system_ext/framework/androidx.window.sidecar.jar*1978296452]} | PCL[]{PCL[/system/framework/org.apache.http.legacy.jar*3994927574]#PCL[/system/framework/com.android.media.remotedisplay.jar*2700067333]#PCL[/system/framework/com.android.location.provider.jar*2527093069]#PCL[/system/system_ext/framework/androidx.window.extensions.jar*2256721318]#PCL[/system/system_ext/framework/androidx.window.sidecar.jar*1978296452]})
10.09 10:50:47.100 12065 30009 30029 sage.musicplayer I/DynamiteModule: Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:233012802
10.09 10:50:47.100 12065 30009 30029 sage.musicplayer I/DynamiteModule: Selected remote version of com.google.android.gms.ads.dynamite, version >= 233012802
10.09 10:50:47.100 12065 30009 30029 sage.musicplayer V/DynamiteModule: Dynamite loader version >= 2, using loadModule2NoCrashUtils
10.09 10:50:47.114 12065 30009 30029 sage.musicplayer W/age.musicplaye: ClassLoaderContext type mismatch. expected=PCL, found=DLC (PCL[] | DLC[];PCL[/data/app/~~wQ5nX_pPr4U7vHd7Tb8oQQ==/sage.musicplayer-DNYtTOCVdk5ChdulXLXEfQ==/base.apk*3038640331])
10.09 10:50:47.214 12065 30009 30055 sage.musicplayer I/FA: App measurement initialized, version: 80076
10.09 10:50:47.214 12065 30009 30055 sage.musicplayer I/FA: To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
10.09 10:50:47.215 12065 30009 30055 sage.musicplayer I/FA: To enable faster debug mode event logging run:
10.09 10:50:47.215 12065 30009 30055 sage.musicplayer I/FA:   adb shell setprop debug.firebase.analytics.app sage.musicplayer
10.09 10:50:48.884 12065 30009 30040 sage.musicplayer I/TRuntime.CctTransportBackend: Status Code: 200

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.