Acquiring and releasing multicast lock.

This commit is contained in:
Koen J 2024-09-02 17:57:51 +02:00
parent 5e14a0fed4
commit ee4e108e4f
2 changed files with 10 additions and 1 deletions

View file

@ -5,6 +5,7 @@
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="32" tools:ignore="ScopedStorage" />

View file

@ -7,6 +7,7 @@ import android.content.Intent.FLAG_ACTIVITY_NEW_TASK
import android.content.pm.PackageManager
import android.content.res.Configuration
import android.net.Uri
import android.net.wifi.WifiManager
import android.os.Bundle
import android.os.StrictMode
import android.os.StrictMode.VmPolicy
@ -111,6 +112,7 @@ class MainActivity : AppCompatActivity, IWithResultLauncher {
private lateinit var _overlayContainer: FrameLayout;
private lateinit var _toastView: ToastView;
private lateinit var _multicastLock: WifiManager.MulticastLock
//Segment Containers
private lateinit var _fragContainerTopBar: FragmentContainerView;
@ -245,6 +247,12 @@ class MainActivity : AppCompatActivity, IWithResultLauncher {
}
override fun onCreate(savedInstanceState: Bundle?) {
Logger.i(TAG, "Acquiring multicast lock")
val wifiManager = applicationContext.getSystemService(WIFI_SERVICE) as WifiManager
_multicastLock = wifiManager.createMulticastLock("mdnsLock")
_multicastLock.setReferenceCounted(true)
_multicastLock.acquire()
Logger.i(TAG, "MainActivity Starting");
StateApp.instance.setGlobalContext(this, lifecycleScope);
StateApp.instance.mainAppStarting(this);
@ -514,7 +522,6 @@ class MainActivity : AppCompatActivity, IWithResultLauncher {
}
}
/*
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
@ -970,6 +977,7 @@ class MainActivity : AppCompatActivity, IWithResultLauncher {
override fun onDestroy() {
super.onDestroy();
Logger.v(TAG, "onDestroy")
_multicastLock.release()
StateApp.instance.mainAppDestroyed(this);
}