From f2d5e9536ac741b384e154abb5bdb6d5d295a391 Mon Sep 17 00:00:00 2001 From: Daisuke Miyakawa Date: Wed, 15 Sep 2010 10:49:38 -0700 Subject: [PATCH] Hide software keyboard when it becomes unnecessary Bug: 3003749 Change-Id: If8dcf66cf088590bbe26e5ec71537b6b43f66226 --- .../settings/DateTimeSettingsSetupWizard.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/DateTimeSettingsSetupWizard.java b/src/com/android/settings/DateTimeSettingsSetupWizard.java index 00e27b7d962..016a7f29b05 100644 --- a/src/com/android/settings/DateTimeSettingsSetupWizard.java +++ b/src/com/android/settings/DateTimeSettingsSetupWizard.java @@ -19,6 +19,7 @@ package com.android.settings; 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.provider.Settings.SettingNotFoundException; 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 @@ public class DateTimeSettingsSetupWizard extends Activity private Button mTimeZone; private TimePicker mTimePicker; private DatePicker mDatePicker; + private InputMethodManager mInputMethodManager; @Override protected void onCreate(Bundle savedInstanceState) { @@ -90,6 +93,8 @@ public class DateTimeSettingsSetupWizard extends Activity 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 @@ public class DateTimeSettingsSetupWizard extends Activity 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(); + } } }