aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/app/src/main/java/com/wireguard/android/BootShutdownReceiver.java
diff options
context:
space:
mode:
authorSamuel Holland <samuel@sholland.org>2018-01-01 02:06:37 -0600
committerSamuel Holland <samuel@sholland.org>2018-01-06 04:09:29 -0600
commit839576738819b2fbd7bce69dbe32af9f415af384 (patch)
tree96a7cd9846a093dfcdacfef285b0a4d77000edf0 /app/src/main/java/com/wireguard/android/BootShutdownReceiver.java
parentRename package widgets -> widget (diff)
downloadwireguard-android-839576738819b2fbd7bce69dbe32af9f415af384.tar.xz
wireguard-android-839576738819b2fbd7bce69dbe32af9f415af384.zip
Serviceless rewrite, part 1
Signed-off-by: Samuel Holland <samuel@sholland.org>
Diffstat (limited to 'app/src/main/java/com/wireguard/android/BootShutdownReceiver.java')
-rw-r--r--app/src/main/java/com/wireguard/android/BootShutdownReceiver.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/app/src/main/java/com/wireguard/android/BootShutdownReceiver.java b/app/src/main/java/com/wireguard/android/BootShutdownReceiver.java
new file mode 100644
index 00000000..37de83c0
--- /dev/null
+++ b/app/src/main/java/com/wireguard/android/BootShutdownReceiver.java
@@ -0,0 +1,28 @@
+package com.wireguard.android;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.util.Log;
+
+import com.wireguard.android.model.TunnelManager;
+import com.wireguard.android.util.ExceptionLoggers;
+
+public class BootShutdownReceiver extends BroadcastReceiver {
+ private static final String TAG = BootShutdownReceiver.class.getSimpleName();
+
+ @Override
+ public void onReceive(final Context context, final Intent intent) {
+ final String action = intent.getAction();
+ if (action == null)
+ return;
+ final TunnelManager tunnelManager = Application.getComponent().getTunnelManager();
+ if (Intent.ACTION_BOOT_COMPLETED.equals(action)) {
+ Log.d(TAG, "Broadcast receiver restoring state (boot)");
+ tunnelManager.restoreState().whenComplete(ExceptionLoggers.D);
+ } else if (Intent.ACTION_SHUTDOWN.equals(action)) {
+ Log.d(TAG, "Broadcast receiver saving state (shutdown)");
+ tunnelManager.saveState().whenComplete(ExceptionLoggers.D);
+ }
+ }
+}