use of twitter4j.QueryResult in project Talon-for-Twitter by klinker24.
the class NearbyTweets method getMore.
public void getMore() {
if (hasMore) {
canRefresh = false;
new Thread(new Runnable() {
@Override
public void run() {
try {
Twitter twitter = Utils.getTwitter(context, settings);
QueryResult result = twitter.search(query);
for (twitter4j.Status status : result.getTweets()) {
statuses.add(status);
}
if (result.hasNext()) {
query = result.nextQuery();
hasMore = true;
} else {
hasMore = false;
}
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
adapter.notifyDataSetChanged();
canRefresh = true;
}
});
} catch (Exception e) {
e.printStackTrace();
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
canRefresh = false;
}
});
}
}
}).start();
}
}
use of twitter4j.QueryResult in project Talon-for-Twitter by klinker24.
the class SearchedTrendsActivity method doSearch.
public void doSearch(final String mQuery) {
spinner.setVisibility(View.VISIBLE);
new Thread(new Runnable() {
@Override
public void run() {
try {
Twitter twitter = Utils.getTwitter(context, settings);
Log.v("talon_search", "search query: " + mQuery);
query = new Query();
if (mQuery.contains(" TOP")) {
query.setResultType(Query.ResultType.popular);
}
query.setQuery(mQuery.replace(" TOP", ""));
QueryResult result;
try {
result = twitter.search(query);
} catch (OutOfMemoryError e) {
return;
}
tweets.clear();
for (twitter4j.Status status : result.getTweets()) {
tweets.add(status);
}
if (result.hasNext()) {
query = result.nextQuery();
hasMore = true;
} else {
hasMore = false;
}
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
adapter = new TimelineArrayAdapter(context, tweets);
listView.setAdapter(adapter);
listView.setVisibility(View.VISIBLE);
spinner.setVisibility(View.GONE);
}
});
} catch (Exception e) {
e.printStackTrace();
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
spinner.setVisibility(View.GONE);
}
});
}
}
}).start();
}
use of twitter4j.QueryResult in project Talon-for-Twitter by klinker24.
the class SearchedTrendsActivity method getMore.
public void getMore() {
if (hasMore) {
canRefresh = false;
mPullToRefreshLayout.setRefreshing(true);
new Thread(new Runnable() {
@Override
public void run() {
try {
Twitter twitter = Utils.getTwitter(context, settings);
QueryResult result = twitter.search(query);
for (twitter4j.Status status : result.getTweets()) {
tweets.add(status);
}
if (result.hasNext()) {
query = result.nextQuery();
hasMore = true;
} else {
hasMore = false;
}
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
adapter.notifyDataSetChanged();
mPullToRefreshLayout.setRefreshing(false);
canRefresh = true;
}
});
} catch (Exception e) {
e.printStackTrace();
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
mPullToRefreshLayout.setRefreshing(false);
canRefresh = true;
}
});
}
}
}).start();
}
}
use of twitter4j.QueryResult in project Talon-for-Twitter by klinker24.
the class ProfileMentionsFragment method getMore.
public void getMore() {
canRefresh = false;
new Thread(new Runnable() {
@Override
public void run() {
try {
Twitter twitter = Utils.getTwitter(context, settings);
QueryResult result = twitter.search(query);
for (twitter4j.Status status : result.getTweets()) {
tweets.add(status);
}
if (result.hasNext()) {
query = result.nextQuery();
hasMore = true;
} else {
hasMore = false;
}
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
adapter.notifyDataSetChanged();
canRefresh = true;
if (!hasMore) {
View footer = inflater.inflate(R.layout.mentions_footer, null);
listView.addFooterView(footer);
listView.setFooterDividersEnabled(false);
}
}
});
} catch (Exception e) {
e.printStackTrace();
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
canRefresh = false;
hasMore = false;
}
});
}
}
}).start();
}
use of twitter4j.QueryResult in project Talon-for-Twitter by klinker24.
the class ConversationFragment method getDiscussion.
public void getDiscussion(final ListView listView, final long tweetId, final LinearLayout progressBar, final HoloTextView none, final Status status) {
Log.v("talon_replies", "getting discussion");
if (replies.size() == 0) {
replies.add(status);
}
Thread getReplies = new Thread(new Runnable() {
@Override
public void run() {
if (!isRunning) {
return;
}
ArrayList<twitter4j.Status> all = null;
Twitter twitter = Utils.getTwitter(context, settings);
try {
Log.v("talon_replies", "looking for discussion");
long id = status.getId();
String screenname = status.getUser().getScreenName();
query = new Query("@" + screenname + " since_id:" + id);
Log.v("talon_replies", "query string: " + query.getQuery());
try {
query.setCount(100);
} catch (Throwable e) {
// enlarge buffer error?
query.setCount(30);
}
QueryResult result = twitter.search(query);
Log.v("talon_replies", "result: " + result.getTweets().size());
all = new ArrayList<twitter4j.Status>();
do {
Log.v("talon_replies", "do loop repetition");
if (!isRunning) {
return;
}
List<Status> tweets = result.getTweets();
for (twitter4j.Status tweet : tweets) {
if (tweet.getInReplyToStatusId() == id) {
all.add(tweet);
Log.v("talon_replies", tweet.getText());
}
}
if (all.size() > 0) {
for (int i = all.size() - 1; i >= 0; i--) {
Log.v("talon_replies", "inserting into arraylist:" + all.get(i).getText());
replies.add(all.get(i));
}
all.clear();
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
progressBar.setVisibility(View.GONE);
try {
if (replies.size() > 0) {
if (adapter == null || adapter.getCount() == 0) {
adapter = new TimelineArrayAdapter(context, replies);
listView.setAdapter(adapter);
listView.setVisibility(View.VISIBLE);
} else {
Log.v("talon_replies", "notifying adapter change");
adapter.notifyDataSetChanged();
}
} else {
none.setVisibility(View.VISIBLE);
}
} catch (Exception e) {
// none and it got the null object
e.printStackTrace();
listView.setVisibility(View.GONE);
none.setVisibility(View.VISIBLE);
}
}
});
}
try {
Thread.sleep(250);
} catch (Exception e) {
// since we are changing the arraylist for the adapter in the background, we need to make sure it
// gets updated before continuing
}
query = result.nextQuery();
if (query != null)
result = twitter.search(query);
} while (query != null);
} catch (Exception e) {
e.printStackTrace();
} catch (OutOfMemoryError e) {
e.printStackTrace();
}
if (replies.size() < 2) {
// nothing to show, so tell them that
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
progressBar.setVisibility(View.GONE);
listView.setVisibility(View.GONE);
none.setVisibility(View.VISIBLE);
}
});
}
}
});
getReplies.setPriority(8);
getReplies.start();
}
Aggregations