2008-11-01 17:32:06 -04:00
|
|
|
|
2009-12-14 21:50:53 -05:00
|
|
|
package com.fsck.k9.activity.setup;
|
2008-11-01 17:32:06 -04:00
|
|
|
|
|
|
|
import android.content.Context;
|
|
|
|
import android.content.Intent;
|
|
|
|
import android.os.Bundle;
|
|
|
|
import android.text.Editable;
|
|
|
|
import android.text.TextWatcher;
|
|
|
|
import android.text.method.TextKeyListener;
|
|
|
|
import android.text.method.TextKeyListener.Capitalize;
|
|
|
|
import android.view.View;
|
|
|
|
import android.view.View.OnClickListener;
|
|
|
|
import android.widget.Button;
|
|
|
|
import android.widget.EditText;
|
2009-12-14 21:50:53 -05:00
|
|
|
import com.fsck.k9.*;
|
2012-08-24 10:29:17 -04:00
|
|
|
import com.fsck.k9.activity.Accounts;
|
2010-05-19 14:17:06 -04:00
|
|
|
import com.fsck.k9.activity.K9Activity;
|
|
|
|
import com.fsck.k9.helper.Utility;
|
2008-11-01 17:32:06 -04:00
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public class AccountSetupNames extends K9Activity implements OnClickListener {
|
2008-11-01 17:32:06 -04:00
|
|
|
private static final String EXTRA_ACCOUNT = "account";
|
|
|
|
|
|
|
|
private EditText mDescription;
|
|
|
|
|
|
|
|
private EditText mName;
|
|
|
|
|
|
|
|
private Account mAccount;
|
|
|
|
|
|
|
|
private Button mDoneButton;
|
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public static void actionSetNames(Context context, Account account) {
|
2008-11-01 17:32:06 -04:00
|
|
|
Intent i = new Intent(context, AccountSetupNames.class);
|
2010-03-03 23:00:30 -05:00
|
|
|
i.putExtra(EXTRA_ACCOUNT, account.getUuid());
|
2008-11-01 17:32:06 -04:00
|
|
|
context.startActivity(i);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2011-02-06 17:09:48 -05:00
|
|
|
public void onCreate(Bundle savedInstanceState) {
|
2008-11-01 17:32:06 -04:00
|
|
|
super.onCreate(savedInstanceState);
|
|
|
|
setContentView(R.layout.account_setup_names);
|
|
|
|
mDescription = (EditText)findViewById(R.id.account_description);
|
|
|
|
mName = (EditText)findViewById(R.id.account_name);
|
|
|
|
mDoneButton = (Button)findViewById(R.id.done);
|
|
|
|
mDoneButton.setOnClickListener(this);
|
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
TextWatcher validationTextWatcher = new TextWatcher() {
|
|
|
|
public void afterTextChanged(Editable s) {
|
2008-11-01 17:32:06 -04:00
|
|
|
validateFields();
|
|
|
|
}
|
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
2008-11-01 17:32:06 -04:00
|
|
|
}
|
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
2008-11-01 17:32:06 -04:00
|
|
|
}
|
|
|
|
};
|
|
|
|
mName.addTextChangedListener(validationTextWatcher);
|
2009-11-21 17:45:39 -05:00
|
|
|
|
2008-11-01 17:32:06 -04:00
|
|
|
mName.setKeyListener(TextKeyListener.getInstance(false, Capitalize.WORDS));
|
|
|
|
|
2010-03-03 23:00:30 -05:00
|
|
|
String accountUuid = getIntent().getStringExtra(EXTRA_ACCOUNT);
|
|
|
|
mAccount = Preferences.getPreferences(this).getAccount(accountUuid);
|
2008-11-01 17:32:06 -04:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Since this field is considered optional, we don't set this here. If
|
|
|
|
* the user fills in a value we'll reset the current value, otherwise we
|
|
|
|
* just leave the saved value alone.
|
|
|
|
*/
|
|
|
|
// mDescription.setText(mAccount.getDescription());
|
2011-02-06 17:09:48 -05:00
|
|
|
if (mAccount.getName() != null) {
|
2008-11-01 17:32:06 -04:00
|
|
|
mName.setText(mAccount.getName());
|
|
|
|
}
|
2011-02-06 17:09:48 -05:00
|
|
|
if (!Utility.requiredFieldValid(mName)) {
|
2008-11-01 17:32:06 -04:00
|
|
|
mDoneButton.setEnabled(false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
private void validateFields() {
|
2008-11-01 17:32:06 -04:00
|
|
|
mDoneButton.setEnabled(Utility.requiredFieldValid(mName));
|
|
|
|
Utility.setCompoundDrawablesAlpha(mDoneButton, mDoneButton.isEnabled() ? 255 : 128);
|
|
|
|
}
|
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
protected void onNext() {
|
|
|
|
if (Utility.requiredFieldValid(mDescription)) {
|
2008-11-01 17:32:06 -04:00
|
|
|
mAccount.setDescription(mDescription.getText().toString());
|
|
|
|
}
|
|
|
|
mAccount.setName(mName.getText().toString());
|
|
|
|
mAccount.save(Preferences.getPreferences(this));
|
2012-08-24 10:29:17 -04:00
|
|
|
Accounts.listAccountsClearTop(this);
|
2008-11-01 17:32:06 -04:00
|
|
|
finish();
|
|
|
|
}
|
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public void onClick(View v) {
|
|
|
|
switch (v.getId()) {
|
|
|
|
case R.id.done:
|
|
|
|
onNext();
|
|
|
|
break;
|
2008-11-01 17:32:06 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|