loads all lists when add to / remove from list
This commit is contained in:
parent
9568db7cd8
commit
ad4c3268ea
|
@ -38,13 +38,13 @@ android {
|
|||
dependencies {
|
||||
apt 'com.bluelinelabs:logansquare-compiler:1.3.7'
|
||||
apt 'com.hannesdorfmann.parcelableplease:processor:1.0.2'
|
||||
apt 'com.github.mariotaku.ObjectCursor:processor:0.9.9'
|
||||
apt 'com.github.mariotaku.ObjectCursor:processor:0.9.10'
|
||||
compile 'com.android.support:support-annotations:25.0.0'
|
||||
compile 'com.bluelinelabs:logansquare:1.3.7'
|
||||
compile 'com.github.mariotaku.RestFu:library:0.9.34'
|
||||
compile 'com.github.mariotaku.RestFu:oauth:0.9.34'
|
||||
compile 'com.hannesdorfmann.parcelableplease:annotation:1.0.2'
|
||||
compile 'com.github.mariotaku.ObjectCursor:core:0.9.9'
|
||||
compile 'com.github.mariotaku.ObjectCursor:core:0.9.10'
|
||||
compile 'com.github.mariotaku.CommonsLibrary:objectcursor:0.9.10'
|
||||
compile 'com.github.mariotaku.CommonsLibrary:logansquare:0.9.10'
|
||||
compile fileTree(dir: 'libs', include: ['*.jar'])
|
||||
|
|
|
@ -39,5 +39,5 @@ android {
|
|||
dependencies {
|
||||
compile fileTree(dir: 'libs', include: ['*.jar'])
|
||||
compile 'com.google.android.support:wearable:1.4.0'
|
||||
compile 'com.google.android.gms:play-services-wearable:9.6.1'
|
||||
compile 'com.google.android.gms:play-services-wearable:9.8.0'
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ apply plugin: 'io.fabric'
|
|||
// END Non-FOSS component
|
||||
|
||||
buildscript {
|
||||
ext.kotlin_version = '1.0.4'
|
||||
ext.kotlin_version = '1.0.5-2'
|
||||
|
||||
repositories {
|
||||
jcenter()
|
||||
|
@ -21,7 +21,7 @@ buildscript {
|
|||
|
||||
dependencies {
|
||||
// START Non-FOSS component
|
||||
classpath 'io.fabric.tools:gradle:1.21.7'
|
||||
classpath 'io.fabric.tools:gradle:1.22.0'
|
||||
// END Non-FOSS component
|
||||
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
|
@ -91,7 +91,7 @@ dependencies {
|
|||
kapt 'com.bluelinelabs:logansquare-compiler:1.3.7'
|
||||
kapt 'com.hannesdorfmann.parcelableplease:processor:1.0.2'
|
||||
kapt 'com.google.dagger:dagger-compiler:2.6.1'
|
||||
kapt 'com.github.mariotaku.ObjectCursor:processor:0.9.9'
|
||||
kapt 'com.github.mariotaku.ObjectCursor:processor:0.9.10'
|
||||
|
||||
compile('com.github.mariotaku:app-theme-engine:1efc6237e1@aar') {
|
||||
transitive = true
|
||||
|
@ -102,18 +102,18 @@ dependencies {
|
|||
compile project(':twidere.component.nyan')
|
||||
|
||||
// START Non-FOSS component
|
||||
googleCompile 'com.google.android.gms:play-services-maps:9.6.1'
|
||||
googleCompile 'com.google.android.gms:play-services-auth:9.6.1'
|
||||
googleCompile 'com.google.android.gms:play-services-maps:9.8.0'
|
||||
googleCompile 'com.google.android.gms:play-services-auth:9.8.0'
|
||||
googleCompile 'com.google.maps.android:android-maps-utils:0.4.4'
|
||||
googleCompile('com.crashlytics.sdk.android:crashlytics:2.6.2@aar') { transitive = true }
|
||||
googleCompile('com.crashlytics.sdk.android:crashlytics:2.6.5@aar') { transitive = true }
|
||||
googleCompile ':YouTubeAndroidPlayerApi:1.2.2@jar'
|
||||
// END Non-FOSS component
|
||||
|
||||
fdroidCompile 'org.osmdroid:osmdroid-android:5.4:release@aar'
|
||||
fdroidCompile 'org.osmdroid:osmdroid-android:5.5:release@aar'
|
||||
|
||||
debugCompile 'com.facebook.stetho:stetho:1.4.0'
|
||||
debugCompile 'com.facebook.stetho:stetho-okhttp3:1.4.0'
|
||||
debugCompile 'com.facebook.stetho:stetho-js-rhino:1.4.0'
|
||||
debugCompile 'com.facebook.stetho:stetho:1.4.1'
|
||||
debugCompile 'com.facebook.stetho:stetho-okhttp3:1.4.1'
|
||||
debugCompile 'com.facebook.stetho:stetho-js-rhino:1.4.1'
|
||||
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-beta2'
|
||||
|
||||
provided 'javax.annotation:jsr250-api:1.0'
|
||||
|
@ -133,7 +133,7 @@ dependencies {
|
|||
compile 'com.android.support:preference-v14:25.0.0'
|
||||
compile 'com.twitter:twitter-text:1.13.0'
|
||||
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
|
||||
compile 'com.davemorrissey.labs:subsampling-scale-image-view:3.5.0'
|
||||
compile 'com.davemorrissey.labs:subsampling-scale-image-view:3.6.0'
|
||||
compile 'com.squareup:otto:1.3.8'
|
||||
compile 'dnsjava:dnsjava:2.1.7'
|
||||
compile 'com.commonsware.cwac:merge:1.1.1'
|
||||
|
@ -147,7 +147,7 @@ dependencies {
|
|||
compile 'com.sprylab.android.texturevideoview:texturevideoview:1.1.1'
|
||||
compile 'com.squareup:pollexor:2.0.4'
|
||||
compile 'com.squareup:tape:1.2.3'
|
||||
compile 'org.apache.commons:commons-lang3:3.4'
|
||||
compile 'org.apache.commons:commons-lang3:3.5'
|
||||
compile 'commons-primitives:commons-primitives:1.0'
|
||||
compile 'com.bluelinelabs:logansquare:1.3.7'
|
||||
compile 'com.soundcloud.android:android-crop:1.0.1@aar'
|
||||
|
@ -155,14 +155,14 @@ dependencies {
|
|||
compile 'com.github.mariotaku:PickNCrop:0.9.5'
|
||||
compile 'com.github.mariotaku.RestFu:library:0.9.34'
|
||||
compile 'com.github.mariotaku.RestFu:okhttp3:0.9.34'
|
||||
compile 'com.squareup.okhttp3:okhttp:3.4.1'
|
||||
compile 'com.squareup.okhttp3:okhttp:3.4.2'
|
||||
compile 'com.lnikkila:extendedtouchview:0.1.0'
|
||||
compile 'com.google.dagger:dagger:2.6.1'
|
||||
compile 'org.attoparser:attoparser:2.0.0.RELEASE'
|
||||
compile 'org.attoparser:attoparser:2.0.1.RELEASE'
|
||||
compile 'com.github.mariotaku.MediaViewerLibrary:base:0.9.17'
|
||||
compile 'com.github.mariotaku.MediaViewerLibrary:subsample-image-view:0.9.17'
|
||||
compile 'com.github.mariotaku.SQLiteQB:library:0.9.7'
|
||||
compile 'com.github.mariotaku.ObjectCursor:core:0.9.9'
|
||||
compile 'com.github.mariotaku.SQLiteQB:library:0.9.8'
|
||||
compile 'com.github.mariotaku.ObjectCursor:core:0.9.10'
|
||||
compile 'com.github.mariotaku:MultiValueSwitch:0.9.7'
|
||||
compile 'com.github.mariotaku:AbstractTask:0.9.4'
|
||||
compile 'com.github.mariotaku.CommonsLibrary:parcel:0.9.10'
|
||||
|
|
|
@ -56,7 +56,6 @@ import android.support.v7.widget.Toolbar
|
|||
import android.text.SpannableStringBuilder
|
||||
import android.text.TextUtils
|
||||
import android.text.util.Linkify
|
||||
import android.util.Pair
|
||||
import android.util.SparseBooleanArray
|
||||
import android.view.*
|
||||
import android.view.View.OnClickListener
|
||||
|
@ -73,20 +72,20 @@ import kotlinx.android.synthetic.main.header_user.*
|
|||
import kotlinx.android.synthetic.main.header_user.view.*
|
||||
import kotlinx.android.synthetic.main.layout_content_fragment_common.*
|
||||
import kotlinx.android.synthetic.main.layout_content_pages_common.*
|
||||
import nl.komponents.kovenant.task
|
||||
import nl.komponents.kovenant.then
|
||||
import nl.komponents.kovenant.ui.alwaysUi
|
||||
import nl.komponents.kovenant.ui.failUi
|
||||
import nl.komponents.kovenant.ui.promiseOnUi
|
||||
import nl.komponents.kovenant.ui.successUi
|
||||
import org.apache.commons.lang3.ObjectUtils
|
||||
import org.mariotaku.abstask.library.AbstractTask
|
||||
import org.mariotaku.abstask.library.TaskStarter
|
||||
import org.mariotaku.ktextension.Bundle
|
||||
import org.mariotaku.ktextension.empty
|
||||
import org.mariotaku.ktextension.set
|
||||
import org.mariotaku.ktextension.toTypedArray
|
||||
import org.mariotaku.microblog.library.MicroBlogException
|
||||
import org.mariotaku.microblog.library.twitter.model.FriendshipUpdate
|
||||
import org.mariotaku.microblog.library.twitter.model.Paging
|
||||
import org.mariotaku.microblog.library.twitter.model.Relationship
|
||||
import org.mariotaku.sqliteqb.library.Expression
|
||||
import org.mariotaku.twidere.Constants.*
|
||||
|
@ -114,8 +113,7 @@ import org.mariotaku.twidere.model.message.FriendshipUpdatedEvent
|
|||
import org.mariotaku.twidere.model.message.ProfileUpdatedEvent
|
||||
import org.mariotaku.twidere.model.message.TaskStateChangedEvent
|
||||
import org.mariotaku.twidere.model.util.*
|
||||
import org.mariotaku.twidere.provider.TwidereDataStore.CachedUsers
|
||||
import org.mariotaku.twidere.provider.TwidereDataStore.Filters
|
||||
import org.mariotaku.twidere.provider.TwidereDataStore.*
|
||||
import org.mariotaku.twidere.util.*
|
||||
import org.mariotaku.twidere.util.KeyboardShortcutsHandler.KeyboardShortcutCallback
|
||||
import org.mariotaku.twidere.util.TwidereLinkify.OnLinkClickListener
|
||||
|
@ -163,7 +161,7 @@ class UserFragment : BaseSupportFragment(), OnClickListener, OnLinkClickListener
|
|||
private var mHideBirthdayView: Boolean = false
|
||||
private var userEvent: UserEvent? = null
|
||||
|
||||
private val mFriendshipLoaderCallbacks = object : LoaderCallbacks<SingleResponse<UserRelationship>> {
|
||||
private val friendshipLoaderCallbacks = object : LoaderCallbacks<SingleResponse<UserRelationship>> {
|
||||
|
||||
override fun onCreateLoader(id: Int, args: Bundle): Loader<SingleResponse<UserRelationship>> {
|
||||
invalidateOptionsMenu()
|
||||
|
@ -194,7 +192,7 @@ class UserFragment : BaseSupportFragment(), OnClickListener, OnLinkClickListener
|
|||
}
|
||||
|
||||
}
|
||||
private val mUserInfoLoaderCallbacks = object : LoaderCallbacks<SingleResponse<ParcelableUser>> {
|
||||
private val userInfoLoaderCallbacks = object : LoaderCallbacks<SingleResponse<ParcelableUser>> {
|
||||
|
||||
override fun onCreateLoader(id: Int, args: Bundle): Loader<SingleResponse<ParcelableUser>> {
|
||||
val omitIntentExtra = args.getBoolean(EXTRA_OMIT_INTENT_EXTRA, true)
|
||||
|
@ -310,9 +308,11 @@ class UserFragment : BaseSupportFragment(), OnClickListener, OnLinkClickListener
|
|||
followContainer.follow.compoundDrawablePadding = Math.round(followContainer.follow.textSize * 0.25f)
|
||||
followingYouIndicator.visibility = if (userRelationship.followed_by) View.VISIBLE else View.GONE
|
||||
|
||||
val task = CacheUserInfoTask(context.applicationContext)
|
||||
task.setParams(Pair.create(user, userRelationship))
|
||||
TaskStarter.execute(task)
|
||||
task {
|
||||
val resolver = contentResolver;
|
||||
resolver.insert(CachedUsers.CONTENT_URI, ParcelableUserValuesCreator.create(user))
|
||||
resolver.insert(CachedRelationships.CONTENT_URI, CachedRelationshipValuesCreator.create(userRelationship))
|
||||
}
|
||||
followContainer.follow.visibility = View.VISIBLE
|
||||
}
|
||||
|
||||
|
@ -551,10 +551,10 @@ class UserFragment : BaseSupportFragment(), OnClickListener, OnLinkClickListener
|
|||
args.putString(EXTRA_SCREEN_NAME, screenName)
|
||||
args.putBoolean(EXTRA_OMIT_INTENT_EXTRA, omitIntentExtra)
|
||||
if (!mGetUserInfoLoaderInitialized) {
|
||||
lm.initLoader(LOADER_ID_USER, args, mUserInfoLoaderCallbacks)
|
||||
lm.initLoader(LOADER_ID_USER, args, userInfoLoaderCallbacks)
|
||||
mGetUserInfoLoaderInitialized = true
|
||||
} else {
|
||||
lm.restartLoader(LOADER_ID_USER, args, mUserInfoLoaderCallbacks)
|
||||
lm.restartLoader(LOADER_ID_USER, args, userInfoLoaderCallbacks)
|
||||
}
|
||||
if (userKey == null && screenName == null) {
|
||||
cardContent!!.visibility = View.GONE
|
||||
|
@ -906,8 +906,14 @@ class UserFragment : BaseSupportFragment(), OnClickListener, OnLinkClickListener
|
|||
}
|
||||
}.then {
|
||||
val microBlog = MicroBlogAPIFactory.getInstance(context, user.account_key, true)
|
||||
|
||||
val ownedLists = microBlog.getUserListOwnerships(null)
|
||||
val paging = Paging()
|
||||
val ownedLists = microBlog.getUserListOwnerships(paging)
|
||||
var nextCursor = ownedLists.nextCursor
|
||||
while (nextCursor != 0L) {
|
||||
val list = microBlog.getUserListOwnerships(paging)
|
||||
ownedLists.addAll(list)
|
||||
nextCursor = list.nextCursor
|
||||
}
|
||||
val userListMemberships = microBlog.getUserListMemberships(user.key.id, null, true)
|
||||
return@then Array<ParcelableUserList>(ownedLists.size) { idx ->
|
||||
val list = ParcelableUserListUtils.from(ownedLists[idx], user.account_key)
|
||||
|
@ -1250,10 +1256,10 @@ class UserFragment : BaseSupportFragment(), OnClickListener, OnLinkClickListener
|
|||
args.putParcelable(EXTRA_ACCOUNT_KEY, user.account_key)
|
||||
args.putParcelable(EXTRA_USER, user)
|
||||
if (!mGetFriendShipLoaderInitialized) {
|
||||
lm.initLoader(LOADER_ID_FRIENDSHIP, args, mFriendshipLoaderCallbacks)
|
||||
lm.initLoader(LOADER_ID_FRIENDSHIP, args, friendshipLoaderCallbacks)
|
||||
mGetFriendShipLoaderInitialized = true
|
||||
} else {
|
||||
lm.restartLoader(LOADER_ID_FRIENDSHIP, args, mFriendshipLoaderCallbacks)
|
||||
lm.restartLoader(LOADER_ID_FRIENDSHIP, args, friendshipLoaderCallbacks)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1587,19 +1593,6 @@ class UserFragment : BaseSupportFragment(), OnClickListener, OnLinkClickListener
|
|||
|
||||
}
|
||||
|
||||
private class CacheUserInfoTask(
|
||||
private val context: Context
|
||||
) : AbstractTask<Pair<ParcelableUser, CachedRelationship>, Any, Any?>() {
|
||||
|
||||
public override fun doLongOperation(args: Pair<ParcelableUser, CachedRelationship>): Any? {
|
||||
val resolver = context.contentResolver
|
||||
val user = args.first
|
||||
resolver.insert(CachedUsers.CONTENT_URI, ParcelableUserValuesCreator.create(user))
|
||||
// resolver.insert(CachedRelationships.CONTENT_URI, CachedRelationshipValuesCreator.create(args.second))
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
class AddRemoveUserListDialogFragment : BaseDialogFragment() {
|
||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||
val lists = arguments.getParcelableArray(EXTRA_USER_LISTS).toTypedArray(ParcelableUserList.CREATOR)
|
||||
|
|
Loading…
Reference in New Issue