package com.dji.sdk.sample.demo.gimbal; import android.content.Context; import android.support.annotation.NonNull; import com.dji.sdk.sample.R; import com.dji.sdk.sample.internal.view.BasePushDataView; import com.dji.sdk.sample.internal.controller.DJISampleApplication; import com.dji.sdk.sample.internal.utils.ModuleVerificationUtil; import dji.common.gimbal.GimbalState; /** * Class for getting gimbal information. */ public class PushGimbalDataView extends BasePushDataView { public PushGimbalDataView(Context context) { super(context); } @Override protected void onAttachedToWindow() { super.onAttachedToWindow(); if (ModuleVerificationUtil.isGimbalModuleAvailable()) { DJISampleApplication.getProductInstance().getGimbal().setStateCallback(new GimbalState.Callback() { @Override public void onUpdate(@NonNull GimbalState gimbalState) { stringBuffer.delete(0, stringBuffer.length()); stringBuffer.append("PitchInDegrees: "). append(gimbalState.getAttitudeInDegrees().getPitch()).append("\n"); stringBuffer.append("RollInDegrees: "). append(gimbalState.getAttitudeInDegrees().getRoll()).append("\n"); stringBuffer.append("YawInDegrees: "). append(gimbalState.getAttitudeInDegrees().getYaw()).append("\n"); showStringBufferResult(); } }); } } @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); if (ModuleVerificationUtil.isGimbalModuleAvailable()) { DJISampleApplication.getProductInstance().getGimbal().setStateCallback(null); } } @Override public int getDescription() { return R.string.gimbal_listview_push_info; } }