AccountSetupNames.java revision 8978aac1977408b05e386ae846c30920c7faa0a6
1 2package com.android.email.activity.setup; 3 4import android.app.Activity; 5import android.content.Context; 6import android.content.Intent; 7import android.os.Bundle; 8import android.text.Editable; 9import android.text.TextWatcher; 10import android.text.method.TextKeyListener; 11import android.text.method.TextKeyListener.Capitalize; 12import android.view.View; 13import android.view.View.OnClickListener; 14import android.widget.Button; 15import android.widget.EditText; 16 17import com.android.email.Account; 18import com.android.email.Email; 19import com.android.email.Preferences; 20import com.android.email.R; 21import com.android.email.Utility; 22import com.android.email.activity.FolderMessageList; 23 24public class AccountSetupNames extends Activity implements OnClickListener { 25 private static final String EXTRA_ACCOUNT = "account"; 26 27 private EditText mDescription; 28 29 private EditText mName; 30 31 private Account mAccount; 32 33 private Button mDoneButton; 34 35 public static void actionSetNames(Context context, Account account) { 36 Intent i = new Intent(context, AccountSetupNames.class); 37 i.putExtra(EXTRA_ACCOUNT, account); 38 context.startActivity(i); 39 } 40 41 @Override 42 public void onCreate(Bundle savedInstanceState) { 43 super.onCreate(savedInstanceState); 44 setContentView(R.layout.account_setup_names); 45 mDescription = (EditText)findViewById(R.id.account_description); 46 mName = (EditText)findViewById(R.id.account_name); 47 mDoneButton = (Button)findViewById(R.id.done); 48 mDoneButton.setOnClickListener(this); 49 50 TextWatcher validationTextWatcher = new TextWatcher() { 51 public void afterTextChanged(Editable s) { 52 validateFields(); 53 } 54 55 public void beforeTextChanged(CharSequence s, int start, int count, int after) { 56 } 57 58 public void onTextChanged(CharSequence s, int start, int before, int count) { 59 } 60 }; 61 mName.addTextChangedListener(validationTextWatcher); 62 63 mName.setKeyListener(TextKeyListener.getInstance(false, Capitalize.WORDS)); 64 65 mAccount = (Account)getIntent().getSerializableExtra(EXTRA_ACCOUNT); 66 67 /* 68 * Since this field is considered optional, we don't set this here. If 69 * the user fills in a value we'll reset the current value, otherwise we 70 * just leave the saved value alone. 71 */ 72 // mDescription.setText(mAccount.getDescription()); 73 if (mAccount.getName() != null) { 74 mName.setText(mAccount.getName()); 75 } 76 if (!Utility.requiredFieldValid(mName)) { 77 mDoneButton.setEnabled(false); 78 } 79 } 80 81 private void validateFields() { 82 mDoneButton.setEnabled(Utility.requiredFieldValid(mName)); 83 Utility.setCompoundDrawablesAlpha(mDoneButton, mDoneButton.isEnabled() ? 255 : 128); 84 } 85 86 private void onNext() { 87 if (Utility.requiredFieldValid(mDescription)) { 88 mAccount.setDescription(mDescription.getText().toString()); 89 } 90 mAccount.setName(mName.getText().toString()); 91 mAccount.save(Preferences.getPreferences(this)); 92 FolderMessageList.actionHandleAccount(this, mAccount, Email.INBOX); 93 finish(); 94 } 95 96 public void onClick(View v) { 97 switch (v.getId()) { 98 case R.id.done: 99 onNext(); 100 break; 101 } 102 } 103} 104