@Override
  public void onBackPressed() {
    ContactsSync app = ContactsSync.getInstance();

    if (!app.getDisableAds()) {
      AppBrain.getAds().maybeShowInterstitial(this);
      finish();
    } else {
      super.onBackPressed();
    }
  }
  @Override
  public void onCreate(Bundle icicle) {
    super.onCreate(icicle);

    setContentView(R.layout.preferences);

    ContactsSync app = ContactsSync.getInstance();

    if (!app.getDisableAds()) {
      LinearLayout adContainer = (LinearLayout) findViewById(R.id.ad_container);
      View ad = getLayoutInflater().inflate(R.layout.applovin, null);
      adContainer.addView(ad);
    } else {
      ((LinearLayout) findViewById(R.id.ad_container)).setVisibility(View.GONE);
    }

    FragmentTransaction ft = getFragmentManager().beginTransaction();
    mFragment = new GlobalFragment();
    ft.replace(R.id.settings, mFragment);
    ft.commit();
  }
  @Override
  public void onResume() {
    super.onResume();

    ContactsSync app = ContactsSync.getInstance();

    NotificationManager mNotificationManager =
        (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    mNotificationManager.cancelAll();

    // TODO: use current/selected account (not the first one)
    Account account = ContactsSync.getInstance().getAccount();

    if (account != null) {
      if (mAuthDialog != null) {
        mAuthDialog.dismiss();
      }

      // Log.d("pref-bundle", icicle != null ? icicle.toString() : "null");
      mFragment.setAccount(account);
      if (ContentResolver.getSyncAutomatically(account, ContactsContract.AUTHORITY)) {
        if (app.getSyncFrequency() == 0) {
          app.setSyncFrequency(Preferences.DEFAULT_SYNC_FREQUENCY);
          app.savePreferences();
          ContentResolver.addPeriodicSync(
              account,
              ContactsContract.AUTHORITY,
              new Bundle(),
              Preferences.DEFAULT_SYNC_FREQUENCY * 3600);
        }
      } else {
        if (app.getSyncFrequency() > 0) {
          app.setSyncFrequency(0);
          app.savePreferences();
        }
      }
      updateStatusMessage(account, 0);
      final int mask =
          ContentResolver.SYNC_OBSERVER_TYPE_ACTIVE | ContentResolver.SYNC_OBSERVER_TYPE_PENDING;
      mSyncObserverHandler = ContentResolver.addStatusChangeListener(mask, mSyncObserver);
    } else {
      if (mAuthDialog != null) {
        mAuthDialog.dismiss();
      }

      mAuthDialog = new Dialog(this);
      mAuthDialog.setContentView(R.layout.not_account_actions);
      mAuthDialog.setTitle("Select option");
      ((Button) mAuthDialog.findViewById(R.id.add_account_button))
          .setOnClickListener(
              new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                  mAuthDialog.dismiss();
                  Intent intent = new Intent(Preferences.this, AuthenticatorActivity.class);
                  startActivity(intent);
                }
              });
      ((Button) mAuthDialog.findViewById(R.id.exit_button))
          .setOnClickListener(
              new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                  mAuthDialog.dismiss();
                  Preferences.this.finish();
                }
              });
      mAuthDialog.setOnCancelListener(
          new DialogInterface.OnCancelListener() {
            @Override
            public void onCancel(DialogInterface dialog) {
              mAuthDialog.dismiss();
              Preferences.this.finish();
            }
          });
      mAuthDialog.show();
    }
  }