aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/org/pacien/tincapp/intent
diff options
context:
space:
mode:
authorpacien2018-08-07 00:19:57 +0200
committerpacien2018-08-07 00:19:57 +0200
commitdbba24ef009e5fa9ad428b0ba426b41672fa6b2e (patch)
treec7ff813d7ca0821b4866beeb59f7539cbff6bdca /app/src/main/java/org/pacien/tincapp/intent
parent123d40dbf3921c5b39938f3b18460eb4a11bf3d6 (diff)
downloadtincapp-dbba24ef009e5fa9ad428b0ba426b41672fa6b2e.tar.gz
Rename source directory
Diffstat (limited to 'app/src/main/java/org/pacien/tincapp/intent')
-rw-r--r--app/src/main/java/org/pacien/tincapp/intent/Actions.kt39
-rw-r--r--app/src/main/java/org/pacien/tincapp/intent/BroadcastMapper.kt38
2 files changed, 0 insertions, 77 deletions
diff --git a/app/src/main/java/org/pacien/tincapp/intent/Actions.kt b/app/src/main/java/org/pacien/tincapp/intent/Actions.kt
deleted file mode 100644
index 85cfd29..0000000
--- a/app/src/main/java/org/pacien/tincapp/intent/Actions.kt
+++ /dev/null
@@ -1,39 +0,0 @@
1/*
2 * Tinc App, an Android binding and user interface for the tinc mesh VPN daemon
3 * Copyright (C) 2017-2018 Pacien TRAN-GIRARD
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <https://www.gnu.org/licenses/>.
17 */
18
19package org.pacien.tincapp.intent
20
21import android.net.Uri
22import org.pacien.tincapp.BuildConfig
23
24/**
25 * @author pacien
26 */
27object Actions {
28 const val PREFIX = "${BuildConfig.APPLICATION_ID}.intent.action"
29 const val ACTION_CONNECT = "$PREFIX.CONNECT"
30 const val ACTION_DISCONNECT = "$PREFIX.DISCONNECT"
31 const val ACTION_SYSTEM_CONNECT = "android.net.VpnService"
32 const val EVENT_CONNECTED = "$PREFIX.CONNECTED"
33 const val EVENT_DISCONNECTED = "$PREFIX.DISCONNECTED"
34 const val EVENT_ABORTED = "$PREFIX.ABORTED"
35 const val TINC_SCHEME = "tinc"
36
37 fun buildNetworkUri(netName: String, passphrase: String? = null): Uri =
38 Uri.Builder().scheme(Actions.TINC_SCHEME).opaquePart(netName).fragment(passphrase).build()
39}
diff --git a/app/src/main/java/org/pacien/tincapp/intent/BroadcastMapper.kt b/app/src/main/java/org/pacien/tincapp/intent/BroadcastMapper.kt
deleted file mode 100644
index f581c99..0000000
--- a/app/src/main/java/org/pacien/tincapp/intent/BroadcastMapper.kt
+++ /dev/null
@@ -1,38 +0,0 @@
1/*
2 * Tinc App, an Android binding and user interface for the tinc mesh VPN daemon
3 * Copyright (C) 2017-2018 Pacien TRAN-GIRARD
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <https://www.gnu.org/licenses/>.
17 */
18
19package org.pacien.tincapp.intent
20
21import android.content.BroadcastReceiver
22import android.content.Context
23import android.content.Intent
24import android.content.IntentFilter
25import android.support.v4.content.LocalBroadcastManager
26import org.pacien.tincapp.context.App
27
28/**
29 * @author pacien
30 */
31class BroadcastMapper(private val actionHandlers: Map<String, () -> Unit>) : BroadcastReceiver() {
32 private val broadcastManager = LocalBroadcastManager.getInstance(App.getContext())
33 private val intentFilter = actionHandlers.keys.fold(IntentFilter()) { filter, action -> filter.apply { addAction(action) } }
34
35 fun register() = broadcastManager.registerReceiver(this, intentFilter)
36 fun unregister() = broadcastManager.unregisterReceiver(this)
37 override fun onReceive(context: Context?, intent: Intent?) = actionHandlers[intent?.action]?.invoke() ?: Unit
38}