fixed tasks NPE
This commit is contained in:
parent
505e7399c2
commit
e2df022f1c
|
@ -1607,7 +1607,9 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener
|
|||
}
|
||||
}
|
||||
|
||||
internal class DisplayPlaceNameTask(private val context: ComposeActivity) : AbstractTask<ParcelableLocation, List<Address>, TextView>() {
|
||||
internal class DisplayPlaceNameTask(
|
||||
private val context: ComposeActivity
|
||||
) : AbstractTask<ParcelableLocation, List<Address>, TextView>() {
|
||||
|
||||
override fun doLongOperation(location: ParcelableLocation): List<Address>? {
|
||||
val gcd = Geocoder(context, Locale.getDefault())
|
||||
|
|
|
@ -426,9 +426,11 @@ class UserProfileEditorFragment : BaseSupportFragment(), OnSizeChangedListener,
|
|||
|
||||
}
|
||||
|
||||
internal inner class RemoveProfileBannerTaskInternal(private val accountKey: UserKey) : AbstractTask<Any, SingleResponse<Boolean>, UserProfileEditorFragment>() {
|
||||
internal inner class RemoveProfileBannerTaskInternal(
|
||||
private val accountKey: UserKey
|
||||
) : AbstractTask<Any?, SingleResponse<Boolean>, UserProfileEditorFragment>() {
|
||||
|
||||
override fun doLongOperation(params: Any): SingleResponse<Boolean> {
|
||||
override fun doLongOperation(params: Any?): SingleResponse<Boolean> {
|
||||
return TwitterWrapper.deleteProfileBannerImage(activity, accountKey)
|
||||
}
|
||||
|
||||
|
|
|
@ -285,7 +285,7 @@ class BackgroundOperationService : IntentService("background_operation"), Consta
|
|||
}
|
||||
|
||||
@UiThread
|
||||
override fun afterExecute(handler: Context?, result: UpdateStatusTask.UpdateStatusResult) {
|
||||
override fun afterExecute(result: UpdateStatusTask.UpdateStatusResult) {
|
||||
var failed = false
|
||||
val exception = result.exception
|
||||
val exceptions = result.exceptions
|
||||
|
|
|
@ -28,7 +28,7 @@ import javax.inject.Inject
|
|||
abstract class AbsFriendshipOperationTask(
|
||||
protected val context: Context,
|
||||
@FriendshipTaskEvent.Action protected val action: Int
|
||||
) : AbstractTask<AbsFriendshipOperationTask.Arguments, SingleResponse<ParcelableUser>, Any>() {
|
||||
) : AbstractTask<AbsFriendshipOperationTask.Arguments, SingleResponse<ParcelableUser>, Any?>() {
|
||||
|
||||
@Inject
|
||||
lateinit var bus: Bus
|
||||
|
|
|
@ -31,12 +31,14 @@ import org.mariotaku.twidere.util.TwitterWrapper.TwitterListResponse
|
|||
import org.mariotaku.twidere.util.content.ContentResolverUtils
|
||||
import java.util.*
|
||||
|
||||
class CacheUsersStatusesTask(private val context: Context) : AbstractTask<TwitterListResponse<Status>, Any, Any>() {
|
||||
class CacheUsersStatusesTask(
|
||||
private val context: Context
|
||||
) : AbstractTask<TwitterListResponse<Status>, Unit, Unit>() {
|
||||
|
||||
public override fun doLongOperation(params: TwitterListResponse<Status>): Any? {
|
||||
public override fun doLongOperation(params: TwitterListResponse<Status>) {
|
||||
val resolver = context.contentResolver
|
||||
val extractor = Extractor()
|
||||
val list = params.data ?: return null
|
||||
val list = params.data ?: return
|
||||
var bulkIdx = 0
|
||||
val totalSize = list.size
|
||||
while (bulkIdx < totalSize) {
|
||||
|
@ -73,7 +75,6 @@ class CacheUsersStatusesTask(private val context: Context) : AbstractTask<Twitte
|
|||
}
|
||||
bulkIdx += 100
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -14,7 +14,6 @@ import org.mariotaku.microblog.library.twitter.model.ErrorInfo
|
|||
import org.mariotaku.microblog.library.twitter.model.Paging
|
||||
import org.mariotaku.microblog.library.twitter.model.ResponseList
|
||||
import org.mariotaku.twidere.BuildConfig
|
||||
import org.mariotaku.twidere.Constants
|
||||
import org.mariotaku.twidere.TwidereConstants
|
||||
import org.mariotaku.twidere.constant.loadItemLimitKey
|
||||
import org.mariotaku.twidere.model.RefreshTaskParam
|
||||
|
@ -29,8 +28,9 @@ import javax.inject.Inject
|
|||
/**
|
||||
* Created by mariotaku on 16/2/14.
|
||||
*/
|
||||
abstract class GetDirectMessagesTask(protected val context: Context) : AbstractTask<RefreshTaskParam,
|
||||
List<TwitterWrapper.MessageListResponse>, () -> Unit>(), Constants {
|
||||
abstract class GetDirectMessagesTask(
|
||||
protected val context: Context
|
||||
) : AbstractTask<RefreshTaskParam, List<TwitterWrapper.MessageListResponse>, () -> Unit>() {
|
||||
@Inject
|
||||
protected lateinit var errorInfoStore: ErrorInfoStore
|
||||
@Inject
|
||||
|
|
|
@ -12,7 +12,11 @@ import org.mariotaku.twidere.provider.TwidereDataStore.CachedTrends
|
|||
/**
|
||||
* Created by mariotaku on 16/2/24.
|
||||
*/
|
||||
class GetLocalTrendsTask(context: Context, accountKey: UserKey, private val woeid: Int) : GetTrendsTask(context, accountKey) {
|
||||
class GetLocalTrendsTask(
|
||||
context: Context,
|
||||
accountKey: UserKey,
|
||||
private val woeid: Int
|
||||
) : GetTrendsTask(context, accountKey) {
|
||||
|
||||
@Throws(MicroBlogException::class)
|
||||
override fun getTrends(twitter: MicroBlog): List<Trends> {
|
||||
|
|
|
@ -17,9 +17,11 @@ import org.mariotaku.twidere.util.content.ContentResolverUtils
|
|||
/**
|
||||
* Created by mariotaku on 16/2/13.
|
||||
*/
|
||||
class GetSavedSearchesTask(private val context: Context) : AbstractTask<Array<UserKey>, SingleResponse<Any>, Any>() {
|
||||
class GetSavedSearchesTask(
|
||||
private val context: Context
|
||||
) : AbstractTask<Array<UserKey>, SingleResponse<Unit>, Any?>() {
|
||||
|
||||
public override fun doLongOperation(params: Array<UserKey>): SingleResponse<Any> {
|
||||
public override fun doLongOperation(params: Array<UserKey>): SingleResponse<Unit> {
|
||||
val cr = context.contentResolver
|
||||
for (accountKey in params) {
|
||||
val twitter = MicroBlogAPIFactory.getInstance(context, accountKey) ?: continue
|
||||
|
@ -36,8 +38,7 @@ class GetSavedSearchesTask(private val context: Context) : AbstractTask<Array<Us
|
|||
Log.w(LOGTAG, e)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return SingleResponse.getInstance()
|
||||
return SingleResponse.getInstance(Unit)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,7 +22,10 @@ import javax.inject.Inject
|
|||
/**
|
||||
* Created by mariotaku on 16/2/24.
|
||||
*/
|
||||
abstract class GetTrendsTask(private val context: Context, private val accountId: UserKey) : AbstractTask<Any, Any, Any>() {
|
||||
abstract class GetTrendsTask(
|
||||
private val context: Context,
|
||||
private val accountId: UserKey
|
||||
) : AbstractTask<Any?, Unit, Any?>() {
|
||||
|
||||
@Inject
|
||||
lateinit var bus: Bus
|
||||
|
@ -34,19 +37,19 @@ abstract class GetTrendsTask(private val context: Context, private val accountId
|
|||
@Throws(MicroBlogException::class)
|
||||
abstract fun getTrends(twitter: MicroBlog): List<Trends>
|
||||
|
||||
public override fun doLongOperation(param: Any): Any? {
|
||||
val twitter = MicroBlogAPIFactory.getInstance(context, accountId) ?: return null
|
||||
public override fun doLongOperation(param: Any?) {
|
||||
val twitter = MicroBlogAPIFactory.getInstance(context, accountId) ?: return
|
||||
try {
|
||||
val trends = getTrends(twitter)
|
||||
storeTrends(context.contentResolver, contentUri, trends)
|
||||
return null
|
||||
return
|
||||
} catch (e: MicroBlogException) {
|
||||
return null
|
||||
return
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
override fun afterExecute(handler: Any?, result: Any?) {
|
||||
override fun afterExecute(handler: Any?, result: Unit) {
|
||||
bus.post(TrendsRefreshedEvent())
|
||||
}
|
||||
|
||||
|
|
|
@ -19,7 +19,9 @@ import java.io.IOException
|
|||
/**
|
||||
* Created by mariotaku on 16/3/8.
|
||||
*/
|
||||
class UpdateAccountInfoTask(private val context: Context) : AbstractTask<Pair<AccountDetails, ParcelableUser>, Any, Unit>() {
|
||||
class UpdateAccountInfoTask(
|
||||
private val context: Context
|
||||
) : AbstractTask<Pair<AccountDetails, ParcelableUser>, Unit, Unit?>() {
|
||||
|
||||
override fun doLongOperation(params: Pair<AccountDetails, ParcelableUser>) {
|
||||
val resolver = context.contentResolver
|
||||
|
|
|
@ -6,7 +6,6 @@ import android.util.Log
|
|||
import com.squareup.otto.Bus
|
||||
import org.mariotaku.abstask.library.AbstractTask
|
||||
import org.mariotaku.microblog.library.MicroBlogException
|
||||
import org.mariotaku.twidere.Constants
|
||||
import org.mariotaku.twidere.R
|
||||
import org.mariotaku.twidere.TwidereConstants.LOGTAG
|
||||
import org.mariotaku.twidere.model.ParcelableUser
|
||||
|
@ -30,7 +29,7 @@ open class UpdateProfileBackgroundImageTask<ResultHandler>(
|
|||
private val imageUri: Uri,
|
||||
private val tile: Boolean,
|
||||
private val deleteImage: Boolean
|
||||
) : AbstractTask<Any, SingleResponse<ParcelableUser>, ResultHandler>(), Constants {
|
||||
) : AbstractTask<Any?, SingleResponse<ParcelableUser>, ResultHandler>() {
|
||||
|
||||
@Inject
|
||||
lateinit var bus: Bus
|
||||
|
@ -51,7 +50,7 @@ open class UpdateProfileBackgroundImageTask<ResultHandler>(
|
|||
}
|
||||
}
|
||||
|
||||
override fun doLongOperation(params: Any): SingleResponse<ParcelableUser> {
|
||||
override fun doLongOperation(params: Any?): SingleResponse<ParcelableUser> {
|
||||
try {
|
||||
val twitter = MicroBlogAPIFactory.getInstance(context, accountKey)!!
|
||||
TwitterWrapper.updateProfileBackgroundImage(context, twitter, imageUri, tile,
|
||||
|
|
|
@ -6,7 +6,6 @@ import android.util.Log
|
|||
import com.squareup.otto.Bus
|
||||
import org.mariotaku.abstask.library.AbstractTask
|
||||
import org.mariotaku.microblog.library.MicroBlogException
|
||||
import org.mariotaku.twidere.Constants
|
||||
import org.mariotaku.twidere.R
|
||||
import org.mariotaku.twidere.TwidereConstants.LOGTAG
|
||||
import org.mariotaku.twidere.model.ParcelableUser
|
||||
|
@ -29,7 +28,7 @@ open class UpdateProfileBannerImageTask<ResultHandler>(
|
|||
private val accountKey: UserKey,
|
||||
private val imageUri: Uri,
|
||||
private val deleteImage: Boolean
|
||||
) : AbstractTask<Any, SingleResponse<ParcelableUser>, ResultHandler>(), Constants {
|
||||
) : AbstractTask<Any?, SingleResponse<ParcelableUser>, ResultHandler>() {
|
||||
|
||||
@Inject
|
||||
lateinit var mBus: Bus
|
||||
|
@ -50,7 +49,7 @@ open class UpdateProfileBannerImageTask<ResultHandler>(
|
|||
}
|
||||
}
|
||||
|
||||
override fun doLongOperation(params: Any): SingleResponse<ParcelableUser> {
|
||||
override fun doLongOperation(params: Any?): SingleResponse<ParcelableUser> {
|
||||
try {
|
||||
val twitter = MicroBlogAPIFactory.getInstance(context, accountKey)!!
|
||||
TwitterWrapper.updateProfileBannerImage(context, twitter, imageUri, deleteImage)
|
||||
|
|
|
@ -28,7 +28,7 @@ open class UpdateProfileImageTask<ResultHandler>(
|
|||
private val accountKey: UserKey,
|
||||
private val imageUri: Uri,
|
||||
private val deleteImage: Boolean
|
||||
) : AbstractTask<Unit, SingleResponse<ParcelableUser>, ResultHandler>() {
|
||||
) : AbstractTask<Any?, SingleResponse<ParcelableUser>, ResultHandler>() {
|
||||
|
||||
@Inject
|
||||
lateinit var bus: Bus
|
||||
|
@ -36,10 +36,9 @@ open class UpdateProfileImageTask<ResultHandler>(
|
|||
init {
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
GeneralComponentHelper.build(context).inject(this as UpdateProfileImageTask<Any>)
|
||||
setParams(Unit)
|
||||
}
|
||||
|
||||
override fun doLongOperation(params: Unit): SingleResponse<ParcelableUser> {
|
||||
override fun doLongOperation(params: Any?): SingleResponse<ParcelableUser> {
|
||||
try {
|
||||
val microBlog = MicroBlogAPIFactory.getInstance(context, accountKey)!!
|
||||
TwitterWrapper.updateProfileImage(context, microBlog, imageUri, deleteImage)
|
||||
|
|
|
@ -17,7 +17,6 @@ import org.mariotaku.microblog.library.twitter.model.Paging
|
|||
import org.mariotaku.microblog.library.twitter.model.ResponseList
|
||||
import org.mariotaku.sqliteqb.library.Expression
|
||||
import org.mariotaku.twidere.BuildConfig
|
||||
import org.mariotaku.twidere.Constants
|
||||
import org.mariotaku.twidere.TwidereConstants.LOGTAG
|
||||
import org.mariotaku.twidere.TwidereConstants.QUERY_PARAM_NOTIFY
|
||||
import org.mariotaku.twidere.constant.loadItemLimitKey
|
||||
|
@ -38,7 +37,9 @@ import javax.inject.Inject
|
|||
/**
|
||||
* Created by mariotaku on 16/1/4.
|
||||
*/
|
||||
abstract class GetActivitiesTask(protected val context: Context) : AbstractTask<RefreshTaskParam, Any, () -> Unit>(), Constants {
|
||||
abstract class GetActivitiesTask(
|
||||
protected val context: Context
|
||||
) : AbstractTask<RefreshTaskParam, Unit, () -> Unit>() {
|
||||
@Inject
|
||||
lateinit var preferences: KPreferences
|
||||
@Inject
|
||||
|
@ -54,8 +55,8 @@ abstract class GetActivitiesTask(protected val context: Context) : AbstractTask<
|
|||
GeneralComponentHelper.build(context).inject(this)
|
||||
}
|
||||
|
||||
public override fun doLongOperation(param: RefreshTaskParam): Any? {
|
||||
if (param.shouldAbort) return null
|
||||
public override fun doLongOperation(param: RefreshTaskParam) {
|
||||
if (param.shouldAbort) return
|
||||
val accountIds = param.accountKeys
|
||||
val maxIds = param.maxIds
|
||||
val maxSortIds = param.maxSortIds
|
||||
|
@ -115,7 +116,6 @@ abstract class GetActivitiesTask(protected val context: Context) : AbstractTask<
|
|||
}
|
||||
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
protected abstract val errorInfoKey: String
|
||||
|
@ -195,7 +195,7 @@ abstract class GetActivitiesTask(protected val context: Context) : AbstractTask<
|
|||
@Throws(MicroBlogException::class)
|
||||
protected abstract fun getActivities(twitter: MicroBlog, details: AccountDetails, paging: Paging): ResponseList<Activity>
|
||||
|
||||
public override fun afterExecute(handler: (() -> Unit)?, result: Any?) {
|
||||
public override fun afterExecute(handler: (() -> Unit)?, result: Unit) {
|
||||
context.contentResolver.notifyChange(contentUri, null)
|
||||
bus.post(GetActivitiesTaskEvent(contentUri, false, null))
|
||||
}
|
||||
|
|
|
@ -21,7 +21,6 @@ import org.mariotaku.microblog.library.twitter.model.Status
|
|||
import org.mariotaku.sqliteqb.library.Columns
|
||||
import org.mariotaku.sqliteqb.library.Expression
|
||||
import org.mariotaku.twidere.BuildConfig
|
||||
import org.mariotaku.twidere.Constants
|
||||
import org.mariotaku.twidere.TwidereConstants.LOGTAG
|
||||
import org.mariotaku.twidere.TwidereConstants.QUERY_PARAM_NOTIFY
|
||||
import org.mariotaku.twidere.constant.loadItemLimitKey
|
||||
|
@ -45,8 +44,9 @@ import javax.inject.Inject
|
|||
/**
|
||||
* Created by mariotaku on 16/1/2.
|
||||
*/
|
||||
abstract class GetStatusesTask(protected val context: Context) :
|
||||
AbstractTask<RefreshTaskParam, List<TwitterWrapper.StatusListResponse>, () -> Unit>(), Constants {
|
||||
abstract class GetStatusesTask(
|
||||
protected val context: Context
|
||||
) : AbstractTask<RefreshTaskParam, List<TwitterWrapper.StatusListResponse>, () -> Unit>() {
|
||||
@Inject
|
||||
lateinit var preferences: KPreferences
|
||||
@Inject
|
||||
|
|
|
@ -26,7 +26,6 @@ import org.mariotaku.restfu.http.mime.Body
|
|||
import org.mariotaku.restfu.http.mime.FileBody
|
||||
import org.mariotaku.restfu.http.mime.SimpleBody
|
||||
import org.mariotaku.sqliteqb.library.Expression
|
||||
import org.mariotaku.twidere.Constants
|
||||
import org.mariotaku.twidere.R
|
||||
import org.mariotaku.twidere.TwidereConstants.*
|
||||
import org.mariotaku.twidere.annotation.AccountType
|
||||
|
@ -52,7 +51,7 @@ import javax.inject.Inject
|
|||
class UpdateStatusTask(
|
||||
internal val context: Context,
|
||||
internal val stateCallback: UpdateStatusTask.StateCallback
|
||||
) : AbstractTask<Pair<String, ParcelableStatusUpdate>, UpdateStatusTask.UpdateStatusResult, Context>(), Constants {
|
||||
) : AbstractTask<Pair<String, ParcelableStatusUpdate>, UpdateStatusTask.UpdateStatusResult, Any?>() {
|
||||
|
||||
@Inject
|
||||
lateinit var twitterWrapper: AsyncTwitterWrapper
|
||||
|
@ -83,8 +82,8 @@ class UpdateStatusTask(
|
|||
stateCallback.beforeExecute()
|
||||
}
|
||||
|
||||
override fun afterExecute(handler: Context?, result: UpdateStatusResult) {
|
||||
stateCallback.afterExecute(handler, result)
|
||||
override fun afterExecute(handler: Any?, result: UpdateStatusResult) {
|
||||
stateCallback.afterExecute(result)
|
||||
}
|
||||
|
||||
@Throws(UpdateStatusException::class)
|
||||
|
@ -660,7 +659,7 @@ class UpdateStatusTask(
|
|||
fun onUpdatingStatus()
|
||||
|
||||
@UiThread
|
||||
fun afterExecute(handler: Context?, result: UpdateStatusResult)
|
||||
fun afterExecute(result: UpdateStatusResult)
|
||||
|
||||
@UiThread
|
||||
fun beforeExecute()
|
||||
|
|
Loading…
Reference in New Issue