Android Open Source - anti-piracy-android-app Offline Banner Fragment






From Project

Back to project page anti-piracy-android-app.

License

The source code is released under:

Apache License

If you think the Android project anti-piracy-android-app 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 mil.nga.giat.asam.connectivity;
// w ww .ja  v a 2s  .  c  o  m
import mil.nga.giat.asam.R;
import android.app.Activity;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;

public class OfflineBannerFragment extends Fragment implements View.OnClickListener, NetworkChangeReceiver.ConnectivityEventListener {

    public interface OnOfflineBannerClick {
        public void onOfflineBannerClick();
    }
    
  private View alertBanner;
  private Button alertBannerButton;
  private OnOfflineBannerClick onOfflineBannerClickListener;
   
  @Override
  public void onResume() {
    super.onResume();
    
    NetworkChangeReceiver.getInstance().addListener(this);
  }
  
  @Override
  public void onPause() {
    super.onPause();
    
        NetworkChangeReceiver.getInstance().removeListener(this);
  }

  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
      boolean isTablet = getResources().getBoolean(R.bool.is_tablet);
      int layout = isTablet ? R.layout.fragment_alert_banner_top : R.layout.fragment_alert_banner_bottom;
    return inflater.inflate(layout, container, false);
  }

   @Override
   public void onAttach(Activity activity) {
       super.onAttach(activity);
       try {
           onOfflineBannerClickListener = (OnOfflineBannerClick) activity;
       }
       catch (ClassCastException caught) {
           throw new ClassCastException(activity.toString() + " must implement OnOfflineBannerClick");
       }
   }
   
  @Override
  public void onActivityCreated(Bundle savedInstanceState) {
    alertBanner = getActivity().findViewById(R.id.alert_banner);
    alertBannerButton = (Button) getActivity().findViewById(R.id.alert_banner_button);
    alertBannerButton.setOnClickListener(this);

    if (isOnline(getActivity().getApplicationContext())) {
            alertBanner.setVisibility(View.GONE);
    } else {
            alertBanner.setVisibility(View.VISIBLE);
    }

    super.onActivityCreated(savedInstanceState);
  }
  
    @Override
    public void onClick(View v) {
        onOfflineBannerClickListener.onOfflineBannerClick();
    }

    @Override
    public void onAllDisconnected() {
        getActivity().runOnUiThread(new Runnable() {
            @Override
            public void run() {
                alertBanner.setVisibility(View.VISIBLE);
            }
        });
    }

    @Override
    public void onAnyConnected() {
        getActivity().runOnUiThread(new Runnable() {
            @Override
            public void run() {
                alertBanner.setVisibility(View.GONE);
            }
        });
    }
    
    private boolean isOnline(Context context) {
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo netInfo = cm.getActiveNetworkInfo();
        if (netInfo != null && netInfo.isConnectedOrConnecting()) {
            return true;
        }
        return false;
    }
}




Java Source Code List

mil.nga.giat.asam.AsamListActivity.java
mil.nga.giat.asam.AsamListFragment.java
mil.nga.giat.asam.AsamListReportTabletActivity.java
mil.nga.giat.asam.AsamReportActivity.java
mil.nga.giat.asam.AsamReportFragment.java
mil.nga.giat.asam.Asam.java
mil.nga.giat.asam.DisclaimerActivity.java
mil.nga.giat.asam.DisclaimerDialogFragment.java
mil.nga.giat.asam.InfoActivity.java
mil.nga.giat.asam.InfoDialogFragment.java
mil.nga.giat.asam.InfoFragment.java
mil.nga.giat.asam.LaunchScreenActivity.java
mil.nga.giat.asam.LegalActivity.java
mil.nga.giat.asam.LegalDetailsActivity.java
mil.nga.giat.asam.LegalDetailsFragment.java
mil.nga.giat.asam.LegalFragment.java
mil.nga.giat.asam.LegalTabletActivity.java
mil.nga.giat.asam.MainActivity.java
mil.nga.giat.asam.PreferencesActivity.java
mil.nga.giat.asam.PreferencesDialogFragment.java
mil.nga.giat.asam.SortAsamListDialogFragment.java
mil.nga.giat.asam.TextQueryActivity.java
mil.nga.giat.asam.TextQueryDialogFragment.java
mil.nga.giat.asam.connectivity.NetworkChangeReceiver.java
mil.nga.giat.asam.connectivity.OfflineBannerFragment.java
mil.nga.giat.asam.db.AsamDbHelper.java
mil.nga.giat.asam.jackson.deserializer.Deserializer.java
mil.nga.giat.asam.jackson.deserializer.FeatureDeserializer.java
mil.nga.giat.asam.jackson.deserializer.GeometryDeserializer.java
mil.nga.giat.asam.map.AllAsamsMapActivity.java
mil.nga.giat.asam.map.AllAsamsMapTabletActivity.java
mil.nga.giat.asam.map.BackgroundTileProvider.java
mil.nga.giat.asam.map.OfflineMap.java
mil.nga.giat.asam.map.SingleAsamMapActivity.java
mil.nga.giat.asam.map.SubregionMapActivity.java
mil.nga.giat.asam.model.AsamBean.java
mil.nga.giat.asam.model.AsamJsonParser.java
mil.nga.giat.asam.model.AsamMapClusterBean.java
mil.nga.giat.asam.model.LegalBean.java
mil.nga.giat.asam.model.SubregionBean.java
mil.nga.giat.asam.model.SubregionTextParser.java
mil.nga.giat.asam.model.TextQueryParametersBean.java
mil.nga.giat.asam.net.AsamWebService.java
mil.nga.giat.asam.util.AsamConstants.java
mil.nga.giat.asam.util.AsamListContainer.java
mil.nga.giat.asam.util.AsamLog.java
mil.nga.giat.asam.util.AsamUtils.java
mil.nga.giat.asam.util.CurrentSubregionHelper.java
mil.nga.giat.asam.util.ManifestMetaData.java
mil.nga.giat.asam.util.SyncTime.java
mil.nga.giat.asam.widget.AsamArrayAdapter.java