package com.dji.sdk.sample.demo.airlink; import android.content.Context; import android.widget.ArrayAdapter; import com.dji.sdk.sample.R; import com.dji.sdk.sample.internal.controller.DJISampleApplication; import com.dji.sdk.sample.internal.utils.CallbackHandlers; import com.dji.sdk.sample.internal.utils.ModuleVerificationUtil; import com.dji.sdk.sample.internal.utils.ToastUtils; import com.dji.sdk.sample.internal.view.BaseSetGetView; import dji.common.airlink.ChannelSelectionMode; import dji.common.error.DJIError; import dji.common.util.CommonCallbacks; import java.util.ArrayList; /** * Class for setting and getting channel in Lightbridge. */ public class SetGetLightbridgeLinkChannelView extends BaseSetGetView { public SetGetLightbridgeLinkChannelView(Context context) { super(context); } @Override protected void onAttachedToWindow() { super.onAttachedToWindow(); if (ModuleVerificationUtil.isLightbridgeLinkAvailable()) { DJISampleApplication.getProductInstance() .getAirLink() .getLightbridgeLink() .setChannelSelectionMode(ChannelSelectionMode.MANUAL, new CallbackHandlers.CallbackToastHandler()); } else { ToastUtils.setResultToToast("Did not support."); } } @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); if (ModuleVerificationUtil.isLightbridgeLinkAvailable()) { DJISampleApplication.getProductInstance() .getAirLink() .getLightbridgeLink() .setChannelSelectionMode(ChannelSelectionMode.AUTO, new CallbackHandlers.CallbackToastHandler()); } } @Override protected void setMethod() { if (ModuleVerificationUtil.isLightbridgeLinkAvailable()) { DJISampleApplication.getProductInstance() .getAirLink() .getLightbridgeLink() .setChannelNumber(mSpinnerSet.getSelectedItemPosition(), new CallbackHandlers.CallbackToastHandler()); } } @Override protected void getMethod() { if (ModuleVerificationUtil.isLightbridgeLinkAvailable()) { DJISampleApplication.getProductInstance() .getAirLink() .getLightbridgeLink() .getChannelNumber(new CommonCallbacks.CompletionCallbackWith<Integer>() { @Override public void onSuccess(Integer integer) { mGetTextString = integer.toString(); mHandler.sendEmptyMessage(SET_GET_TEXTVIEW_WITH_RESULT); } @Override public void onFailure(DJIError djiError) { } }); } } @Override protected ArrayAdapter getArrayAdapter() { ArrayList<Integer> array = new ArrayList<>(); for (int i = 13; i < 21; i++) { array.add(i); } return new ArrayAdapter(this.getContext(), R.layout.simple_list_item, array); } @Override public int getDescription() { return R.string.set_get_lb_airlink_channel_description; } }