title: Cant get latest item from calllog
body: <p>I have registered an contentobserver monitoring the call log.
  But I cant get the latest call, the furthest I came is getting the latest call the first time, after that it just takes the previous and then the previous..
  Also it returns 2 log entries at a time.</p>
  
  <p>The code im using is:</p>
  
  <pre><code>import java.text.SimpleDateFormat;
  import java.util.Date;
  
  import android.content.ContentResolver;
  import android.content.Context;
  import android.database.ContentObserver;
  import android.database.Cursor;
  import android.os.Handler;
  import android.provider.BaseColumns;
  import android.provider.CallLog;
  import android.util.Log;
  
  class CallMonitor extends ContentObserver {
  
     private PositionDbAdapter mDbHelper;
     Cursor cur;
     Context CallMon = Position.MAIN_ACTIVITY;
  
     int idColumn;
     int numberColumn;
      int dateColumn;
      int typeColumn;
      int durColumn;
  
     public CallMonitor(Handler handler, Context context){
          super(handler);
          CallMon = context;
     }
  
     @Override
     public void onChange(boolean selfChange) {
          if(cur==null){
                  cursorInit(CallMon);
          }
  
          if (!cur.moveToNext()) {
             //do we really want to close the cursor?
             //cur.close();
             return;
          }
  
  
          String number = cur.getString(numberColumn);
        String id = cur.getString(idColumn);
        String type = cur.getString(typeColumn);
        String date = cur.getString(dateColumn);
        String dur = cur.getString(durColumn);
        Date dateN = new Date(Long.parseLong(date));
        Date date2 = new Date();
        Log.d("Position", date2+": "+dateN+":"+id+", "+number+", "+type+", "+dur);
        //cur.moveToNext();
     }
     public void Destroy() {
        Log.d("Position", "Destroy Call Monitor");
        cur.close();
     }
  
     public void cursorInit(Context context){
          String[] projection = new String[]{
                BaseColumns._ID,
                CallLog.Calls.DATE,
                CallLog.Calls.NUMBER,
                CallLog.Calls.DURATION,
                CallLog.Calls.TYPE
          };
          ContentResolver resolver = context.getContentResolver();
  
          cur = resolver.query(CallLog.Calls.CONTENT_URI, projection, null,null, "date DESC");
          //cur.moveToFirst();
          numberColumn = cur.getColumnIndex(CallLog.Calls.NUMBER);
          typeColumn = cur.getColumnIndex(CallLog.Calls.TYPE);
          dateColumn = cur.getColumnIndex(CallLog.Calls.DATE);
          durColumn = cur.getColumnIndex(CallLog.Calls.DURATION);
          idColumn = cur.getColumnIndex(CallLog.Calls._ID);
  
     } 
  }
  </code></pre>
  
  <p>I've tried various cur.moveToFirst .moveToNext etc...</p>
  
  <p>The closest I came is when it fires the first time, i get the correct callog item, but then i get another one.
  Then the second time and third etc.. i get older.</p>
  
  <p>I thought that i i close the cursor then it would start over from the beginning, but when I do this, it throws an error, probably because the cursor is closed when it automatically get the second one, the one i dont want.</p>
  
  <p>So can somebody please help me?</p>