Change summary
src/main/AndroidManifest.xml | 4
src/main/java/eu/siacs/conversations/services/EventReceiver.java | 4
src/quicksy/AndroidManifest.xml | 9
src/quicksy/java/eu/siacs/conversations/services/QuickConversationsService.java | 2
src/quicksy/java/eu/siacs/conversations/services/SMSReceiver.java | 22
5 files changed, 36 insertions(+), 5 deletions(-)
Detailed changes
@@ -72,14 +72,12 @@
<service android:name=".services.XmppConnectionService" />
- <receiver android:name=".services.EventReceiver"
- android:permission="com.google.android.gms.auth.api.phone.permission.SEND">
+ <receiver android:name=".services.EventReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.intent.action.ACTION_SHUTDOWN" />
<action android:name="android.media.RINGER_MODE_CHANGED" />
- <action android:name="com.google.android.gms.auth.api.phone.SMS_RETRIEVED"/>
</intent-filter>
</receiver>
@@ -5,7 +5,9 @@ import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.preference.PreferenceManager;
+
import androidx.core.content.ContextCompat;
+
import android.util.Log;
import com.google.common.base.Strings;
@@ -27,7 +29,7 @@ public class EventReceiver extends BroadcastReceiver {
if (extras != null) {
intentForService.putExtras(extras);
}
- if ("ui".equals(action) || QuickConversationsService.SMS_RETRIEVED_ACTION.equals(action) || hasEnabledAccounts(context)) {
+ if ("ui".equals(action) || hasEnabledAccounts(context)) {
Compatibility.startService(context, intentForService);
} else {
Log.d(Config.LOGTAG, "EventReceiver ignored action " + intentForService.getAction());
@@ -32,5 +32,14 @@
android:label="@string/enter_your_name"
android:launchMode="singleTask" />
+ <receiver
+ android:name=".services.SMSReceiver"
+ android:exported="true"
+ android:permission="com.google.android.gms.auth.api.phone.permission.SEND">
+ <intent-filter>
+ <action android:name="com.google.android.gms.auth.api.phone.SMS_RETRIEVED" />
+ </intent-filter>
+ </receiver>
+
</application>
</manifest>
@@ -134,7 +134,7 @@ public class QuickConversationsService extends AbstractQuickConversationsService
connection.setReadTimeout(Config.SOCKET_TIMEOUT * 1000);
setHeader(connection);
final int code = connection.getResponseCode();
- if (code == 200 || code == 201) {
+ if (code == 200) {
createAccountAndWait(phoneNumber, 0L);
} else if (code == 429) {
createAccountAndWait(phoneNumber, retryAfter(connection));
@@ -0,0 +1,22 @@
+package eu.siacs.conversations.services;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.preference.PreferenceManager;
+import android.util.Log;
+
+import com.google.common.base.Strings;
+
+import eu.siacs.conversations.Config;
+import eu.siacs.conversations.utils.Compatibility;
+
+public class SMSReceiver extends BroadcastReceiver {
+
+ @Override
+ public void onReceive(final Context context, final Intent intent) {
+ intent.setClass(context, XmppConnectionService.class);
+ Compatibility.startService(context, intent);
+ }
+}