@Override public Loader<Cursor> onCreateLoader(int id, Bundle args) { switch(id) { case ID_CHANGE_LOADER: return getChangeLoader(); case ID_DELETE_LOADER: return getDeleteLoader(); } return null; }
private long getLastTimestamp(long time, String key) { SharedPreferences pref = getSharedPreferences(CLASS, Context.MODE_PRIVATE); return pref.getLong(key, time); }
@Override protected void onResume() { super.onResume(); IntentFilter filter = new IntentFilter(); filter.addAction(ContactsContract.Intents.CONTACTS_DATABASE_CREATED); registerReceiver(mReceiver, filter); }
mChangeButton.setText("Changed since " + getLastTimestamp(0, PREF_KEY_CHANGE)); mChangeButton.setOnClickListener(new View.OnClickListener() { @Override mDeleteButton.setText("Deleted since " + getLastTimestamp(0, PREF_KEY_DELETE)); mDeleteButton.setOnClickListener(new View.OnClickListener() { @Override main.addView(mList); setContentView(main);
private CursorLoader getDeleteLoader() { String[] projection = new String[]{ ContactsContract.DeletedContacts.CONTACT_ID, ContactsContract.DeletedContacts.CONTACT_DELETED_TIMESTAMP }; mSearchTime = getLastTimestamp(0, PREF_KEY_DELETE); String selection = ContactsContract.DeletedContacts.CONTACT_DELETED_TIMESTAMP + " > ?"; String[] bindArgs = new String[]{mSearchTime + ""}; return new CursorLoader(this, ContactsContract.DeletedContacts.CONTENT_URI, projection, selection, bindArgs, ContactsContract.DeletedContacts.CONTACT_DELETED_TIMESTAMP + " desc"); }
private void deleteClick() { mChangeAdapter.swapCursor(null); LoaderManager manager = getLoaderManager(); manager.destroyLoader(ID_CHANGE_LOADER); manager.restartLoader(ID_DELETE_LOADER, null, this); }
@Override protected void onPause() { super.onPause(); unregisterReceiver(mReceiver); }
saveLastTimestamp(timestamp, PREF_KEY_CHANGE); mChangeButton.setText("Changed since " + timestamp); saveLastTimestamp(timestamp, PREF_KEY_DELETE); mDeleteButton.setText("Deleted since " + timestamp);
mChangeButton.setText("Changed since " + getLastTimestamp(0, PREF_KEY_CHANGE)); mChangeButton.setOnClickListener(new View.OnClickListener() { @Override mDeleteButton.setText("Deleted since " + getLastTimestamp(0, PREF_KEY_DELETE)); mDeleteButton.setOnClickListener(new View.OnClickListener() { @Override main.addView(mList); setContentView(main);
private CursorLoader getDeleteLoader() { String[] projection = new String[]{ ContactsContract.DeletedContacts.CONTACT_ID, ContactsContract.DeletedContacts.CONTACT_DELETED_TIMESTAMP }; mSearchTime = getLastTimestamp(0, PREF_KEY_DELETE); String selection = ContactsContract.DeletedContacts.CONTACT_DELETED_TIMESTAMP + " > ?"; String[] bindArgs = new String[]{mSearchTime + ""}; return new CursorLoader(this, ContactsContract.DeletedContacts.CONTENT_URI, projection, selection, bindArgs, ContactsContract.DeletedContacts.CONTACT_DELETED_TIMESTAMP + " desc"); }
private void changeClick() { mChangeAdapter.swapCursor(null); LoaderManager manager = getLoaderManager(); manager.destroyLoader(ID_DELETE_LOADER); manager.restartLoader(ID_CHANGE_LOADER, null, this); }
@Override protected void onPause() { super.onPause(); unregisterReceiver(mReceiver); }
saveLastTimestamp(timestamp, PREF_KEY_CHANGE); mChangeButton.setText("Changed since " + timestamp); saveLastTimestamp(timestamp, PREF_KEY_DELETE); mDeleteButton.setText("Deleted since " + timestamp);
@Override public Loader<Cursor> onCreateLoader(int id, Bundle args) { switch(id) { case ID_CHANGE_LOADER: return getChangeLoader(); case ID_DELETE_LOADER: return getDeleteLoader(); } return null; }
private CursorLoader getChangeLoader() { String[] projection = new String[]{ ContactsContract.Data._ID, ContactsContract.Data.CONTACT_ID, ContactsContract.Data.DISPLAY_NAME, ContactsContract.Data.CONTACT_LAST_UPDATED_TIMESTAMP }; mSearchTime = getLastTimestamp(0, PREF_KEY_CHANGE); String selection = ContactsContract.Data.CONTACT_LAST_UPDATED_TIMESTAMP + " > ?"; String[] bindArgs = new String[]{mSearchTime + ""}; return new CursorLoader(this, ContactsContract.Data.CONTENT_URI, projection, selection, bindArgs, ContactsContract.Data.CONTACT_LAST_UPDATED_TIMESTAMP + " desc, " + ContactsContract.Data.CONTACT_ID + " desc"); }
private long getLastTimestamp(long time, String key) { SharedPreferences pref = getSharedPreferences(CLASS, Context.MODE_PRIVATE); return pref.getLong(key, time); }
private void deleteClick() { mChangeAdapter.swapCursor(null); LoaderManager manager = getLoaderManager(); manager.destroyLoader(ID_CHANGE_LOADER); manager.restartLoader(ID_DELETE_LOADER, null, this); }
@Override protected void onResume() { super.onResume(); IntentFilter filter = new IntentFilter(); filter.addAction(ContactsContract.Intents.CONTACTS_DATABASE_CREATED); registerReceiver(mReceiver, filter); }
private CursorLoader getChangeLoader() { String[] projection = new String[]{ ContactsContract.Data._ID, ContactsContract.Data.CONTACT_ID, ContactsContract.Data.DISPLAY_NAME, ContactsContract.Data.CONTACT_LAST_UPDATED_TIMESTAMP }; mSearchTime = getLastTimestamp(0, PREF_KEY_CHANGE); String selection = ContactsContract.Data.CONTACT_LAST_UPDATED_TIMESTAMP + " > ?"; String[] bindArgs = new String[]{mSearchTime + ""}; return new CursorLoader(this, ContactsContract.Data.CONTENT_URI, projection, selection, bindArgs, ContactsContract.Data.CONTACT_LAST_UPDATED_TIMESTAMP + " desc, " + ContactsContract.Data.CONTACT_ID + " desc"); }
private void saveLastTimestamp(long time, String key) { SharedPreferences pref = getSharedPreferences(CLASS, Context.MODE_PRIVATE); SharedPreferences.Editor editor = pref.edit(); editor.putLong(key, time); editor.commit(); }