diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 1ff41bc..810d486 100755 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,7 +1,5 @@ - + + You have successfully connected the app to your online account. Continue… - https://api.foursquare.com/v2/venues/explore?client_id=%s&client_secret=%s&v=20130815&ll=%f,%f&sortByDistance=1&query=%s - https://api.foursquare.com/v2/venues/%s/photos?client_id=%s&client_secret=%s&v=20130815 + https://api.foursquare.com/v2/venues/explore?client_id=%1$s&client_secret=%2$s&v=20130815&ll=%3$f,%4$f&sortByDistance=1&query=%5$s + https://api.foursquare.com/v2/venues/%1$s/photos?client_id=%2$s&client_secret=%3$s&v=20130815 Facebook Login Successful! You have successfully logged in to Facebook and can now fetch data from the service. diff --git a/src/edu/northwestern/cbits/xsi/facebook/FacebookLoginActivity.java b/src/edu/northwestern/cbits/xsi/facebook/FacebookLoginActivity.java index 011dc03..4dce958 100755 --- a/src/edu/northwestern/cbits/xsi/facebook/FacebookLoginActivity.java +++ b/src/edu/northwestern/cbits/xsi/facebook/FacebookLoginActivity.java @@ -41,7 +41,7 @@ protected void onResume() SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); Editor e = prefs.edit(); e.remove(FacebookApi.TOKEN); - e.commit(); + e.apply(); final FacebookLoginActivity me = this; @@ -114,7 +114,7 @@ private void go(Session session) SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); Editor e = prefs.edit(); e.putString(FacebookApi.TOKEN, token); - e.commit(); + e.apply(); AlertDialog.Builder builder = new AlertDialog.Builder(this); diff --git a/src/edu/northwestern/cbits/xsi/logging/LogManager.java b/src/edu/northwestern/cbits/xsi/logging/LogManager.java index 8198f64..0179cb5 100755 --- a/src/edu/northwestern/cbits/xsi/logging/LogManager.java +++ b/src/edu/northwestern/cbits/xsi/logging/LogManager.java @@ -85,15 +85,16 @@ public String getUserId() AccountManager manager = (AccountManager) this._context.getSystemService(Context.ACCOUNT_SERVICE); Account[] list = manager.getAccountsByType("com.google"); - if (list.length == 0) + if (list.length == 0) { list = manager.getAccounts(); + } if (list.length > 0) userId = list[0].name; Editor e = prefs.edit(); e.putString("config_user_id", userId); - e.commit(); + e.apply(); } return userId; diff --git a/src/edu/northwestern/cbits/xsi/oauth/FitbitApi.java b/src/edu/northwestern/cbits/xsi/oauth/FitbitApi.java index 912d374..ea440f8 100755 --- a/src/edu/northwestern/cbits/xsi/oauth/FitbitApi.java +++ b/src/edu/northwestern/cbits/xsi/oauth/FitbitApi.java @@ -163,7 +163,7 @@ public static boolean refreshTokens(Context context, String accessKey, String re writer.close(); os.close(); - conn.connect();; + conn.connect(); InputStream in = null; @@ -193,7 +193,7 @@ public static boolean refreshTokens(Context context, String accessKey, String re e.putString(accessKey, payload.getString("access_token")); e.putString(refreshKey, payload.getString("refresh_token")); e.putLong(expiresKey, System.currentTimeMillis() + (payload.getLong("expires_in") * 1000)); - e.commit(); + e.apply(); return true; } catch (IOException | JSONException e) { diff --git a/src/edu/northwestern/cbits/xsi/oauth/FoursquareApi.java b/src/edu/northwestern/cbits/xsi/oauth/FoursquareApi.java index 94368f1..f0d3d58 100755 --- a/src/edu/northwestern/cbits/xsi/oauth/FoursquareApi.java +++ b/src/edu/northwestern/cbits/xsi/oauth/FoursquareApi.java @@ -1,6 +1,7 @@ package edu.northwestern.cbits.xsi.oauth; import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -141,9 +142,8 @@ public static List searchPlaces(Context context, double latitude, double FoursquareApi._exclude = new HashSet<>(); String[] excluded = context.getResources().getStringArray(R.array.foursquare_excluded_categories); - - for (String exclude : excluded) - FoursquareApi._exclude.add(exclude); + + Collections.addAll(FoursquareApi._exclude, excluded); } try diff --git a/src/edu/northwestern/cbits/xsi/oauth/JawboneApi.java b/src/edu/northwestern/cbits/xsi/oauth/JawboneApi.java index 2a21551..36b5da2 100755 --- a/src/edu/northwestern/cbits/xsi/oauth/JawboneApi.java +++ b/src/edu/northwestern/cbits/xsi/oauth/JawboneApi.java @@ -8,7 +8,6 @@ import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; -import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.conn.scheme.PlainSocketFactory; diff --git a/src/edu/northwestern/cbits/xsi/oauth/OAuthActivity.java b/src/edu/northwestern/cbits/xsi/oauth/OAuthActivity.java index 9105b60..1511979 100755 --- a/src/edu/northwestern/cbits/xsi/oauth/OAuthActivity.java +++ b/src/edu/northwestern/cbits/xsi/oauth/OAuthActivity.java @@ -158,7 +158,7 @@ else if (DefaultApi10a.class.isAssignableFrom(apiClass)) Editor e = prefs.edit(); e.putString("request_token_" + requester, token.getToken()); e.putString("request_secret_" + requester, token.getSecret()); - e.commit(); + e.apply(); Intent intent = new Intent(me, OAuthWebActivity.class); intent.putExtra(OAuthActivity.LOG_URL, logUrl); @@ -208,7 +208,7 @@ else if (DefaultApi10a.class.isAssignableFrom(apiClass)) e.putString("oauth_" + requester + "_secret", ""); e.putString("oauth_" + requester + "_token", access); - e.commit(); + e.apply(); me.runOnUiThread(new Runnable() { @@ -231,7 +231,7 @@ else if ("jawbone".equals(requester)) e.putString("oauth_" + requester + "_secret", ""); e.putString("oauth_" + requester + "_token", access); - e.commit(); + e.apply(); me.runOnUiThread(new Runnable() { @@ -419,7 +419,7 @@ public Token getAccessToken(Token requestToken, Verifier verifier) e.putString("oauth_" + requester + "_access_token", accessToken.getToken()); e.putString("oauth_" + requester + "_refresh_token", accessToken.getSecret()); e.putLong("oauth_" + requester + "_expires", System.currentTimeMillis() + ((60 * 60) * 1000)); - e.commit(); + e.apply(); me.runOnUiThread(new Runnable() { public void run() { @@ -435,7 +435,7 @@ public void run() { e.putString("oauth_" + requester + "_secret", accessToken.getSecret()); e.putString("oauth_" + requester + "_token", accessToken.getToken()); - e.commit(); + e.apply(); me.runOnUiThread(new Runnable() { public void run() { @@ -467,7 +467,7 @@ public void run() e.putString("oauth_" + requester + "_secret", accessToken.getSecret()); e.putString("oauth_" + requester + "_token", accessToken.getToken()); - e.commit(); + e.apply(); me.runOnUiThread(new Runnable() { diff --git a/src/edu/northwestern/cbits/xsi/oauth/iHealthApi.java b/src/edu/northwestern/cbits/xsi/oauth/iHealthApi.java index 981e7a7..e3b8350 100755 --- a/src/edu/northwestern/cbits/xsi/oauth/iHealthApi.java +++ b/src/edu/northwestern/cbits/xsi/oauth/iHealthApi.java @@ -48,14 +48,13 @@ public String getAccessTokenEndpoint() public String getAuthorizationUrl(OAuthConfig oAuthConfig) { - StringBuilder urlBuffer = new StringBuilder(); - urlBuffer.append("https://api.ihealthlabs.com:8443/OpenApiV2/OAuthv2/userauthorization"); - urlBuffer.append("?client_id=" + Keystore.get(iHealthApi.CONSUMER_KEY)); - urlBuffer.append("&response_type=code"); - urlBuffer.append("&redirect_uri=" + Keystore.get(iHealthApi.REDIRECT_URL)); - urlBuffer.append("&APIName=OpenApiBG+OpenApiBP+OpenApiActivity+OpenApiSleep+OpenApiSpO2+OpenApiWeight"); - - return urlBuffer.toString(); + String urlBuffer = "https://api.ihealthlabs.com:8443/OpenApiV2/OAuthv2/userauthorization" + + "?client_id=" + Keystore.get(iHealthApi.CONSUMER_KEY) + + "&response_type=code" + + "&redirect_uri=" + Keystore.get(iHealthApi.REDIRECT_URL) + + "&APIName=OpenApiBG+OpenApiBP+OpenApiActivity+OpenApiSleep+OpenApiSpO2+OpenApiWeight"; + + return urlBuffer; } public static JSONObject fetchActivity(Context context, long start, long end) throws IOException, JSONException @@ -65,17 +64,16 @@ public static JSONObject fetchActivity(Context context, long start, long end) th SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); String userId = prefs.getString("oauth_ihealth_user_id", ""); - StringBuilder urlBuffer = new StringBuilder(); - urlBuffer.append("https://api.ihealthlabs.com:8443/openapiv2/user/" + userId + "/activity.json/"); - urlBuffer.append("?client_id=" + Keystore.get(iHealthApi.CONSUMER_KEY)); - urlBuffer.append("&client_secret=" + Keystore.get(iHealthApi.CONSUMER_SECRET)); - urlBuffer.append("&sc=" + Keystore.get(iHealthApi.ACTIVITY_SC)); - urlBuffer.append("&sv=" + Keystore.get(iHealthApi.ACTIVITY_SV)); - urlBuffer.append("&access_token=" + Keystore.get(iHealthApi.USER_TOKEN)); - urlBuffer.append("&start_time=" + start); - urlBuffer.append("&end_time=" + end); + String urlBuffer = ("https://api.ihealthlabs.com:8443/openapiv2/user/" + userId + "/activity.json/") + + "?client_id=" + Keystore.get(iHealthApi.CONSUMER_KEY) + + "&client_secret=" + Keystore.get(iHealthApi.CONSUMER_SECRET) + + "&sc=" + Keystore.get(iHealthApi.ACTIVITY_SC) + + "&sv=" + Keystore.get(iHealthApi.ACTIVITY_SV) + + "&access_token=" + Keystore.get(iHealthApi.USER_TOKEN) + + "&start_time=" + start + + "&end_time=" + end; - BufferedReader in = new BufferedReader(new InputStreamReader(new URL(urlBuffer.toString()).openStream())); + BufferedReader in = new BufferedReader(new InputStreamReader(new URL(urlBuffer).openStream())); StringBuilder all = new StringBuilder(); String inputLine = null; @@ -103,15 +101,14 @@ private static void refreshTokenAsNeeded(Context context) throws IOException, JS { String refreshToken = prefs.getString("oauth_ihealth_refresh_token", ""); - StringBuilder urlBuilder = new StringBuilder(); - urlBuilder.append("https://api.ihealthlabs.com:8443/OpenApiV2/OAuthv2/userauthorization"); - urlBuilder.append("?client_id=" + Keystore.get(iHealthApi.CONSUMER_KEY)); - urlBuilder.append("&client_secret=" + Keystore.get(iHealthApi.CONSUMER_SECRET)); - urlBuilder.append("&redirect_uri=" + Keystore.get(iHealthApi.REDIRECT_URL)); - urlBuilder.append("&response_type=refresh_token"); - urlBuilder.append("&refresh_token=" + refreshToken); + String urlBuilder = "https://api.ihealthlabs.com:8443/OpenApiV2/OAuthv2/userauthorization" + + "?client_id=" + Keystore.get(iHealthApi.CONSUMER_KEY) + + "&client_secret=" + Keystore.get(iHealthApi.CONSUMER_SECRET) + + "&redirect_uri=" + Keystore.get(iHealthApi.REDIRECT_URL) + + "&response_type=refresh_token" + + "&refresh_token=" + refreshToken; - BufferedReader in= new BufferedReader(new InputStreamReader(new URL(urlBuilder.toString()).openStream())); + BufferedReader in= new BufferedReader(new InputStreamReader(new URL(urlBuilder).openStream())); StringBuilder all = new StringBuilder(); String inputLine = null; @@ -139,7 +136,7 @@ private static void refreshTokenAsNeeded(Context context) throws IOException, JS e.putString("oauth_ihealth_user_id", userId); e.putLong("oauth_ihealth_expires", expires); - e.commit(); + e.apply(); } } @@ -155,17 +152,16 @@ public static JSONObject fetchWeight(Context context, long start, long end) thro SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); String userId = prefs.getString("oauth_ihealth_user_id", ""); - StringBuilder urlBuffer = new StringBuilder(); - urlBuffer.append("https://api.ihealthlabs.com:8443/openapiv2/user/" + userId + "/weight.json/"); - urlBuffer.append("?client_id=" + Keystore.get(iHealthApi.CONSUMER_KEY)); - urlBuffer.append("&client_secret=" + Keystore.get(iHealthApi.CONSUMER_SECRET)); - urlBuffer.append("&sc=" + Keystore.get(iHealthApi.WEIGHT_SC)); - urlBuffer.append("&sv=" + Keystore.get(iHealthApi.WEIGHT_SV)); - urlBuffer.append("&access_token=" + Keystore.get(iHealthApi.USER_TOKEN)); - urlBuffer.append("&start_time=" + start); - urlBuffer.append("&end_time=" + end); + String urlBuffer = ("https://api.ihealthlabs.com:8443/openapiv2/user/" + userId + "/weight.json/") + + "?client_id=" + Keystore.get(iHealthApi.CONSUMER_KEY) + + "&client_secret=" + Keystore.get(iHealthApi.CONSUMER_SECRET) + + "&sc=" + Keystore.get(iHealthApi.WEIGHT_SC) + + "&sv=" + Keystore.get(iHealthApi.WEIGHT_SV) + + "&access_token=" + Keystore.get(iHealthApi.USER_TOKEN) + + "&start_time=" + start + + "&end_time=" + end; - BufferedReader in = new BufferedReader(new InputStreamReader(new URL(urlBuffer.toString()).openStream())); + BufferedReader in = new BufferedReader(new InputStreamReader(new URL(urlBuffer).openStream())); StringBuilder all = new StringBuilder(); String inputLine = null; @@ -188,17 +184,16 @@ public static JSONObject fetchBloodPressure(Context context, long start, long en SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); String userId = prefs.getString("oauth_ihealth_user_id", ""); - StringBuilder urlBuffer = new StringBuilder(); - urlBuffer.append("https://api.ihealthlabs.com:8443/openapiv2/user/" + userId + "/bp.json/"); - urlBuffer.append("?client_id=" + Keystore.get(iHealthApi.CONSUMER_KEY)); - urlBuffer.append("&client_secret=" + Keystore.get(iHealthApi.CONSUMER_SECRET)); - urlBuffer.append("&sc=" + Keystore.get(iHealthApi.PRESSURE_SC)); - urlBuffer.append("&sv=" + Keystore.get(iHealthApi.PRESSURE_SV)); - urlBuffer.append("&access_token=" + Keystore.get(iHealthApi.USER_TOKEN)); - urlBuffer.append("&start_time=" + start); - urlBuffer.append("&end_time=" + end); + String urlBuffer = ("https://api.ihealthlabs.com:8443/openapiv2/user/" + userId + "/bp.json/") + + "?client_id=" + Keystore.get(iHealthApi.CONSUMER_KEY) + + "&client_secret=" + Keystore.get(iHealthApi.CONSUMER_SECRET) + + "&sc=" + Keystore.get(iHealthApi.PRESSURE_SC) + + "&sv=" + Keystore.get(iHealthApi.PRESSURE_SV) + + "&access_token=" + Keystore.get(iHealthApi.USER_TOKEN) + + "&start_time=" + start + + "&end_time=" + end; - BufferedReader in = new BufferedReader(new InputStreamReader(new URL(urlBuffer.toString()).openStream())); + BufferedReader in = new BufferedReader(new InputStreamReader(new URL(urlBuffer).openStream())); StringBuilder all = new StringBuilder(); String inputLine = null; @@ -226,17 +221,16 @@ public static JSONObject fetchBloodGlucose(Context context, long start, long end SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); String userId = prefs.getString("oauth_ihealth_user_id", ""); - StringBuilder urlBuffer = new StringBuilder(); - urlBuffer.append("https://api.ihealthlabs.com:8443/openapiv2/user/" + userId + "/weight.json/"); - urlBuffer.append("?client_id=" + Keystore.get(iHealthApi.CONSUMER_KEY)); - urlBuffer.append("&client_secret=" + Keystore.get(iHealthApi.CONSUMER_SECRET)); - urlBuffer.append("&sc=" + Keystore.get(iHealthApi.GLUCOSE_SC)); - urlBuffer.append("&sv=" + Keystore.get(iHealthApi.GLUCOSE_SV)); - urlBuffer.append("&access_token=" + Keystore.get(iHealthApi.USER_TOKEN)); - urlBuffer.append("&start_time=" + start); - urlBuffer.append("&end_time=" + end); + String urlBuffer = ("https://api.ihealthlabs.com:8443/openapiv2/user/" + userId + "/weight.json/") + + "?client_id=" + Keystore.get(iHealthApi.CONSUMER_KEY) + + "&client_secret=" + Keystore.get(iHealthApi.CONSUMER_SECRET) + + "&sc=" + Keystore.get(iHealthApi.GLUCOSE_SC) + + "&sv=" + Keystore.get(iHealthApi.GLUCOSE_SV) + + "&access_token=" + Keystore.get(iHealthApi.USER_TOKEN) + + "&start_time=" + start + + "&end_time=" + end; - BufferedReader in = new BufferedReader(new InputStreamReader(new URL(urlBuffer.toString()).openStream())); + BufferedReader in = new BufferedReader(new InputStreamReader(new URL(urlBuffer).openStream())); StringBuilder all = new StringBuilder(); String inputLine = null; @@ -256,15 +250,14 @@ public static void completeLogin(Context context, String code) throws IOExceptio { long now = System.currentTimeMillis(); - StringBuilder urlBuilder = new StringBuilder(); - urlBuilder.append("https://api.ihealthlabs.com:8443/OpenApiV2/OAuthv2/userauthorization"); - urlBuilder.append("?client_id=" + Keystore.get(iHealthApi.CONSUMER_KEY)); - urlBuilder.append("&client_secret=" + Keystore.get(iHealthApi.CONSUMER_SECRET)); - urlBuilder.append("&grant_type=authorization_code"); - urlBuilder.append("&redirect_uri=" + Keystore.get(iHealthApi.REDIRECT_URL)); - urlBuilder.append("&code=" + code); + String urlBuilder = "https://api.ihealthlabs.com:8443/OpenApiV2/OAuthv2/userauthorization" + + "?client_id=" + Keystore.get(iHealthApi.CONSUMER_KEY) + + "&client_secret=" + Keystore.get(iHealthApi.CONSUMER_SECRET) + + "&grant_type=authorization_code" + + "&redirect_uri=" + Keystore.get(iHealthApi.REDIRECT_URL) + + "&code=" + code; - BufferedReader in= new BufferedReader(new InputStreamReader(new URL(urlBuilder.toString()).openStream())); + BufferedReader in= new BufferedReader(new InputStreamReader(new URL(urlBuilder).openStream())); StringBuilder all = new StringBuilder(); String inputLine = null; @@ -294,6 +287,6 @@ public static void completeLogin(Context context, String code) throws IOExceptio e.putString("oauth_ihealth_user_id", userId); e.putLong("oauth_ihealth_expires", expires); - e.commit(); + e.apply(); } }