From 58273997b9419e79b023f28dc96ce0024466bf9d Mon Sep 17 00:00:00 2001 From: Moxie Marlinspike Date: Fri, 2 Jun 2017 09:59:23 -0700 Subject: [PATCH] Explicitly check for disabled play services if needs update Fixes #6381 // FREEBIE --- .../thoughtcrime/securesms/RegistrationActivity.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/org/thoughtcrime/securesms/RegistrationActivity.java b/src/org/thoughtcrime/securesms/RegistrationActivity.java index 80c543f543..eb8b349f7e 100644 --- a/src/org/thoughtcrime/securesms/RegistrationActivity.java +++ b/src/org/thoughtcrime/securesms/RegistrationActivity.java @@ -3,6 +3,8 @@ package org.thoughtcrime.securesms; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; import android.graphics.PorterDuff; import android.os.Bundle; import android.support.v4.content.ContextCompat; @@ -279,6 +281,16 @@ public class RegistrationActivity extends BaseActionBarActivity { case ConnectionResult.SUCCESS: return PlayServicesStatus.SUCCESS; case ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED: + try { + ApplicationInfo applicationInfo = getPackageManager().getApplicationInfo("com.google.android.gms", 0); + + if (applicationInfo != null && !applicationInfo.enabled) { + return PlayServicesStatus.MISSING; + } + } catch (PackageManager.NameNotFoundException e) { + Log.w(TAG, e); + } + return PlayServicesStatus.NEEDS_UPDATE; case ConnectionResult.SERVICE_DISABLED: case ConnectionResult.SERVICE_MISSING: