Misc fixes
This commit is contained in:
@@ -169,9 +169,11 @@
|
|||||||
</provider>
|
</provider>
|
||||||
|
|
||||||
<provider android:name="com.crashlytics.android.CrashlyticsInitProvider"
|
<provider android:name="com.crashlytics.android.CrashlyticsInitProvider"
|
||||||
|
tools:ignore="MissingClass"
|
||||||
tools:node="remove"/>
|
tools:node="remove"/>
|
||||||
<service android:name="com.google.firebase.components.ComponentDiscoveryService"
|
<service android:name="com.google.firebase.components.ComponentDiscoveryService"
|
||||||
android:directBootAware="true"/>
|
android:directBootAware="true"
|
||||||
|
tools:ignore="MissingClass"/>
|
||||||
|
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import androidx.activity.viewModels
|
|||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import androidx.fragment.app.replace
|
|
||||||
import androidx.lifecycle.observe
|
import androidx.lifecycle.observe
|
||||||
import be.mygod.vpnhotspot.client.ClientViewModel
|
import be.mygod.vpnhotspot.client.ClientViewModel
|
||||||
import be.mygod.vpnhotspot.client.ClientsFragment
|
import be.mygod.vpnhotspot.client.ClientsFragment
|
||||||
@@ -28,7 +27,7 @@ class MainActivity : AppCompatActivity(), BottomNavigationView.OnNavigationItemS
|
|||||||
binding = ActivityMainBinding.inflate(layoutInflater)
|
binding = ActivityMainBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
binding.navigation.setOnNavigationItemSelectedListener(this)
|
binding.navigation.setOnNavigationItemSelectedListener(this)
|
||||||
if (savedInstanceState == null) displayFragment<TetheringFragment>()
|
if (savedInstanceState == null) displayFragment(TetheringFragment())
|
||||||
val model by viewModels<ClientViewModel>()
|
val model by viewModels<ClientViewModel>()
|
||||||
if (RepeaterService.supported) ServiceForegroundConnector(this, model, RepeaterService::class)
|
if (RepeaterService.supported) ServiceForegroundConnector(this, model, RepeaterService::class)
|
||||||
model.clients.observe(this) { clients ->
|
model.clients.observe(this) { clients ->
|
||||||
@@ -49,29 +48,29 @@ class MainActivity : AppCompatActivity(), BottomNavigationView.OnNavigationItemS
|
|||||||
R.id.navigation_clients -> {
|
R.id.navigation_clients -> {
|
||||||
if (!item.isChecked) {
|
if (!item.isChecked) {
|
||||||
item.isChecked = true
|
item.isChecked = true
|
||||||
displayFragment<ClientsFragment>()
|
displayFragment(ClientsFragment())
|
||||||
}
|
}
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
R.id.navigation_tethering -> {
|
R.id.navigation_tethering -> {
|
||||||
if (!item.isChecked) {
|
if (!item.isChecked) {
|
||||||
item.isChecked = true
|
item.isChecked = true
|
||||||
displayFragment<TetheringFragment>()
|
displayFragment(TetheringFragment())
|
||||||
}
|
}
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
R.id.navigation_settings -> {
|
R.id.navigation_settings -> {
|
||||||
if (!item.isChecked) {
|
if (!item.isChecked) {
|
||||||
item.isChecked = true
|
item.isChecked = true
|
||||||
displayFragment<SettingsPreferenceFragment>()
|
displayFragment(SettingsPreferenceFragment())
|
||||||
}
|
}
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
else -> false
|
else -> false
|
||||||
}
|
}
|
||||||
|
|
||||||
private inline fun <reified F : Fragment> displayFragment() =
|
private fun displayFragment(fragment: Fragment) =
|
||||||
supportFragmentManager.beginTransaction().replace<F>(R.id.fragmentHolder).commitAllowingStateLoss()
|
supportFragmentManager.beginTransaction().replace(R.id.fragmentHolder, fragment).commitAllowingStateLoss()
|
||||||
|
|
||||||
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||||
super.onActivityResult(requestCode, resultCode, data)
|
super.onActivityResult(requestCode, resultCode, data)
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import android.net.LinkProperties
|
|||||||
import be.mygod.vpnhotspot.App.Companion.app
|
import be.mygod.vpnhotspot.App.Companion.app
|
||||||
import kotlinx.coroutines.GlobalScope
|
import kotlinx.coroutines.GlobalScope
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import java.net.InetAddress
|
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import java.util.concurrent.ConcurrentHashMap
|
import java.util.concurrent.ConcurrentHashMap
|
||||||
|
|
||||||
@@ -72,10 +71,6 @@ abstract class UpstreamMonitor {
|
|||||||
val callbacks = Collections.newSetFromMap(ConcurrentHashMap<Callback, Boolean>())
|
val callbacks = Collections.newSetFromMap(ConcurrentHashMap<Callback, Boolean>())
|
||||||
protected abstract val currentLinkProperties: LinkProperties?
|
protected abstract val currentLinkProperties: LinkProperties?
|
||||||
open val currentIface: String? get() = currentLinkProperties?.interfaceName
|
open val currentIface: String? get() = currentLinkProperties?.interfaceName
|
||||||
/**
|
|
||||||
* There's no need for overriding currentDns for now.
|
|
||||||
*/
|
|
||||||
val currentDns: List<InetAddress> get() = currentLinkProperties?.dnsServers ?: emptyList()
|
|
||||||
protected abstract fun registerCallbackLocked(callback: Callback)
|
protected abstract fun registerCallbackLocked(callback: Callback)
|
||||||
abstract fun destroyLocked()
|
abstract fun destroyLocked()
|
||||||
|
|
||||||
|
|||||||
@@ -112,7 +112,9 @@ object WifiP2pManagerHelper {
|
|||||||
*
|
*
|
||||||
* Source: https://android.googlesource.com/platform/frameworks/base/+/android-4.2_r1/wifi/java/android/net/wifi/p2p/WifiP2pGroup.java#253
|
* Source: https://android.googlesource.com/platform/frameworks/base/+/android-4.2_r1/wifi/java/android/net/wifi/p2p/WifiP2pGroup.java#253
|
||||||
*/
|
*/
|
||||||
private val getNetworkId by lazy { WifiP2pGroup::class.java.getDeclaredMethod("getNetworkId") }
|
private val getNetworkId by lazy @SuppressLint("DiscouragedPrivateApi") {
|
||||||
|
WifiP2pGroup::class.java.getDeclaredMethod("getNetworkId")
|
||||||
|
}
|
||||||
@Deprecated("No longer used since API 29")
|
@Deprecated("No longer used since API 29")
|
||||||
val WifiP2pGroup.netId get() = getNetworkId.invoke(this) as Int
|
val WifiP2pGroup.netId get() = getNetworkId.invoke(this) as Int
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,7 +75,7 @@
|
|||||||
android:background="?android:attr/selectableItemBackground"
|
android:background="?android:attr/selectableItemBackground"
|
||||||
android:padding="16dp"
|
android:padding="16dp"
|
||||||
android:onClick="@{_ -> data.wps()}"
|
android:onClick="@{_ -> data.wps()}"
|
||||||
android:visibility="@{data.serviceStarted && WifiP2pManagerHelper.startWps != null}">
|
android:visibility="@{data.serviceStarted && WifiP2pManagerHelper.getStartWps() != null}">
|
||||||
|
|
||||||
<Space
|
<Space
|
||||||
android:layout_width="40dp"
|
android:layout_width="40dp"
|
||||||
|
|||||||
Reference in New Issue
Block a user