package com.mm.android.deviceaddmodule.device_wifi;
|
|
import android.content.Context;
|
import android.content.Intent;
|
import android.text.Editable;
|
import android.text.TextUtils;
|
import android.text.TextWatcher;
|
import android.view.View;
|
import android.view.inputmethod.InputMethodManager;
|
import android.widget.Button;
|
import android.widget.ImageView;
|
import android.widget.TextView;
|
|
import com.mm.android.deviceaddmodule.R;
|
import com.mm.android.deviceaddmodule.mobilecommon.base.mvp.BaseManagerFragmentActivity;
|
import com.mm.android.deviceaddmodule.mobilecommon.widget.ClearPasswordEditText;
|
import com.mm.android.deviceaddmodule.mobilecommon.widget.CommonTitle;
|
|
import static com.mm.android.deviceaddmodule.device_wifi.ErrorTipActivity.ERROR_PARAMS;
|
|
/**
|
* 设备wifi列表界面
|
*/
|
public class DeviceWifiPasswordActivity<T extends DeviceWifiPasswordConstract.Presenter>
|
extends BaseManagerFragmentActivity<T> implements DeviceWifiPasswordConstract.View,
|
CommonTitle.OnTitleClickListener, View.OnClickListener {
|
|
protected TextView mWifiSSIDTv;
|
protected Button mDoneBtn;
|
protected ClearPasswordEditText mWifiPasswordEdt;
|
private TextView mSaveWifiPwdCheckbox;
|
private ImageView mWifiImg;
|
private TextView m5GWifiTipTv;
|
|
private final TextWatcher mTextWatcher = new TextWatcher() {
|
|
@Override
|
public void onTextChanged(CharSequence s, int arg1, int arg2, int arg3) {
|
mWifiPasswordEdt.removeTextChangedListener(mTextWatcher);
|
String str = Utils4DeviceManager.wifiPwdFilter(s.toString());
|
if (!str.equals(s.toString())) {
|
mWifiPasswordEdt.setText(str);
|
mWifiPasswordEdt.setSelection(str.length());
|
}
|
mWifiPasswordEdt.addTextChangedListener(mTextWatcher);
|
}
|
|
@Override
|
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
|
}
|
|
@Override
|
public void afterTextChanged(Editable arg0) {
|
}
|
};
|
|
@Override
|
protected void initLayout() {
|
setContentView(R.layout.activity_device_wifi_password);
|
}
|
|
@Override
|
protected View initTitle() {
|
CommonTitle title = (CommonTitle) findViewById(R.id.device_wifi_password_title);
|
title.initView(R.drawable.mobile_common_title_back, 0, R.string.mobile_common_network_config);
|
title.setOnTitleClickListener(this);
|
return title;
|
}
|
|
@Override
|
protected void initView() {
|
super.initView();
|
|
mWifiSSIDTv = (TextView) findViewById(R.id.device_wifi_ssid);
|
mDoneBtn = (Button) findViewById(R.id.device_wifi_password_done_btn);
|
mWifiPasswordEdt = (ClearPasswordEditText) findViewById(R.id.device_wifi_password);
|
mWifiSSIDTv.setText(mPresenter.getWifiSSID());
|
mDoneBtn.setOnClickListener(this);
|
mWifiPasswordEdt.addTextChangedListener(mTextWatcher);
|
mSaveWifiPwdCheckbox = (TextView) findViewById(R.id.wifi_pwd_check);
|
mSaveWifiPwdCheckbox.setOnClickListener(this);
|
String savePassword = mPresenter.getSavedWifiPassword();
|
boolean wifiCheckBoxStatus = mPresenter.getSavedWifiCheckBoxStatus();
|
if (!TextUtils.isEmpty(savePassword)) {
|
mWifiPasswordEdt.setText(savePassword);
|
mWifiPasswordEdt.setSelection(savePassword.length());
|
}
|
mSaveWifiPwdCheckbox.setSelected(wifiCheckBoxStatus);
|
mWifiImg = (ImageView) findViewById(R.id.wifi_img);
|
mWifiImg.setImageResource(mPresenter.getSupport5G() ? R.drawable.adddevice_icon_wifipassword_nosupport5g : R.drawable.adddevice_icon_wifipassword_nosupport5g);
|
m5GWifiTipTv = findViewById(R.id.tv_5g_tip);
|
m5GWifiTipTv.setOnClickListener(this);
|
m5GWifiTipTv.setVisibility(mPresenter.getSupport5G() ? View.GONE : View.VISIBLE);
|
}
|
|
@Override
|
public void initPresenter() {
|
mPresenter = (T) new DeviceWifiPasswordPresenter<>(this);
|
}
|
|
@Override
|
protected void initData() {
|
mPresenter.dispatchIntentData(getIntent());
|
}
|
|
@Override
|
public void onCommonTitleClick(int id) {
|
switch (id) {
|
case CommonTitle.ID_LEFT:
|
DeviceWifiPasswordActivity.this.finish();
|
break;
|
}
|
}
|
|
@Override
|
public String getWifiPassword() {
|
return mWifiPasswordEdt.getText().toString();
|
}
|
|
@Override
|
public boolean isSavePwdChecked() {
|
return mSaveWifiPwdCheckbox.isSelected();
|
}
|
|
@Override
|
public void onWifiOperateSucceed(CurWifiInfo curWifiInfo) {
|
DeviceWifiPasswordActivity.this.finish();
|
}
|
|
@Override
|
public void onClick(View view) {
|
int viewId = view.getId();
|
if (viewId == R.id.device_wifi_password_done_btn) {
|
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(
|
Context.INPUT_METHOD_SERVICE);
|
inputMethodManager.hideSoftInputFromWindow(mWifiPasswordEdt.getWindowToken(), 0);
|
mWifiPasswordEdt.postDelayed(new Runnable() {
|
@Override
|
public void run() {
|
mPresenter.updateWifiCache();
|
mPresenter.wifiOperate();
|
}
|
}, 100);
|
} else if (viewId == R.id.wifi_pwd_check) {
|
view.setSelected(!view.isSelected());
|
if (!view.isSelected()) {
|
mPresenter.updateWifiCache();
|
}
|
} else if (viewId == R.id.tv_5g_tip) {
|
Intent intent = new Intent(this, ErrorTipActivity.class);
|
intent.putExtra(ERROR_PARAMS, 1);
|
startActivity(intent);
|
}
|
}
|
}
|