package com.ckkj.water.device; import static android.view.View.GONE; import static android.view.View.VISIBLE; import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import com.ckkj.water.ConstantUtil; import com.ckkj.water.R; import com.ckkj.water.base.BaseActivity; import com.ckkj.water.databinding.DeviceConnectLayoutBinding; import com.ckkj.water.device.mvp.DeviceContract; import com.ckkj.water.device.mvp.DeviceImpl; import com.ckkj.water.device.mvp.DevicePresenter; import com.ckkj.water.index.entity.IndexDeviceEntity; import com.ckkj.water.network.BaseBean; import com.ckkj.water.utils.manager.ActivityManager; import com.ckkj.water.utils.show.ToastUtil; import com.gyf.immersionbar.ImmersionBar; /** * 连接设备页面 */ public class DeviceConnectActivity extends BaseActivity implements DeviceContract.DeviceView { private AnimationDrawable animationDrawable; private Handler handler = new Handler(Looper.getMainLooper()); private static final long ANIMATION_DURATION = 5000L; // 5秒 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public void initData(Bundle savedInstanceState) { super.initData(savedInstanceState); ActivityManager.addActivity(this,getClass().getSimpleName() + "_" + ConstantUtil.ADD_DEVICE_FLAG); ImmersionBar.with(this) .statusBarColor(R.color.color_F9F9F9) .statusBarDarkFont(true) .titleBar(viewBinding.rlTitle) .init(); viewBinding.includedTitle.tvTitle.setText(R.string.select_wifi_tip); startConnectAnimation(); } private void startConnectAnimation() { viewBinding.ivConnectAnimation.setImageResource(R.drawable.anim_connect_device); animationDrawable = (AnimationDrawable) viewBinding.ivConnectAnimation.getDrawable(); if (animationDrawable != null) { animationDrawable.start(); handler.postDelayed(() -> { if (animationDrawable != null && animationDrawable.isRunning()) { animationDrawable.stop(); } viewBinding.linearConnectIng.setVisibility(GONE); viewBinding.linearSuccess.setVisibility(VISIBLE); new Handler().postDelayed(new Runnable() { @Override public void run() { goTo(mContext, DeviceReNameActivity.class,null); } },1000); }, ANIMATION_DURATION); } } @Override protected void onDestroy() { super.onDestroy(); handler.removeCallbacksAndMessages(null); if (animationDrawable != null && animationDrawable.isRunning()) { animationDrawable.stop(); } } @Override public DevicePresenter createPresenter() { return new DevicePresenter(new DeviceImpl()); } @Override public int getLayoutResId(Bundle savedInstanceState) { return 0; } @Override public void showError(String message) { } @Override public void logOut(BaseBean bean) { } @Override public void addDeviceSuccess(BaseBean bean) { } @Override public void getDeviceDetailInfo(IndexDeviceEntity bean) { } @Override public void editDeviceInfoSuccess(BaseBean bean) { } @Override public void deleteDeviceSuccess(BaseBean bean) { } @Override public void turnOnOffDeviceSuccess(BaseBean bean) { } }