private void getTasksFromServer() throws IOException {
    Logger.i("Downloading tasks from the server");
    checkin.getCookie();
    List<MeasurementTask> tasksFromServer = checkin.checkin();
    // The new task schedule overrides the old one
    removeAllUnscheduledTasks();

    for (MeasurementTask task : tasksFromServer) {
      Logger.i("added task: " + task.toString());
      this.submitTask(task);
    }
  }
 private void assertSingleCheckin(Checkin checkin) {
   assertEquals("10150431253050580", checkin.getId());
   assertEquals("738140579", checkin.getFrom().getId());
   assertEquals("Craig Walls", checkin.getFrom().getName());
   Page place1 = checkin.getPlace();
   assertEquals("117372064948189", place1.getId());
   assertEquals("Freebirds World Burrito", place1.getName());
   assertEquals("238 W Campbell Rd", place1.getLocation().getStreet());
   assertEquals("Richardson", place1.getLocation().getCity());
   assertEquals("TX", place1.getLocation().getState());
   assertEquals("United States", place1.getLocation().getCountry());
   assertEquals("75080-3512", place1.getLocation().getZip());
   assertEquals(32.975537, place1.getLocation().getLatitude(), 0.0001);
   assertEquals(-96.722944, place1.getLocation().getLongitude(), 0.0001);
   assertEquals("6628568379", checkin.getApplication().getId());
   assertEquals("Facebook for iPhone", checkin.getApplication().getName());
   assertEquals(toDate("2011-03-13T01:00:49+0000"), checkin.getCreatedTime());
 }
 private void resetCheckin() {
   // reset counters for checkin
   checkinRetryCnt = 0;
   checkinRetryIntervalSec = Config.MIN_CHECKIN_RETRY_INTERVAL_SEC;
   checkin.initializeAccountSelector();
 }
  public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
    if (!Thread.currentThread().getName().equals("main")) return;
    if (key.startsWith(PREF_PORT) && sharedPreferences.getString(key, DEFAULT_PORT).equals("0")) {
      Editor edit = sharedPreferences.edit();
      for (int i = 0; i < SipdroidEngine.LINES; i++) edit.putString(key, DEFAULT_PORT);
      edit.commit();

      transferText = new InstantAutoCompleteTextView(this, null);
      transferText.setInputType(InputType.TYPE_CLASS_NUMBER);
      mKey = key;

      new AlertDialog.Builder(this)
          .setTitle(Receiver.mContext.getString(R.string.settings_port))
          .setView(transferText)
          .setPositiveButton(android.R.string.ok, this)
          .show();
      return;
    } else if (key.startsWith(PREF_SERVER)) {
      Editor edit = sharedPreferences.edit();
      for (int i = 0; i < SipdroidEngine.LINES; i++) edit.putString(PREF_DNS + i, DEFAULT_DNS);
      edit.commit();
      Receiver.engine(this).updateDNS();
      Checkin.checkin(false);
      ListPreference lp = (ListPreference) getPreferenceScreen().findPreference(PREF_PROTOCOL);
      lp.setValue(
          sharedPreferences.getString(PREF_SERVER, DEFAULT_SERVER).equals(DEFAULT_SERVER)
              ? "tcp"
              : "udp");
    } else if (sharedPreferences.getBoolean(PREF_CALLBACK, DEFAULT_CALLBACK)
        && sharedPreferences.getBoolean(PREF_CALLTHRU, DEFAULT_CALLTHRU)) {
      CheckBoxPreference cb =
          (CheckBoxPreference)
              getPreferenceScreen()
                  .findPreference(key.equals(PREF_CALLBACK) ? PREF_CALLTHRU : PREF_CALLBACK);
      cb.setChecked(false);
    } else if (key.startsWith(PREF_WLAN)
        || key.startsWith(PREF_3G)
        || key.startsWith(PREF_EDGE)
        || key.startsWith(PREF_USERNAME)
        || key.startsWith(PREF_PASSWORD)
        || key.startsWith(PREF_DOMAIN)
        || key.startsWith(PREF_SERVER)
        || key.startsWith(PREF_PORT)
        || key.equals(PREF_STUN)
        || key.equals(PREF_STUN_SERVER)
        || key.equals(PREF_STUN_SERVER_PORT)
        || key.equals(PREF_MMTEL)
        || // (added by mandrajg)
        key.equals(PREF_MMTEL_QVALUE)
        || // (added by mandrajg)
        key.startsWith(PREF_PROTOCOL)
        || key.startsWith(PREF_VPN)
        || key.equals(PREF_POS)
        || key.equals(PREF_POSURL)
        || key.startsWith(PREF_FROMUSER)
        || key.equals(PREF_AUTO_ONDEMAND)
        || key.equals(PREF_MWI_ENABLED)
        || key.equals(PREF_REGISTRATION)
        || key.equals(PREF_KEEPON)) {
      Receiver.engine(this).halt();
      Receiver.engine(this).StartEngine();
    }
    if (key.startsWith(PREF_WLAN)
        || key.startsWith(PREF_3G)
        || key.startsWith(PREF_EDGE)
        || key.startsWith(PREF_OWNWIFI)) {
      updateSleep();
    }

    updateSummaries();
  }
 private void assertCheckins(List<Checkin> checkins) {
   assertEquals(2, checkins.size());
   assertSingleCheckin(checkins.get(0));
   Checkin checkin2 = checkins.get(1);
   assertEquals("10150140239512040", checkin2.getId());
   assertEquals("533477039", checkin2.getFrom().getId());
   assertEquals("Raymie Walls", checkin2.getFrom().getName());
   assertEquals(1, checkin2.getTags().size());
   assertEquals("738140579", checkin2.getTags().get(0).getId());
   assertEquals("Craig Walls", checkin2.getTags().get(0).getName());
   assertEquals("With my favorite people! ;-)", checkin2.getMessage());
   Page place2 = checkin2.getPlace();
   assertEquals("150366431753543", place2.getId());
   assertEquals("Somewhere", place2.getName());
   assertEquals(35.0231428, place2.getLocation().getLatitude(), 0.0001);
   assertEquals(-98.740305416667, place2.getLocation().getLongitude(), 0.0001);
   assertEquals("6628568379", checkin2.getApplication().getId());
   assertEquals("Facebook for iPhone", checkin2.getApplication().getName());
   assertEquals(toDate("2011-02-11T20:59:41+0000"), checkin2.getCreatedTime());
   assertEquals(2, checkin2.getLikes().size());
   assertEquals("1524405653", checkin2.getLikes().get(0).getId());
   assertEquals("Samuel Hugh Parsons", checkin2.getLikes().get(0).getName());
   assertEquals("1580082219", checkin2.getLikes().get(1).getId());
   assertEquals("Kris Len Nicholson", checkin2.getLikes().get(1).getName());
   assertEquals(1, checkin2.getComments().size());
   assertEquals("10150140239512040_15204657", checkin2.getComments().get(0).getId());
   assertEquals("100000094813002", checkin2.getComments().get(0).getFrom().getId());
   assertEquals("Otis Nelson", checkin2.getComments().get(0).getFrom().getName());
   assertEquals("You are not with me!!!!", checkin2.getComments().get(0).getMessage());
   assertEquals(
       toDate("2011-02-11T21:31:31+0000"), checkin2.getComments().get(0).getCreatedTime());
 }
  public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
    if (sharedPreferences.getString(PREF_PORT, DEFAULT_PORT).equals("0")) {
      transferText = new InstantAutoCompleteTextView(this, null);
      transferText.setInputType(InputType.TYPE_CLASS_NUMBER);

      new AlertDialog.Builder(this)
          .setTitle(Receiver.mContext.getString(R.string.settings_port))
          .setView(transferText)
          .setPositiveButton(android.R.string.ok, this)
          .show();
      return;
    } else if (key.equals(PREF_SERVER)) {
      Editor edit = sharedPreferences.edit();
      edit.putString(PREF_DNS, DEFAULT_DNS);
      edit.commit();
      Receiver.engine(this).updateDNS();
      Checkin.checkin(false);
      ListPreference lp = (ListPreference) getPreferenceScreen().findPreference(PREF_PROTOCOL);
      lp.setValue(
          sharedPreferences.getString(PREF_SERVER, DEFAULT_SERVER).equals(DEFAULT_SERVER)
              ? "tcp"
              : "udp");
    } else if (sharedPreferences.getBoolean(PREF_CALLBACK, DEFAULT_CALLBACK)
        && sharedPreferences.getBoolean(PREF_CALLTHRU, DEFAULT_CALLTHRU)) {
      CheckBoxPreference cb =
          (CheckBoxPreference)
              getPreferenceScreen()
                  .findPreference(key.equals(PREF_CALLBACK) ? PREF_CALLTHRU : PREF_CALLBACK);
      cb.setChecked(false);
    } else if (key.equals(PREF_WLAN)
        || key.equals(PREF_3G)
        || key.equals(PREF_EDGE)
        || key.equals(PREF_USERNAME)
        || key.equals(PREF_PASSWORD)
        || key.equals(PREF_DOMAIN)
        || key.equals(PREF_SERVER)
        || key.equals(PREF_PORT)
        || key.equals(PREF_STUN)
        || key.equals(PREF_STUN_SERVER)
        || key.equals(PREF_STUN_SERVER_PORT)
        || key.equals(PREF_PROTOCOL)
        || key.equals(PREF_VPN)
        || key.equals(PREF_POS)
        || key.equals(PREF_POSURL)
        || key.equals(PREF_FROMUSER)
        || key.equals(PREF_AUTO_ONDEMAND)
        || key.equals(PREF_MWI_ENABLED)) {
      Receiver.engine(this).halt();
      Receiver.engine(this).StartEngine();
      setSettingsTitle();
    }
    if (key.equals(PREF_WLAN)
        || key.equals(PREF_3G)
        || key.equals(PREF_EDGE)
        || key.equals(PREF_OWNWIFI)) {
      updateSleep();
    }

    updateSummaries();

    // Export settings only if there is some username and server
    if (!settings.getString(PREF_USERNAME, "").equals("")
        && !settings.getString(PREF_SERVER, "").equals("")) {
      exportSettings();
    }
  }