package jreddit.github.com.jredditsampleproject; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.Menu; import android.view.MenuItem; import com.github.jreddit.entity.Submission; import com.github.jreddit.entity.User; import com.github.jreddit.retrieval.Submissions; import com.github.jreddit.retrieval.params.SubmissionSort; import com.github.jreddit.utils.restclient.PoliteHttpRestClient; import com.github.jreddit.utils.restclient.RestClient; import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.CompletionService; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorCompletionService; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; public class JRedditSample extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_j_reddit_sample); List<Submission> submissionList = null; ExecutorService executorService = Executors.newSingleThreadExecutor(); CompletionService<List<Submission>> completionService = new ExecutorCompletionService<List<Submission>>(executorService); completionService.submit(new Callable<List<Submission>>() { @Override public List<Submission> call() throws Exception { RestClient restClient = new PoliteHttpRestClient(); restClient.setUserAgent("bot/1.0 by name"); // Connect the user // change USER and PASSWORD with your own credentials User user = new User(restClient, "USER", "PASSWORD"); try { user.connect(); } catch (Exception e) { e.printStackTrace(); } // Handle to Submissions, which offers the basic API submission functionality Submissions subms = new Submissions(restClient, user); // Retrieve submissions of a submission return subms.ofSubreddit("programming", SubmissionSort.TOP, -1, 100, null, null, true); } }); try { final Future<List<Submission>> completedFuture = completionService.take(); submissionList = completedFuture.get(); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } System.out.println("hello"); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_j_reddit_sample, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }