diff --git a/.idea/misc.xml b/.idea/misc.xml
index af0bbdde..703e5d4b 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -5,7 +5,7 @@
-
+
diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/MessageAdapter.java b/app/src/main/java/org/nuclearfog/twidda/adapter/MessageAdapter.java
index 57de5634..e92b608d 100644
--- a/app/src/main/java/org/nuclearfog/twidda/adapter/MessageAdapter.java
+++ b/app/src/main/java/org/nuclearfog/twidda/adapter/MessageAdapter.java
@@ -85,7 +85,7 @@ public class MessageAdapter extends RecyclerView.Adapter {
else
vh.verify.setVisibility(View.GONE);
- if (img_ldr) {
+ if (img_ldr)
Picasso.get().load(tweet.getUser().getImageLink() + "_mini").into(vh.profile);
- }
}
diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/TweetPagerAdapter.java b/app/src/main/java/org/nuclearfog/twidda/adapter/TweetPagerAdapter.java
index 1f8ca1f1..8d3dd549 100644
--- a/app/src/main/java/org/nuclearfog/twidda/adapter/TweetPagerAdapter.java
+++ b/app/src/main/java/org/nuclearfog/twidda/adapter/TweetPagerAdapter.java
@@ -16,7 +16,7 @@ public class TweetPagerAdapter extends FragmentPagerAdapter {
super(fm);
Bundle param = new Bundle();
- param.putSerializable("mode",TweetType.TWEET_ANSR);
+ param.putSerializable("mode", TweetType.TWEET_ANSR);
param.putString("search", name);
param.putBoolean("fix", false);
param.putLong("id", id);
diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/StatusLoader.java b/app/src/main/java/org/nuclearfog/twidda/backend/StatusLoader.java
index 26eefb9e..f26919cd 100644
--- a/app/src/main/java/org/nuclearfog/twidda/backend/StatusLoader.java
+++ b/app/src/main/java/org/nuclearfog/twidda/backend/StatusLoader.java
@@ -11,6 +11,8 @@ import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
+import com.squareup.picasso.Picasso;
+
import org.nuclearfog.tag.Tagger;
import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.backend.items.Tweet;
@@ -22,8 +24,8 @@ import org.nuclearfog.twidda.window.UserProfile;
import java.lang.ref.WeakReference;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
+
import twitter4j.TwitterException;
-import com.squareup.picasso.Picasso;
import static android.view.View.VISIBLE;
import static org.nuclearfog.twidda.window.TweetDetail.STAT_CHANGED;
diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/TwitterEngine.java b/app/src/main/java/org/nuclearfog/twidda/backend/TwitterEngine.java
index 5b10e33e..9fd069f9 100644
--- a/app/src/main/java/org/nuclearfog/twidda/backend/TwitterEngine.java
+++ b/app/src/main/java/org/nuclearfog/twidda/backend/TwitterEngine.java
@@ -11,7 +11,7 @@ import org.nuclearfog.twidda.backend.items.TwitterUser;
import org.nuclearfog.twidda.database.GlobalSettings;
import java.io.File;
-import java.util.ArrayList;
+import java.util.LinkedList;
import java.util.List;
import twitter4j.DirectMessage;
@@ -199,7 +199,7 @@ public class TwitterEngine {
* @throws TwitterException if access is unavailable
*/
public List getTrends(int woeId) throws TwitterException {
- List result = new ArrayList<>();
+ List result = new LinkedList<>();
twitter4j.Trend[] trends = twitter.getPlaceTrends(woeId).getTrends();
for (int i = 0; i < trends.length; i++) {
@@ -377,7 +377,7 @@ public class TwitterEngine {
IDs userIDs = twitter.getFriendsIDs(userId, cursor, load);
long[] ids = userIDs.getIDs();
if (ids.length == 0)
- return new ArrayList<>();
+ return new LinkedList<>();
return convertUserList(twitter.lookupUsers(ids));
}
@@ -393,7 +393,7 @@ public class TwitterEngine {
IDs userIDs = twitter.getFollowersIDs(userId, cursor, load);
long[] ids = userIDs.getIDs();
if (ids.length == 0)
- return new ArrayList<>();
+ return new LinkedList<>();
return convertUserList(twitter.lookupUsers(userIDs.getIDs()));
}
@@ -448,7 +448,7 @@ public class TwitterEngine {
* @throws TwitterException if Access is unavailable
*/
public List getAnswers(String name, long tweetId, long sinceId) throws TwitterException {
- List answers = new ArrayList<>();
+ List answers = new LinkedList<>();
Query query = new Query("to:" + name + " since_id:" + sinceId + " -filter:retweets");
query.setCount(load);
QueryResult result = twitter.search(query);
@@ -521,7 +521,7 @@ public class TwitterEngine {
tweetID = embeddedStat.getId();
long[] userIds = twitter.getRetweeterIds(tweetID, load, cursor).getIDs();
if (userIds.length == 0)
- return new ArrayList<>();
+ return new LinkedList<>();
return convertUserList(twitter.lookupUsers(userIds));
}
@@ -534,7 +534,7 @@ public class TwitterEngine {
*/
public List getMessages() throws TwitterException {
List dmList = twitter.getDirectMessages(load);
- List result = new ArrayList<>();
+ List result = new LinkedList<>();
for (DirectMessage dm : dmList) {
result.add(getMessage(dm));
}
@@ -607,7 +607,7 @@ public class TwitterEngine {
* @return TwitterUser
*/
private List convertUserList(List users) {
- List result = new ArrayList<>();
+ List result = new LinkedList<>();
for (User user : users) {
TwitterUser item = new TwitterUser(user);
result.add(item);
@@ -623,7 +623,7 @@ public class TwitterEngine {
* @return TwitterStatus
*/
private List convertStatusList(List statuses) {
- List result = new ArrayList<>();
+ List result = new LinkedList<>();
for (Status status : statuses)
result.add(new Tweet(status));
return result;
diff --git a/app/src/main/java/org/nuclearfog/twidda/database/DatabaseAdapter.java b/app/src/main/java/org/nuclearfog/twidda/database/DatabaseAdapter.java
index 8bd67c62..92c6f8b0 100644
--- a/app/src/main/java/org/nuclearfog/twidda/database/DatabaseAdapter.java
+++ b/app/src/main/java/org/nuclearfog/twidda/database/DatabaseAdapter.java
@@ -11,7 +11,7 @@ import org.nuclearfog.twidda.backend.items.Trend;
import org.nuclearfog.twidda.backend.items.Tweet;
import org.nuclearfog.twidda.backend.items.TwitterUser;
-import java.util.ArrayList;
+import java.util.LinkedList;
import java.util.List;
import static android.database.sqlite.SQLiteDatabase.CONFLICT_IGNORE;
@@ -195,7 +195,7 @@ public class DatabaseAdapter {
*/
public List getHomeTimeline() {
SQLiteDatabase db = getDbRead();
- List tweetList = new ArrayList<>();
+ List tweetList = new LinkedList<>();
final String SQL_GET_HOME = "SELECT * FROM tweet " +
"INNER JOIN user ON tweet.userID=user.userID " +
"WHERE statusregister&" + HOM_MASK + ">0 " +
@@ -219,7 +219,7 @@ public class DatabaseAdapter {
*/
public List getMentions() {
SQLiteDatabase db = getDbRead();
- List tweetList = new ArrayList<>();
+ List tweetList = new LinkedList<>();
final String SQL_GET_HOME = "SELECT * FROM tweet " +
"INNER JOIN user ON tweet.userID=user.userID " +
"WHERE statusregister&" + MEN_MASK + ">0 " +
@@ -244,7 +244,7 @@ public class DatabaseAdapter {
*/
public List getUserTweets(long userID) {
SQLiteDatabase db = getDbRead();
- List tweetList = new ArrayList<>();
+ List tweetList = new LinkedList<>();
final String SQL_GET_HOME = "SELECT * FROM tweet " +
"INNER JOIN user ON tweet.userID = user.userID " +
"WHERE statusregister&" + UTW_MASK + ">0 " +
@@ -272,7 +272,7 @@ public class DatabaseAdapter {
*/
public List getUserFavs(long ownerID) {
SQLiteDatabase db = getDbRead();
- List tweetList = new ArrayList<>();
+ List tweetList = new LinkedList<>();
final String SQL_GET_HOME = "SELECT * FROM tweet " +
"INNER JOIN favorit on tweet.tweetID = favorit.tweetID " +
"INNER JOIN user ON tweet.userID = user.userID " +
@@ -319,7 +319,7 @@ public class DatabaseAdapter {
*/
public List getAnswers(long tweetId) {
SQLiteDatabase db = getDbRead();
- List tweetList = new ArrayList<>();
+ List tweetList = new LinkedList<>();
final String SQL_GET_HOME = "SELECT * FROM tweet " +
"INNER JOIN user ON tweet.userID = user.userID " +
"WHERE tweet.replyID=" + tweetId + " AND statusregister&" + RPL_MASK + ">0 " +
@@ -437,7 +437,7 @@ public class DatabaseAdapter {
*/
public List getTrends(int woeId) {
SQLiteDatabase db = getDbRead();
- List trends = new ArrayList<>();
+ List trends = new LinkedList<>();
final String query = "SELECT * FROM trend WHERE woeID=" + woeId + " ORDER BY trendpos ASC";
Cursor cursor = db.rawQuery(query, null);
if (cursor.moveToFirst()) {
@@ -460,7 +460,7 @@ public class DatabaseAdapter {
* @return list of direct messages
*/
public List getMessages() {
- List result = new ArrayList<>();
+ List result = new LinkedList<>();
SQLiteDatabase db = getDbRead();
final String query = "SELECT * FROM message ORDER BY messageID DESC LIMIT " + LIMIT;
Cursor cursor = db.rawQuery(query, null);
@@ -735,7 +735,7 @@ public class DatabaseAdapter {
private String[] parseMedia(String media) {
int index;
- List links = new ArrayList<>();
+ List links = new LinkedList<>();
do {
index = media.indexOf(';');
if (index > 0 && index < media.length()) {
diff --git a/app/src/main/java/org/nuclearfog/twidda/database/GlobalSettings.java b/app/src/main/java/org/nuclearfog/twidda/database/GlobalSettings.java
index 36420cc4..11e56406 100644
--- a/app/src/main/java/org/nuclearfog/twidda/database/GlobalSettings.java
+++ b/app/src/main/java/org/nuclearfog/twidda/database/GlobalSettings.java
@@ -289,7 +289,7 @@ public class GlobalSettings {
* @return access tokens
*/
public String[] getKeys() {
- String out[] = new String[2];
+ String[] out = new String[2];
out[0] = key1;
out[1] = key2;
return out;
diff --git a/app/src/main/java/org/nuclearfog/twidda/fragment/MessageListFragment.java b/app/src/main/java/org/nuclearfog/twidda/fragment/MessageListFragment.java
index 1d9e4bd9..35848321 100644
--- a/app/src/main/java/org/nuclearfog/twidda/fragment/MessageListFragment.java
+++ b/app/src/main/java/org/nuclearfog/twidda/fragment/MessageListFragment.java
@@ -1,8 +1,8 @@
package org.nuclearfog.twidda.fragment;
import android.content.Intent;
-import android.os.Bundle;
import android.os.AsyncTask.Status;
+import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.support.v4.widget.SwipeRefreshLayout;
@@ -19,15 +19,12 @@ import org.nuclearfog.twidda.adapter.MessageAdapter.OnItemSelected;
import org.nuclearfog.twidda.backend.items.Message;
import org.nuclearfog.twidda.database.GlobalSettings;
import org.nuclearfog.twidda.fragment.backend.MessageLoader;
+import org.nuclearfog.twidda.fragment.backend.MessageLoader.Mode;
import org.nuclearfog.twidda.window.MessagePopup;
import org.nuclearfog.twidda.window.SearchPage;
import org.nuclearfog.twidda.window.UserProfile;
-import static org.nuclearfog.twidda.fragment.backend.MessageLoader.Mode.DEL;
-import static org.nuclearfog.twidda.fragment.backend.MessageLoader.Mode.LOAD;
-
-
public class MessageListFragment extends Fragment implements OnRefreshListener, OnItemSelected {
private MessageLoader messageTask;
@@ -60,12 +57,11 @@ public class MessageListFragment extends Fragment implements OnRefreshListener,
}
-
@Override
public void onStart() {
super.onStart();
if (messageTask == null) {
- messageTask = new MessageLoader(root, LOAD);
+ messageTask = new MessageLoader(root, Mode.LOAD);
messageTask.execute();
}
}
@@ -81,14 +77,14 @@ public class MessageListFragment extends Fragment implements OnRefreshListener,
@Override
public void onRefresh() {
- messageTask = new MessageLoader(root, LOAD);
+ messageTask = new MessageLoader(root, Mode.LOAD);
messageTask.execute();
}
@Override
public void onClick(String tag) {
- if(!reload.isRefreshing()) {
+ if (!reload.isRefreshing()) {
Intent intent = new Intent(getContext(), SearchPage.class);
intent.putExtra("search", tag);
startActivity(intent);
@@ -97,31 +93,25 @@ public class MessageListFragment extends Fragment implements OnRefreshListener,
@Override
- public void onAnswer(Message message) {
- if(!reload.isRefreshing()) {
- Intent sendDm = new Intent(getContext(), MessagePopup.class);
- sendDm.putExtra("username", message.getSender().getScreenname());
- startActivity(sendDm);
- }
- }
-
-
- @Override
- public void onDelete(Message message) {
- if(!reload.isRefreshing()) {
- messageTask = new MessageLoader(root, DEL);
- messageTask.execute(message.getId());
- }
- }
-
-
- @Override
- public void onProfileClick(Message message) {
- if(!reload.isRefreshing()) {
- Intent profile = new Intent(getContext(), UserProfile.class);
- profile.putExtra("userID", message.getSender().getId());
- profile.putExtra("username", message.getSender().getScreenname());
- startActivity(profile);
+ public void onClick(Message message, Action action) {
+ if (!reload.isRefreshing()) {
+ switch (action) {
+ case ANSWER:
+ Intent sendDm = new Intent(getContext(), MessagePopup.class);
+ sendDm.putExtra("username", message.getSender().getScreenname());
+ startActivity(sendDm);
+ break;
+ case DELETE:
+ messageTask = new MessageLoader(root, Mode.DEL);
+ messageTask.execute(message.getId());
+ break;
+ case PROFILE:
+ Intent profile = new Intent(getContext(), UserProfile.class);
+ profile.putExtra("userID", message.getSender().getId());
+ profile.putExtra("username", message.getSender().getScreenname());
+ startActivity(profile);
+ break;
+ }
}
}
}
\ No newline at end of file
diff --git a/app/src/main/java/org/nuclearfog/twidda/fragment/backend/MessageLoader.java b/app/src/main/java/org/nuclearfog/twidda/fragment/backend/MessageLoader.java
index 872a4cc2..197a0bad 100644
--- a/app/src/main/java/org/nuclearfog/twidda/fragment/backend/MessageLoader.java
+++ b/app/src/main/java/org/nuclearfog/twidda/fragment/backend/MessageLoader.java
@@ -51,8 +51,14 @@ public class MessageLoader extends AsyncTask {
protected void onPreExecute() {
if (ui.get() == null)
return;
- SwipeRefreshLayout reload = ui.get().findViewById(R.id.fragment_reload);
- reload.setRefreshing(true);
+ final SwipeRefreshLayout reload = ui.get().findViewById(R.id.fragment_reload);
+ reload.postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ if (getStatus() != Status.FINISHED)
+ reload.setRefreshing(true);
+ }
+ }, 500);
}
diff --git a/app/src/main/java/org/nuclearfog/twidda/fragment/backend/TrendLoader.java b/app/src/main/java/org/nuclearfog/twidda/fragment/backend/TrendLoader.java
index 8ae6cc2d..876ab74c 100644
--- a/app/src/main/java/org/nuclearfog/twidda/fragment/backend/TrendLoader.java
+++ b/app/src/main/java/org/nuclearfog/twidda/fragment/backend/TrendLoader.java
@@ -54,8 +54,14 @@ public class TrendLoader extends AsyncTask {
protected void onPreExecute() {
if (ui.get() == null)
return;
- SwipeRefreshLayout reload = ui.get().findViewById(R.id.fragment_reload);
- reload.setRefreshing(true);
+ final SwipeRefreshLayout reload = ui.get().findViewById(R.id.fragment_reload);
+ reload.postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ if (getStatus() != Status.FINISHED)
+ reload.setRefreshing(true);
+ }
+ }, 500);
}
diff --git a/app/src/main/java/org/nuclearfog/twidda/fragment/backend/TweetLoader.java b/app/src/main/java/org/nuclearfog/twidda/fragment/backend/TweetLoader.java
index 5f912e33..99d0df84 100644
--- a/app/src/main/java/org/nuclearfog/twidda/fragment/backend/TweetLoader.java
+++ b/app/src/main/java/org/nuclearfog/twidda/fragment/backend/TweetLoader.java
@@ -7,7 +7,6 @@ import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.View;
-import org.nuclearfog.twidda.BuildConfig;
import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.adapter.TweetAdapter;
import org.nuclearfog.twidda.backend.ErrorHandler;
@@ -21,7 +20,6 @@ import java.util.List;
import twitter4j.TwitterException;
-
public class TweetLoader extends AsyncTask