package com.code44.finance.api; import android.content.Context; import com.code44.finance.BuildConfig; import com.code44.finance.utils.Prefs; public class GcmRegistration extends Prefs { private static final String PREFIX = "gcm_"; private String registrationId; private int registeredVersion; private boolean isRegisteredWithServer; public GcmRegistration(Context context) { super(context); refresh(); } @Override protected String getPrefix() { return PREFIX; } public void refresh() { int currentVersion = BuildConfig.VERSION_CODE; registeredVersion = getInteger("registeredVersion", Integer.MIN_VALUE); if (currentVersion > registeredVersion) { registrationId = null; setRegisteredWithServer(false); } else { registrationId = getString("registrationId", null); isRegisteredWithServer = getBoolean("isRegisteredWithServer", false); } } public void clear() { clear("registrationId", "registeredVersion", "isRegisteredWithServer"); refresh(); } public String getRegistrationId() { return registrationId; } public void setRegistrationId(String registrationId) { this.registrationId = registrationId; this.registeredVersion = BuildConfig.VERSION_CODE; setString("registrationId", registrationId); setInteger("registeredVersion", registeredVersion); setRegisteredWithServer(false); } public boolean isRegisteredWithServer() { return isRegisteredWithServer; } public void setRegisteredWithServer(boolean isRegisteredWithServer) { this.isRegisteredWithServer = isRegisteredWithServer; setBoolean("isRegisteredWithServer", isRegisteredWithServer); } }