Beispiel #1
0
 private void removeAttributesObserver(IDroneApi droneApi, IObserver observer) {
   if (isStarted(droneApi)) {
     try {
       droneApi.removeAttributesObserver(observer);
     } catch (RemoteException e) {
       handleRemoteException(e);
     }
   }
 }
Beispiel #2
0
 public void removeMavlinkObserver(MavlinkObserver observer) {
   final IDroneApi droneApi = droneApiRef.get();
   if (isStarted(droneApi)) {
     try {
       droneApi.removeMavlinkObserver(observer);
     } catch (RemoteException e) {
       handleRemoteException(e);
     }
   }
 }
Beispiel #3
0
  public boolean performAsyncActionOnHandler(
      Action action, Handler handler, AbstractCommandListener listener) {
    final IDroneApi droneApi = droneApiRef.get();
    if (isStarted(droneApi)) {
      try {
        droneApi.executeAsyncAction(action, wrapListener(handler, listener));
        return true;
      } catch (RemoteException e) {
        handleRemoteException(e);
      }
    }

    return false;
  }
Beispiel #4
0
  public <T extends Parcelable> T getAttribute(String type) {
    final IDroneApi droneApi = droneApiRef.get();
    if (!isStarted(droneApi) || type == null) return this.getAttributeDefaultValue(type);

    T attribute = null;
    Bundle carrier = null;
    try {
      carrier = droneApi.getAttribute(type);
    } catch (RemoteException e) {
      handleRemoteException(e);
    }

    if (carrier != null) {
      try {
        carrier.setClassLoader(contextClassLoader);
        attribute = carrier.getParcelable(type);
      } catch (Exception e) {
        Log.e(TAG, e.getMessage(), e);
      }
    }

    return attribute == null ? this.<T>getAttributeDefaultValue(type) : attribute;
  }