package com.mm.android.deviceaddmodule.p_wiredwireless; import android.graphics.drawable.Animatable; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.company.NetSDK.DEVICE_NET_INFO_EX; import com.lechange.opensdk.media.DeviceInitInfo; import com.mm.android.deviceaddmodule.R; import com.mm.android.deviceaddmodule.base.BaseDevAddFragment; import com.mm.android.deviceaddmodule.contract.SmartConfigConstract; import com.mm.android.deviceaddmodule.helper.DeviceAddHelper; import com.mm.android.deviceaddmodule.helper.PageNavigationHelper; import com.mm.android.deviceaddmodule.mobilecommon.AppConsume.ProviderManager; import com.mm.android.deviceaddmodule.mobilecommon.entity.deviceadd.DeviceAddInfo; import com.mm.android.deviceaddmodule.mobilecommon.utils.LogUtil; import com.mm.android.deviceaddmodule.mobilecommon.widget.CircleCountDownView; import com.mm.android.deviceaddmodule.model.DeviceAddModel; import com.mm.android.deviceaddmodule.presenter.SmartConfigPresenter; import static com.mm.android.deviceaddmodule.helper.PageNavigationHelper.WIFI_PWD_TAG; /** * 设备wifi配置页面 */ public class SmartConfigFragment extends BaseDevAddFragment implements SmartConfigConstract.View, CircleCountDownView.OnCountDownFinishListener, View.OnClickListener { SmartConfigConstract.Presenter mPresenter; CircleCountDownView mCountDownView; ImageView mWifiAnimationView; Animatable mWifiAnimation; TextView mTip2Txt, mTipWifiPwdErrorTxt; long mEventStartTime; //统计开始时间 public static SmartConfigFragment newInstance(/*boolean isQRCodeConfig*/) { SmartConfigFragment fragment = new SmartConfigFragment(); Bundle args = new Bundle(); fragment.setArguments(args); return fragment; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_smart_config, container, false); } protected void initView(View view) { mTipWifiPwdErrorTxt = view.findViewById(R.id.tip_wifi_pwd_error); mTip2Txt = view.findViewById(R.id.tip2_txt); mCountDownView = view.findViewById(R.id.countdown_view); mCountDownView.setCountDownListener(this); mWifiAnimationView = view.findViewById(R.id.wifi_animation_view); mWifiAnimation = (Animatable) mWifiAnimationView.getDrawable(); mWifiAnimation.start(); mTipWifiPwdErrorTxt.setOnClickListener(this); } protected void initData() { mPresenter = new SmartConfigPresenter(this/*, isQRCodeConfig*/); //配对界面更多按钮只展示重新添加和取消 DeviceAddHelper.updateTile(DeviceAddHelper.TitleMode.MORE); mPresenter.startSmartConfig(); mCountDownView.startCountDown(); mEventStartTime = System.currentTimeMillis(); } @Override public void onPause() { super.onPause(); LogUtil.debugLog("AudioConfig", "onPause"); mPresenter.pauseAudio(); } @Override public void onResume() { super.onResume(); LogUtil.debugLog("AudioConfig", "onResume"); mPresenter.playAudio(); } @Override public void onDestroyView() { super.onDestroyView(); if (mWifiAnimation.isRunning()) { mWifiAnimation.stop(); } LogUtil.debugLog("AudioConfig", "onDestroyView"); mPresenter.releaseAudio(); mPresenter.recyle(); } @Override public void goDevInitPage(DeviceInitInfo device_net_info_ex) { PageNavigationHelper.gotoSecurityCheckPage(this); } @Override public void goConnectCloudPage() { PageNavigationHelper.gotoCloudConnectPage(this); } @Override public void goDevLoginPage() { PageNavigationHelper.gotoDevLoginPage(this); } @Override public void goConfigTimeoutPage() { PageNavigationHelper.gotoErrorTipPage(this, DeviceAddHelper.ErrorCode.WIRED_WIRELESS_ERROR_CONFIG_TIMEOUT); } @Override public void goWfiPwdPage() { getActivity().getSupportFragmentManager().popBackStackImmediate(WIFI_PWD_TAG, 0); } @Override public void stopCountDown() { mCountDownView.stopCountDown(); } @Override public void updateTip2Txt(boolean isSupportSoundWave, boolean isSupportSoundWaveV2) { if(isSupportSoundWave || isSupportSoundWaveV2){ if (ProviderManager.getAppProvider().getAppType()==1){ mTip2Txt.setText(R.string.add_device_higher_phone_volume); }else{ mTip2Txt.setText(isSupportSoundWaveV2 ? R.string.add_device_adjust_phone_volume_to_hear_jiji : R.string.add_device_adjust_phone_volume_to_hear_bugu); } }else{ mTip2Txt.setText(R.string.add_device_keep_phone_close_to_device); } } @Override public void hideTipWifiPwdErrorTxt(boolean isOversea) { mTipWifiPwdErrorTxt.setVisibility(isOversea ? View.GONE : View.VISIBLE); } @Override public void countDownFinished() { goConfigTimeoutPage(); } @Override public void middleTimeUp() { } @Override public void completeAction() { if (getActivity() != null) getActivity().finish(); } @Override public void goBindDevicePage() { PageNavigationHelper.gotoDeviceBindPage(this); } @Override public void onClick(View v) { if (mPresenter != null) { mPresenter.wifiPwdErrorClick(); } } }