Skip to content

Instantly share code, notes, and snippets.

@sebastienrouif
Created January 15, 2015 11:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sebastienrouif/d34f7f094b5d7ca0f6ae to your computer and use it in GitHub Desktop.
Save sebastienrouif/d34f7f094b5d7ca0f6ae to your computer and use it in GitHub Desktop.
SyncAdapter status listener
private SyncStatusObserver mSyncStatusObserver = new SyncStatusObserver() {
@Override
public void onStatusChanged(int which) {
runOnUiThread(new Runnable() {
@Override
public void run() {
String accountName = AccountUtils.getActiveAccountName(BaseActivity.this);
if (TextUtils.isEmpty(accountName)) {
onRefreshingStateChanged(false);
mManualSyncRequest = false;
return;
}
Account account = new Account(accountName, GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);
boolean syncActive = ContentResolver.isSyncActive(
account, ScheduleContract.CONTENT_AUTHORITY);
boolean syncPending = ContentResolver.isSyncPending(
account, ScheduleContract.CONTENT_AUTHORITY);
if (!syncActive && !syncPending) {
mManualSyncRequest = false;
}
onRefreshingStateChanged(syncActive || (mManualSyncRequest && syncPending));
}
});
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment