package com.truckmuncher.app; import android.support.v4.app.Fragment; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.location.LocationListener; import com.google.android.gms.location.LocationServices; public abstract class ApiClientFragment extends Fragment implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, LocationListener { protected GoogleApiClient apiClient; @Override public void onStart() { super.onStart(); apiClient.connect(); } @Override public void onStop() { super.onStop(); if (apiClient.isConnected()) { LocationServices.FusedLocationApi.removeLocationUpdates(apiClient, this); } apiClient.disconnect(); } @Override public void onConnectionSuspended(int i) { LocationServices.FusedLocationApi.removeLocationUpdates(apiClient, this); } @Override public void onConnectionFailed(ConnectionResult connectionResult) { // TODO Consider handling } }