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.DialogUtils; 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.error.DJIError; import dji.common.util.CommonCallbacks; import java.util.ArrayList; import java.util.List; /** * Class for setting and getting SSID in WiFiLink. */ public class SetGetWiFiLinkSSIDView extends BaseSetGetView { private static final String SSID_NAME1 = "Happy"; private static final String SSID_NAME2 = "Super"; private List<String> mSSIDName; public SetGetWiFiLinkSSIDView(Context context) { super(context); } @Override protected void onAttachedToWindow() { super.onAttachedToWindow(); if (!ModuleVerificationUtil.isWiFiLinkAvailable()) ToastUtils.setResultToToast("Not Supported"); } @Override protected void setMethod() { if (ModuleVerificationUtil.isWiFiLinkAvailable()) { DJISampleApplication.getProductInstance() .getAirLink() .getWiFiLink() .setSSID(mSSIDName.get(mSpinnerSet.getSelectedItemPosition()), new CommonCallbacks.CompletionCallback() { @Override public void onResult(DJIError djiError) { DialogUtils.showDialogBasedOnError(getContext(), djiError); } }); } } @Override protected void getMethod() { if (ModuleVerificationUtil.isWiFiLinkAvailable()) { DJISampleApplication.getProductInstance() .getAirLink() .getWiFiLink() .getSSID(new CommonCallbacks.CompletionCallbackWith<String>() { @Override public void onSuccess(String s) { mGetTextString = s; mHandler.sendEmptyMessage(SET_GET_TEXTVIEW_WITH_RESULT); } @Override public void onFailure(DJIError djiError) { } }); } } @Override protected ArrayAdapter getArrayAdapter() { if (null == mSSIDName) mSSIDName = new ArrayList<>(); mSSIDName.add(SSID_NAME1); mSSIDName.add(SSID_NAME2); return new ArrayAdapter(this.getContext(), R.layout.simple_list_item, mSSIDName); } @Override public int getDescription() { return R.string.set_get_wifi_airlink_ssid_description; } }