From 622412fc723fb402035ce2600f980806952709b8 Mon Sep 17 00:00:00 2001 From: steckbrief Date: Sun, 28 Jan 2018 22:09:57 +0100 Subject: Introducing product flavor 'beta' and removing product flavor 'playstore' --- .../services/PushManagementService.java | 119 --------------------- 1 file changed, 119 deletions(-) delete mode 100644 src/playstore/java/eu/siacs/conversations/services/PushManagementService.java (limited to 'src/playstore/java/eu/siacs/conversations/services/PushManagementService.java') diff --git a/src/playstore/java/eu/siacs/conversations/services/PushManagementService.java b/src/playstore/java/eu/siacs/conversations/services/PushManagementService.java deleted file mode 100644 index 3fdaf832..00000000 --- a/src/playstore/java/eu/siacs/conversations/services/PushManagementService.java +++ /dev/null @@ -1,119 +0,0 @@ -package eu.siacs.conversations.services; - -import android.provider.Settings; -import android.util.Log; - -import com.google.android.gms.common.ConnectionResult; -import com.google.android.gms.common.GoogleApiAvailability; -import com.google.android.gms.gcm.GoogleCloudMessaging; -import com.google.android.gms.iid.InstanceID; - -import java.io.IOException; - -import eu.siacs.conversations.Config; -import eu.siacs.conversations.R; -import eu.siacs.conversations.entities.Account; -import eu.siacs.conversations.xml.Element; -import eu.siacs.conversations.xmpp.OnIqPacketReceived; -import eu.siacs.conversations.xmpp.XmppConnection; -import eu.siacs.conversations.xmpp.forms.Data; -import eu.siacs.conversations.xmpp.jid.InvalidJidException; -import eu.siacs.conversations.xmpp.jid.Jid; -import eu.siacs.conversations.xmpp.stanzas.IqPacket; - -public class PushManagementService { - - private static final String APP_SERVER = "push.siacs.eu"; - - protected final XmppConnectionService mXmppConnectionService; - - public PushManagementService(XmppConnectionService service) { - this.mXmppConnectionService = service; - } - - public void registerPushTokenOnServer(final Account account) { - Log.d(Config.LOGTAG, account.getJid().toBareJid() + ": has push support"); - retrieveGcmInstanceToken(new OnGcmInstanceTokenRetrieved() { - @Override - public void onGcmInstanceTokenRetrieved(String token) { - try { - final String deviceId = Settings.Secure.getString(mXmppConnectionService.getContentResolver(), Settings.Secure.ANDROID_ID); - IqPacket packet = mXmppConnectionService.getIqGenerator().pushTokenToAppServer(Jid.fromString(APP_SERVER), token, deviceId); - mXmppConnectionService.sendIqPacket(account, packet, new OnIqPacketReceived() { - @Override - public void onIqPacketReceived(Account account, IqPacket packet) { - Element command = packet.findChild("command","http://jabber.org/protocol/commands"); - if (packet.getType() == IqPacket.TYPE.RESULT && command != null) { - Element x = command.findChild("x","jabber:x:data"); - if (x != null) { - Data data = Data.parse(x); - try { - String node = data.getValue("node"); - String secret = data.getValue("secret"); - Jid jid = Jid.fromString(data.getValue("jid")); - if (node != null && secret != null) { - enablePushOnServer(account, jid, node, secret); - } - } catch (InvalidJidException e) { - e.printStackTrace(); - } - } - } else { - Log.d(Config.LOGTAG,account.getJid().toBareJid()+": invalid response from app server"); - } - } - }); - } catch (InvalidJidException ignored) { - - } - } - }); - } - - private void enablePushOnServer(final Account account, final Jid jid, final String node, final String secret) { - IqPacket enable = mXmppConnectionService.getIqGenerator().enablePush(jid, node, secret); - mXmppConnectionService.sendIqPacket(account, enable, new OnIqPacketReceived() { - @Override - public void onIqPacketReceived(Account account, IqPacket packet) { - if (packet.getType() == IqPacket.TYPE.RESULT) { - Log.d(Config.LOGTAG, account.getJid().toBareJid() + ": successfully enabled push on server"); - } else if (packet.getType() == IqPacket.TYPE.ERROR) { - Log.d(Config.LOGTAG, account.getJid().toBareJid() + ": enabling push on server failed"); - } - } - }); - } - - private void retrieveGcmInstanceToken(final OnGcmInstanceTokenRetrieved instanceTokenRetrieved) { - new Thread(new Runnable() { - @Override - public void run() { - InstanceID instanceID = InstanceID.getInstance(mXmppConnectionService); - try { - String token = instanceID.getToken(mXmppConnectionService.getString(R.string.gcm_defaultSenderId), GoogleCloudMessaging.INSTANCE_ID_SCOPE, null); - instanceTokenRetrieved.onGcmInstanceTokenRetrieved(token); - } catch (IOException e) { - } - } - }).start(); - - } - - - public boolean available(Account account) { - final XmppConnection connection = account.getXmppConnection(); - return connection != null && connection.getFeatures().push() && playServicesAvailable(); - } - - private boolean playServicesAvailable() { - return GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(mXmppConnectionService) == ConnectionResult.SUCCESS; - } - - public boolean isStub() { - return false; - } - - interface OnGcmInstanceTokenRetrieved { - void onGcmInstanceTokenRetrieved(String token); - } -} -- cgit v1.2.3