@ -52,6 +52,7 @@ import android.hardware.usb.UsbManager;
import android.widget.Toast ;
import android.widget.Toast ;
import android.util.Log ;
import android.util.Log ;
import android.os.PowerManager ;
import android.os.PowerManager ;
import android.net.wifi.WifiManager ;
import android.os.Bundle ;
import android.os.Bundle ;
import android.app.PendingIntent ;
import android.app.PendingIntent ;
import android.view.WindowManager ;
import android.view.WindowManager ;
@ -76,6 +77,7 @@ public class QGCActivity extends QtActivity
private static PendingIntent _usbPermissionIntent = null ;
private static PendingIntent _usbPermissionIntent = null ;
private TaiSync taiSync = null ;
private TaiSync taiSync = null ;
private Timer probeAccessoriesTimer = null ;
private Timer probeAccessoriesTimer = null ;
private static WifiManager . MulticastLock _wifiMulticastLock ;
public static Context m_context ;
public static Context m_context ;
@ -222,6 +224,18 @@ public class QGCActivity extends QtActivity
// Create intent for usb permission request
// Create intent for usb permission request
_usbPermissionIntent = PendingIntent . getBroadcast ( _instance , 0 , new Intent ( ACTION_USB_PERMISSION ) , 0 ) ;
_usbPermissionIntent = PendingIntent . getBroadcast ( _instance , 0 , new Intent ( ACTION_USB_PERMISSION ) , 0 ) ;
// Workaround for QTBUG-73138
if ( _wifiMulticastLock = = null )
{
WifiManager wifi = ( WifiManager ) _instance . getSystemService ( Context . WIFI_SERVICE ) ;
_wifiMulticastLock = wifi . createMulticastLock ( "QGroundControl" ) ;
_wifiMulticastLock . setReferenceCounted ( true ) ;
}
_wifiMulticastLock . acquire ( ) ;
Log . d ( TAG , "Multicast lock: " + _wifiMulticastLock . toString ( ) ) ;
try {
try {
taiSync = new TaiSync ( ) ;
taiSync = new TaiSync ( ) ;
@ -259,6 +273,10 @@ public class QGCActivity extends QtActivity
}
}
unregisterReceiver ( mOpenAccessoryReceiver ) ;
unregisterReceiver ( mOpenAccessoryReceiver ) ;
try {
try {
if ( _wifiMulticastLock ! = null ) {
_wifiMulticastLock . release ( ) ;
Log . d ( TAG , "Multicast lock released." ) ;
}
if ( _wakeLock ! = null ) {
if ( _wakeLock ! = null ) {
_wakeLock . release ( ) ;
_wakeLock . release ( ) ;
}
}