package com.usermodule; import static com.mm.android.deviceaddmodule.mobilecommon.utils.WordInputFilter.NEW_PHONE; import static com.mm.android.deviceaddmodule.mobilecommon.utils.WordInputFilter.REGEX_EMAIL_GUO; import static com.mm.android.deviceaddmodule.mobilecommon.utils.WordInputFilter.REX_EMAIL; import android.content.Intent; import android.os.Bundle; import android.text.Editable; import android.text.InputFilter; import android.view.View; import android.widget.EditText; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.Toast; import com.alibaba.android.arouter.facade.annotation.Route; //import com.alibaba.android.arouter.launcher.ARouter; import com.mm.android.deviceaddmodule.LCDeviceEngine; import com.mm.android.deviceaddmodule.mobilecommon.AppConsume.ProviderManager; import com.mm.android.deviceaddmodule.mobilecommon.base.BaseActivity; import com.mm.android.deviceaddmodule.mobilecommon.route.RoutePathManager; import com.mm.android.deviceaddmodule.mobilecommon.utils.LogUtil; import com.mm.android.deviceaddmodule.mobilecommon.utils.WordInputFilter; import com.mm.android.deviceaddmodule.mobilecommon.widget.ClearEditText; import com.usermodule.net.IUserDataCallBack; import com.usermodule.net.UserNetManager; import com.lechange.demo.R; public class UserRegesiterActivity extends BaseActivity implements View.OnClickListener{ public final static String TAG = UserRegesiterActivity.class.getSimpleName(); ClearEditText mName; LinearLayout mRegesiter; ImageView mBack; private String mUserName; @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); setContentView(R.layout.user_regesiter_activity); initView(); } private void initView() { mName = findViewById(R.id.login_username); mRegesiter = findViewById(R.id.login_regesiter); mBack = findViewById(R.id.iv_back); mRegesiter.setOnClickListener(this); mBack.setOnClickListener(this); if (0 == ProviderManager.getAppProvider().getAppType()){ }else{ mName.setFilters(new InputFilter[]{new WordInputFilter(REX_EMAIL)}); } mName.setTextChangeListener(mTextChangedListener); } private ClearEditText.ITextChangeListener mTextChangedListener = new ClearEditText.ITextChangeListener() { @Override public void afterChanged(EditText v, Editable s) { mUserName = mName.getText().toString().trim(); } @Override public void beforeChanged(EditText v, CharSequence s, int start, int count, int after) { if(v.getId() == R.id.login_username && mName.getText().toString().contains("****")) { mName.setText(""); } } @Override public void onTextChanged(EditText v, CharSequence text, int start, int lengthBefore, int lengthAfter) { } }; @Override public void onClick(View v) { int id = v.getId(); if (id == R.id.login_regesiter) { if (0 == ProviderManager.getAppProvider().getAppType()){ if (!(mUserName!=null&&mUserName.matches(NEW_PHONE))&&!(mUserName!=null&&mUserName.matches(REGEX_EMAIL_GUO))){ Toast.makeText(UserRegesiterActivity.this, R.string.phone_not_match_tip,Toast.LENGTH_SHORT).show(); return; } }else{ if (!(mUserName!=null&&mUserName.matches(REGEX_EMAIL_GUO))){ Toast.makeText(UserRegesiterActivity.this, R.string.phone_not_match_tip,Toast.LENGTH_SHORT).show(); return; } } UserNetManager.getInstance().createAccountToken(mUserName, new IUserDataCallBack() { @Override public void onCallBackOpenId(String str) { LogUtil.debugLog(TAG,"openId"+str); if (str!=null){ LCDeviceEngine.newInstance().openid =str; //PreferencesHelper.getInstance(getApplicationContext()).set(Constants.OPENID,str); getSubAccountToken(str); } } @Override public void onError(Throwable throwable) { Toast.makeText(UserRegesiterActivity.this,throwable.getMessage(),Toast.LENGTH_SHORT).show(); } }); }else if (id== R.id.iv_back){ finish(); } } private void getSubAccountToken(String openId){ UserNetManager.getInstance().subAccountToken(openId, new IUserDataCallBack() { @Override public void onCallBackOpenId(String str) { if (str!=null){ //暂不保存到sp中了,因为获取需要context。 // PreferencesHelper.getInstance(getApplicationContext()).set(Constants.SUBACCOUNTTOKEN,str); LCDeviceEngine.newInstance().setSubAccessToken(str); toDeviceList(); finish(); } } @Override public void onError(Throwable throwable) { } }); } private void toDeviceList(){ startActivity(new Intent(UserRegesiterActivity.this,com.lechange.demo.ui.DeviceListActivity.class)); // ARouter.getInstance().build(RoutePathManager.ActivityPath.DeviceListActivityPath).navigation(); } }