aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsteckbrief <steckbrief@chefmail.de>2018-01-28 22:09:57 +0100
committersteckbrief <steckbrief@chefmail.de>2018-01-28 22:09:57 +0100
commit622412fc723fb402035ce2600f980806952709b8 (patch)
tree5b9c07b3c5d3b14a670dce2bb8fa1e4d94942d53
parenta892bb6f1685b84b74ba37e5a6a24ee8fb45eee7 (diff)
Introducing product flavor 'beta' and removing product flavor 'playstore'0.0.8-beta1
-rw-r--r--build.gradle8
-rw-r--r--gradle/wrapper/gradle-wrapper.properties4
-rw-r--r--src/beta/res/drawable-hdpi/ic_launcher.pngbin0 -> 5133 bytes
-rw-r--r--src/beta/res/drawable-mdpi/ic_launcher.pngbin0 -> 3096 bytes
-rw-r--r--src/beta/res/drawable-xhdpi/ic_launcher.pngbin0 -> 7317 bytes
-rw-r--r--src/beta/res/drawable-xxhdpi/ic_launcher.pngbin0 -> 11957 bytes
-rw-r--r--src/beta/res/drawable-xxxhdpi/ic_launcher.pngbin0 -> 16932 bytes
-rw-r--r--src/beta/res/values/strings.xml4
-rw-r--r--src/main/AndroidManifest.xml2
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/providers/ConversationsPlusFileProvider.java3
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/services/PushManagementService.java (renamed from src/free/java/de/thedevstack/conversationsplus/services/PushManagementService.java)0
-rw-r--r--src/playstore/AndroidManifest.xml35
-rw-r--r--src/playstore/java/eu/siacs/conversations/services/InstanceIdService.java15
-rw-r--r--src/playstore/java/eu/siacs/conversations/services/PushManagementService.java119
-rw-r--r--src/playstore/java/eu/siacs/conversations/services/PushMessageReceiver.java20
15 files changed, 15 insertions, 195 deletions
diff --git a/build.gradle b/build.gradle
index 0d7069a3..71d726b6 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,7 +5,7 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.0.0'
+ classpath 'com.android.tools.build:gradle:2.2.0'
}
}
@@ -82,6 +82,7 @@ android {
versionName "0.0.8"
archivesBaseName += "-$versionName"
apply from: 'configuration.gradle'
+ applicationId "de.thedevstack.conversationsplus"
}
dexOptions {
@@ -95,7 +96,10 @@ android {
}
productFlavors {
- playstore
+ beta {
+ applicationIdSuffix ".beta"
+ versionNameSuffix "-beta"
+ }
free
}
testOptions {
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 518d1f1f..f141b3c1 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Wed May 31 19:49:33 CEST 2017
+#Sun Jan 28 20:51:58 CET 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.12-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
diff --git a/src/beta/res/drawable-hdpi/ic_launcher.png b/src/beta/res/drawable-hdpi/ic_launcher.png
new file mode 100644
index 00000000..16c7a7ce
--- /dev/null
+++ b/src/beta/res/drawable-hdpi/ic_launcher.png
Binary files differ
diff --git a/src/beta/res/drawable-mdpi/ic_launcher.png b/src/beta/res/drawable-mdpi/ic_launcher.png
new file mode 100644
index 00000000..3a59b17e
--- /dev/null
+++ b/src/beta/res/drawable-mdpi/ic_launcher.png
Binary files differ
diff --git a/src/beta/res/drawable-xhdpi/ic_launcher.png b/src/beta/res/drawable-xhdpi/ic_launcher.png
new file mode 100644
index 00000000..9afafb85
--- /dev/null
+++ b/src/beta/res/drawable-xhdpi/ic_launcher.png
Binary files differ
diff --git a/src/beta/res/drawable-xxhdpi/ic_launcher.png b/src/beta/res/drawable-xxhdpi/ic_launcher.png
new file mode 100644
index 00000000..b12d83bb
--- /dev/null
+++ b/src/beta/res/drawable-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/src/beta/res/drawable-xxxhdpi/ic_launcher.png b/src/beta/res/drawable-xxxhdpi/ic_launcher.png
new file mode 100644
index 00000000..d0654a90
--- /dev/null
+++ b/src/beta/res/drawable-xxxhdpi/ic_launcher.png
Binary files differ
diff --git a/src/beta/res/values/strings.xml b/src/beta/res/values/strings.xml
new file mode 100644
index 00000000..7116ad23
--- /dev/null
+++ b/src/beta/res/values/strings.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="app_name" translatable="false">Conversations+ BETA</string>
+</resources>
diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml
index ca369a5d..c2fe9878 100644
--- a/src/main/AndroidManifest.xml
+++ b/src/main/AndroidManifest.xml
@@ -176,7 +176,7 @@
</intent-filter>
</service>
<provider
- android:authorities="de.thedevstack.conversationsplus"
+ android:authorities="${applicationId}"
android:name=".providers.ConversationsPlusFileProvider"
android:exported="false"
android:grantUriPermissions="true">
diff --git a/src/main/java/de/thedevstack/conversationsplus/providers/ConversationsPlusFileProvider.java b/src/main/java/de/thedevstack/conversationsplus/providers/ConversationsPlusFileProvider.java
index a718b161..577a5dd4 100644
--- a/src/main/java/de/thedevstack/conversationsplus/providers/ConversationsPlusFileProvider.java
+++ b/src/main/java/de/thedevstack/conversationsplus/providers/ConversationsPlusFileProvider.java
@@ -3,6 +3,7 @@ package de.thedevstack.conversationsplus.providers;
import android.net.Uri;
import android.support.v4.content.FileProvider;
+import de.thedevstack.conversationsplus.BuildConfig;
import de.thedevstack.conversationsplus.ConversationsPlusApplication;
import de.thedevstack.conversationsplus.entities.DownloadableFile;
@@ -12,7 +13,7 @@ import de.thedevstack.conversationsplus.entities.DownloadableFile;
public class ConversationsPlusFileProvider extends FileProvider {
private static final String SCHEME = "content";
- private static final String AUTHORITY = "de.thedevstack.conversationsplus";
+ private static final String AUTHORITY = BuildConfig.APPLICATION_ID;
public static Uri createUriForPrivateFile(DownloadableFile file) {
return FileProvider.getUriForFile(ConversationsPlusApplication.getAppContext(), AUTHORITY, file);
diff --git a/src/free/java/de/thedevstack/conversationsplus/services/PushManagementService.java b/src/main/java/de/thedevstack/conversationsplus/services/PushManagementService.java
index c11b6e98..c11b6e98 100644
--- a/src/free/java/de/thedevstack/conversationsplus/services/PushManagementService.java
+++ b/src/main/java/de/thedevstack/conversationsplus/services/PushManagementService.java
diff --git a/src/playstore/AndroidManifest.xml b/src/playstore/AndroidManifest.xml
deleted file mode 100644
index a1b91be3..00000000
--- a/src/playstore/AndroidManifest.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest
- package="eu.siacs.conversations"
- xmlns:android="http://schemas.android.com/apk/res/android">
-
- <permission android:name="eu.siacs.conversations.permission.C2D_MESSAGE"
- android:protectionLevel="signature"/>
- <uses-permission android:name="eu.siacs.conversations.permission.C2D_MESSAGE"/>
-
- <application>
-
- <receiver
- android:name="com.google.android.gms.gcm.GcmReceiver"
- android:exported="true"
- android:permission="com.google.android.c2dm.permission.SEND" >
- <intent-filter>
- <action android:name="com.google.android.c2dm.intent.RECEIVE" />
- <category android:name="com.example.gcm" />
- </intent-filter>
- </receiver>
- <service
- android:name=".services.PushMessageReceiver"
- android:exported="false" >
- <intent-filter>
- <action android:name="com.google.android.c2dm.intent.RECEIVE" />
- </intent-filter>
- </service>
-
- <service android:name=".services.InstanceIdService" android:exported="false">
- <intent-filter>
- <action android:name="com.google.android.gms.iid.InstanceID"/>
- </intent-filter>
- </service>
- </application>
-</manifest>
diff --git a/src/playstore/java/eu/siacs/conversations/services/InstanceIdService.java b/src/playstore/java/eu/siacs/conversations/services/InstanceIdService.java
deleted file mode 100644
index dc080430..00000000
--- a/src/playstore/java/eu/siacs/conversations/services/InstanceIdService.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package eu.siacs.conversations.services;
-
-import android.content.Intent;
-
-import com.google.android.gms.iid.InstanceIDListenerService;
-
-public class InstanceIdService extends InstanceIDListenerService {
-
- @Override
- public void onTokenRefresh() {
- Intent intent = new Intent(this, XmppConnectionService.class);
- intent.setAction(XmppConnectionService.ACTION_GCM_TOKEN_REFRESH);
- startService(intent);
- }
-}
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);
- }
-}
diff --git a/src/playstore/java/eu/siacs/conversations/services/PushMessageReceiver.java b/src/playstore/java/eu/siacs/conversations/services/PushMessageReceiver.java
deleted file mode 100644
index 37c95e13..00000000
--- a/src/playstore/java/eu/siacs/conversations/services/PushMessageReceiver.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package eu.siacs.conversations.services;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.util.Log;
-
-import com.google.android.gms.gcm.GcmListenerService;
-
-import eu.siacs.conversations.Config;
-
-public class PushMessageReceiver extends GcmListenerService {
-
- @Override
- public void onMessageReceived(String from, Bundle data) {
- Intent intent = new Intent(this, XmppConnectionService.class);
- intent.setAction(XmppConnectionService.ACTION_GCM_MESSAGE_RECEIVED);
- intent.replaceExtras(data);
- startService(intent);
- }
-}