diff --git a/twidere.component.common/src/main/java/org/mariotaku/microblog/library/twitter/model/MediaUploadResponse.java b/twidere.component.common/src/main/java/org/mariotaku/microblog/library/twitter/model/MediaUploadResponse.java index ef115b0d2..9ac91fc43 100644 --- a/twidere.component.common/src/main/java/org/mariotaku/microblog/library/twitter/model/MediaUploadResponse.java +++ b/twidere.component.common/src/main/java/org/mariotaku/microblog/library/twitter/model/MediaUploadResponse.java @@ -19,6 +19,7 @@ package org.mariotaku.microblog.library.twitter.model; +import android.support.annotation.Nullable; import android.support.annotation.StringDef; import com.bluelinelabs.logansquare.annotation.JsonField; @@ -39,6 +40,7 @@ public class MediaUploadResponse extends TwitterResponseObject implements Twitte @JsonField(name = "video") Video video; @JsonField(name = "processing_info") + @Nullable ProcessingInfo processingInfo; public String getId() { @@ -57,6 +59,7 @@ public class MediaUploadResponse extends TwitterResponseObject implements Twitte return video; } + @Nullable public ProcessingInfo getProcessingInfo() { return processingInfo; } diff --git a/twidere/src/main/java/org/mariotaku/twidere/task/twitter/UpdateStatusTask.kt b/twidere/src/main/java/org/mariotaku/twidere/task/twitter/UpdateStatusTask.kt index 7cef45d59..162b8038f 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/task/twitter/UpdateStatusTask.kt +++ b/twidere/src/main/java/org/mariotaku/twidere/task/twitter/UpdateStatusTask.kt @@ -450,8 +450,8 @@ class UpdateStatusTask(internal val context: Context, internal val stateCallback } response = upload.finalizeUploadMedia(response.id) run { - var info: MediaUploadResponse.ProcessingInfo = response.processingInfo - while (shouldWaitForProcess(info)) { + var info: MediaUploadResponse.ProcessingInfo? = response.processingInfo + while (info != null && shouldWaitForProcess(info)) { val checkAfterSecs = info.checkAfterSecs if (checkAfterSecs <= 0) { break @@ -482,8 +482,7 @@ class UpdateStatusTask(internal val context: Context, internal val stateCallback return exception is MicroBlogException && exception.errorCode == ErrorInfo.STATUS_IS_DUPLICATE } - private fun shouldWaitForProcess(info: MediaUploadResponse.ProcessingInfo?): Boolean { - if (info == null) return false + private fun shouldWaitForProcess(info: MediaUploadResponse.ProcessingInfo): Boolean { when (info.state) { MediaUploadResponse.ProcessingInfo.State.PENDING, MediaUploadResponse.ProcessingInfo.State.IN_PROGRESS -> return true else -> return false diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/activity/QuickSearchBarActivity.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/activity/QuickSearchBarActivity.kt index 5603abef2..1a866e542 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/activity/QuickSearchBarActivity.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/activity/QuickSearchBarActivity.kt @@ -144,7 +144,7 @@ class QuickSearchBarActivity : BaseActivity(), OnClickListener, LoaderCallbacks< } } - override fun onItemSelected(parent: AdapterView<*>, view: View, position: Int, id: Long) { + override fun onItemSelected(parent: AdapterView<*>, view: View?, position: Int, id: Long) { supportLoaderManager.restartLoader(0, null, this) }