Initial support for Android 14 DP1
This commit is contained in:
@@ -19,7 +19,7 @@ android {
|
|||||||
targetCompatibility(javaVersion)
|
targetCompatibility(javaVersion)
|
||||||
}
|
}
|
||||||
kotlin.jvmToolchain(javaVersion)
|
kotlin.jvmToolchain(javaVersion)
|
||||||
compileSdk = 33
|
compileSdkPreview = "UpsideDownCake"
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId = "be.mygod.vpnhotspot"
|
applicationId = "be.mygod.vpnhotspot"
|
||||||
minSdk = 28
|
minSdk = 28
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import android.widget.Toast
|
|||||||
import androidx.annotation.RequiresApi
|
import androidx.annotation.RequiresApi
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.appcompat.widget.Toolbar
|
import androidx.appcompat.widget.Toolbar
|
||||||
|
import androidx.core.os.BuildCompat
|
||||||
import androidx.core.os.persistableBundleOf
|
import androidx.core.os.persistableBundleOf
|
||||||
import androidx.core.view.isGone
|
import androidx.core.view.isGone
|
||||||
import be.mygod.librootkotlinx.toByteArray
|
import be.mygod.librootkotlinx.toByteArray
|
||||||
@@ -34,6 +35,7 @@ import be.mygod.vpnhotspot.databinding.DialogWifiApBinding
|
|||||||
import be.mygod.vpnhotspot.net.monitor.TetherTimeoutMonitor
|
import be.mygod.vpnhotspot.net.monitor.TetherTimeoutMonitor
|
||||||
import be.mygod.vpnhotspot.util.QRCodeDialog
|
import be.mygod.vpnhotspot.util.QRCodeDialog
|
||||||
import be.mygod.vpnhotspot.util.RangeInput
|
import be.mygod.vpnhotspot.util.RangeInput
|
||||||
|
import be.mygod.vpnhotspot.util.Services
|
||||||
import be.mygod.vpnhotspot.util.readableMessage
|
import be.mygod.vpnhotspot.util.readableMessage
|
||||||
import be.mygod.vpnhotspot.util.showAllowingStateLoss
|
import be.mygod.vpnhotspot.util.showAllowingStateLoss
|
||||||
import com.google.android.material.textfield.TextInputLayout
|
import com.google.android.material.textfield.TextInputLayout
|
||||||
@@ -512,9 +514,14 @@ class WifiApDialogFragment : AlertDialogFragment<WifiApDialogFragment.Arg, WifiA
|
|||||||
val canCopy = timeoutError == null && bssidValid && maxClientError == null && listsNoError &&
|
val canCopy = timeoutError == null && bssidValid && maxClientError == null && listsNoError &&
|
||||||
bridgedTimeoutError == null && vendorElementsError == null && persistentRandomizedMacValid &&
|
bridgedTimeoutError == null && vendorElementsError == null && persistentRandomizedMacValid &&
|
||||||
acsNoError && bandwidthError == null
|
acsNoError && bandwidthError == null
|
||||||
(dialog as? AlertDialog)?.getButton(DialogInterface.BUTTON_POSITIVE)?.isEnabled =
|
val canGenerate = ssidOk && passwordValid && bandError == null && canCopy
|
||||||
ssidOk && passwordValid && bandError == null && canCopy
|
(dialog as? AlertDialog)?.getButton(DialogInterface.BUTTON_POSITIVE)?.isEnabled = canGenerate
|
||||||
dialogView.toolbar.menu.findItem(android.R.id.copy).isEnabled = canCopy
|
dialogView.toolbar.menu.apply {
|
||||||
|
findItem(R.id.invalid).isVisible = canGenerate && !arg.p2pMode && !arg.readOnly &&
|
||||||
|
BuildCompat.isAtLeastU() &&
|
||||||
|
!Services.wifi.validateSoftApConfiguration(generateConfig().toPlatform())
|
||||||
|
findItem(android.R.id.copy).isEnabled = canCopy
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) { }
|
override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) { }
|
||||||
|
|||||||
@@ -1,6 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
<item android:id="@+id/invalid"
|
||||||
|
android:icon="@drawable/ic_alert_warning"
|
||||||
|
android:visible="false"
|
||||||
|
android:title="@string/configuration_invalid"
|
||||||
|
app:iconTint="@color/design_default_color_error"
|
||||||
|
app:showAsAction="always"
|
||||||
|
tools:visible="true"/>
|
||||||
<item android:id="@android:id/copy"
|
<item android:id="@android:id/copy"
|
||||||
android:alphabeticShortcut="c"
|
android:alphabeticShortcut="c"
|
||||||
android:icon="?attr/actionModeCopyDrawable"
|
android:icon="?attr/actionModeCopyDrawable"
|
||||||
|
|||||||
@@ -174,6 +174,7 @@
|
|||||||
<string name="permission_missing">权限不足</string>
|
<string name="permission_missing">权限不足</string>
|
||||||
|
|
||||||
<string name="configuration_view">设置 WLAN</string>
|
<string name="configuration_view">设置 WLAN</string>
|
||||||
|
<string name="configuration_invalid">配置可能无效</string>
|
||||||
<string name="configuration_share">使用 QR 码分享</string>
|
<string name="configuration_share">使用 QR 码分享</string>
|
||||||
<string name="configuration_rejected">Android 系统拒绝使用此配置。(详情参见日志)</string>
|
<string name="configuration_rejected">Android 系统拒绝使用此配置。(详情参见日志)</string>
|
||||||
<string name="wifi_ssid" msgid="5519636102673067319">"网络名称"</string>
|
<string name="wifi_ssid" msgid="5519636102673067319">"网络名称"</string>
|
||||||
|
|||||||
@@ -199,6 +199,7 @@
|
|||||||
<string name="permission_missing">Permission missing</string>
|
<string name="permission_missing">Permission missing</string>
|
||||||
|
|
||||||
<string name="configuration_view">Wi\u2011Fi configuration</string>
|
<string name="configuration_view">Wi\u2011Fi configuration</string>
|
||||||
|
<string name="configuration_invalid">Possibly invalid configuration</string>
|
||||||
<string name="configuration_share">Share via QR code</string>
|
<string name="configuration_share">Share via QR code</string>
|
||||||
<string name="configuration_rejected">Android system refuses such configuration. (see logcat)</string>
|
<string name="configuration_rejected">Android system refuses such configuration. (see logcat)</string>
|
||||||
<string name="wifi_ssid">Network name</string>
|
<string name="wifi_ssid">Network name</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user