package com.xabber.android.ui.fragment; import android.app.Activity; import android.app.Fragment; import android.os.Bundle; import android.text.method.LinkMovementMethod; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.CheckBox; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import com.xabber.android.R; import com.xabber.android.data.Application; import com.xabber.android.data.NetworkException; import com.xabber.android.data.account.AccountManager; import com.xabber.android.data.entity.AccountJid; import com.xabber.android.ui.activity.AccountAddActivity; import com.xabber.android.ui.activity.AccountActivity; import com.xabber.android.ui.dialog.OrbotInstallerDialog; import com.xabber.android.ui.helper.OrbotHelper; public class AccountAddFragment extends Fragment implements View.OnClickListener { private CheckBox storePasswordView; private CheckBox useOrbotView; private CheckBox createAccountCheckBox; private LinearLayout passwordConfirmView; private EditText userView; private EditText passwordView; private EditText passwordConfirmEditText; public static AccountAddFragment newInstance() { return new AccountAddFragment(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_account_add, container, false); storePasswordView = (CheckBox) view.findViewById(R.id.store_password); useOrbotView = (CheckBox) view.findViewById(R.id.use_orbot); createAccountCheckBox = (CheckBox) view.findViewById(R.id.register_account); createAccountCheckBox.setOnClickListener(this); userView = (EditText) view.findViewById(R.id.account_user_name); passwordView = (EditText) view.findViewById(R.id.account_password); passwordConfirmEditText = (EditText) view.findViewById(R.id.confirm_password); passwordConfirmView = (LinearLayout) view.findViewById(R.id.confirm_password_layout); ((TextView) view.findViewById(R.id.account_help)) .setMovementMethod(LinkMovementMethod.getInstance()); return view; } @Override public void onClick(View v) { switch (v.getId()) { case R.id.register_account: if(createAccountCheckBox.isChecked()) { passwordConfirmView.setVisibility(View.VISIBLE); } else { passwordConfirmView.setVisibility(View.GONE); } default: break; } } public void addAccount() { if (useOrbotView.isChecked() && !OrbotHelper.isOrbotInstalled()) { OrbotInstallerDialog.newInstance().show(getFragmentManager(), OrbotInstallerDialog.class.getName()); return; } if (createAccountCheckBox.isChecked() && !passwordView.getText().toString().contentEquals(passwordConfirmEditText.getText().toString())) { Toast.makeText(getActivity(), getString(R.string.CONFIRM_PASSWORD), Toast.LENGTH_LONG).show(); return; } AccountJid account; try { account = AccountManager.getInstance().addAccount( userView.getText().toString(), passwordView.getText().toString(), false, storePasswordView.isChecked(), useOrbotView.isChecked(), createAccountCheckBox.isChecked()); } catch (NetworkException e) { Application.getInstance().onError(e); return; } getActivity().setResult(Activity.RESULT_OK, AccountAddActivity.createAuthenticatorResult(account)); startActivity(AccountActivity.createIntent(getActivity(), account)); getActivity().finish(); } }