Merge "Replace showSoftInput with ImeAwareEditText.scheduleShowSoftInput" into oc-dr1-dev

This commit is contained in:
TreeHugger Robot
2017-06-13 23:53:32 +00:00
committed by Android (Google) Code Review
2 changed files with 7 additions and 4 deletions

View File

@@ -44,6 +44,7 @@ import com.android.internal.widget.LockPatternChecker;
import com.android.internal.widget.LockPatternUtils; import com.android.internal.widget.LockPatternUtils;
import com.android.internal.widget.TextViewInputDisabler; import com.android.internal.widget.TextViewInputDisabler;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.widget.ImeAwareEditText;
import com.android.settingslib.animation.AppearAnimationUtils; import com.android.settingslib.animation.AppearAnimationUtils;
import com.android.settingslib.animation.DisappearAnimationUtils; import com.android.settingslib.animation.DisappearAnimationUtils;
@@ -93,7 +94,7 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity {
CredentialCheckResultTracker.Listener { CredentialCheckResultTracker.Listener {
private static final long ERROR_MESSAGE_TIMEOUT = 3000; private static final long ERROR_MESSAGE_TIMEOUT = 3000;
private static final String FRAGMENT_TAG_CHECK_LOCK_RESULT = "check_lock_result"; private static final String FRAGMENT_TAG_CHECK_LOCK_RESULT = "check_lock_result";
private TextView mPasswordEntry; private ImeAwareEditText mPasswordEntry;
private TextViewInputDisabler mPasswordEntryInputDisabler; private TextViewInputDisabler mPasswordEntryInputDisabler;
private AsyncTask<?, ?, ?> mPendingLockCheck; private AsyncTask<?, ?, ?> mPendingLockCheck;
private CredentialCheckResultTracker mCredentialCheckResultTracker; private CredentialCheckResultTracker mCredentialCheckResultTracker;
@@ -132,7 +133,7 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity {
container, container,
false); false);
mPasswordEntry = (TextView) view.findViewById(R.id.password_entry); mPasswordEntry = (ImeAwareEditText) view.findViewById(R.id.password_entry);
mPasswordEntry.setOnEditorActionListener(this); mPasswordEntry.setOnEditorActionListener(this);
// EditText inside ScrollView doesn't automatically get focus. // EditText inside ScrollView doesn't automatically get focus.
mPasswordEntry.requestFocus(); mPasswordEntry.requestFocus();
@@ -310,7 +311,7 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity {
mPasswordEntry.setEnabled(true); mPasswordEntry.setEnabled(true);
mPasswordEntryInputDisabler.setInputEnabled(true); mPasswordEntryInputDisabler.setInputEnabled(true);
if (shouldAutoShowSoftKeyboard()) { if (shouldAutoShowSoftKeyboard()) {
mImm.showSoftInput(mPasswordEntry, InputMethodManager.SHOW_IMPLICIT); mPasswordEntry.scheduleShowSoftInput();
} }
} }

View File

@@ -23,12 +23,14 @@ import android.view.View;
import android.view.ViewParent; import android.view.ViewParent;
import android.widget.EditText; import android.widget.EditText;
import com.android.settings.widget.ImeAwareEditText;
/** /**
* An EditText that, instead of scrolling to itself when focused, will request scrolling to its * An EditText that, instead of scrolling to itself when focused, will request scrolling to its
* parent. This is used in ChooseLockPassword to do make a best effort for not hiding the error * parent. This is used in ChooseLockPassword to do make a best effort for not hiding the error
* messages for why the password is invalid under the keyboard. * messages for why the password is invalid under the keyboard.
*/ */
public class ScrollToParentEditText extends EditText { public class ScrollToParentEditText extends ImeAwareEditText {
private Rect mRect = new Rect(); private Rect mRect = new Rect();