From c359d78bcd45cb506bac51a616ef62af0845df85 Mon Sep 17 00:00:00 2001 From: pacien Date: Fri, 16 Feb 2018 18:23:01 +0100 Subject: Refactor activities and service, locking app at daemon startup and shutdown --- .../main/java/org/pacien/tincapp/intent/Actions.kt | 19 +++++++++++++++++++ .../pacien/tincapp/intent/SimpleBroadcastReceiver.kt | 19 +++++++++++++++++++ .../java/org/pacien/tincapp/intent/action/Actions.kt | 14 -------------- 3 files changed, 38 insertions(+), 14 deletions(-) create mode 100644 app/src/main/java/org/pacien/tincapp/intent/Actions.kt create mode 100644 app/src/main/java/org/pacien/tincapp/intent/SimpleBroadcastReceiver.kt delete mode 100644 app/src/main/java/org/pacien/tincapp/intent/action/Actions.kt (limited to 'app/src/main/java/org/pacien/tincapp/intent') diff --git a/app/src/main/java/org/pacien/tincapp/intent/Actions.kt b/app/src/main/java/org/pacien/tincapp/intent/Actions.kt new file mode 100644 index 0000000..4650952 --- /dev/null +++ b/app/src/main/java/org/pacien/tincapp/intent/Actions.kt @@ -0,0 +1,19 @@ +package org.pacien.tincapp.intent + +import android.net.Uri +import org.pacien.tincapp.BuildConfig + +/** + * @author pacien + */ +object Actions { + const val PREFIX = "${BuildConfig.APPLICATION_ID}.intent.action" + const val ACTION_CONNECT = "$PREFIX.CONNECT" + const val ACTION_DISCONNECT = "$PREFIX.DISCONNECT" + const val EVENT_CONNECTED = "$PREFIX.CONNECTED" + const val EVENT_DISCONNECTED = "$PREFIX.DISCONNECTED" + const val TINC_SCHEME = "tinc" + + fun buildNetworkUri(netName: String, passphrase: String? = null): Uri = + Uri.Builder().scheme(Actions.TINC_SCHEME).opaquePart(netName).fragment(passphrase).build() +} diff --git a/app/src/main/java/org/pacien/tincapp/intent/SimpleBroadcastReceiver.kt b/app/src/main/java/org/pacien/tincapp/intent/SimpleBroadcastReceiver.kt new file mode 100644 index 0000000..fb77174 --- /dev/null +++ b/app/src/main/java/org/pacien/tincapp/intent/SimpleBroadcastReceiver.kt @@ -0,0 +1,19 @@ +package org.pacien.tincapp.intent + +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent +import android.content.IntentFilter +import android.support.v4.content.LocalBroadcastManager +import org.pacien.tincapp.context.App + +/** + * @author pacien + */ +class SimpleBroadcastReceiver(private val intentFilter: IntentFilter, private val eventHandler: () -> Unit) : BroadcastReceiver() { + private val broadcastManager = LocalBroadcastManager.getInstance(App.getContext()) + + fun register() = broadcastManager.registerReceiver(this, intentFilter) + fun unregister() = broadcastManager.unregisterReceiver(this) + override fun onReceive(context: Context?, intent: Intent?) = eventHandler() +} diff --git a/app/src/main/java/org/pacien/tincapp/intent/action/Actions.kt b/app/src/main/java/org/pacien/tincapp/intent/action/Actions.kt deleted file mode 100644 index ece9b68..0000000 --- a/app/src/main/java/org/pacien/tincapp/intent/action/Actions.kt +++ /dev/null @@ -1,14 +0,0 @@ -package org.pacien.tincapp.intent.action - -import org.pacien.tincapp.BuildConfig - -/** - * @author pacien - */ - -private val PREFIX = "${BuildConfig.APPLICATION_ID}.intent.action" - -val ACTION_CONNECT = "$PREFIX.CONNECT" -val ACTION_DISCONNECT = "$PREFIX.DISCONNECT" - -val TINC_SCHEME = "tinc" -- cgit v1.2.3