1
0
mirror of https://github.com/TwidereProject/Twidere-Android synced 2025-02-02 09:46:51 +01:00

bug fixes

This commit is contained in:
Mariotaku Lee 2016-02-27 14:52:16 +08:00
parent 43af801b6c
commit ca20ca865e
8 changed files with 30 additions and 67 deletions

View File

@ -0,0 +1,7 @@
package org.mariotaku.twidere.api.statusnet.api;
/**
* Created by mariotaku on 16/2/27.
*/
public interface StatusNetResources {
}

View File

@ -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 {
}

View File

@ -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;

View File

@ -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;
}
}
});
}

View File

@ -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();

View File

@ -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;
}
}

View File

@ -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>() {

View File

@ -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));