- // avoid triggering completion pop-up
- AccountAutocompleteAdapter a =
- (AccountAutocompleteAdapter) b.accountRowAccName.getAdapter();
- try {
- b.accountRowAccName.setAdapter(null);
- b.accountRowAccName.setText(acc.getAccountName());
- }
- finally {
- b.accountRowAccName.setAdapter(a);
+ final String incomingAccountName = acc.getAccountName();
+ final String presentAccountName = String.valueOf(b.accountRowAccName.getText());
+ if (!TextUtils.equals(incomingAccountName, presentAccountName)) {
+ Logger.debug("bind",
+ String.format("Setting account name from '%s' to '%s' (| @ %d)",
+ presentAccountName, incomingAccountName,
+ acc.getAccountNameCursorPosition()));
+ // avoid triggering completion pop-up
+ AccountAutocompleteAdapter a =
+ (AccountAutocompleteAdapter) b.accountRowAccName.getAdapter();
+ try {
+ b.accountRowAccName.setAdapter(null);
+ b.accountRowAccName.setText(incomingAccountName);
+ if (b.accountRowAccName.hasFocus())
+ b.accountRowAccName.setSelection(
+ acc.getAccountNameCursorPosition());
+ }
+ finally {
+ b.accountRowAccName.setAdapter(a);
+ }