private void startSatelliteTask() {
   JSONObject data = cacheManager.getSatelliteCache(longitude, latitude, 0.5);
   if (data != null && !satelliteCacheExpired(data)) {
     SatelliteView sv = new SatelliteView(context, satelliteView);
     sv.setData(data);
     satelliteUpdated = true;
   } else {
     if (!NetworkManager.isNetworkAvailable()) {
       Toast.makeText(this.context, R.string.toast_without_network, Toast.LENGTH_SHORT).show();
       return;
     }
     refreshDialog.show();
     TaskContext taskContext = new TaskContext();
     SatelliteTask issTask = new SatelliteTask();
     issTask.addTaskListener(new WeakReference<Task.OnTaskListener>(satTaskListener));
     taskContext.set(SatelliteTask.KEY_LAT, latitude);
     taskContext.set(SatelliteTask.KEY_LON, longitude);
     taskContext.set(SatelliteTask.KEY_START_TIME, System.currentTimeMillis());
     issTask.execute(taskContext);
   }
 }