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;
|
||||
|
||||
import org.mariotaku.twidere.api.statusnet.api.StatusNetResources;
|
||||
import org.mariotaku.twidere.api.twitter.api.DirectMessagesResources;
|
||||
import org.mariotaku.twidere.api.twitter.api.FavoritesResources;
|
||||
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.UsersResources;
|
||||
|
||||
/**
|
||||
* @author Yusuke Yamamoto - yusuke at mac.com
|
||||
* @since Twitter4J 2.2.0
|
||||
*/
|
||||
public interface Twitter extends SearchResource, TimelineResources,
|
||||
TweetResources, UsersResources, ListsResources, DirectMessagesResources, FriendsFollowersResources,
|
||||
FavoritesResources, SpamReportingResources, SavedSearchesResources, TrendsResources, PlacesGeoResources,
|
||||
HelpResources, PrivateActivityResources, PrivateTweetResources, PrivateTimelinesResources,
|
||||
PrivateFriendsFollowersResources, PrivateDirectMessagesResources, PrivateScheduleResources {
|
||||
HelpResources, StatusNetResources, PrivateActivityResources, PrivateTweetResources,
|
||||
PrivateTimelinesResources, PrivateFriendsFollowersResources, PrivateDirectMessagesResources,
|
||||
PrivateScheduleResources {
|
||||
}
|
||||
|
@ -47,9 +47,6 @@ public interface PrivateActivityResources extends PrivateResources {
|
||||
@GET("/activity/about_me.json")
|
||||
ResponseList<Activity> getActivitiesAboutMe(@Query Paging paging) throws TwitterException;
|
||||
|
||||
@GET("/activity/by_friends.json")
|
||||
ResponseList<Activity> getActivitiesByFriends(@Query Paging paging) throws TwitterException;
|
||||
|
||||
@Queries({})
|
||||
@GET("/activity/about_me/unread.json")
|
||||
CursorTimestampResponse getActivitiesAboutMeUnread(@Query("cursor") boolean cursor) throws TwitterException;
|
||||
|
@ -568,7 +568,13 @@ public abstract class AbsActivitiesFragment<Data> extends AbsContentListRecycler
|
||||
}
|
||||
|
||||
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() {
|
||||
if (getActivity() == null || isDetached()) return;
|
||||
if (getContext() == null || isDetached()) return;
|
||||
final Bundle args = new Bundle(), fragmentArgs = getArguments();
|
||||
if (fragmentArgs != null) {
|
||||
args.putAll(fragmentArgs);
|
||||
@ -246,6 +246,7 @@ public abstract class CursorStatusesFragment extends AbsStatusesFragment<List<Pa
|
||||
TaskStarter.execute(new AbstractTask<Object, long[][], CursorStatusesFragment>() {
|
||||
@Override
|
||||
public long[][] doLongOperation(Object o) {
|
||||
if (getContext() == null) return null;
|
||||
final long[][] result = new long[3][];
|
||||
result[0] = getAccountIds();
|
||||
result[1] = getOldestStatusIds(result[0]);
|
||||
@ -254,6 +255,7 @@ public abstract class CursorStatusesFragment extends AbsStatusesFragment<List<Pa
|
||||
|
||||
@Override
|
||||
public void afterExecute(CursorStatusesFragment fragment, long[][] result) {
|
||||
if (result == null) return;
|
||||
fragment.getStatuses(result[0], result[1], result[2]);
|
||||
}
|
||||
}.setResultHandler(this));
|
||||
@ -285,7 +287,9 @@ public abstract class CursorStatusesFragment extends AbsStatusesFragment<List<Pa
|
||||
}
|
||||
|
||||
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();
|
||||
@ -301,7 +305,9 @@ public abstract class CursorStatusesFragment extends AbsStatusesFragment<List<Pa
|
||||
}
|
||||
|
||||
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();
|
||||
|
@ -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.task.AbstractTask;
|
||||
import org.mariotaku.twidere.task.GetActivitiesAboutMeTask;
|
||||
import org.mariotaku.twidere.task.GetActivitiesByFriendsTask;
|
||||
import org.mariotaku.twidere.task.GetDirectMessagesTask;
|
||||
import org.mariotaku.twidere.task.GetHomeTimelineTask;
|
||||
import org.mariotaku.twidere.task.GetLocalTrendsTask;
|
||||
@ -521,12 +520,6 @@ public class AsyncTwitterWrapper extends TwitterWrapper {
|
||||
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) {
|
||||
AbstractTask<Object, Object, AsyncTwitterWrapper> task = new AbstractTask<Object, Object, AsyncTwitterWrapper>() {
|
||||
|
||||
|
@ -55,7 +55,8 @@ public class HttpClientFactory implements Constants {
|
||||
final ConnectionPool connectionPool) {
|
||||
final boolean enableProxy = prefs.getBoolean(KEY_ENABLE_PROXY, false);
|
||||
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);
|
||||
if (enableProxy) {
|
||||
final String proxyType = prefs.getString(KEY_PROXY_TYPE, null);
|
||||
@ -65,7 +66,7 @@ public class HttpClientFactory implements Constants {
|
||||
TwidereMathUtils.RANGE_INCLUSIVE_INCLUSIVE)) {
|
||||
final Proxy.Type type = getProxyType(proxyType);
|
||||
if (type != Proxy.Type.DIRECT) {
|
||||
if (TwidereDns.isValidIpAddress(proxyHost)) {
|
||||
if (TwidereDns.isValidIpAddress(proxyHost) && !retryOnConnectionFailure) {
|
||||
builder.proxy(new Proxy(type, InetSocketAddress.createUnresolved(proxyHost, proxyPort)));
|
||||
} else {
|
||||
builder.proxySelector(new TwidereProxySelector(context, type, proxyHost, proxyPort));
|
||||
|
Loading…
x
Reference in New Issue
Block a user