Search in sources :

Example 1 with QueryResult

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();
    }
}
Also used : QueryResult(twitter4j.QueryResult) Status(twitter4j.Status) Twitter(twitter4j.Twitter) DrawerActivity(com.klinker.android.twitter.activities.drawer_activities.DrawerActivity) Activity(android.app.Activity) XmlPullParserException(org.xmlpull.v1.XmlPullParserException)

Example 2 with QueryResult

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();
}
Also used : QueryResult(twitter4j.QueryResult) Query(twitter4j.Query) Status(twitter4j.Status) Twitter(twitter4j.Twitter) ComposeActivity(com.klinker.android.twitter.activities.compose.ComposeActivity) SettingsActivity(com.klinker.android.twitter.settings.SettingsActivity) Activity(android.app.Activity) TimelineArrayAdapter(com.klinker.android.twitter.adapters.TimelineArrayAdapter) TwitterException(twitter4j.TwitterException)

Example 3 with QueryResult

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();
    }
}
Also used : QueryResult(twitter4j.QueryResult) Status(twitter4j.Status) Twitter(twitter4j.Twitter) ComposeActivity(com.klinker.android.twitter.activities.compose.ComposeActivity) SettingsActivity(com.klinker.android.twitter.settings.SettingsActivity) Activity(android.app.Activity) TwitterException(twitter4j.TwitterException)

Example 4 with QueryResult

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();
}
Also used : QueryResult(twitter4j.QueryResult) Status(twitter4j.Status) Twitter(twitter4j.Twitter) Activity(android.app.Activity) AbsListView(android.widget.AbsListView) AsyncListView(org.lucasr.smoothie.AsyncListView) View(android.view.View)

Example 5 with QueryResult

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();
}
Also used : Status(twitter4j.Status) Query(twitter4j.Query) ArrayList(java.util.ArrayList) Twitter(twitter4j.Twitter) TwitterException(twitter4j.TwitterException) QueryResult(twitter4j.QueryResult) ArrayList(java.util.ArrayList) List(java.util.List) TimelineArrayAdapter(com.klinker.android.twitter.adapters.TimelineArrayAdapter)

Aggregations

QueryResult (twitter4j.QueryResult)17 Twitter (twitter4j.Twitter)17 Status (twitter4j.Status)15 Activity (android.app.Activity)12 Query (twitter4j.Query)11 TimelineArrayAdapter (com.klinker.android.twitter.adapters.TimelineArrayAdapter)8 TwitterException (twitter4j.TwitterException)5 ComposeActivity (com.klinker.android.twitter.activities.compose.ComposeActivity)3 SettingsActivity (com.klinker.android.twitter.settings.SettingsActivity)3 GeoLocation (twitter4j.GeoLocation)3 View (android.view.View)2 AbsListView (android.widget.AbsListView)2 DrawerActivity (com.klinker.android.twitter.activities.drawer_activities.DrawerActivity)2 ArrayList (java.util.ArrayList)2 TwitterEndpoint (org.apache.camel.component.twitter.TwitterEndpoint)2 AsyncListView (org.lucasr.smoothie.AsyncListView)2 XmlPullParserException (org.xmlpull.v1.XmlPullParserException)2 Location (android.location.Location)1 LinearLayout (android.widget.LinearLayout)1 Result (ddf.catalog.data.Result)1