diff options
Diffstat (limited to 'app/src/main/java/com/wireguard/android/BootShutdownReceiver.java')
-rw-r--r-- | app/src/main/java/com/wireguard/android/BootShutdownReceiver.java | 28 |
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); + } + } +} |