private void startUpdateWeather() { mUpdateWeather.setImageResource(0x7f02014f); isUpdating = true; if (mUpdateCallbackImpl == null) mUpdateCallbackImpl = new UpdateCallbackImpl(); WeatherPublisher.getInstance().unSubscribe(mUpdateCallbackImpl); WeatherPublisher.getInstance().subscribe(mUpdateCallbackImpl); if (mWeatherUpdater == null) mWeatherUpdater = AbstractWeatherUpdater.createInstance(); mWeatherUpdater.update(Gl.getCurrentCityIndex()); WeatherData.getCityInfo(Gl.getCurrentCityIndex()).mShowType = com.moji.mjweather.data.CityWeatherInfo.ShowType.ST_UPDATING; mUpdateLayout.setVisibility(0); if (mPublicTextView != null) mPublicTextView.setVisibility(8); }