Returned to development settings

master
Keith Irwin 2017-03-15 07:11:19 -04:00
parent 74352c9ff2
commit d93ca60284
No known key found for this signature in database
GPG Key ID: 378933C743E2BBC0
3 changed files with 59 additions and 81 deletions

View File

@ -41,8 +41,8 @@ import java.net.URISyntaxException;
public class LocationService extends Service implements GoogleApiClient.ConnectionCallbacks, public class LocationService extends Service implements GoogleApiClient.ConnectionCallbacks,
GoogleApiClient.OnConnectionFailedListener, LocationListener { GoogleApiClient.OnConnectionFailedListener, LocationListener {
public LocationService() {} public LocationService() {}
//private String TAG = "LocationService"; private String TAG = "LocationService";
final String SERVER_ADDRESS = "https://tracman.org"; final String SERVER_ADDRESS = "https://dev.tracman.org";
private Socket socket; private Socket socket;
private String mUserID; private String mUserID;
@ -74,11 +74,9 @@ public class LocationService extends Service implements GoogleApiClient.Connecti
mNotificationBuilder mNotificationBuilder
.setPriority(-1) .setPriority(-1)
.setSmallIcon(R.drawable.logo_white) .setSmallIcon(R.drawable.logo_white)
// .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.logo_by))
.setCategory(NotificationCompat.CATEGORY_SERVICE) .setCategory(NotificationCompat.CATEGORY_SERVICE)
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC) .setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
.setContentTitle(getText(R.string.app_name)) .setContentTitle(getText(R.string.app_name))
// .setWhen(System.currentTimeMillis())
.setContentIntent(notificationIntent) .setContentIntent(notificationIntent)
.setOngoing(persist); .setOngoing(persist);
} }
@ -100,45 +98,31 @@ public class LocationService extends Service implements GoogleApiClient.Connecti
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
connectLocationUpdates(300, LocationRequest.PRIORITY_NO_POWER); connectLocationUpdates(300, LocationRequest.PRIORITY_NO_POWER);
//Log.d(TAG, "Priority and interval lowered due to low power"); Log.d(TAG, "Priority and interval lowered due to low power");
} }
}; };
// private TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
// public java.security.cert.X509Certificate[] getAcceptedIssuers() {
// return new java.security.cert.X509Certificate[] {};
// }
//
// public void checkClientTrusted(X509Certificate[] chain,
// String authType) throws CertificateException {
// }
//
// public void checkServerTrusted(X509Certificate[] chain,
// String authType) throws CertificateException {
// }
// } };
@Override @Override
public void onCreate() { public void onCreate() {
super.onCreate(); super.onCreate();
//Log.d(TAG, "onCreate called"); Log.d(TAG, "onCreate called");
// Get preferences // Get preferences
sharedPref = PreferenceManager.getDefaultSharedPreferences(this); sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
setupNotifications(true); setupNotifications(true);
showNotification(getText(R.string.connecting), false); showNotification(getText(R.string.connecting), false);
//Log.d(TAG, "Notification set up"); Log.d(TAG, "Notification set up");
buildGoogleApiClient(); buildGoogleApiClient();
//Log.d(TAG, "Google API Client built"); Log.d(TAG, "Google API Client built");
mGoogleApiClient.connect(); mGoogleApiClient.connect();
//Log.d(TAG, "Connected to Google API Client"); Log.d(TAG, "Connected to Google API Client");
IntentFilter lowPowerFilter = new IntentFilter(); IntentFilter lowPowerFilter = new IntentFilter();
lowPowerFilter.addAction("android.intent.action.BATTERY_LOW"); lowPowerFilter.addAction("android.intent.action.BATTERY_LOW");
registerReceiver(LowPowerReceiver, lowPowerFilter); registerReceiver(LowPowerReceiver, lowPowerFilter);
//Log.d(TAG, "LowPowerReceiver activated"); Log.d(TAG, "LowPowerReceiver activated");
mUserID = sharedPref.getString("loggedInUserId", null); mUserID = sharedPref.getString("loggedInUserId", null);
mUserSK = sharedPref.getString("loggedInUserSk", null); mUserSK = sharedPref.getString("loggedInUserSk", null);
@ -153,21 +137,21 @@ public class LocationService extends Service implements GoogleApiClient.Connecti
showNotification(getText(R.string.connected), false); showNotification(getText(R.string.connected), false);
// Log errors // Log errors
// socket.io().on(Manager.EVENT_TRANSPORT, new Emitter.Listener() { socket.io().on(Manager.EVENT_TRANSPORT, new Emitter.Listener() {
// @Override @Override
// public void call(Object... args) { public void call(Object... args) {
// Transport transport = (Transport) args[0]; Transport transport = (Transport) args[0];
// transport.on(Transport.EVENT_ERROR, new Emitter.Listener() { transport.on(Transport.EVENT_ERROR, new Emitter.Listener() {
// @Override @Override
// public void call(Object... args) { public void call(Object... args) {
// Exception e = (Exception) args[0]; Exception e = (Exception) args[0];
// Log.e(TAG, "Transport error " + e); Log.e(TAG, "Transport error " + e);
// e.printStackTrace(); e.printStackTrace();
// e.getCause().printStackTrace(); e.getCause().printStackTrace();
// } }
// }); });
// } }
// }); });
socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() { socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
@Override @Override
@ -183,7 +167,7 @@ public class LocationService extends Service implements GoogleApiClient.Connecti
} catch (URISyntaxException e) { } catch (URISyntaxException e) {
showNotification(getText(R.string.server_connection_error), false); showNotification(getText(R.string.server_connection_error), false);
//Log.e(TAG, "Failed to connect to sockets server " + SERVER_ADDRESS, e); Log.e(TAG, "Failed to connect to sockets server " + SERVER_ADDRESS, e);
} }
} }
@ -214,11 +198,11 @@ public class LocationService extends Service implements GoogleApiClient.Connecti
// Get permission // Get permission
if (!checkLocationPermission(this)) { if (!checkLocationPermission(this)) {
//Log.d(TAG, "Location permission denied"); Log.d(TAG, "Location permission denied");
//TODO: Turn off location updates //TODO: Turn off location updates
} else { } else {
//Log.d(TAG, "Location permission granted"); Log.d(TAG, "Location permission granted");
// Request location updates // Request location updates
if (mGoogleApiClient.isConnected()) { if (mGoogleApiClient.isConnected()) {
@ -244,7 +228,7 @@ public class LocationService extends Service implements GoogleApiClient.Connecti
@Override @Override
public void onConnected(Bundle bundle) { public void onConnected(Bundle bundle) {
//Log.d(TAG, "onConnected called"); Log.d(TAG, "onConnected called");
mLocationRequest = LocationRequest.create(); mLocationRequest = LocationRequest.create();
connectLocationUpdates(getIntervalSetting(), getPrioritySetting()); connectLocationUpdates(getIntervalSetting(), getPrioritySetting());
@ -258,7 +242,7 @@ public class LocationService extends Service implements GoogleApiClient.Connecti
@Override @Override
public void onConnectionFailed(ConnectionResult connectionResult) { public void onConnectionFailed(ConnectionResult connectionResult) {
//Log.e(TAG, "onConnectionFailed: " + connectionResult); Log.e(TAG, "onConnectionFailed: " + connectionResult);
showNotification(getText(R.string.google_connection_error), false); showNotification(getText(R.string.google_connection_error), false);
buildGoogleApiClient(); buildGoogleApiClient();
} }
@ -267,11 +251,11 @@ public class LocationService extends Service implements GoogleApiClient.Connecti
@Override @Override
public void call(final Object... args) { public void call(final Object... args) {
if (args[0].toString().equals("true")) { if (args[0].toString().equals("true")) {
//Log.d(TAG, "Activating realtime updates"); Log.d(TAG, "Activating realtime updates");
connectLocationUpdates(getIntervalSetting(), getPrioritySetting()); connectLocationUpdates(getIntervalSetting(), getPrioritySetting());
showNotification(getString(R.string.realtime_updates), true); showNotification(getString(R.string.realtime_updates), true);
} else { } else {
//Log.d(TAG, "Deactivating realtime updates"); Log.d(TAG, "Deactivating realtime updates");
connectLocationUpdates(300, LocationRequest.PRIORITY_NO_POWER); connectLocationUpdates(300, LocationRequest.PRIORITY_NO_POWER);
showNotification(getString(R.string.occasional_updates), false); showNotification(getString(R.string.occasional_updates), false);
} }
@ -290,36 +274,36 @@ public class LocationService extends Service implements GoogleApiClient.Connecti
mLocationView.put("dir", String.valueOf(location.getBearing())); mLocationView.put("dir", String.valueOf(location.getBearing()));
mLocationView.put("spd", String.valueOf(location.getSpeed())); mLocationView.put("spd", String.valueOf(location.getSpeed()));
} catch (JSONException e) { } catch (JSONException e) {
//Log.e(TAG, "Failed to put JSON data"); Log.e(TAG, "Failed to put JSON data");
} }
socket.emit("set", mLocationView); socket.emit("set", mLocationView);
//Log.v(TAG, "Location updated: " + mLocationView.toString()); Log.v(TAG, "Location updated: " + mLocationView.toString());
} }
@Override @Override
public void onConnectionSuspended(int i) { public void onConnectionSuspended(int i) {
//Log.d(TAG, "onConnectionSuspended called"); Log.d(TAG, "onConnectionSuspended called");
showNotification(getText(R.string.google_connection_error), false); showNotification(getText(R.string.google_connection_error), false);
} }
@Override @Override
public void onDestroy() { public void onDestroy() {
super.onDestroy(); super.onDestroy();
//Log.d(TAG, "onDestroy executed"); Log.d(TAG, "onDestroy executed");
socket.disconnect(); socket.disconnect();
socket.off("activate", onActivate); socket.off("activate", onActivate);
//Log.d(TAG, "Disconnected from sockets"); Log.d(TAG, "Disconnected from sockets");
mGoogleApiClient.disconnect(); mGoogleApiClient.disconnect();
//Log.d(TAG, "Google API disconnected"); Log.d(TAG, "Google API disconnected");
unregisterReceiver(LowPowerReceiver); unregisterReceiver(LowPowerReceiver);
//Log.d(TAG, "LowPowerReceiver deactivated"); Log.d(TAG, "LowPowerReceiver deactivated");
setupNotifications(false); setupNotifications(false);
showNotification(getText(R.string.disconnected), false); showNotification(getText(R.string.disconnected), false);
//Log.d(TAG, "Notification changed"); Log.d(TAG, "Notification changed");
} }
} }

View File

@ -27,35 +27,29 @@ import org.json.JSONObject;
import java.io.IOException; import java.io.IOException;
import java.security.KeyStore; import java.security.KeyStore;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager; import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory; import javax.net.ssl.TrustManagerFactory;
import javax.net.ssl.X509TrustManager; import javax.net.ssl.X509TrustManager;
import okhttp3.Call; import okhttp3.Call;
import okhttp3.CipherSuite;
import okhttp3.ConnectionSpec;
import okhttp3.OkHttpClient; import okhttp3.OkHttpClient;
import okhttp3.Request; import okhttp3.Request;
import okhttp3.Callback; import okhttp3.Callback;
import okhttp3.Response; import okhttp3.Response;
import okhttp3.TlsVersion;
public class LoginActivity extends AppCompatActivity implements public class LoginActivity extends AppCompatActivity implements
GoogleApiClient.OnConnectionFailedListener, GoogleApiClient.OnConnectionFailedListener,
View.OnClickListener { View.OnClickListener {
// private static final String TAG = "LoginActivity"; private static final String TAG = "LoginActivity";
private static final int RC_SIGN_IN = 9001; private static final int RC_SIGN_IN = 9001;
// Development // Development
//private final String SERVER_ADDRESS = "https://dev.tracman.org/"; private final String SERVER_ADDRESS = "https://dev.tracman.org/";
//private static final String GOOGLE_WEB_CLIENT_ID = "483494341936-hps4p2pcu3ctshjvqm3pqdbg0t0q281o.apps.googleusercontent.com"; private static final String GOOGLE_WEB_CLIENT_ID = "483494341936-hps4p2pcu3ctshjvqm3pqdbg0t0q281o.apps.googleusercontent.com";
// Production // Production
private final String SERVER_ADDRESS = "https://tracman.org/"; // private final String SERVER_ADDRESS = "https://tracman.org/";
private static final String GOOGLE_WEB_CLIENT_ID = "483494341936-hrn0ms1tebgdtfs5f4i6ebmkt3qmo16o.apps.googleusercontent.com"; // private static final String GOOGLE_WEB_CLIENT_ID = "483494341936-hrn0ms1tebgdtfs5f4i6ebmkt3qmo16o.apps.googleusercontent.com";
private GoogleApiClient mGoogleApiClient; private GoogleApiClient mGoogleApiClient;
private ProgressDialog mProgressDialog; private ProgressDialog mProgressDialog;
@ -63,7 +57,7 @@ public class LoginActivity extends AppCompatActivity implements
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
// Log.v(TAG, "Created..."); Log.v(TAG, "Created...");
// Set up layout // Set up layout
setContentView(R.layout.activity_login); setContentView(R.layout.activity_login);
@ -95,20 +89,20 @@ public class LoginActivity extends AppCompatActivity implements
@Override @Override
public void onStart() { public void onStart() {
super.onStart(); super.onStart();
// Log.v(TAG, "Started. Checking for intent method"); Log.v(TAG, "Started. Checking for intent method");
if (getIntent().hasExtra("method")) { if (getIntent().hasExtra("method")) {
// Log.v(TAG, "Intent has method extra"); Log.v(TAG, "Intent has method extra");
if (getIntent().getStringExtra("method").equals("signOut")) { if (getIntent().getStringExtra("method").equals("signOut")) {
// Log.d(TAG, "Got intent to sign out"); Log.d(TAG, "Got intent to sign out");
} }
} else { // Try to sign in } else { // Try to sign in
// Log.v(TAG, "Trying to sign in..."); Log.v(TAG, "Trying to sign in...");
OptionalPendingResult<GoogleSignInResult> opr = Auth.GoogleSignInApi.silentSignIn(mGoogleApiClient); OptionalPendingResult<GoogleSignInResult> opr = Auth.GoogleSignInApi.silentSignIn(mGoogleApiClient);
if (opr.isDone()) { if (opr.isDone()) {
// If the user's cached credentials are valid, the OptionalPendingResult will be "done" // If the user's cached credentials are valid, the OptionalPendingResult will be "done"
// and the GoogleSignInResult will be available instantly. // and the GoogleSignInResult will be available instantly.
// Log.d(TAG, "Got cached sign-in"); Log.d(TAG, "Got cached sign-in");
GoogleSignInResult result = opr.get(); GoogleSignInResult result = opr.get();
handleSignInResult(result); handleSignInResult(result);
} else { } else {
@ -163,7 +157,7 @@ public class LoginActivity extends AppCompatActivity implements
client.newCall(request).enqueue(new Callback() { client.newCall(request).enqueue(new Callback() {
@Override @Override
public void onFailure(Call call, IOException e) { public void onFailure(Call call, IOException e) {
// Log.e(TAG, "Failed to connect to server: " + SERVER_ADDRESS + "auth/google/idtoken?id_token=" + token); Log.e(TAG, "Failed to connect to server: " + SERVER_ADDRESS + "auth/google/idtoken?id_token=" + token);
showError(R.string.server_connection_error); showError(R.string.server_connection_error);
e.printStackTrace(); e.printStackTrace();
} }
@ -175,7 +169,7 @@ public class LoginActivity extends AppCompatActivity implements
res.body().close(); res.body().close();
throw new IOException("Unexpected code: " + res); throw new IOException("Unexpected code: " + res);
} else { } else {
// Log.d(TAG, "Response code: " + res.code()); Log.d(TAG, "Response code: " + res.code());
String userString = res.body().string(); String userString = res.body().string();
System.out.println("Full response: " + userString); System.out.println("Full response: " + userString);
@ -185,10 +179,10 @@ public class LoginActivity extends AppCompatActivity implements
userID = user.getString("_id"); userID = user.getString("_id");
userName = user.getString("name"); userName = user.getString("name");
userSK = user.getString("sk32"); userSK = user.getString("sk32");
// Log.v(TAG, "User retrieved with ID: " + userID); Log.v(TAG, "User retrieved with ID: " + userID);
} catch (JSONException e) { } catch (JSONException e) {
// Log.e(TAG, "Unable to parse user JSON: ", e); Log.e(TAG, "Unable to parse user JSON: ", e);
// Log.e(TAG, "JSON String used: " + userString); Log.e(TAG, "JSON String used: " + userString);
userID = null; userID = null;
userName = null; userName = null;
userSK = null; userSK = null;

View File

@ -34,7 +34,7 @@ import java.util.List;
* API Guide</a> for more information on developing a Settings UI. * API Guide</a> for more information on developing a Settings UI.
*/ */
public class SettingsActivity extends AppCompatPreferenceActivity { public class SettingsActivity extends AppCompatPreferenceActivity {
//private static final String TAG = "SettingsActivity"; private static final String TAG = "SettingsActivity";
private static final int MY_FINE_LOCATION_PERMISSION = 425; private static final int MY_FINE_LOCATION_PERMISSION = 425;
/** /**
@ -88,7 +88,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
MY_FINE_LOCATION_PERMISSION); MY_FINE_LOCATION_PERMISSION);
} }
// Log.d(TAG, "Starting LocationService"); Log.d(TAG, "Starting LocationService");
startService(new Intent(SettingsActivity.this, LocationService.class)); startService(new Intent(SettingsActivity.this, LocationService.class));
} }
@ -130,7 +130,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setupActionBar(); setupActionBar();
// Log.d(TAG, "activity onCreate called"); Log.d(TAG, "activity onCreate called");
// Restart LocationService when any related preference is changed // Restart LocationService when any related preference is changed
// findPreference("gps_switch").setOnPreferenceChangeListener(sRestartLocationServiceOnChangeListener); // findPreference("gps_switch").setOnPreferenceChangeListener(sRestartLocationServiceOnChangeListener);
@ -145,7 +145,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
@Override @Override
protected void onStop() { protected void onStop() {
//Log.d(TAG, "onStop called"); Log.d(TAG, "onStop called");
super.onStop(); super.onStop();
// Restart service so settings can take effect // Restart service so settings can take effect
@ -162,7 +162,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
} }
// Start location tracking service // Start location tracking service
// Log.d(TAG, "Starting LocationService"); Log.d(TAG, "Starting LocationService");
startService(new Intent(this, LocationService.class)); startService(new Intent(this, LocationService.class));
} }