public void publish() {
    String temperature = getString(R.string.temperature_template, temp);
    temperature += mDashClockExtension.mUseCelsius ? "C " : "F ";

    StringBuilder expandedBody = new StringBuilder();

    if (mDashClockExtension.mUseWeatherHighLow) {
      String tempLow = getString(R.string.temperature_template, low);
      String tempHigh = getString(R.string.temperature_template, high);
      if (expandedBody.length() > 0) {
        expandedBody.append("\n");
      }
      expandedBody.append(getString(R.string.forecast_Low, tempLow));
      expandedBody.append(" - ");
      expandedBody.append(getString(R.string.forecast_High, tempHigh));
    }

    if (mDashClockExtension.mUseFeelsLike) {
      if (expandedBody.length() > 0) {
        expandedBody.append("\n");
      }
      String lFeels = getString(R.string.temperature_template, feelsLike);
      expandedBody.append(getString(R.string.feels_like, lFeels));
    }
    if (mDashClockExtension.mUseWeatherLocation) {
      if (expandedBody.length() > 0) {
        expandedBody.append("\n");
      }
      expandedBody.append(location);
    }

    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setData(Uri.parse("http://www.wunderground.com/?apiref=e0ff1704364d745f"));

    mDashClockExtension.publishStatusUpdate(
        new ExtensionData()
            .visible(true)
            .status(temperature)
            .icon(icon)
            .clickIntent(intent)
            .expandedTitle(
                getString(R.string.weather_expanded_title_template, temperature, condition))
            .expandedBody(expandedBody.toString()));
  }
 public final String getString(int resId, Object... formatArgs) {
   return mDashClockExtension.getString(resId, formatArgs);
 }
 private String getString(int resId) {
   return mDashClockExtension.getString(resId);
 }