package com.aros.apron.manager; import static dji.sdk.keyvalue.key.KeyTools.createKey; import android.os.Handler; import android.os.Looper; import android.text.TextUtils; import com.aros.apron.activity.MainActivity; import com.aros.apron.base.BaseManager; import com.aros.apron.entity.ApronExecutionStatus; import com.aros.apron.entity.MessageDown; import com.aros.apron.entity.Movement; import com.aros.apron.tools.LogUtil; import com.aros.apron.tools.PreferenceUtils; import com.google.gson.Gson; import org.eclipse.paho.android.service.MqttAndroidClient; import dji.sdk.keyvalue.key.CameraKey; import dji.sdk.keyvalue.key.FlightControllerKey; import dji.sdk.keyvalue.value.camera.CameraType; import dji.sdk.keyvalue.value.common.ComponentIndexType; import dji.v5.manager.KeyManager; public class SystemManager extends BaseManager { private SystemManager() { } private static class AirLinkHolder { private static final SystemManager INSTANCE = new SystemManager(); } public static SystemManager getInstance() { return AirLinkHolder.INSTANCE; } public void checkRemoteControlPowerStatus(MessageDown message) { sendMsg2Server(message); } public void checkAircraftPowerStatus(MessageDown message) { Boolean isConnect = KeyManager.getInstance().getValue(createKey(FlightControllerKey.KeyConnection)); if (isConnect != null && isConnect) { sendMsg2Server( message); } else { sendFailMsg2Server( message, "无人机未连接"); } } //文件是否上传结束 public void aircraftStoredReply(MessageDown message) { if (ApronExecutionStatus.getInstance().isAircraftWaitShutDown()) { sendMsg2Server(message); PreferenceUtils.getInstance().setFlightId("null"); } else { sendFailMsg2Server(message, "不可关机"); } } public void upLoadMedia(MqttAndroidClient mqttAndroidClient) { if (!TextUtils.isEmpty(PreferenceUtils.getInstance().getUploadUrl()) && !TextUtils.isEmpty(PreferenceUtils.getInstance().getAccessKey()) && !TextUtils.isEmpty(PreferenceUtils.getInstance().getSecretKey())) { Handler handler=new Handler(Looper.getMainLooper()); handler.postDelayed(new Runnable() { @Override public void run() { MediaManager.getInstance().enablePlayback(); } },1000); } else { LogUtil.log(TAG, "minio上传参数有误,直接入库"); ApronExecutionStatus.getInstance().setAircraftWaitShutDown(true); } } }