Prepared for release of 0.6.0

master
Keith Irwin 2017-04-26 12:57:45 -04:00
parent 8a0ed40504
commit f5cbd47795
No known key found for this signature in database
GPG Key ID: 378933C743E2BBC0
5 changed files with 56 additions and 60 deletions

View File

@ -21,8 +21,8 @@ android {
applicationId "us.keithirwin.tracman"
minSdkVersion 15
targetSdkVersion 23
versionCode 11
versionName "0.5.0"
versionCode 12
versionName "0.6.0"
}
buildTypes {
release {

View File

@ -12,7 +12,7 @@ public class ConnectionReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG,"onReceive() called");
//Log.d(TAG,"onReceive() called");
// Get connection information
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
@ -23,11 +23,11 @@ public class ConnectionReceiver extends BroadcastReceiver {
// Check connection
if (networkInfo!=null) {
Log.d(TAG, "Connected");
//Log.d(TAG, "Connected");
context.startService(locationServiceIntent);
}
else {
Log.d(TAG,"Disconnected");
//Log.d(TAG,"Disconnected");
context.stopService(locationServiceIntent);
}

View File

@ -67,7 +67,7 @@ public class LocationService extends Service implements GoogleApiClient.Connecti
private NotificationManager mNotificationManager;
private final NotificationCompat.Builder mNotificationBuilder = new NotificationCompat.Builder(this);
private void setupNotifications(Boolean persist) {
Log.d(TAG,"setupNotification() called");
//Log.d(TAG,"setupNotification() called");
if (mNotificationManager == null) {
mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
@ -86,7 +86,7 @@ public class LocationService extends Service implements GoogleApiClient.Connecti
.setOngoing(persist);
}
private void showNotification(CharSequence text, int icon) {
Log.d(TAG,"showNotification() called");
//Log.d(TAG,"showNotification() called");
mNotificationBuilder
.setTicker(text)
.setContentText(text);
@ -110,31 +110,31 @@ public class LocationService extends Service implements GoogleApiClient.Connecti
@Override
public void onReceive(Context context, Intent intent) {
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");
}
};
@Override
public void onCreate() {
super.onCreate();
Log.d(TAG, "onCreate called");
//Log.d(TAG, "onCreate called");
// Get preferences
sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
setupNotifications(true);
showNotification(getText(R.string.notify_connecting), ICON_OFF);
Log.d(TAG, "Notification set up");
//Log.d(TAG, "Notification set up");
buildGoogleApiClient();
Log.d(TAG, "Google API Client built");
//Log.d(TAG, "Google API Client built");
mGoogleApiClient.connect();
Log.d(TAG, "Connected to Google API Client");
//Log.d(TAG, "Connected to Google API Client");
IntentFilter lowPowerFilter = new IntentFilter();
lowPowerFilter.addAction("android.intent.action.BATTERY_LOW");
registerReceiver(LowPowerReceiver, lowPowerFilter);
Log.d(TAG, "LowPowerReceiver activated");
//Log.d(TAG, "LowPowerReceiver activated");
mUserID = sharedPref.getString("loggedInUserId", null);
mUserSK = sharedPref.getString("loggedInUserSk", null);
@ -157,7 +157,7 @@ public class LocationService extends Service implements GoogleApiClient.Connecti
@Override
public void call(Object... args) {
Exception e = (Exception) args[0];
Log.e(TAG, "Transport error: " + e);
//Log.e(TAG, "Transport error: " + e);
e.printStackTrace();
e.getCause().printStackTrace();
}
@ -179,7 +179,7 @@ public class LocationService extends Service implements GoogleApiClient.Connecti
} catch (URISyntaxException e) {
showNotification(getText(R.string.server_connection_error), ICON_OFF);
Log.e(TAG, "Failed to connect to sockets server " + SERVER_ADDRESS, e);
//Log.e(TAG, "Failed to connect to sockets server " + SERVER_ADDRESS, e);
}
}
@ -210,13 +210,10 @@ public class LocationService extends Service implements GoogleApiClient.Connecti
// Get permission
if (!checkLocationPermission(this)) {
Log.d(TAG, "Location permission denied");
// stopSelf();
//Log.d(TAG, "Location permission denied");
//TODO: Ask the user to try again
} else {
Log.d(TAG, "Location permission granted");
//Log.d(TAG, "Location permission granted");
// Request location updates
if (mGoogleApiClient.isConnected()) {
@ -242,7 +239,7 @@ public class LocationService extends Service implements GoogleApiClient.Connecti
@Override
public void onConnected(Bundle bundle) {
Log.d(TAG, "onConnected called");
//Log.d(TAG, "onConnected called");
mLocationRequest = LocationRequest.create();
connectLocationUpdates(getIntervalSetting(), getPrioritySetting());
@ -256,7 +253,7 @@ public class LocationService extends Service implements GoogleApiClient.Connecti
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
Log.e(TAG, "onConnectionFailed: " + connectionResult);
//Log.e(TAG, "onConnectionFailed: " + connectionResult);
showNotification(getText(R.string.google_connection_error), ICON_OFF);
buildGoogleApiClient();
}
@ -265,11 +262,11 @@ public class LocationService extends Service implements GoogleApiClient.Connecti
@Override
public void call(final Object... args) {
if (args[0].toString().equals("true")) {
Log.d(TAG, "Activating realtime updates");
//Log.d(TAG, "Activating realtime updates");
connectLocationUpdates(getIntervalSetting(), getPrioritySetting());
showNotification(getString(R.string.realtime_updates), ICON_ON);
} else {
Log.d(TAG, "Deactivating realtime updates");
//Log.d(TAG, "Deactivating realtime updates");
connectLocationUpdates(300, LocationRequest.PRIORITY_NO_POWER);
showNotification(getString(R.string.occasional_updates), ICON_HALF);
}
@ -290,13 +287,13 @@ public class LocationService extends Service implements GoogleApiClient.Connecti
mLocationView.put("dir", String.valueOf(location.getBearing()));
mLocationView.put("spd", String.valueOf(location.getSpeed()));
} catch (JSONException e) {
Log.e(TAG, "Failed to put JSON data");
//Log.e(TAG, "Failed to put JSON data");
}
socket.emit("set", mLocationView);
Log.v(TAG, "Location set: " + mLocationView.toString());
//Log.v(TAG, "Location set: " + mLocationView.toString());
}
else {
Log.v(TAG, "Can't set location because user isn't logged in.");
//Log.v(TAG, "Can't set location because user isn't logged in.");
stopSelf();
}
@ -304,27 +301,27 @@ public class LocationService extends Service implements GoogleApiClient.Connecti
@Override
public void onConnectionSuspended(int i) {
Log.d(TAG, "onConnectionSuspended called");
//Log.d(TAG, "onConnectionSuspended called");
showNotification(getText(R.string.google_connection_error), ICON_OFF);
}
@Override
public void onDestroy() {
super.onDestroy();
Log.d(TAG, "onDestroy executed");
//Log.d(TAG, "onDestroy executed");
socket.disconnect();
socket.off("activate", onActivate);
Log.d(TAG, "Disconnected from sockets");
//Log.d(TAG, "Disconnected from sockets");
mGoogleApiClient.disconnect();
Log.d(TAG, "Google API disconnected");
//Log.d(TAG, "Google API disconnected");
unregisterReceiver(LowPowerReceiver);
Log.d(TAG, "LowPowerReceiver deactivated");
//Log.d(TAG, "LowPowerReceiver deactivated");
setupNotifications(false);
showNotification(getText(R.string.disconnected), ICON_OFF);
Log.d(TAG, "Notification changed");
//Log.d(TAG, "Notification changed");
}
}

View File

@ -62,7 +62,7 @@ public class LoginActivity extends AppCompatActivity implements
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.v(TAG, "created");
//Log.v(TAG, "created");
// Set up layout
setContentView(R.layout.activity_login);
@ -99,16 +99,16 @@ public class LoginActivity extends AppCompatActivity implements
@Override
public void onStart() {
super.onStart();
Log.v(TAG, "onStart() called");
//Log.v(TAG, "onStart() called");
// Try to sign in
if (!DONT_LOG_IN) {
Log.v(TAG, "Trying to sign in...");
//Log.v(TAG, "Trying to sign in...");
OptionalPendingResult<GoogleSignInResult> opr = Auth.GoogleSignInApi.silentSignIn(mGoogleApiClient);
if (opr.isDone()) {
// If the user's cached credentials are valid, the OptionalPendingResult will be "done"
// 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();
handleGoogleSignInResult(result);
} else {
@ -141,12 +141,12 @@ public class LoginActivity extends AppCompatActivity implements
SharedPreferences.Editor editor = sharedPref.edit();
// Stop LocationService
Log.v(TAG, "Stopping location service...");
//Log.v(TAG, "Stopping location service...");
stopService(new Intent(LoginActivity.this, LocationService.class));
editor.putBoolean("gps_switch",false);
// Remove saved loggedInUser
Log.v(TAG, "Removing saved user...");
//Log.v(TAG, "Removing saved user...");
editor.remove("loggedInUser");
editor.remove("loggedInUserId");
editor.remove("loggedInUserName");
@ -158,17 +158,17 @@ public class LoginActivity extends AppCompatActivity implements
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.v(TAG, "onActivityResult() called");
//Log.v(TAG, "onActivityResult() called");
// Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
if (requestCode == RC_SIGN_IN) {
Log.v(TAG, "requestCode was RC_SIGN_IN");
//Log.v(TAG, "requestCode was RC_SIGN_IN");
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
handleGoogleSignInResult(result);
}
// User just logged out. Don't log in again, stupid
else if (requestCode == SIGN_OUT) {
Log.v(TAG, "requestCode was SIGN_OUT");
//Log.v(TAG, "requestCode was SIGN_OUT");
DONT_LOG_IN = true;
}
@ -193,7 +193,7 @@ public class LoginActivity extends AppCompatActivity implements
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
Log.e(TAG, "Failed to connect to Tracman server!");
//Log.e(TAG, "Failed to connect to Tracman server!");
showError(R.string.server_connection_error);
e.printStackTrace();
}
@ -205,7 +205,7 @@ public class LoginActivity extends AppCompatActivity implements
res.body().close();
throw new IOException("Unexpected code: " + res);
} else {
Log.d(TAG, "Response code: " + res.code());
//Log.d(TAG, "Response code: " + res.code());
String userString = res.body().string();
System.out.println("Full response: " + userString);
@ -215,10 +215,10 @@ public class LoginActivity extends AppCompatActivity implements
userID = user.getString("_id");
userName = user.getString("name");
userSK = user.getString("sk32");
Log.v(TAG, "User retrieved with ID: " + userID);
//Log.v(TAG, "User retrieved with ID: " + userID);
} catch (JSONException e) {
Log.e(TAG, "Unable to parse user JSON: ", e);
Log.e(TAG, "JSON String used: " + userString);
//Log.e(TAG, "Unable to parse user JSON: ", e);
//Log.e(TAG, "JSON String used: " + userString);
userID = null;
userName = null;
userSK = null;
@ -243,10 +243,9 @@ public class LoginActivity extends AppCompatActivity implements
}
private void handleGoogleSignInResult(GoogleSignInResult result) {
// Log.d(TAG, "handleSignInResult:" + result.isSuccess());
//Log.d(TAG, "handleSignInResult:" + result.isSuccess());
if (result.isSuccess()) { // Signed in successfully
GoogleSignInAccount acct = result.getSignInAccount();
// Log.v(TAG, "Google token: " + googleToken);
try {
// Build request
@ -258,10 +257,10 @@ public class LoginActivity extends AppCompatActivity implements
authenticateWithTracmanServer(request);
} catch (Exception e) {
Log.e(TAG, "Error sending ID token to backend.", e);
//Log.e(TAG, "Error sending ID token to backend.", e);
}
} else {
// Log.e(TAG, "Failed to log in: "+result.getStatus().getStatusCode());
//Log.e(TAG, "Failed to log in: "+result.getStatus().getStatusCode());
if (result.getStatus().getStatusCode()!=4) {
showError(R.string.google_connection_error);
}
@ -269,7 +268,7 @@ public class LoginActivity extends AppCompatActivity implements
}
public void signInWithPassword() {
Log.d(TAG, "signInWithPassword() called");
//Log.d(TAG, "signInWithPassword() called");
// Get params from form
EditText emailText = (EditText)findViewById(R.id.login_email);
@ -291,16 +290,16 @@ public class LoginActivity extends AppCompatActivity implements
// Send formdata to endpoint
try {
Log.v(TAG, "Sending local login POST to server...");
//Log.v(TAG, "Sending local login POST to server...");
authenticateWithTracmanServer(request);
} catch (Exception e) {
Log.e(TAG, "Error sending local login to backend:",e);
//Log.e(TAG, "Error sending local login to backend:",e);
}
}
public void signInWithGoogle() {
Log.v(TAG, "signInWithGoogle() called");
//Log.v(TAG, "signInWithGoogle() called");
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, RC_SIGN_IN);
}
@ -322,7 +321,7 @@ public class LoginActivity extends AppCompatActivity implements
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
showError(R.string.disconnected);
// Log.d(TAG, "onConnectionFailed:" + connectionResult);
//Log.d(TAG, "onConnectionFailed:" + connectionResult);
}
private void showProgressDialog() {
@ -352,14 +351,14 @@ public class LoginActivity extends AppCompatActivity implements
@Override
public void onClick(View v) {
Log.v(TAG, "onClick() called");
//Log.v(TAG, "onClick() called");
switch (v.getId()) {
case R.id.login_button:
Log.v(TAG, "Password login button pressed");
//Log.v(TAG, "Password login button pressed");
signInWithPassword();
break;
case R.id.login_button_google:
Log.v(TAG, "Google login button pressed");
//Log.v(TAG, "Google login button pressed");
signInWithGoogle();
break;
// case R.id.login_button_facebook:

View File

@ -207,7 +207,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
@Override
public void onBackPressed() {
Log.v(TAG,"onBackPressed() called");
//Log.v(TAG,"onBackPressed() called");
// Return to LoginActivity and don't sign back in again
setResult(SIGN_OUT, new Intent());