move SMS receiver into its own BroadcastReceiver
This commit is contained in:
		
							parent
							
								
									47d619b28e
								
							
						
					
					
						commit
						eea484af01
					
				@ -72,14 +72,12 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        <service android:name=".services.XmppConnectionService" />
 | 
					        <service android:name=".services.XmppConnectionService" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <receiver android:name=".services.EventReceiver"
 | 
					        <receiver android:name=".services.EventReceiver">
 | 
				
			||||||
            android:permission="com.google.android.gms.auth.api.phone.permission.SEND">
 | 
					 | 
				
			||||||
            <intent-filter>
 | 
					            <intent-filter>
 | 
				
			||||||
                <action android:name="android.intent.action.BOOT_COMPLETED" />
 | 
					                <action android:name="android.intent.action.BOOT_COMPLETED" />
 | 
				
			||||||
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
 | 
					                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
 | 
				
			||||||
                <action android:name="android.intent.action.ACTION_SHUTDOWN" />
 | 
					                <action android:name="android.intent.action.ACTION_SHUTDOWN" />
 | 
				
			||||||
                <action android:name="android.media.RINGER_MODE_CHANGED" />
 | 
					                <action android:name="android.media.RINGER_MODE_CHANGED" />
 | 
				
			||||||
                <action android:name="com.google.android.gms.auth.api.phone.SMS_RETRIEVED"/>
 | 
					 | 
				
			||||||
            </intent-filter>
 | 
					            </intent-filter>
 | 
				
			||||||
        </receiver>
 | 
					        </receiver>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -5,7 +5,9 @@ import android.content.Context;
 | 
				
			|||||||
import android.content.Intent;
 | 
					import android.content.Intent;
 | 
				
			||||||
import android.os.Bundle;
 | 
					import android.os.Bundle;
 | 
				
			||||||
import android.preference.PreferenceManager;
 | 
					import android.preference.PreferenceManager;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import androidx.core.content.ContextCompat;
 | 
					import androidx.core.content.ContextCompat;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import android.util.Log;
 | 
					import android.util.Log;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import com.google.common.base.Strings;
 | 
					import com.google.common.base.Strings;
 | 
				
			||||||
@ -27,7 +29,7 @@ public class EventReceiver extends BroadcastReceiver {
 | 
				
			|||||||
        if (extras != null) {
 | 
					        if (extras != null) {
 | 
				
			||||||
            intentForService.putExtras(extras);
 | 
					            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);
 | 
					            Compatibility.startService(context, intentForService);
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            Log.d(Config.LOGTAG, "EventReceiver ignored action " + intentForService.getAction());
 | 
					            Log.d(Config.LOGTAG, "EventReceiver ignored action " + intentForService.getAction());
 | 
				
			||||||
 | 
				
			|||||||
@ -32,5 +32,14 @@
 | 
				
			|||||||
            android:label="@string/enter_your_name"
 | 
					            android:label="@string/enter_your_name"
 | 
				
			||||||
            android:launchMode="singleTask" />
 | 
					            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>
 | 
					    </application>
 | 
				
			||||||
</manifest>
 | 
					</manifest>
 | 
				
			||||||
 | 
				
			|||||||
@ -134,7 +134,7 @@ public class QuickConversationsService extends AbstractQuickConversationsService
 | 
				
			|||||||
                    connection.setReadTimeout(Config.SOCKET_TIMEOUT * 1000);
 | 
					                    connection.setReadTimeout(Config.SOCKET_TIMEOUT * 1000);
 | 
				
			||||||
                    setHeader(connection);
 | 
					                    setHeader(connection);
 | 
				
			||||||
                    final int code = connection.getResponseCode();
 | 
					                    final int code = connection.getResponseCode();
 | 
				
			||||||
                    if (code == 200 || code == 201) {
 | 
					                    if (code == 200) {
 | 
				
			||||||
                        createAccountAndWait(phoneNumber, 0L);
 | 
					                        createAccountAndWait(phoneNumber, 0L);
 | 
				
			||||||
                    } else if (code == 429) {
 | 
					                    } else if (code == 429) {
 | 
				
			||||||
                        createAccountAndWait(phoneNumber, retryAfter(connection));
 | 
					                        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);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user