Refine finding default Wi-Fi interface

This commit is contained in:
Mygod
2018-01-05 00:53:55 +08:00
parent dc2db049c7
commit 7e30ddf26d
2 changed files with 19 additions and 6 deletions

View File

@@ -11,6 +11,7 @@ import android.support.customtabs.CustomTabsIntent
import android.support.v4.content.ContextCompat
import android.support.v4.content.LocalBroadcastManager
import android.support.v7.preference.Preference
import be.mygod.vpnhotspot.App.Companion.app
import be.mygod.vpnhotspot.preference.AlwaysAutoCompleteEditTextPreferenceDialogFragmentCompat
import com.takisoft.fix.support.v7.preference.PreferenceFragmentCompatDividers
import java.net.NetworkInterface
@@ -56,11 +57,8 @@ class SettingsFragment : PreferenceFragmentCompatDividers(), ServiceConnection {
.filter { it.isUp && !it.isLoopback && it.interfaceAddresses.isNotEmpty() }
.map { it.name }.sorted().toList().toTypedArray()))
HotspotService.KEY_WIFI -> displayPreferenceDialog(
AlwaysAutoCompleteEditTextPreferenceDialogFragmentCompat(), HotspotService.KEY_WIFI,
Bundle().put(AlwaysAutoCompleteEditTextPreferenceDialogFragmentCompat.KEY_SUGGESTIONS,
NetworkInterface.getNetworkInterfaces().asSequence()
.filter { !it.isLoopback } // wlan0 is down in airplane mode
.map { it.name }.sorted().toList().toTypedArray()))
AlwaysAutoCompleteEditTextPreferenceDialogFragmentCompat(), HotspotService.KEY_WIFI, Bundle()
.put(AlwaysAutoCompleteEditTextPreferenceDialogFragmentCompat.KEY_SUGGESTIONS, app.wifiInterfaces))
else -> super.onDisplayPreferenceDialog(preference)
}