11package com.andrerinas.wirelesshelper
22
3+ import android.app.ActivityManager
34import android.content.Context
45import android.content.Intent
56import android.content.pm.PackageManager
@@ -16,7 +17,6 @@ import androidx.core.app.ActivityCompat
1617import androidx.core.content.ContextCompat
1718import androidx.core.content.edit
1819import com.google.android.material.dialog.MaterialAlertDialogBuilder
19- import com.andrerinas.wirelesshelper.BuildConfig
2020
2121class MainActivity : AppCompatActivity () {
2222
@@ -34,8 +34,6 @@ class MainActivity : AppCompatActivity() {
3434 private lateinit var layoutBluetoothDevice: View
3535 private lateinit var tvBluetoothDeviceValue: TextView
3636
37- private lateinit var layoutWifiNetwork: View
38- private lateinit var tvWifiNetworkValue: TextView
3937 private lateinit var tvVersionValue: TextView
4038 private lateinit var layoutAbout: View
4139
@@ -62,8 +60,7 @@ class MainActivity : AppCompatActivity() {
6260 private val autoStartModes by lazy {
6361 arrayOf(
6462 getString(R .string.auto_start_no),
65- getString(R .string.auto_start_bt),
66- getString(R .string.auto_start_wifi)
63+ getString(R .string.auto_start_bt)
6764 )
6865 }
6966
@@ -90,8 +87,6 @@ class MainActivity : AppCompatActivity() {
9087 layoutBluetoothDevice = findViewById(R .id.layoutBluetoothDevice)
9188 tvBluetoothDeviceValue = findViewById(R .id.tvBluetoothDeviceValue)
9289
93- layoutWifiNetwork = findViewById(R .id.layoutWifiNetwork)
94- tvWifiNetworkValue = findViewById(R .id.tvWifiNetworkValue)
9590 tvVersionValue = findViewById(R .id.tvVersionValue)
9691 layoutAbout = findViewById(R .id.layoutAbout)
9792
@@ -106,6 +101,7 @@ class MainActivity : AppCompatActivity() {
106101 .setPositiveButton(android.R .string.ok, null )
107102 .show()
108103 }
104+
109105 btnToggleService.setOnClickListener {
110106 if (isServiceRunning) stopLauncherService() else checkPermissionsAndStart()
111107 }
@@ -143,37 +139,6 @@ class MainActivity : AppCompatActivity() {
143139 layoutBluetoothDevice.setOnClickListener {
144140 showBluetoothDeviceSelector()
145141 }
146-
147- layoutWifiNetwork.setOnClickListener {
148- showWifiSelector()
149- }
150- }
151-
152- private fun showWifiSelector () {
153- if (ContextCompat .checkSelfPermission(this , android.Manifest .permission.ACCESS_FINE_LOCATION ) != PackageManager .PERMISSION_GRANTED ) {
154- ActivityCompat .requestPermissions(this , arrayOf(android.Manifest .permission.ACCESS_FINE_LOCATION ), 102 )
155- return
156- }
157-
158- val wifiManager = applicationContext.getSystemService(Context .WIFI_SERVICE ) as android.net.wifi.WifiManager
159- val ssid = wifiManager.connectionInfo.ssid.removeSurrounding(" \" " )
160-
161- if (ssid == " <unknown ssid>" || ssid.isEmpty()) {
162- Toast .makeText(this , " Connect to a WiFi network first" , Toast .LENGTH_LONG ).show()
163- return
164- }
165-
166- MaterialAlertDialogBuilder (this , R .style.DarkAlertDialog )
167- .setTitle(" Select WiFi Network" )
168- .setMessage(" Do you want to use '$ssid ' as the auto-start trigger?" )
169- .setPositiveButton(" Use Current WiFi" ) { _, _ ->
170- val prefs = getSharedPreferences(" WirelessHelperPrefs" , Context .MODE_PRIVATE )
171- prefs.edit { putString(" auto_start_wifi_ssid" , ssid) }
172- tvWifiNetworkValue.text = ssid
173- Toast .makeText(this , " Auto-start linked to $ssid " , Toast .LENGTH_SHORT ).show()
174- }
175- .setNegativeButton(android.R .string.cancel, null )
176- .show()
177142 }
178143
179144 private fun showBluetoothDeviceSelector () {
@@ -219,7 +184,6 @@ class MainActivity : AppCompatActivity() {
219184 updateAutoStartUI(autoMode)
220185
221186 tvBluetoothDeviceValue.text = prefs.getString(" auto_start_bt_name" , getString(R .string.not_set))
222- tvWifiNetworkValue.text = prefs.getString(" auto_start_wifi_ssid" , getString(R .string.not_set))
223187
224188 updateButtonState(WirelessHelperService .isRunning)
225189 }
@@ -230,21 +194,13 @@ class MainActivity : AppCompatActivity() {
230194 when (mode) {
231195 0 -> { // No
232196 layoutBluetoothDevice.visibility = View .GONE
233- layoutWifiNetwork.visibility = View .GONE
234197 layoutAutoStart.setBackgroundResource(R .drawable.bg_item_bottom)
235198 }
236199 1 -> { // Bluetooth
237200 layoutBluetoothDevice.visibility = View .VISIBLE
238- layoutWifiNetwork.visibility = View .GONE
239201 layoutAutoStart.setBackgroundResource(R .drawable.bg_item_middle)
240202 layoutBluetoothDevice.setBackgroundResource(R .drawable.bg_item_bottom)
241203 }
242- 2 -> { // Wifi
243- layoutBluetoothDevice.visibility = View .GONE
244- layoutWifiNetwork.visibility = View .VISIBLE
245- layoutAutoStart.setBackgroundResource(R .drawable.bg_item_middle)
246- layoutWifiNetwork.setBackgroundResource(R .drawable.bg_item_bottom)
247- }
248204 }
249205 }
250206
@@ -256,8 +212,6 @@ class MainActivity : AppCompatActivity() {
256212 if (Build .VERSION .SDK_INT >= 31 ) {
257213 permissions.add(" android.permission.BLUETOOTH_CONNECT" )
258214 }
259- // Location is needed for WiFi SSID detection and general network tasks on some versions
260- permissions.add(" android.permission.ACCESS_FINE_LOCATION" )
261215
262216 val missingPermissions = permissions.filter {
263217 ContextCompat .checkSelfPermission(this , it) != PackageManager .PERMISSION_GRANTED
@@ -307,8 +261,9 @@ class MainActivity : AppCompatActivity() {
307261
308262 override fun onRequestPermissionsResult (requestCode : Int , permissions : Array <out String >, grantResults : IntArray ) {
309263 super .onRequestPermissionsResult(requestCode, permissions, grantResults)
310- if (requestCode == 100 && grantResults.all { it == PackageManager .PERMISSION_GRANTED }) {
311- startLauncherService()
264+ if (grantResults.all { it == PackageManager .PERMISSION_GRANTED }) {
265+ if (requestCode == 100 ) startLauncherService()
266+ if (requestCode == 101 ) showBluetoothDeviceSelector()
312267 }
313268 }
314- }
269+ }
0 commit comments