diff --git a/twidere.component.common/build.gradle b/twidere.component.common/build.gradle index 31bc8bb23..d54d25db2 100644 --- a/twidere.component.common/build.gradle +++ b/twidere.component.common/build.gradle @@ -39,7 +39,7 @@ 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.7' - compile 'com.android.support:support-annotations:23.2.1' + compile 'com.android.support:support-annotations:23.3.0' compile 'com.bluelinelabs:logansquare:1.3.7' compile 'com.github.mariotaku.RestFu:library:0.9.26' compile 'com.hannesdorfmann.parcelableplease:annotation:1.0.2' diff --git a/twidere/build.gradle b/twidere/build.gradle index fc640c3d0..1ff57e9e2 100644 --- a/twidere/build.gradle +++ b/twidere/build.gradle @@ -101,23 +101,23 @@ dependencies { debugCompile 'com.facebook.stetho:stetho:1.3.1' debugCompile 'com.facebook.stetho:stetho-okhttp3:1.3.1' - debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-beta1' + debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-beta2' provided 'javax.annotation:jsr250-api:1.0' testCompile 'junit:junit:4.12' - androidTestCompile 'com.android.support:support-annotations:23.2.1' + androidTestCompile 'com.android.support:support-annotations:23.3.0' androidTestCompile 'com.android.support.test:runner:0.5' androidTestCompile 'com.android.support.test:rules:0.5' compile 'com.android.support:multidex:1.0.1' - compile 'com.android.support:support-v13:23.2.1' - compile 'com.android.support:appcompat-v7:23.2.1' - compile 'com.android.support:cardview-v7:23.2.1' - compile 'com.android.support:recyclerview-v7:23.2.1' - compile 'com.android.support:preference-v7:23.2.1' - compile 'com.android.support:preference-v14:23.2.1' + compile 'com.android.support:support-v13:23.3.0' + compile 'com.android.support:appcompat-v7:23.3.0' + compile 'com.android.support:cardview-v7:23.3.0' + compile 'com.android.support:recyclerview-v7:23.3.0' + compile 'com.android.support:preference-v7:23.3.0' + compile 'com.android.support:preference-v14:23.3.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' @@ -131,7 +131,7 @@ dependencies { compile 'com.github.mariotaku:MessageBubbleView:1.2' compile 'com.github.mariotaku:DragSortListView:0.6.1' compile 'com.github.uucky:ColorPicker-Android:0.9.7@aar' - compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.14@aar' + compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.15' compile 'com.sprylab.android.texturevideoview:texturevideoview:1.1.1' compile 'com.squareup:pollexor:2.0.4' compile 'com.squareup:tape:1.2.3' diff --git a/twidere/src/main/java/org/mariotaku/twidere/loader/ParcelableUserLoader.java b/twidere/src/main/java/org/mariotaku/twidere/loader/ParcelableUserLoader.java index 37c3f4a4b..a1280c8e6 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/loader/ParcelableUserLoader.java +++ b/twidere/src/main/java/org/mariotaku/twidere/loader/ParcelableUserLoader.java @@ -30,6 +30,7 @@ import android.util.Log; import android.util.Pair; import org.mariotaku.abstask.library.TaskStarter; +import org.mariotaku.sqliteqb.library.Columns; import org.mariotaku.sqliteqb.library.Expression; import org.mariotaku.twidere.Constants; import org.mariotaku.twidere.api.twitter.Twitter; @@ -45,6 +46,7 @@ import org.mariotaku.twidere.model.SingleResponse; import org.mariotaku.twidere.model.UserKey; import org.mariotaku.twidere.model.util.ParcelableCredentialsUtils; import org.mariotaku.twidere.model.util.ParcelableUserUtils; +import org.mariotaku.twidere.model.util.UserKeyUtils; import org.mariotaku.twidere.provider.TwidereDataStore.CachedUsers; import org.mariotaku.twidere.task.UpdateAccountInfoTask; import org.mariotaku.twidere.util.TwitterAPIFactory; @@ -115,8 +117,17 @@ public final class ParcelableUserLoader extends AsyncTaskLoader list = new ArrayList<>(); diff --git a/twidere/src/main/java/org/mariotaku/twidere/model/util/UserKeyUtils.java b/twidere/src/main/java/org/mariotaku/twidere/model/util/UserKeyUtils.java index 81d8fffc2..98466caf3 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/model/util/UserKeyUtils.java +++ b/twidere/src/main/java/org/mariotaku/twidere/model/util/UserKeyUtils.java @@ -8,6 +8,7 @@ import android.text.TextUtils; import org.mariotaku.twidere.TwidereConstants; import org.mariotaku.twidere.api.twitter.model.User; +import org.mariotaku.twidere.model.ParcelableUser; import org.mariotaku.twidere.model.UserKey; import org.mariotaku.twidere.provider.TwidereDataStore.Accounts; import org.mariotaku.twidere.util.DataStoreUtils; @@ -18,7 +19,7 @@ import java.util.ArrayList; /** * Created by mariotaku on 16/3/7. */ -public class UserKeyUtils { +public class UserKeyUtils implements TwidereConstants { private UserKeyUtils() { } @@ -59,24 +60,28 @@ public class UserKeyUtils { } public static String getUserHost(User user) { - if (isFanfouUser(user)) return TwidereConstants.USER_TYPE_FANFOU_COM; - return getUserHost(user.getOstatusUri(), TwidereConstants.USER_TYPE_TWITTER_COM); + if (isFanfouUser(user)) return USER_TYPE_FANFOU_COM; + return getUserHost(user.getStatusnetProfileUrl(), USER_TYPE_TWITTER_COM); + } + + public static String getUserHost(ParcelableUser user) { + if (isFanfouUser(user)) return USER_TYPE_FANFOU_COM; + if (user.extras == null) return USER_TYPE_TWITTER_COM; + + return getUserHost(user.extras.statusnet_profile_url, USER_TYPE_TWITTER_COM); } public static boolean isFanfouUser(User user) { - String url = user.getProfileImageUrlLarge(); - if (url != null && isFanfouHost(getUserHost(url, "twitter.com"))) { - return true; - } - url = user.getProfileImageUrl(); - if (url != null && isFanfouHost(getUserHost(url, "twitter.com"))) { - return true; - } - url = user.getProfileBackgroundImageUrl(); - if (url != null && isFanfouHost(getUserHost(url, "twitter.com"))) { - return true; - } - return false; + return isFanfouUrl(user.getProfileImageUrlLarge()) || isFanfouUrl(user.getProfileImageUrl()) + || isFanfouUrl(user.getProfileBackgroundImageUrl()); + } + + public static boolean isFanfouUser(ParcelableUser user) { + return isFanfouUrl(user.profile_image_url) || isFanfouUrl(user.profile_background_url); + } + + static boolean isFanfouUrl(String url) { + return url != null && isFanfouHost(getUserHost(url, "twitter.com")); } private static boolean isFanfouHost(@NonNull String host) { @@ -86,7 +91,7 @@ public class UserKeyUtils { @NonNull public static String getUserHost(@Nullable String uri, @Nullable String def) { if (def == null) { - def = TwidereConstants.USER_TYPE_TWITTER_COM; + def = USER_TYPE_TWITTER_COM; } if (uri == null) return def; final String authority = UriUtils.getAuthority(uri); diff --git a/twidere/src/main/java/org/mariotaku/twidere/util/InternalTwitterContentUtils.java b/twidere/src/main/java/org/mariotaku/twidere/util/InternalTwitterContentUtils.java index 09d598240..387d87f1a 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/util/InternalTwitterContentUtils.java +++ b/twidere/src/main/java/org/mariotaku/twidere/util/InternalTwitterContentUtils.java @@ -160,10 +160,10 @@ public class InternalTwitterContentUtils { } public static boolean isFiltered(final SQLiteDatabase database, final ParcelableStatus status, - final boolean filter_rts) { + final boolean filterRTs) { if (database == null || status == null) return false; return isFiltered(database, status.user_key, status.text_plain, status.spans, status.source, - status.retweeted_by_user_key, status.quoted_user_key, filter_rts); + status.retweeted_by_user_key, status.quoted_user_key, filterRTs); } @Nullable