Android Open Source - AerisAndroidLibrary Aeris Fragment






From Project

Back to project page AerisAndroidLibrary.

License

The source code is released under:

Apache License

If you think the Android project AerisAndroidLibrary listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.example.fragment;
/*from  w  ww  .  j a  v  a 2 s. c om*/
import android.app.Activity;
import android.app.Fragment;
import android.widget.Toast;

import com.example.fragment.HeadlessFragment.HeadlessObserver;
import com.hamweather.aeris.communication.AerisCallback;
import com.hamweather.aeris.communication.AerisProgressListener;
import com.hamweather.aeris.communication.BatchCallback;
import com.hamweather.aeris.communication.EndpointType;
import com.hamweather.aeris.model.AerisBatchResponse;
import com.hamweather.aeris.model.AerisError;
import com.hamweather.aeris.model.AerisResponse;

public abstract class AerisFragment extends Fragment implements
    AerisProgressListener, HeadlessObserver, AerisCallback, BatchCallback,
    RefreshInterface {

  @Override
  public void refreshPressed() {
    performRequest();
  }

  protected HeadlessFragment headlessFragment;

  @Override
  public void onAttach(Activity activity) {
    super.onAttach(activity);
    headlessFragment = HeadlessFragment.getFragment(activity);
    HeadlessFragment.addObserver(this);

  }

  @Override
  public void onDetach() {
    super.onDetach();
    HeadlessFragment.removeObserver(this);

  }

  @Override
  public void notifyDataChanged() {
    loadData(false);
  }

  @Override
  public void showProgress() {
    if (getActivity() != null) {
      this.getActivity().setProgressBarIndeterminateVisibility(true);
      this.getActivity().setProgressBarIndeterminate(true);
    }
  }

  protected void handleError(AerisError error) {
    if (error != null && getActivity() != null) {
      Toast.makeText(getActivity(),
          error.code + ": " + error.description, Toast.LENGTH_LONG)
          .show();
    }
  }

  @Override
  public void onBatchResponse(AerisBatchResponse response) {
  }

  @Override
  public void onResult(EndpointType endpoint, AerisResponse response) {
  }

  public void loadData(boolean withRequest) {
    if (getKey() == null) {
      return;
    }
    if (getEndpointType() != null) {
      if (headlessFragment.getResponse(getKey()) != null) {
        AerisResponse response = (AerisResponse) headlessFragment
            .getResponse(getKey());
        onResult(getEndpointType(), response);
      } else {
        if (withRequest)
          performRequest();

      }
    } else {
      if (headlessFragment.getResponse(getKey()) != null) {
        AerisBatchResponse response = (AerisBatchResponse) headlessFragment
            .getResponse(getKey());
        onBatchResponse(response);
      } else {
        if (withRequest)
          performRequest();
      }
    }
  }

  abstract void performRequest();

  abstract EndpointType getEndpointType();

  abstract String getKey();

  @Override
  public void onResume() {
    super.onResume();
    loadData(true);

  }

  @Override
  public void hideProgress() {
    if (getActivity() != null)
      this.getActivity().setProgressBarIndeterminateVisibility(false);
  }
}




Java Source Code List

aeris.AerisUnusedStub.java
com.example.customendpoint.CustomEndpointAdapter.java
com.example.customendpoint.CustomMoonModel.java
com.example.customendpoint.CustomSunModel.java
com.example.customendpoint.CustomSunmoonFragment.java
com.example.customendpoint.CustomSunmoonHolder.java
com.example.customendpoint.CustomSunmoonModel.java
com.example.customendpoint.CustomSunmoonResponse.java
com.example.db.MyLocLoader.java
com.example.db.MyPlace.java
com.example.db.MyPlacesDb.java
com.example.db.MyPlacesSubject.java
com.example.db.SimpleCursorLoader.java
com.example.demoaerisproject.AerisDialog.java
com.example.demoaerisproject.AerisNotification.java
com.example.demoaerisproject.BaseApplication.java
com.example.demoaerisproject.DrawerActivity.java
com.example.demoaerisproject.LocationSearchActivity.java
com.example.demoaerisproject.MyLocsActivity.java
com.example.demoaerisproject.SettingsActivity.java
com.example.edithelp.EditTextEnterListener.java
com.example.edithelp.EnterPressedDelegate.java
com.example.fragment.AerisFragment.java
com.example.fragment.AerisPrefFragment.java
com.example.fragment.ExtForecastFragment.java
com.example.fragment.HeadlessFragment.java
com.example.fragment.MapFragment.java
com.example.fragment.NearbyObsFragment.java
com.example.fragment.ObservationFragment.java
com.example.fragment.OverviewFragment.java
com.example.fragment.RecentObsFragment.java
com.example.fragment.RefreshInterface.java
com.example.fragment.SplashFragment.java
com.example.fragment.WeekendFragment.java
com.example.listview.AdapterHolder.java
com.example.listview.DayNightPeriod.java
com.example.listview.ForecastAdapter.java
com.example.listview.ForecastItemHolder.java
com.example.listview.IndexMonitorAdapter.java
com.example.listview.ListAdapter.java
com.example.listview.ObservationAdapter.java
com.example.listview.ObservationItemHolder.java
com.example.listview.ObservationPeriodAdapter.java
com.example.listview.PlacesAdapter.java
com.example.listview.PlacesItemHolder.java
com.example.listview.RecentObsHolder.java
com.example.listview.WeekendAdapter.java
com.example.listview.WeekendItemHolder.java
com.example.menudrawer.HomeFragment.java
com.example.menudrawer.NavDrawerItem.java
com.example.menudrawer.NavDrawerListAdapter.java
com.example.preference.PrefManager.java
com.example.service.NotificationService.java
com.example.service.ScreenOnReceiver.java
com.example.service.ScreenOnService.java
com.example.util.FormatUtil.java
com.example.view.DayNightView.java
com.example.view.SmallForecastView.java
com.example.view.TemperatureInfoData.java
com.example.view.TemperatureWindowAdapter.java
com.example.view.TwoPartView.java