shibafu528/Yukari

niconicoのサムネイル表示でクラッシュする

Closed this issue · 3 comments

下記ツイートおよび「nico.ms」のツイート検索で確認
https://twitter.com/honryaku/status/1395313032708845570

設定から「サムネイルを表示」を無効化することでこの現象を回避できる

関係ありそうな雰囲気のログ抜粋

05-20 19:01:06.847 26580 31029 E AndroidRuntime: FATAL EXCEPTION: AsyncTask #11
05-20 19:01:06.847 26580 31029 E AndroidRuntime: Process: shibafu.yukari, PID: 26580
05-20 19:01:06.847 26580 31029 E AndroidRuntime: java.lang.RuntimeException: An error occurred while executing doInBackground()
05-20 19:01:06.847 26580 31029 E AndroidRuntime: 	at android.os.AsyncTask$3.done(AsyncTask.java:354)
05-20 19:01:06.847 26580 31029 E AndroidRuntime: 	at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
05-20 19:01:06.847 26580 31029 E AndroidRuntime: 	at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
05-20 19:01:06.847 26580 31029 E AndroidRuntime: 	at java.util.concurrent.FutureTask.run(FutureTask.java:271)
05-20 19:01:06.847 26580 31029 E AndroidRuntime: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
05-20 19:01:06.847 26580 31029 E AndroidRuntime: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
05-20 19:01:06.847 26580 31029 E AndroidRuntime: 	at java.lang.Thread.run(Thread.java:764)
05-20 19:01:06.847 26580 31029 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to read from field 'java.lang.String shibafu.yukari.media2.impl.NicoVideo$NicoVideoVideoResponse.status' on a null object reference
05-20 19:01:06.847 26580 31029 E AndroidRuntime: 	at shibafu.yukari.media2.impl.NicoVideo.resolveThumbnailUrl(NicoVideo.java:54)
05-20 19:01:06.847 26580 31029 E AndroidRuntime: 	at shibafu.yukari.media2.MemoizeMedia.resolveThumbnail(MemoizeMedia.java:54)
05-20 19:01:06.847 26580 31029 E AndroidRuntime: 	at shibafu.yukari.common.bitmapcache.ImageLoaderTask.doInBackground(ImageLoaderTask.java:74)
05-20 19:01:06.847 26580 31029 E AndroidRuntime: 	at shibafu.yukari.common.bitmapcache.ImageLoaderTask.doInBackground(ImageLoaderTask.java:34)
05-20 19:01:06.847 26580 31029 E AndroidRuntime: 	at android.os.AsyncTask$2.call(AsyncTask.java:333)
05-20 19:01:06.847 26580 31029 E AndroidRuntime: 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
05-20 19:01:06.847 26580 31029 E AndroidRuntime: 	... 3 more
05-20 19:01:06.854  1787  3335 W ActivityManager:   Force finishing activity shibafu.yukari/.activity.MainActivity

サムネイルURLを取得するためのAPIのレスポンスフォーマットが

type Response = {
  nicovideo_video_response: {
    "@status": string,
    video: {
      thumbnail_url: string,
      ...
    },
    ...
  }
}

だったのが、以下のように変わっていたためパースに失敗していることが分かりました。

type Response = {
  niconico_response: {
    "@status": string,
    video: {
      thumbnail_url: string,
      ...
    },
    ...
  }
}

(間違えてたからちょっと訂正しました)

修正し、Yukari 3.0.6.2159 としてリリースしました。