@Override protected void onAttachedToWindow() { super.onAttachedToWindow(); DJIBaseProduct product = DJISampleApplication.getProductInstance(); if (product == null || !product.isConnected()) { Utils.setResultToToast(mContext, "Disconnect"); mMissionManager = null; mFlightController = null; return; } else { mMissionManager = product.getMissionManager(); if (product instanceof DJIAircraft) { mFlightController = ((DJIAircraft) product).getFlightController(); } if (mMissionManager != null) { // The callback method is implemented in the subclasses mMissionManager.setMissionProgressStatusCallback(this); } if (mFlightController != null) { mFlightController.setUpdateSystemStateCallback( new DJIFlightControllerDelegate.FlightControllerUpdateSystemStateCallback() { @Override public void onResult( DJIFlightControllerDataType.DJIFlightControllerCurrentState state) { mHomeLatitude = state.getHomeLocation().getLatitude(); mHomeLongitude = state.getHomeLocation().getLongitude(); flightState = state.getFlightMode(); Utils.setResultToText( mContext, mFCPushInfoTV, "home point latitude: " + mHomeLatitude + "\nhome point longitude: " + mHomeLongitude + "\nFlight state: " + flightState.name()); } }); } } }