Browse Source

Taisync - remove probing timer, use onResume as plug in detection event

QGC4.4
Matej Frančeškin 6 years ago
parent
commit
8799b498b7
  1. 29
      android/src/org/mavlink/qgroundcontrol/QGCActivity.java

29
android/src/org/mavlink/qgroundcontrol/QGCActivity.java

@ -225,7 +225,6 @@ public class QGCActivity extends QtActivity
IntentFilter accessoryFilter = new IntentFilter(ACTION_USB_PERMISSION); IntentFilter accessoryFilter = new IntentFilter(ACTION_USB_PERMISSION);
filter.addAction(UsbManager.ACTION_USB_ACCESSORY_DETACHED); filter.addAction(UsbManager.ACTION_USB_ACCESSORY_DETACHED);
registerReceiver(mOpenAccessoryReceiver, accessoryFilter); registerReceiver(mOpenAccessoryReceiver, accessoryFilter);
probeAccessories(); probeAccessories();
} catch(Exception e) { } catch(Exception e) {
Log.e(TAG, "Exception: " + e); Log.e(TAG, "Exception: " + e);
@ -233,6 +232,15 @@ public class QGCActivity extends QtActivity
} }
@Override @Override
public void onResume() {
super.onResume();
// Plug in of USB ACCESSORY triggers only onResume event.
// Then we scan if there is actually anything new
probeAccessories();
}
@Override
protected void onDestroy() protected void onDestroy()
{ {
unregisterReceiver(mOpenAccessoryReceiver); unregisterReceiver(mOpenAccessoryReceiver);
@ -701,14 +709,11 @@ public class QGCActivity extends QtActivity
private void probeAccessories() private void probeAccessories()
{ {
final PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, new Intent(ACTION_USB_PERMISSION), 0); final PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, new Intent(ACTION_USB_PERMISSION), 0);
Timer timer = new Timer(); new Thread(new Runnable() {
timer.schedule(new TimerTask() { public void run() {
@Override Log.i(TAG, "probeAccessories");
public void run() UsbAccessory[] accessories = _usbManager.getAccessoryList();
{ if (accessories != null) {
// Log.i(TAG, "probeAccessories");
UsbAccessory[] accessories = _usbManager.getAccessoryList();
if (accessories != null) {
for (UsbAccessory usbAccessory : accessories) { for (UsbAccessory usbAccessory : accessories) {
if (_usbManager.hasPermission(usbAccessory)) { if (_usbManager.hasPermission(usbAccessory)) {
openAccessory(usbAccessory); openAccessory(usbAccessory);
@ -717,9 +722,9 @@ public class QGCActivity extends QtActivity
_usbManager.requestPermission(usbAccessory, pendingIntent); _usbManager.requestPermission(usbAccessory, pendingIntent);
} }
} }
} }
} }
}, 0, 3000); }).start();
} }
} }

Loading…
Cancel
Save