GoogleCloudPlatform / android-docs-samples

Apache License 2.0
375 stars 596 forks source link

UncaughtException detected: java.lang.NullPointerException #107

Open W-quan opened 5 years ago

W-quan commented 5 years ago
-06-11 17:33:55.317 10370-10370/com.live18.app E/CrashHandler: In thread: Thread[main,5,main]
    UncaughtException detected: java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.Date com.google.auth.oauth2.AccessToken.getExpirationTime()' on a null object reference
        at com.yiwuzhibo.live.service.SpeechService$AccessTokenTask.onPostExecute(SpeechService.java:390)
        at com.yiwuzhibo.live.service.SpeechService$AccessTokenTask.onPostExecute(SpeechService.java:337)
        at android.os.AsyncTask.finish(AsyncTask.java:695)
        at android.os.AsyncTask.-wrap1(Unknown Source:0)
        at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:712)
        at android.os.Handler.dispatchMessage(Handler.java:105)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6938)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
W-quan commented 5 years ago
            // Schedule access token refresh before it expires
            if (mHandler != null) {
                mHandler.postDelayed(mFetchAccessTokenRunnable,
                        Math.max(accessToken.getExpirationTime().getTime()
                                - System.currentTimeMillis()
                                - ACCESS_TOKEN_FETCH_MARGIN, ACCESS_TOKEN_EXPIRATION_TOLERANCE));
            }

I'm confused for Math.max(). Why not Math.min()?