public void createWeatherView(JSONObject data, boolean createCache) { try { SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHH", Locale.US); df.setTimeZone(TimeZone.getTimeZone("GMT+0")); Date reportTime = df.parse(data.getString("init")); SimpleDateFormat df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm 'UTC'Z", Locale.US); updatetimeTextView.setText(df2.format(reportTime)); if (createCache) { cacheManager.createWeatherCache(longitude, latitude, reportTime, data.toString()); } WeatherView wv = new WeatherView(longitude, latitude, reportTime, userPrefs.isUseCen()); wv.setData(data); forecastScrollView.removeAllViews(); forecastScrollView.addView(wv.getView(context)); weatherUpdated = true; if (SettingsProvider.getInstance(context).isNewLaunch()) { Toast.makeText(getApplicationContext(), R.string.toast_cloud_info, Toast.LENGTH_LONG) .show(); } } catch (ParseException e) { e.printStackTrace(); } catch (JSONException e) { e.printStackTrace(); } }
private void loadSettings() { this.userPrefs = SettingsProvider.getInstance(context).getPrefs(); this.latitude = userPrefs.getCurrentLocation().getLatitude(); this.longitude = userPrefs.getCurrentLocation().getLongitude(); this.locationName = userPrefs.getCurrentLocation().getName(); this.locator = LocatorFactory.createLocator( this, userPrefs.isUseBaidu() ? LocatorType.BAIDU : LocatorType.GOOGLE); this.locator.setOnLocationUpdateListener(this); if (!locationName.equals(getText(R.string.text_current_location))) { locationTextView.setText( String.format("%s (%.3f, %.3f)", this.locationName, this.longitude, this.latitude)); } this.templabelTextView.setText( String.format( getText(R.string.format_temperature).toString(), this.userPrefs.getTempUnitString())); }
@Override public void onLocationUpdate(LocationInfo location, long costTime, int locator) { if (location == null) { return; } latitude = location.getLatitude(); longitude = location.getLongitude(); locationName = location.toString(); userPrefs.setCurrentLocation(longitude, latitude, locationName); locationTextView.setText(String.format("%s (%.3f, %.3f)", locationName, longitude, latitude)); weatherUpdated = false; satelliteUpdated = false; StatManager.getInstance().sendLocationStat(location, costTime, locator); updateButton.performClick(); }