diff --git a/.travis.yml b/.travis.yml index dc566cc5a..e15bf4bc3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ android: - tools # The BuildTools version used by your project - - build-tools-25.0.1 + - build-tools-25.0.2 # The SDK version used to compile your project - android-25 diff --git a/build.gradle b/build.gradle index 819ad6382..19a37424b 100644 --- a/build.gradle +++ b/build.gradle @@ -42,7 +42,7 @@ subprojects { if (project.hasProperty('android')) { android { compileSdkVersion 25 - buildToolsVersion '25.0.1' + buildToolsVersion '25.0.2' lintOptions { abortOnError false diff --git a/twidere/src/main/java/org/mariotaku/twidere/activity/UserListSelectorActivity.java b/twidere/src/main/java/org/mariotaku/twidere/activity/UserListSelectorActivity.java index 3aefe79e6..db38f708d 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/activity/UserListSelectorActivity.java +++ b/twidere/src/main/java/org/mariotaku/twidere/activity/UserListSelectorActivity.java @@ -302,7 +302,7 @@ public class UserListSelectorActivity extends BaseActivity implements OnClickLis final MicroBlog twitter = MicroBlogAPIFactory.getInstance(mActivity, mAccountKey); if (twitter == null) return SingleResponse.Companion.getInstance(); try { - final ResponseList lists = twitter.getUserLists(mScreenName, true); + final ResponseList lists = twitter.getUserListsByScreenName(mScreenName, true); final List data = new ArrayList<>(); boolean isMyAccount = mScreenName.equalsIgnoreCase(getAccountScreenName(mActivity, mAccountKey)); diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsContentRecyclerViewFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsContentRecyclerViewFragment.kt index f9c5310e0..d4b0d7fac 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsContentRecyclerViewFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsContentRecyclerViewFragment.kt @@ -54,25 +54,25 @@ abstract class AbsContentRecyclerViewFragment> { val context = activity val accountKey = args.getParcelable(EXTRA_ACCOUNT_KEY) diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/loader/MicroBlogAPIStatusesLoader.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/loader/MicroBlogAPIStatusesLoader.kt index 9bd408dde..279242155 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/loader/MicroBlogAPIStatusesLoader.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/loader/MicroBlogAPIStatusesLoader.kt @@ -26,6 +26,7 @@ import android.support.annotation.WorkerThread import android.util.Log import com.bluelinelabs.logansquare.LoganSquare import com.nostra13.universalimageloader.cache.disc.DiskCache +import org.mariotaku.kpreferences.get import org.mariotaku.microblog.library.MicroBlog import org.mariotaku.microblog.library.MicroBlogException import org.mariotaku.microblog.library.twitter.model.Paging @@ -33,6 +34,7 @@ import org.mariotaku.microblog.library.twitter.model.Status import org.mariotaku.twidere.BuildConfig import org.mariotaku.twidere.TwidereConstants.* import org.mariotaku.twidere.app.TwidereApplication +import org.mariotaku.twidere.constant.loadItemLimitKey import org.mariotaku.twidere.extension.model.newMicroBlogInstance import org.mariotaku.twidere.model.AccountDetails import org.mariotaku.twidere.model.ListResponse @@ -45,11 +47,9 @@ import org.mariotaku.twidere.util.SharedPreferencesWrapper import org.mariotaku.twidere.util.TwidereArrayUtils import org.mariotaku.twidere.util.UserColorNameManager import org.mariotaku.twidere.util.dagger.GeneralComponentHelper +import java.io.ByteArrayInputStream import java.io.IOException -import java.io.PipedInputStream -import java.io.PipedOutputStream import java.util.* -import java.util.concurrent.Callable import java.util.concurrent.CopyOnWriteArrayList import java.util.concurrent.Executors import java.util.concurrent.atomic.AtomicReference @@ -225,17 +225,12 @@ abstract class MicroBlogAPIStatusesLoader( private fun saveCachedData(data: List?) { val key = serializationKey if (key == null || data == null) return - val databaseItemLimit = preferences.getInt(KEY_DATABASE_ITEM_LIMIT, DEFAULT_DATABASE_ITEM_LIMIT) + val databaseItemLimit = preferences[loadItemLimitKey] try { val statuses = data.subList(0, Math.min(databaseItemLimit, data.size)) - val pos = PipedOutputStream() - val pis = PipedInputStream(pos) - val future = pool.submit(Callable { - LoganSquare.serialize(statuses, pos) - }) - val saved = fileCache.save(key, pis) { current, total -> !future.isDone } - if (BuildConfig.DEBUG) { - Log.v(LOGTAG, key + " saved: " + saved) + fileCache.save(key, ByteArrayInputStream(byteArrayOf())) { current, total -> true } + fileCache.get(key)?.outputStream()?.use { + LoganSquare.serialize(statuses, it, ParcelableStatus::class.java) } } catch (e: Exception) { // Ignore diff --git a/twidere/src/main/res/layout/fragment_content_recyclerview.xml b/twidere/src/main/res/layout/fragment_content_recyclerview.xml index c6f4cbfe0..3623ecc56 100644 --- a/twidere/src/main/res/layout/fragment_content_recyclerview.xml +++ b/twidere/src/main/res/layout/fragment_content_recyclerview.xml @@ -16,20 +16,19 @@ ~ You should have received a copy of the GNU General Public License ~ along with this program. If not, see . --> - - - - - + android:layout_height="match_parent"> + + - - - \ No newline at end of file + + \ No newline at end of file