Misc fixes

This commit is contained in:
Mygod
2020-01-23 10:02:00 +08:00
parent a3e954d102
commit b55ad234ac
5 changed files with 13 additions and 15 deletions

View File

@@ -169,9 +169,11 @@
</provider>
<provider android:name="com.crashlytics.android.CrashlyticsInitProvider"
tools:ignore="MissingClass"
tools:node="remove"/>
<service android:name="com.google.firebase.components.ComponentDiscoveryService"
android:directBootAware="true"/>
android:directBootAware="true"
tools:ignore="MissingClass"/>
</application>

View File

@@ -7,7 +7,6 @@ import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import androidx.fragment.app.replace
import androidx.lifecycle.observe
import be.mygod.vpnhotspot.client.ClientViewModel
import be.mygod.vpnhotspot.client.ClientsFragment
@@ -28,7 +27,7 @@ class MainActivity : AppCompatActivity(), BottomNavigationView.OnNavigationItemS
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.navigation.setOnNavigationItemSelectedListener(this)
if (savedInstanceState == null) displayFragment<TetheringFragment>()
if (savedInstanceState == null) displayFragment(TetheringFragment())
val model by viewModels<ClientViewModel>()
if (RepeaterService.supported) ServiceForegroundConnector(this, model, RepeaterService::class)
model.clients.observe(this) { clients ->
@@ -49,29 +48,29 @@ class MainActivity : AppCompatActivity(), BottomNavigationView.OnNavigationItemS
R.id.navigation_clients -> {
if (!item.isChecked) {
item.isChecked = true
displayFragment<ClientsFragment>()
displayFragment(ClientsFragment())
}
true
}
R.id.navigation_tethering -> {
if (!item.isChecked) {
item.isChecked = true
displayFragment<TetheringFragment>()
displayFragment(TetheringFragment())
}
true
}
R.id.navigation_settings -> {
if (!item.isChecked) {
item.isChecked = true
displayFragment<SettingsPreferenceFragment>()
displayFragment(SettingsPreferenceFragment())
}
true
}
else -> false
}
private inline fun <reified F : Fragment> displayFragment() =
supportFragmentManager.beginTransaction().replace<F>(R.id.fragmentHolder).commitAllowingStateLoss()
private fun displayFragment(fragment: Fragment) =
supportFragmentManager.beginTransaction().replace(R.id.fragmentHolder, fragment).commitAllowingStateLoss()
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)

View File

@@ -5,7 +5,6 @@ import android.net.LinkProperties
import be.mygod.vpnhotspot.App.Companion.app
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import java.net.InetAddress
import java.util.*
import java.util.concurrent.ConcurrentHashMap
@@ -72,10 +71,6 @@ abstract class UpstreamMonitor {
val callbacks = Collections.newSetFromMap(ConcurrentHashMap<Callback, Boolean>())
protected abstract val currentLinkProperties: LinkProperties?
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)
abstract fun destroyLocked()

View File

@@ -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
*/
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")
val WifiP2pGroup.netId get() = getNetworkId.invoke(this) as Int
}

View File

@@ -75,7 +75,7 @@
android:background="?android:attr/selectableItemBackground"
android:padding="16dp"
android:onClick="@{_ -> data.wps()}"
android:visibility="@{data.serviceStarted &amp;&amp; WifiP2pManagerHelper.startWps != null}">
android:visibility="@{data.serviceStarted &amp;&amp; WifiP2pManagerHelper.getStartWps() != null}">
<Space
android:layout_width="40dp"