diff options
author | 2021-10-28 19:10:04 +0200 | |
---|---|---|
committer | 2021-10-29 16:42:36 +0200 | |
commit | a03ad51622d338d1c116aa8cae3c0effb1b7bcf2 (patch) | |
tree | 5bb6bcd061d5ec60c1ec5f305facca4f7ab56217 /ui/src/main/java/com/wireguard/android/preference/ModuleDownloaderPreference.kt | |
parent | ui: fix and silence lint errors (diff) | |
download | wireguard-android-a03ad51622d338d1c116aa8cae3c0effb1b7bcf2.tar.xz wireguard-android-a03ad51622d338d1c116aa8cae3c0effb1b7bcf2.zip |
tunnel: remove kernel module downloader
Nathan Chance dropped the ball repeatedly and never maintained this in a
consistent way that anybody could use. With Android 12 out now, just
drop it all together. A bummer, but I don't see much of a choice.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'ui/src/main/java/com/wireguard/android/preference/ModuleDownloaderPreference.kt')
-rw-r--r-- | ui/src/main/java/com/wireguard/android/preference/ModuleDownloaderPreference.kt | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/ui/src/main/java/com/wireguard/android/preference/ModuleDownloaderPreference.kt b/ui/src/main/java/com/wireguard/android/preference/ModuleDownloaderPreference.kt deleted file mode 100644 index 5ba2c4f0..00000000 --- a/ui/src/main/java/com/wireguard/android/preference/ModuleDownloaderPreference.kt +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright © 2019 WireGuard LLC. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0 - */ -package com.wireguard.android.preference - -import android.content.Context -import android.content.Intent -import android.system.OsConstants -import android.util.AttributeSet -import android.widget.Toast -import androidx.preference.Preference -import com.wireguard.android.Application -import com.wireguard.android.R -import com.wireguard.android.activity.SettingsActivity -import com.wireguard.android.util.ErrorMessages -import com.wireguard.android.util.UserKnobs -import com.wireguard.android.util.lifecycleScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch -import kotlinx.coroutines.withContext -import kotlin.system.exitProcess - -class ModuleDownloaderPreference(context: Context, attrs: AttributeSet?) : Preference(context, attrs) { - private var state = State.INITIAL - override fun getSummary() = context.getString(state.messageResourceId) - - override fun getTitle() = context.getString(R.string.module_installer_title) - - override fun onClick() { - setState(State.WORKING) - lifecycleScope.launch { - try { - when (withContext(Dispatchers.IO) { Application.getModuleLoader().download() }) { - OsConstants.ENOENT -> setState(State.NOTFOUND) - OsConstants.EXIT_SUCCESS -> { - setState(State.SUCCESS) - UserKnobs.setDisableKernelModule(null) - withContext(Dispatchers.IO) { - val restartIntent = Intent(context, SettingsActivity::class.java) - restartIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) - restartIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) - Application.get().startActivity(restartIntent) - exitProcess(0) - } - } - else -> setState(State.FAILURE) - } - } catch (e: Throwable) { - setState(State.FAILURE) - Toast.makeText(context, ErrorMessages[e], Toast.LENGTH_LONG).show() - } - } - } - - private fun setState(state: State) { - if (this.state == state) return - this.state = state - if (isEnabled != state.shouldEnableView) isEnabled = state.shouldEnableView - notifyChanged() - } - - private enum class State(val messageResourceId: Int, val shouldEnableView: Boolean) { - INITIAL(R.string.module_installer_initial, true), - FAILURE(R.string.module_installer_error, true), - WORKING(R.string.module_installer_working, false), - SUCCESS(R.string.success_application_will_restart, false), - NOTFOUND(R.string.module_installer_not_found, false); - } -} |