Ejemplo n.º 1
0
 /** 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);
   }
 }
Ejemplo n.º 2
0
 /** 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;
 }