// Path: app/src/main/java/com/yuneec/example/component/custom_callback/OnChangeListener.java
// public interface OnChangeListener {
// 
//     void publishConnectionStatus(String connectionStatus);
// 
//     void publishBatteryChangeStatus(String batteryStatus);
// 
//     void publishHealthChangeStatus(String healthStatus);
// 
//     void publishCameraResult(String result);
// 
//     void publishActionResult(String result);
// 
//     void publishYuneecSt16Result(String result);
// 
//     void publishCameraModeResult(Camera.Mode mode, String result);
// }


import android.content.Context;
import android.util.Log;
import com.yuneec.example.component.custom_callback.OnChangeListener;
import com.yuneec.sdk.YuneecSt16;
        }

        return yuneecSt16ButtonStateListener;
    }

    public static YuneecSt16.SwitchStateListener getYuneecSt16SwitchListener() {
        if (yuneecSt16SwitchStateListener == null) {
            registerYuneecSt16SwitchStateListener();
        }

        return yuneecSt16SwitchStateListener;
    }

    public static YuneecSt16.GpsPositionListener getYuneecSt16GpsPositionListener() {
        if (yuneecSt16GpsListener == null) {
            registerYuneecSt16GpsListener();
        }

        return yuneecSt16GpsListener;
    }

    public static YuneecSt16.M4VersionListener getYuneecSt16VersionListener() {
        if (yuneecSt16VersionListener == null) {
            registerYuneecSt16VersionListener();
        }

        return yuneecSt16VersionListener;
    }

    public static void registerYuneecSt16Listeners(Context context) {
// Path: app/src/main/java/com/yuneec/example/component/custom_callback/OnChangeListener.java
// public interface OnChangeListener {
// 
//     void publishConnectionStatus(String connectionStatus);
// 
//     void publishBatteryChangeStatus(String batteryStatus);
// 
//     void publishHealthChangeStatus(String healthStatus);
// 
//     void publishCameraResult(String result);
// 
//     void publishActionResult(String result);
// 
//     void publishYuneecSt16Result(String result);
// 
//     void publishCameraModeResult(Camera.Mode mode, String result);
// }


// Path: app/src/main/java/com/yuneec/example/component/listeners/YuneecSt16Listener.java
import android.content.Context;
import android.util.Log;
import com.yuneec.example.component.custom_callback.OnChangeListener;
import com.yuneec.sdk.YuneecSt16;

        }

        return yuneecSt16ButtonStateListener;
    }

    public static YuneecSt16.SwitchStateListener getYuneecSt16SwitchListener() {
        if (yuneecSt16SwitchStateListener == null) {
            registerYuneecSt16SwitchStateListener();
        }

        return yuneecSt16SwitchStateListener;
    }

    public static YuneecSt16.GpsPositionListener getYuneecSt16GpsPositionListener() {
        if (yuneecSt16GpsListener == null) {
            registerYuneecSt16GpsListener();
        }

        return yuneecSt16GpsListener;
    }

    public static YuneecSt16.M4VersionListener getYuneecSt16VersionListener() {
        if (yuneecSt16VersionListener == null) {
            registerYuneecSt16VersionListener();
        }

        return yuneecSt16VersionListener;
    }

    public static void registerYuneecSt16Listeners(Context context) {
        onChangeListener = (OnChangeListener) context;