import
com.google.android.gms.common.ConnectionResult;
import
com.google.android.gms.common.GooglePlayServicesClient;
import
com.google.android.gms.common.GooglePlayServicesUtil;
import
com.google.android.gms.location.LocationClient;
import
com.google.android.gms.location.LocationListener;
import
com.google.android.gms.location.LocationRequest;
import
android.content.IntentSender;
import
android.location.Address;
import
android.location.Geocoder;
import
android.location.Location;
import
android.os.AsyncTask;
import
android.os.Build;
import
android.os.Bundle;
import
android.annotation.SuppressLint;
import
android.app.Activity;
import
android.app.Dialog;
import
android.content.Context;
import
android.content.Intent;
import
android.content.SharedPreferences;
import
android.support.v4.app.DialogFragment;
import
android.support.v4.app.FragmentActivity;
import
android.util.Log;
import
android.view.View;
import
android.widget.ProgressBar;
import
android.widget.TextView;
import
android.widget.Toast;
import
java.io.IOException;
import
java.util.List;
import
java.util.Locale;
public
class
MainActivity<LocationClient>
extends
FragmentActivity
implements
LocationListener,
GooglePlayServicesClient.ConnectionCallbacks,
GooglePlayServicesClient.OnConnectionFailedListener {
private
LocationRequest mLocationRequest;
private
LocationClient mLocationClient;
private
TextView mLatLng;
private
TextView mAddress;
private
ProgressBar mActivityIndicator;
private
TextView mConnectionState;
private
TextView mConnectionStatus;
SharedPreferences mPrefs;
SharedPreferences.Editor mEditor;
boolean
mUpdatesRequested =
false
;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mLatLng = (TextView) findViewById(R.id.lat_lng);
mAddress = (TextView) findViewById(R.id.address);
mActivityIndicator = (ProgressBar) findViewById(R.id.address_progress);
mConnectionState = (TextView) findViewById(R.id.text_connection_state);
mConnectionStatus = (TextView) findViewById(R.id.text_connection_status);
mLocationRequest = LocationRequest.create();
mLocationRequest.setInterval(LocationUtils.UPDATE_INTERVAL_IN_MILLISECONDS);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
mLocationRequest.setFastestInterval(LocationUtils.FAST_INTERVAL_CEILING_IN_MILLISECONDS);
mUpdatesRequested =
false
;
mPrefs = getSharedPreferences(LocationUtils.SHARED_PREFERENCES, Context.MODE_PRIVATE);
mEditor = mPrefs.edit();
mLocationClient =
new
LocationClient(
this
,
this
,
this
);
}
}