Ejemplo n.º 1
0
  protected void advanceToNextScreen(final GeocodedAddress g) {
    Assert.assertNotNull(g);

    try {
      final Country nat = this.bundleCreatedWith.getParcelable(EXTRAS_COUNTRY_ID);
      DBManager.addZipCode(SDPostcodeUK_BS7666.this, g.getPostalCode(), nat.COUNTRYCODE);
    } catch (final DataBaseException e) {
      // Log.e(DEBUGTAG, "Error on inserting Postcode", e);
    }

    final int mode = SDPostcodeUK_BS7666.this.bundleCreatedWith.getInt(MODE_SD);
    switch (mode) {
      case MODE_SD_DESTINATION:
        /* Add the StreetNumber to the Bundle to be passed further. */
        SDPostcodeUK_BS7666.this.bundleCreatedWith.putInt(EXTRAS_MODE, EXTRAS_MODE_DIRECT_LATLNG);

        SDPostcodeUK_BS7666.this.bundleCreatedWith.putInt(
            EXTRAS_DESTINATION_LATITUDE_ID, g.getLatitudeE6());
        SDPostcodeUK_BS7666.this.bundleCreatedWith.putInt(
            EXTRAS_DESTINATION_LONGITUDE_ID, g.getLongitudeE6());

        /* Create an Intent to open the Map as a SubActivity. */
        final Intent fetchRouteIntent = new Intent(SDPostcodeUK_BS7666.this, OpenStreetDDMap.class);

        /* Pass the Bundle this Activity was created with further. */
        fetchRouteIntent.putExtras(SDPostcodeUK_BS7666.this.bundleCreatedWith);

        startActivityForResult(fetchRouteIntent, REQUESTCODE_FETCHROUTE);
        break;
      case MODE_SD_WAYPOINT:
      case MODE_SD_SETHOME:
      case MODE_SD_RESOLVE:
        final Intent resultData = new Intent();
        /* Add the StreetNumber to the Bundle to be passed further. */
        SDPostcodeUK_BS7666.this.bundleCreatedWith.putInt(EXTRAS_MODE, EXTRAS_MODE_DIRECT_LATLNG);

        SDPostcodeUK_BS7666.this.bundleCreatedWith.putInt(
            EXTRAS_DESTINATION_LATITUDE_ID, g.getLatitudeE6());
        SDPostcodeUK_BS7666.this.bundleCreatedWith.putInt(
            EXTRAS_DESTINATION_LONGITUDE_ID, g.getLongitudeE6());

        resultData.putExtras(SDPostcodeUK_BS7666.this.bundleCreatedWith);

        SDPostcodeUK_BS7666.this.setResult(SUBACTIVITY_RESULTCODE_CHAINCLOSE_SUCCESS, resultData);
        SDPostcodeUK_BS7666.this.finish();
        break;
    }
  }