From 05a8b44f2d7daac1d3dbec6dd9f1d5483cb88ea2 Mon Sep 17 00:00:00 2001 From: Marvin W Date: Fri, 23 Dec 2016 18:59:29 +0100 Subject: [PATCH] Various fixes related to #86, #164, #242 --- extern/UnifiedNlp | 2 +- play-services-core/src/main/AndroidManifest.xml | 5 +++++ .../java/org/microg/gms/auth/AuthManager.java | 13 ++++++++----- .../java/org/microg/gms/gcm/McsService.java | 17 +++++++++++------ 4 files changed, 25 insertions(+), 12 deletions(-) diff --git a/extern/UnifiedNlp b/extern/UnifiedNlp index 2f810b14..d2b26b9f 160000 --- a/extern/UnifiedNlp +++ b/extern/UnifiedNlp @@ -1 +1 @@ -Subproject commit 2f810b14fde67cb690b440b3249f1887435c2e92 +Subproject commit d2b26b9fbcf90a0f24b29c11c4c814631ec81a80 diff --git a/play-services-core/src/main/AndroidManifest.xml b/play-services-core/src/main/AndroidManifest.xml index 5f142926..52597b1f 100644 --- a/play-services-core/src/main/AndroidManifest.xml +++ b/play-services-core/src/main/AndroidManifest.xml @@ -35,6 +35,11 @@ android:name="com.google.android.googleapps.permission.GOOGLE_AUTH" android:icon="@drawable/proprietary_auth_ic_scope_icon_default"/> + 0) - setExpiry(response.expiry); - if (response.auth != null && (response.expiry != 0 || response.storeConsentRemotely)) + if (response.auth != null && (response.expiry != 0 || response.storeConsentRemotely)) { setAuthToken(response.auth); + if (response.expiry > 0) { + setExpiry(response.expiry); + } else { + setExpiry(System.currentTimeMillis() / 1000 + ONE_HOUR_IN_SECONDS); // make valid for one hour by default + } + } } public static boolean isTrustGooglePermitted(Context context) { diff --git a/play-services-core/src/main/java/org/microg/gms/gcm/McsService.java b/play-services-core/src/main/java/org/microg/gms/gcm/McsService.java index 77a1ce8c..ff79f699 100644 --- a/play-services-core/src/main/java/org/microg/gms/gcm/McsService.java +++ b/play-services-core/src/main/java/org/microg/gms/gcm/McsService.java @@ -348,8 +348,7 @@ public class McsService extends Service implements Handler.Callback { private synchronized void connect() { try { - tryClose(inputStream); - tryClose(outputStream); + closeAll(); logd("Starting MCS connection..."); Socket socket = new Socket(SERVICE_HOST, SERVICE_PORT); logd("Connected to " + SERVICE_HOST + ":" + SERVICE_PORT); @@ -581,13 +580,19 @@ public class McsService extends Service implements Handler.Callback { } } - private void handleTeardown(android.os.Message msg) { + private void closeAll() { tryClose(inputStream); tryClose(outputStream); - try { - sslSocket.close(); - } catch (Exception ignored) { + if (sslSocket != null) { + try { + sslSocket.close(); + } catch (Exception ignored) { + } } + } + + private void handleTeardown(android.os.Message msg) { + closeAll(); scheduleReconnect(this);