Prepared for release of 0.6.0
parent
8a0ed40504
commit
f5cbd47795
|
@ -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 {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
}
|
|
@ -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:
|
||||
|
|
|
@ -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());
|
||||
|
|
Loading…
Reference in New Issue