title: CallbackException: Unexpected exception thrown by non-Glide code when using in notification
body: <p>I use glide in notification in remoteviews.
  When I update my notification, at some point I got the error like this.</p>
  <pre><code>    com.bumptech.glide.load.engine.CallbackException: Unexpected exception thrown by non-Glide code
          at com.bumptech.glide.load.engine.EngineJob.callCallbackOnResourceReady(EngineJob.java:160)
          at com.bumptech.glide.load.engine.EngineJob$CallResourceReady.run(EngineJob.java:424)
          at android.os.Handler.handleCallback(Handler.java:883)
          at android.os.Handler.dispatchMessage(Handler.java:100)
          at android.os.Looper.loop(Looper.java:237)
          at android.app.ActivityThread.main(ActivityThread.java:8125)
          at java.lang.reflect.Method.invoke(Native Method)
          at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
       Caused by: java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 667696 bytes
          at android.app.NotificationManager.notifyAsUser(NotificationManager.java:518)
          at android.app.NotificationManager.notify(NotificationManager.java:449)
          at com.bumptech.glide.request.target.NotificationTarget.update(NotificationTarget.java:123)
          at com.bumptech.glide.request.target.NotificationTarget.setBitmap(NotificationTarget.java:139)
          at com.bumptech.glide.request.target.NotificationTarget.onResourceReady(NotificationTarget.java:129)
          at com.bumptech.glide.request.target.NotificationTarget.onResourceReady(NotificationTarget.java:22)
          at com.bumptech.glide.request.SingleRequest.onResourceReady(SingleRequest.java:631)
          at com.bumptech.glide.request.SingleRequest.onResourceReady(SingleRequest.java:575)
          at com.bumptech.glide.load.engine.EngineJob.callCallbackOnResourceReady(EngineJob.java:158)
          at com.bumptech.glide.load.engine.EngineJob$CallResourceReady.run(EngineJob.java:424) 
          at android.os.Handler.handleCallback(Handler.java:883) 
          at android.os.Handler.dispatchMessage(Handler.java:100) 
          at android.os.Looper.loop(Looper.java:237) 
          at android.app.ActivityThread.main(ActivityThread.java:8125) 
          at java.lang.reflect.Method.invoke(Native Method) 
          at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496) 
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100) 
       Caused by: android.os.TransactionTooLargeException: data parcel size 667696 bytes
          at android.os.BinderProxy.transactNative(Native Method)
          at android.os.BinderProxy.transact(BinderProxy.java:575)
          at android.app.INotificationManager$Stub$Proxy.enqueueNotificationWithTag(INotificationManager.java:2915)
          at android.app.NotificationManager.notifyAsUser(NotificationManager.java:515)
          at android.app.NotificationManager.notify(NotificationManager.java:449) 
          at com.bumptech.glide.request.target.NotificationTarget.update(NotificationTarget.java:123) 
          at com.bumptech.glide.request.target.NotificationTarget.setBitmap(NotificationTarget.java:139) 
          at com.bumptech.glide.request.target.NotificationTarget.onResourceReady(NotificationTarget.java:129) 
          at com.bumptech.glide.request.target.NotificationTarget.onResourceReady(NotificationTarget.java:22) 
          at com.bumptech.glide.request.SingleRequest.onResourceReady(SingleRequest.java:631) 
          at com.bumptech.glide.request.SingleRequest.onResourceReady(SingleRequest.java:575) 
          at com.bumptech.glide.load.engine.EngineJob.callCallbackOnResourceReady(EngineJob.java:158) 
          at com.bumptech.glide.load.engine.EngineJob$CallResourceReady.run(EngineJob.java:424) 
          at android.os.Handler.handleCallback(Handler.java:883) 
          at android.os.Handler.dispatchMessage(Handler.java:100) 
          at android.os.Looper.loop(Looper.java:237) 
          at android.app.ActivityThread.main(ActivityThread.java:8125) 
          at java.lang.reflect.Method.invoke(Native Method) 
          at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496) 
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100) 
  
  </code></pre>
  <p>I thought the glide image in notification is occurring this. So I searched about this and modified my code for not creating but updating my notification. Even though I updated my notification, it is same result. But there are many cases about using image in notification. Is there any reference about this?</p>
  <p>here is my code.</p>
  <pre><code>    fun createNotification(context: Context, musicData: PlayListEntity, player: SimpleExoPlayer): Notification {
          notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
          val resultIntent = Intent(context, MainActivity::class.java)
          resultIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)
          val resultPendingIntent: PendingIntent? = PendingIntent.getActivity(context, 0, resultIntent, PendingIntent.FLAG_CANCEL_CURRENT)
          notification = getNotificationBuilderInstance(context,musicData, player).build()
  
          val target = NotificationTarget(context,  binding!!.notiAlbumImage.id, contentView, notification, NOTIFICATION_ID)
  
          Glide.with(context.applicationContext)
              .asBitmap()
              .load(musicData.imageUrl)
              .error(R.drawable.close_button)
              .into(target)
  
          if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.O) {
              val channelName = &quot;Music Channel&quot;
              val channel = NotificationChannel(CHANNEL_ID, channelName, NotificationManager.IMPORTANCE_DEFAULT)
              notificationManager?.createNotificationChannel(channel)
          }
          return notification!!
      }
  
      fun updateNotification(context: Context,musicData: PlayListEntity, player: SimpleExoPlayer) {
          contentView!!.setTextViewText(binding!!.notiMusicName.id, musicData.title)
          val target = NotificationTarget(context, binding!!.notiAlbumImage.id, contentView,
              notification, NOTIFICATION_ID)
          if (player.playWhenReady) {
              contentView!!.setImageViewResource(binding!!.playButton.id, R.drawable.pause_button)
          } else {
              contentView!!.setImageViewResource(binding!!.playButton.id, R.drawable.play_button)
          }
          Glide.with(context.applicationContext)
              .asBitmap()
              .load(musicData.imageUrl)
              .error(R.drawable.close_button)
              .into(target)
  
          if(musicData.musicId!=musicService?._musicList?.value!![musicService?._currentPlayPosition!!.value!!].musicId){
              musicService?.updateNotification()
              return
          }
          notificationManager?.notify(NOTIFICATION_ID, notification)
      }
  </code></pre>