Put the listener for remote wipe activated event in BriarService rather than AndroidNotificationManager

This commit is contained in:
ameba23
2021-05-28 10:04:21 +02:00
parent 6b10c88858
commit b4de33c58d
3 changed files with 24 additions and 7 deletions

View File

@@ -242,10 +242,6 @@ class AndroidNotificationManagerImpl implements AndroidNotificationManager,
ContactAddedEvent c = (ContactAddedEvent) e;
// Don't show notifications for contacts added in person
if (!c.isVerified()) showContactAddedNotification();
} else if (e instanceof RemoteWipeActivatedEvent) {
Intent i = new Intent(appContext, RemoteWipeActivatedActivity.class);
i.addFlags(FLAG_ACTIVITY_NEW_TASK);
appContext.startActivity(i);
}
}

View File

@@ -18,14 +18,19 @@ import com.bumptech.glide.Glide;
import org.briarproject.bramble.api.account.AccountManager;
import org.briarproject.bramble.api.crypto.SecretKey;
import org.briarproject.bramble.api.event.Event;
import org.briarproject.bramble.api.event.EventBus;
import org.briarproject.bramble.api.event.EventListener;
import org.briarproject.bramble.api.lifecycle.LifecycleManager;
import org.briarproject.bramble.api.lifecycle.LifecycleManager.StartResult;
import org.briarproject.bramble.api.system.AndroidExecutor;
import org.briarproject.bramble.api.system.AndroidWakeLockManager;
import org.briarproject.briar.R;
import org.briarproject.briar.android.logout.HideUiActivity;
import org.briarproject.briar.android.remotewipe.RemoteWipeActivatedActivity;
import org.briarproject.briar.api.android.AndroidNotificationManager;
import org.briarproject.briar.api.android.LockManager;
import org.briarproject.briar.api.remotewipe.RemoteWipeActivatedEvent;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -62,7 +67,7 @@ import static org.briarproject.briar.api.android.AndroidNotificationManager.ONGO
import static org.briarproject.briar.api.android.LockManager.ACTION_LOCK;
import static org.briarproject.briar.api.android.LockManager.EXTRA_PID;
public class BriarService extends Service {
public class BriarService extends Service implements EventListener {
public static String EXTRA_START_RESULT =
"org.briarproject.briar.START_RESULT";
@@ -96,6 +101,8 @@ public class BriarService extends Service {
@Inject
volatile AndroidExecutor androidExecutor;
private volatile boolean started = false;
@Inject
volatile EventBus eventBus;
@Override
public void onCreate() {
@@ -173,6 +180,8 @@ public class BriarService extends Service {
filter.addAction("android.intent.action.QUICKBOOT_POWEROFF");
filter.addAction("com.htc.intent.action.QUICKBOOT_POWEROFF");
registerReceiver(receiver, filter);
eventBus.addListener(this);
}, "LifecycleStartup");
}
@@ -239,6 +248,7 @@ public class BriarService extends Service {
wakeLockManager.executeWakefully(() -> {
if (started) lifecycleManager.stopServices();
}, "LifecycleShutdown");
eventBus.removeListener(this);
}, "LifecycleShutdown");
}
@@ -327,6 +337,19 @@ public class BriarService extends Service {
stopSelf(); // This will call onDestroy()
}
/**
* Listens for the remote wipe event
*/
@Override
public void eventOccurred(Event e) {
if (e instanceof RemoteWipeActivatedEvent) {
Intent i = new Intent(this, RemoteWipeActivatedActivity.class);
i.addFlags(FLAG_ACTIVITY_NEW_TASK
| FLAG_ACTIVITY_CLEAR_TASK);
startActivity(i);
}
}
public class BriarBinder extends Binder {
/**

View File

@@ -52,7 +52,6 @@ import org.briarproject.briar.android.conversation.ConversationVisitor.TextCache
import org.briarproject.briar.android.forum.ForumActivity;
import org.briarproject.briar.android.introduction.IntroductionActivity;
import org.briarproject.briar.android.privategroup.conversation.GroupActivity;
import org.briarproject.briar.android.remotewipe.RemoteWipeActivatedActivity;
import org.briarproject.briar.android.remotewipe.activate.ActivateRemoteWipeActivity;
import org.briarproject.briar.android.socialbackup.recover.CustodianReturnShardActivity;
import org.briarproject.briar.android.util.BriarSnackbarBuilder;
@@ -79,7 +78,6 @@ import org.briarproject.briar.api.introduction.IntroductionManager;
import org.briarproject.briar.api.messaging.MessagingManager;
import org.briarproject.briar.api.messaging.PrivateMessageHeader;
import org.briarproject.briar.api.privategroup.invitation.GroupInvitationManager;
import org.briarproject.briar.api.remotewipe.RemoteWipeActivatedEvent;
import java.util.ArrayList;
import java.util.Collection;