/** Position is being saved per User and per TimeleneType */ private void savePosition() { int firstItem = getListView().getLastVisiblePosition(); long firstItemId = getListView().getAdapter().getItemId(firstItem); if (firstItemId < 1) { // Maybe we can find previous tweet firstItemId = getListView().getAdapter().getItemId(firstItem - 1); } TwitterUser tu = TwitterUser.getTwitterUser(this); tu.getSharedPreferences().edit().putLong(positionKey(), firstItemId).commit(); if (mSearchMode) { // Remember query string for which the position was saved tu.getSharedPreferences().edit().putString(positionQueryStringKey(), mQueryString).commit(); } if (Log.isLoggable(QuicksyncService.APPTAG, Log.VERBOSE)) { Log.v( TAG, "Saved position " + tu.getUsername() + "-" + positionKey() + "=" + firstItemId + "; list position=" + firstItem); } }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (!(obj instanceof TwitterUser)) return false; TwitterUser other = (TwitterUser) obj; if (!getOuterType().equals(other.getOuterType())) return false; if (!this.getName().equals(other.getName())) return false; return true; }
/** @return Saved position (tweet id) or <0 if none found... */ protected long getSavedPosition() { TwitterUser tu = TwitterUser.getTwitterUser(this); long firstItemId = -3; if (!mSearchMode || (mQueryString.compareTo( tu.getSharedPreferences().getString(positionQueryStringKey(), "")) == 0)) { // Load saved position in Search mode only if that position was // saved for the same query string firstItemId = tu.getSharedPreferences().getLong(positionKey(), -1); } return firstItemId; }
/** Load position saved for this user and for this type of timeline */ private void loadPosition() { TwitterUser tu = TwitterUser.getTwitterUser(this); boolean loaded = false; long firstItemId = -3; try { int scrollPos = -1; firstItemId = getSavedPosition(); if (firstItemId > 0) { scrollPos = listPosForId(firstItemId); } if (scrollPos > 0) { getListView().setSelectionFromTop(scrollPos - 1, 0); loaded = true; if (Log.isLoggable(QuicksyncService.APPTAG, Log.VERBOSE)) { Log.v( TAG, "Loaded position " + tu.getUsername() + "-" + positionKey() + "=" + firstItemId); } } else { // There is no stored position if (mSearchMode) { // In search mode start from the most recent tweet! scrollPos = 1; } else { scrollPos = getListView().getCount() - 1; } setSelectionAtBottom(scrollPos); } } catch (Exception e) { Editor ed = tu.getSharedPreferences().edit(); ed.remove(positionKey()); ed.commit(); firstItemId = -2; } if (!loaded && Log.isLoggable(QuicksyncService.APPTAG, Log.VERBOSE)) { Log.v( TAG, "Didn't load position " + tu.getUsername() + "-" + positionKey() + "=" + firstItemId); } positionLoaded = true; }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (Log.isLoggable(QuicksyncService.APPTAG, Log.VERBOSE)) { Log.v(TAG, "onCreate"); } if (TwitterUser.getTwitterUser(this).getCredentialsVerified() != CredentialsVerified.SUCCEEDED) { Log.d("ALI S CHECK!!!!!!!", " STARTING THE SPLASH ACTIVITY"); startActivity(new Intent(this, SplashActivity.class)); finish(); } // Set up preference manager PreferenceManager.setDefaultValues(this, R.xml.preferences, false); mSP = PreferenceManager.getDefaultSharedPreferences(this); setTimelineType(getIntent()); // Request window features before loading the content view requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); loadTheme(); Log.d("ALI S CHECK!!!!!!!", " SETTING CONTENT VIEW"); setContentView(R.layout.tweetlist); Log.d("ALI S CHECK!!!!!!!", " SET CONTENT VIEW"); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.timeline_title); /* * if (mSP.getBoolean("storage_use_external", false)) { if * (!Environment. * getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { * showDialog(DIALOG_EXTERNAL_STORAGE_MISSING); } if * (Environment.getExternalStorageState * ().equals(Environment.MEDIA_MOUNTED_READ_ONLY)) { * Toast.makeText(this, * "External storage mounted read-only. Cannot write to database. Please re-mount your storage and try again." * , Toast.LENGTH_LONG).show(); destroyService(); finish(); } } if * (Environment * .getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { if * (!mSP.getBoolean("confirmed_external_storage_use", false)) { * showDialog(DIALOG_EXTERNAL_STORAGE); } } */ // Set up notification manager mNM = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); }
public static void main(String[] args) { try { ConfigurationBuilder cb = new ConfigurationBuilder(); cb.setDebugEnabled(true).setOAuthConsumerKey("fSjrQedRpuRcUv3AmzUqkicCR"); cb.setDebugEnabled(true) .setOAuthConsumerSecret("nGY8pyGD1CsYXaBb8SpeqoHHWYHE8pWeNmiR8Kc7UfWK5bJvTe"); cb.setDebugEnabled(true) .setOAuthAccessToken("98946486-yZqWgilcljm4oVkT82euEDTl0UNna7t8R3F9rGEKZ"); cb.setDebugEnabled(true) .setOAuthAccessTokenSecret("4GKOaU5OAksbNRz5rJy8uGxDM7vtzD3mJBCVJ2uU4qyNa"); TwitterFactory tf = new TwitterFactory(cb.build()); Twitter twitter = tf.getInstance(); ArrayList<TwitterUser> users = new ArrayList<>(); RateLimitStatus followers = twitter.getRateLimitStatus("followers").get("/followers/ids"); System.out.println("followers " + followers.getRemaining()); RateLimitStatus following = twitter.getRateLimitStatus("friends").get("/friends/ids"); System.out.println("following " + following.getRemaining()); if (followers.getRemaining() < 2 && following.getRemaining() < 2) { System.out.println("Durmiendo por aqui..."); Thread.sleep(900000); } TwitterUser me = new TwitterUser(twitter); me.setUserID(twitter.getId()); me.setFollowers(); // 1 follower me.setFollowings(); // 1 following users.add(me); for (int i = 0; i < 10; i++) { // 20 requests if (followers.getRemaining() < 2 && following.getRemaining() < 2) { System.out.println("Durmiendo por aqui... I=" + i); Thread.sleep(900000); } TwitterUser userX = new TwitterUser(me.getFollowers()[i], twitter); userX.setFollowers(); userX.setFollowings(); users.add(userX); for (int j = 0; j < 10; j++) { if (followers.getRemaining() < 2 && following.getRemaining() < 2) { System.out.println("Durmiendo por aqui... I=" + i + "J=" + j); Thread.sleep(900000); } TwitterUser userX_1 = new TwitterUser(userX.getFollowers()[j], twitter); userX_1.setFollowers(); userX_1.setFollowings(); users.add(userX_1); } } for (int i = 0; i < 10; i++) { // 20 requests if (followers.getRemaining() < 2 && following.getRemaining() < 2) { System.out.println("Durmiendo por aqui... I=" + i); Thread.sleep(900000); } TwitterUser userX = new TwitterUser(me.getFollowings()[i], twitter); userX.setFollowers(); userX.setFollowings(); users.add(userX); for (int j = 0; j < 10; j++) { if (followers.getRemaining() < 2 && following.getRemaining() < 2) { System.out.println("Durmiendo por aqui... I=" + i + "J=" + j); Thread.sleep(900000); } TwitterUser userX_1 = new TwitterUser(userX.getFollowings()[j], twitter); userX_1.setFollowers(); userX_1.setFollowings(); users.add(userX_1); } } String content = ""; for (TwitterUser user : users) { content += user.toString(); } File file = new File("/users/cbanegas/Desktop/filename.txt"); if (!file.exists()) { file.createNewFile(); } FileWriter fw = new FileWriter(file.getAbsoluteFile()); BufferedWriter bw = new BufferedWriter(fw); bw.write(content); bw.close(); System.out.println("Done"); } catch (TwitterException te) { Logger.getLogger(TwitterUser.class.getName()).log(Level.SEVERE, null, te); System.out.println("twitter basura"); } catch (IOException ex) { Logger.getLogger(TwitterGraph.class.getName()).log(Level.SEVERE, null, ex); } catch (InterruptedException ex) { Logger.getLogger(TwitterGraph.class.getName()).log(Level.SEVERE, null, ex); } }