diff --git a/briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java b/briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java index 02a5dc0ff71fad378ff9ecc856fee8d87e304b33..778a6f2b95c6454adaf4ddad3d174eb5239f13cb 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java @@ -150,6 +150,8 @@ public interface AndroidComponent @IoExecutor Executor ioExecutor(); + void inject(BootReceiver briarService); + void inject(BriarService briarService); void inject(BriarReportSender briarReportSender); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/BootReceiver.java b/briar-android/src/main/java/org/briarproject/briar/android/BootReceiver.java index 20fed7c138c7d9949535ef11f8c5b0520131d25b..fa2a90ec9d717632184d6672c6206c299c614e42 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/BootReceiver.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/BootReceiver.java @@ -9,9 +9,12 @@ import android.content.Intent; import android.support.v4.app.NotificationCompat; import android.support.v4.content.ContextCompat; +import org.briarproject.bramble.api.db.DatabaseConfig; import org.briarproject.briar.R; import org.briarproject.briar.android.navdrawer.NavDrawerActivity; +import javax.inject.Inject; + import static android.app.NotificationManager.IMPORTANCE_LOW; import static android.content.Context.NOTIFICATION_SERVICE; import static android.content.Intent.ACTION_BOOT_COMPLETED; @@ -25,11 +28,21 @@ import static org.briarproject.briar.api.android.AndroidNotificationManager.REMI public class BootReceiver extends BroadcastReceiver { + @Inject + DatabaseConfig databaseConfig; + @Override public void onReceive(Context ctx, Intent intent) { + AndroidComponent applicationComponent = + ((BriarApplication) ctx.getApplicationContext()) + .getApplicationComponent(); + applicationComponent.inject(this); + String action = intent.getAction(); if (action != null && action.equals(ACTION_BOOT_COMPLETED)) { - showSignInNotification(ctx); + if (databaseConfig.databaseExists()) { + showSignInNotification(ctx); + } } }