mirror of
https://github.com/TwidereProject/Twidere-Android
synced 2025-02-02 09:46:51 +01:00
bug fixes
This commit is contained in:
parent
43af801b6c
commit
ca20ca865e
@ -0,0 +1,7 @@
|
|||||||
|
package org.mariotaku.twidere.api.statusnet.api;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by mariotaku on 16/2/27.
|
||||||
|
*/
|
||||||
|
public interface StatusNetResources {
|
||||||
|
}
|
@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
package org.mariotaku.twidere.api.twitter;
|
package org.mariotaku.twidere.api.twitter;
|
||||||
|
|
||||||
|
import org.mariotaku.twidere.api.statusnet.api.StatusNetResources;
|
||||||
import org.mariotaku.twidere.api.twitter.api.DirectMessagesResources;
|
import org.mariotaku.twidere.api.twitter.api.DirectMessagesResources;
|
||||||
import org.mariotaku.twidere.api.twitter.api.FavoritesResources;
|
import org.mariotaku.twidere.api.twitter.api.FavoritesResources;
|
||||||
import org.mariotaku.twidere.api.twitter.api.FriendsFollowersResources;
|
import org.mariotaku.twidere.api.twitter.api.FriendsFollowersResources;
|
||||||
@ -39,13 +40,10 @@ import org.mariotaku.twidere.api.twitter.api.TrendsResources;
|
|||||||
import org.mariotaku.twidere.api.twitter.api.TweetResources;
|
import org.mariotaku.twidere.api.twitter.api.TweetResources;
|
||||||
import org.mariotaku.twidere.api.twitter.api.UsersResources;
|
import org.mariotaku.twidere.api.twitter.api.UsersResources;
|
||||||
|
|
||||||
/**
|
|
||||||
* @author Yusuke Yamamoto - yusuke at mac.com
|
|
||||||
* @since Twitter4J 2.2.0
|
|
||||||
*/
|
|
||||||
public interface Twitter extends SearchResource, TimelineResources,
|
public interface Twitter extends SearchResource, TimelineResources,
|
||||||
TweetResources, UsersResources, ListsResources, DirectMessagesResources, FriendsFollowersResources,
|
TweetResources, UsersResources, ListsResources, DirectMessagesResources, FriendsFollowersResources,
|
||||||
FavoritesResources, SpamReportingResources, SavedSearchesResources, TrendsResources, PlacesGeoResources,
|
FavoritesResources, SpamReportingResources, SavedSearchesResources, TrendsResources, PlacesGeoResources,
|
||||||
HelpResources, PrivateActivityResources, PrivateTweetResources, PrivateTimelinesResources,
|
HelpResources, StatusNetResources, PrivateActivityResources, PrivateTweetResources,
|
||||||
PrivateFriendsFollowersResources, PrivateDirectMessagesResources, PrivateScheduleResources {
|
PrivateTimelinesResources, PrivateFriendsFollowersResources, PrivateDirectMessagesResources,
|
||||||
|
PrivateScheduleResources {
|
||||||
}
|
}
|
||||||
|
@ -47,9 +47,6 @@ public interface PrivateActivityResources extends PrivateResources {
|
|||||||
@GET("/activity/about_me.json")
|
@GET("/activity/about_me.json")
|
||||||
ResponseList<Activity> getActivitiesAboutMe(@Query Paging paging) throws TwitterException;
|
ResponseList<Activity> getActivitiesAboutMe(@Query Paging paging) throws TwitterException;
|
||||||
|
|
||||||
@GET("/activity/by_friends.json")
|
|
||||||
ResponseList<Activity> getActivitiesByFriends(@Query Paging paging) throws TwitterException;
|
|
||||||
|
|
||||||
@Queries({})
|
@Queries({})
|
||||||
@GET("/activity/about_me/unread.json")
|
@GET("/activity/about_me/unread.json")
|
||||||
CursorTimestampResponse getActivitiesAboutMeUnread(@Query("cursor") boolean cursor) throws TwitterException;
|
CursorTimestampResponse getActivitiesAboutMeUnread(@Query("cursor") boolean cursor) throws TwitterException;
|
||||||
|
@ -568,7 +568,13 @@ public abstract class AbsActivitiesFragment<Data> extends AbsContentListRecycler
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean shouldUseDividerFor(int itemViewType) {
|
private boolean shouldUseDividerFor(int itemViewType) {
|
||||||
return itemViewType == AbsActivitiesAdapter.ITEM_VIEW_TYPE_TITLE_SUMMARY;
|
switch (itemViewType) {
|
||||||
|
case AbsActivitiesAdapter.ITEM_VIEW_TYPE_TITLE_SUMMARY:
|
||||||
|
case AbsActivitiesAdapter.ITEM_VIEW_TYPE_GAP:
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -205,7 +205,7 @@ public abstract class CursorStatusesFragment extends AbsStatusesFragment<List<Pa
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void reloadStatuses() {
|
protected void reloadStatuses() {
|
||||||
if (getActivity() == null || isDetached()) return;
|
if (getContext() == null || isDetached()) return;
|
||||||
final Bundle args = new Bundle(), fragmentArgs = getArguments();
|
final Bundle args = new Bundle(), fragmentArgs = getArguments();
|
||||||
if (fragmentArgs != null) {
|
if (fragmentArgs != null) {
|
||||||
args.putAll(fragmentArgs);
|
args.putAll(fragmentArgs);
|
||||||
@ -246,6 +246,7 @@ public abstract class CursorStatusesFragment extends AbsStatusesFragment<List<Pa
|
|||||||
TaskStarter.execute(new AbstractTask<Object, long[][], CursorStatusesFragment>() {
|
TaskStarter.execute(new AbstractTask<Object, long[][], CursorStatusesFragment>() {
|
||||||
@Override
|
@Override
|
||||||
public long[][] doLongOperation(Object o) {
|
public long[][] doLongOperation(Object o) {
|
||||||
|
if (getContext() == null) return null;
|
||||||
final long[][] result = new long[3][];
|
final long[][] result = new long[3][];
|
||||||
result[0] = getAccountIds();
|
result[0] = getAccountIds();
|
||||||
result[1] = getOldestStatusIds(result[0]);
|
result[1] = getOldestStatusIds(result[0]);
|
||||||
@ -254,6 +255,7 @@ public abstract class CursorStatusesFragment extends AbsStatusesFragment<List<Pa
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterExecute(CursorStatusesFragment fragment, long[][] result) {
|
public void afterExecute(CursorStatusesFragment fragment, long[][] result) {
|
||||||
|
if (result == null) return;
|
||||||
fragment.getStatuses(result[0], result[1], result[2]);
|
fragment.getStatuses(result[0], result[1], result[2]);
|
||||||
}
|
}
|
||||||
}.setResultHandler(this));
|
}.setResultHandler(this));
|
||||||
@ -285,7 +287,9 @@ public abstract class CursorStatusesFragment extends AbsStatusesFragment<List<Pa
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected long[] getNewestStatusIds(long[] accountIds) {
|
protected long[] getNewestStatusIds(long[] accountIds) {
|
||||||
return DataStoreUtils.getNewestStatusIds(getActivity(), getContentUri(), accountIds);
|
final Context context = getContext();
|
||||||
|
if (context == null) return null;
|
||||||
|
return DataStoreUtils.getNewestStatusIds(context, getContentUri(), accountIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract int getNotificationType();
|
protected abstract int getNotificationType();
|
||||||
@ -301,7 +305,9 @@ public abstract class CursorStatusesFragment extends AbsStatusesFragment<List<Pa
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected long[] getOldestStatusIds(long[] accountIds) {
|
protected long[] getOldestStatusIds(long[] accountIds) {
|
||||||
return DataStoreUtils.getOldestStatusIds(getActivity(), getContentUri(), accountIds);
|
final Context context = getContext();
|
||||||
|
if (context == null) return null;
|
||||||
|
return DataStoreUtils.getOldestStatusIds(context, getContentUri(), accountIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract boolean isFilterEnabled();
|
protected abstract boolean isFilterEnabled();
|
||||||
|
@ -1,45 +0,0 @@
|
|||||||
package org.mariotaku.twidere.task;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.net.Uri;
|
|
||||||
import android.support.annotation.NonNull;
|
|
||||||
|
|
||||||
import org.mariotaku.twidere.api.twitter.Twitter;
|
|
||||||
import org.mariotaku.twidere.api.twitter.TwitterException;
|
|
||||||
import org.mariotaku.twidere.api.twitter.model.Activity;
|
|
||||||
import org.mariotaku.twidere.api.twitter.model.Paging;
|
|
||||||
import org.mariotaku.twidere.api.twitter.model.ResponseList;
|
|
||||||
import org.mariotaku.twidere.provider.TwidereDataStore.Activities;
|
|
||||||
import org.mariotaku.twidere.task.twitter.GetActivitiesTask;
|
|
||||||
import org.mariotaku.twidere.util.ErrorInfoStore;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by mariotaku on 16/2/11.
|
|
||||||
*/
|
|
||||||
public class GetActivitiesByFriendsTask extends GetActivitiesTask {
|
|
||||||
|
|
||||||
public GetActivitiesByFriendsTask(Context context) {
|
|
||||||
super(context);
|
|
||||||
}
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
@Override
|
|
||||||
protected String getErrorInfoKey() {
|
|
||||||
return ErrorInfoStore.KEY_ACTIVITIES_BY_FRIENDS;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void saveReadPosition(long accountId, Twitter twitter) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected ResponseList<Activity> getActivities(@NonNull Twitter twitter, long accountId, Paging paging) throws TwitterException {
|
|
||||||
return twitter.getActivitiesByFriends(paging);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected Uri getContentUri() {
|
|
||||||
return Activities.ByFriends.CONTENT_URI;
|
|
||||||
}
|
|
||||||
}
|
|
@ -85,7 +85,6 @@ import org.mariotaku.twidere.provider.TwidereDataStore.Statuses;
|
|||||||
import org.mariotaku.twidere.service.BackgroundOperationService;
|
import org.mariotaku.twidere.service.BackgroundOperationService;
|
||||||
import org.mariotaku.twidere.task.AbstractTask;
|
import org.mariotaku.twidere.task.AbstractTask;
|
||||||
import org.mariotaku.twidere.task.GetActivitiesAboutMeTask;
|
import org.mariotaku.twidere.task.GetActivitiesAboutMeTask;
|
||||||
import org.mariotaku.twidere.task.GetActivitiesByFriendsTask;
|
|
||||||
import org.mariotaku.twidere.task.GetDirectMessagesTask;
|
import org.mariotaku.twidere.task.GetDirectMessagesTask;
|
||||||
import org.mariotaku.twidere.task.GetHomeTimelineTask;
|
import org.mariotaku.twidere.task.GetHomeTimelineTask;
|
||||||
import org.mariotaku.twidere.task.GetLocalTrendsTask;
|
import org.mariotaku.twidere.task.GetLocalTrendsTask;
|
||||||
@ -521,12 +520,6 @@ public class AsyncTwitterWrapper extends TwitterWrapper {
|
|||||||
TaskStarter.execute(task);
|
TaskStarter.execute(task);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getActivitiesByFriendsAsync(long[] accountIds, long[] maxIds, long[] sinceIds) {
|
|
||||||
final GetActivitiesTask task = new GetActivitiesByFriendsTask(getContext());
|
|
||||||
task.setParams(new BaseRefreshTaskParam(accountIds, maxIds, sinceIds));
|
|
||||||
TaskStarter.execute(task);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setActivitiesAboutMeUnreadAsync(final long[] accountIds, final long cursor) {
|
public void setActivitiesAboutMeUnreadAsync(final long[] accountIds, final long cursor) {
|
||||||
AbstractTask<Object, Object, AsyncTwitterWrapper> task = new AbstractTask<Object, Object, AsyncTwitterWrapper>() {
|
AbstractTask<Object, Object, AsyncTwitterWrapper> task = new AbstractTask<Object, Object, AsyncTwitterWrapper>() {
|
||||||
|
|
||||||
|
@ -55,7 +55,8 @@ public class HttpClientFactory implements Constants {
|
|||||||
final ConnectionPool connectionPool) {
|
final ConnectionPool connectionPool) {
|
||||||
final boolean enableProxy = prefs.getBoolean(KEY_ENABLE_PROXY, false);
|
final boolean enableProxy = prefs.getBoolean(KEY_ENABLE_PROXY, false);
|
||||||
builder.connectTimeout(prefs.getInt(KEY_CONNECTION_TIMEOUT, 10), TimeUnit.SECONDS);
|
builder.connectTimeout(prefs.getInt(KEY_CONNECTION_TIMEOUT, 10), TimeUnit.SECONDS);
|
||||||
builder.retryOnConnectionFailure(prefs.getBoolean(KEY_RETRY_ON_NETWORK_ISSUE));
|
final boolean retryOnConnectionFailure = prefs.getBoolean(KEY_RETRY_ON_NETWORK_ISSUE);
|
||||||
|
builder.retryOnConnectionFailure(retryOnConnectionFailure);
|
||||||
builder.connectionPool(connectionPool);
|
builder.connectionPool(connectionPool);
|
||||||
if (enableProxy) {
|
if (enableProxy) {
|
||||||
final String proxyType = prefs.getString(KEY_PROXY_TYPE, null);
|
final String proxyType = prefs.getString(KEY_PROXY_TYPE, null);
|
||||||
@ -65,7 +66,7 @@ public class HttpClientFactory implements Constants {
|
|||||||
TwidereMathUtils.RANGE_INCLUSIVE_INCLUSIVE)) {
|
TwidereMathUtils.RANGE_INCLUSIVE_INCLUSIVE)) {
|
||||||
final Proxy.Type type = getProxyType(proxyType);
|
final Proxy.Type type = getProxyType(proxyType);
|
||||||
if (type != Proxy.Type.DIRECT) {
|
if (type != Proxy.Type.DIRECT) {
|
||||||
if (TwidereDns.isValidIpAddress(proxyHost)) {
|
if (TwidereDns.isValidIpAddress(proxyHost) && !retryOnConnectionFailure) {
|
||||||
builder.proxy(new Proxy(type, InetSocketAddress.createUnresolved(proxyHost, proxyPort)));
|
builder.proxy(new Proxy(type, InetSocketAddress.createUnresolved(proxyHost, proxyPort)));
|
||||||
} else {
|
} else {
|
||||||
builder.proxySelector(new TwidereProxySelector(context, type, proxyHost, proxyPort));
|
builder.proxySelector(new TwidereProxySelector(context, type, proxyHost, proxyPort));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user