Hide software keyboard when it becomes unnecessary
Bug: 3003749
Change-Id: If8dcf66cf088590bbe26e5ec71537b6b43f66226
diff --git a/src/com/android/settings/DateTimeSettingsSetupWizard.java b/src/com/android/settings/DateTimeSettingsSetupWizard.java
index 00e27b7..016a7f2 100644
--- a/src/com/android/settings/DateTimeSettingsSetupWizard.java
+++ b/src/com/android/settings/DateTimeSettingsSetupWizard.java
@@ -19,6 +19,7 @@
import com.android.settings.ZonePicker.ZoneSelectionListener;
import android.app.Activity;
+import android.content.Context;
import android.content.res.Configuration;
import android.os.Bundle;
import android.provider.Settings;
@@ -26,6 +27,7 @@
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
+import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
@@ -44,6 +46,7 @@
private Button mTimeZone;
private TimePicker mTimePicker;
private DatePicker mDatePicker;
+ private InputMethodManager mInputMethodManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -90,6 +93,8 @@
mDatePicker = (DatePicker)findViewById(R.id.date_picker);
mDatePicker.setEnabled(!autoDateTimeEnabled);
+ mInputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
+
((ZonePicker)getFragmentManager().findFragmentById(R.id.zone_picker_fragment))
.setZoneSelectionListener(this);
@@ -135,8 +140,11 @@
mTimePicker.setEnabled(!autoEnabled);
mDatePicker.setEnabled(!autoEnabled);
if (autoEnabled) {
- mTimePicker.clearFocus();
- mDatePicker.clearFocus();
+ final View focusedView = getCurrentFocus();
+ if (focusedView != null) {
+ mInputMethodManager.hideSoftInputFromWindow(focusedView.getWindowToken(), 0);
+ focusedView.clearFocus();
+ }
}
}