package com.quickblox.q_municate.gcm; import android.app.Activity; import android.text.TextUtils; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.GooglePlayServicesUtil; import com.google.android.gms.gcm.GoogleCloudMessaging; import com.quickblox.q_municate_core.utils.Utils; import com.quickblox.q_municate_core.utils.helpers.CoreSharedHelper; import com.quickblox.q_municate.tasks.QBGCMRegistrationTask; public class GSMHelper { private final static int PLAY_SERVICES_RESOLUTION_REQUEST = 9000; private final static String TAG = GSMHelper.class.getSimpleName(); private Activity activity; private GoogleCloudMessaging googleCloudMessaging; private CoreSharedHelper coreSharedHelper; public GSMHelper(Activity activity) { this.activity = activity; googleCloudMessaging = GoogleCloudMessaging.getInstance(activity); coreSharedHelper = CoreSharedHelper.getInstance(); } public boolean checkPlayServices() { int resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(activity); if (resultCode != ConnectionResult.SUCCESS) { if (GooglePlayServicesUtil.isUserRecoverableError(resultCode)) { GooglePlayServicesUtil.getErrorDialog(resultCode, activity, PLAY_SERVICES_RESOLUTION_REQUEST).show(); } return false; } return true; } public void registerInBackground() { new QBGCMRegistrationTask(activity).execute(googleCloudMessaging); } public boolean isDeviceRegisteredWithUser() { String registrationId = coreSharedHelper.getPushRegistrationId(); int registeredVersion = coreSharedHelper.getPushAppVersion(); int currentVersion = Utils.getAppVersionCode(activity); boolean currAppVersionRegistered = registeredVersion == currentVersion; return !TextUtils.isEmpty(registrationId) && currAppVersionRegistered; } }