From ec4b641463030f94f4ce69a136d4bc7b8033c5ec Mon Sep 17 00:00:00 2001 From: Kazuki Yamaguchi Date: Mon, 12 Oct 2015 00:18:09 +0900 Subject: SystemServiceHelper: システムサービス関連の共通コードを切り出した MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/ManageAccountsActivity.java | 9 ++-- .../message/MessageCommandCopyTextToClipboard.java | 6 +-- .../status/StatusCommandCopyTextToClipboard.java | 6 +-- .../status/StatusCommandCopyURLToClipboard.java | 6 +-- .../java/net/lacolaco/smileessence/util/Morse.java | 9 ++-- .../lacolaco/smileessence/util/NetworkHelper.java | 50 ------------------ .../smileessence/util/SystemServiceHelper.java | 61 ++++++++++++++++++++++ .../view/dialog/ReviewDialogFragment.java | 10 +--- .../view/dialog/SearchOnGoogleDialogFragment.java | 10 +--- .../view/dialog/SendMessageDialogFragment.java | 10 +--- .../smileessence/view/page/PostFragment.java | 31 +++-------- .../smileessence/view/page/SearchFragment.java | 14 ++--- 12 files changed, 94 insertions(+), 128 deletions(-) delete mode 100644 app/src/main/java/net/lacolaco/smileessence/util/NetworkHelper.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/util/SystemServiceHelper.java diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.java b/app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.java index 4901cad8..4f0ae216 100644 --- a/app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.java +++ b/app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.java @@ -25,10 +25,12 @@ package net.lacolaco.smileessence.activity; import android.app.Activity; -import android.content.Context; import android.content.Intent; import android.os.Bundle; -import android.view.*; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; import android.widget.*; import com.android.volley.toolbox.NetworkImageView; import net.lacolaco.smileessence.Application; @@ -190,8 +192,7 @@ public class ManageAccountsActivity extends Activity implements AdapterView.OnIt @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { - LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); - convertView = inflater.inflate(R.layout.list_item_account, null); + convertView = getLayoutInflater().inflate(R.layout.list_item_account, null); } Account account = getItem(position); NetworkImageView iconView = (NetworkImageView) convertView.findViewById(R.id.account_icon); diff --git a/app/src/main/java/net/lacolaco/smileessence/command/message/MessageCommandCopyTextToClipboard.java b/app/src/main/java/net/lacolaco/smileessence/command/message/MessageCommandCopyTextToClipboard.java index 1ee899fc..bcefc7fb 100644 --- a/app/src/main/java/net/lacolaco/smileessence/command/message/MessageCommandCopyTextToClipboard.java +++ b/app/src/main/java/net/lacolaco/smileessence/command/message/MessageCommandCopyTextToClipboard.java @@ -25,11 +25,10 @@ package net.lacolaco.smileessence.command.message; import android.app.Activity; -import android.content.ClipData; -import android.content.ClipboardManager; import net.lacolaco.smileessence.R; import net.lacolaco.smileessence.entity.DirectMessage; import net.lacolaco.smileessence.notification.Notificator; +import net.lacolaco.smileessence.util.SystemServiceHelper; public class MessageCommandCopyTextToClipboard extends MessageCommand { @@ -55,8 +54,7 @@ public class MessageCommandCopyTextToClipboard extends MessageCommand { @Override public boolean execute() { - ClipboardManager manager = (ClipboardManager) getActivity().getSystemService(Activity.CLIPBOARD_SERVICE); - manager.setPrimaryClip(ClipData.newPlainText("message text", getMessage().getText())); + SystemServiceHelper.copyToClipboard(getActivity(), "message text", getMessage().getText()); Notificator.getInstance().publish(R.string.notice_copy_clipboard); return true; } diff --git a/app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandCopyTextToClipboard.java b/app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandCopyTextToClipboard.java index 47827485..be167acd 100644 --- a/app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandCopyTextToClipboard.java +++ b/app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandCopyTextToClipboard.java @@ -25,11 +25,10 @@ package net.lacolaco.smileessence.command.status; import android.app.Activity; -import android.content.ClipData; -import android.content.ClipboardManager; import net.lacolaco.smileessence.R; import net.lacolaco.smileessence.entity.Tweet; import net.lacolaco.smileessence.notification.Notificator; +import net.lacolaco.smileessence.util.SystemServiceHelper; public class StatusCommandCopyTextToClipboard extends StatusCommand { @@ -55,8 +54,7 @@ public class StatusCommandCopyTextToClipboard extends StatusCommand { @Override public boolean execute() { - ClipboardManager manager = (ClipboardManager) getActivity().getSystemService(Activity.CLIPBOARD_SERVICE); - manager.setPrimaryClip(ClipData.newPlainText("tweet text", getOriginalStatus().getText())); + SystemServiceHelper.copyToClipboard(getActivity(), "tweet text", getOriginalStatus().getText()); Notificator.getInstance().publish(R.string.notice_copy_clipboard); return true; } diff --git a/app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandCopyURLToClipboard.java b/app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandCopyURLToClipboard.java index 542e7ddb..90e8a789 100644 --- a/app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandCopyURLToClipboard.java +++ b/app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandCopyURLToClipboard.java @@ -25,11 +25,10 @@ package net.lacolaco.smileessence.command.status; import android.app.Activity; -import android.content.ClipData; -import android.content.ClipboardManager; import net.lacolaco.smileessence.R; import net.lacolaco.smileessence.entity.Tweet; import net.lacolaco.smileessence.notification.Notificator; +import net.lacolaco.smileessence.util.SystemServiceHelper; public class StatusCommandCopyURLToClipboard extends StatusCommand { @@ -56,8 +55,7 @@ public class StatusCommandCopyURLToClipboard extends StatusCommand { @Override public boolean execute() { String statusURL = getOriginalStatus().getTwitterUrl(); - ClipboardManager manager = (ClipboardManager) getActivity().getSystemService(Activity.CLIPBOARD_SERVICE); - manager.setPrimaryClip(ClipData.newPlainText("tweet url", statusURL)); + SystemServiceHelper.copyToClipboard(getActivity(), "tweet url", statusURL); Notificator.getInstance().publish(R.string.notice_copy_clipboard); return true; } diff --git a/app/src/main/java/net/lacolaco/smileessence/util/Morse.java b/app/src/main/java/net/lacolaco/smileessence/util/Morse.java index 7aa5f697..364f6240 100644 --- a/app/src/main/java/net/lacolaco/smileessence/util/Morse.java +++ b/app/src/main/java/net/lacolaco/smileessence/util/Morse.java @@ -33,8 +33,9 @@ public class Morse { // ------------------------------ FIELDS ------------------------------ - private static HashMap jaMc; - private static HashMap mcJa; + private static final HashMap jaMc; + private static final HashMap mcJa; + private static final Pattern morsePattern = Pattern.compile("[-・]+"); // -------------------------- STATIC METHODS -------------------------- @@ -45,8 +46,7 @@ public class Morse { * @return モールスを含むならtrue, そうでなければfalse */ public static boolean isMorse(String mc) { - Pattern pattern = Pattern.compile("[-・]+"); - Matcher matcher = pattern.matcher(mc); + Matcher matcher = morsePattern.matcher(mc); ArrayList list = new ArrayList<>(); while (matcher.find()) { list.add(matcher.group()); @@ -132,5 +132,4 @@ public class Morse { for (String[] to : ja1) jaMc.put(to[0], to[1]); } - } diff --git a/app/src/main/java/net/lacolaco/smileessence/util/NetworkHelper.java b/app/src/main/java/net/lacolaco/smileessence/util/NetworkHelper.java deleted file mode 100644 index 75062a4f..00000000 --- a/app/src/main/java/net/lacolaco/smileessence/util/NetworkHelper.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * The MIT License (MIT) - * - * Copyright (c) 2012-2014 lacolaco.net - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package net.lacolaco.smileessence.util; - -import android.content.Context; -import android.net.ConnectivityManager; -import android.net.NetworkInfo; - -public class NetworkHelper { - - // ------------------------------ FIELDS ------------------------------ - - private final Context context; - - // --------------------------- CONSTRUCTORS --------------------------- - - public NetworkHelper(Context context) { - this.context = context; - } - - // -------------------------- OTHER METHODS -------------------------- - - public boolean canConnect() { - ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); - NetworkInfo info = cm.getActiveNetworkInfo(); - return info != null && info.isConnected(); - } -} diff --git a/app/src/main/java/net/lacolaco/smileessence/util/SystemServiceHelper.java b/app/src/main/java/net/lacolaco/smileessence/util/SystemServiceHelper.java new file mode 100644 index 00000000..91f8925d --- /dev/null +++ b/app/src/main/java/net/lacolaco/smileessence/util/SystemServiceHelper.java @@ -0,0 +1,61 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) 2012-2014 lacolaco.net + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package net.lacolaco.smileessence.util; + +import android.app.Activity; +import android.content.ClipData; +import android.content.ClipboardManager; +import android.content.Context; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.view.View; +import android.view.inputmethod.InputMethodManager; + +public class SystemServiceHelper { + public static boolean isNetworkConnected(Context context) { + ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo info = cm.getActiveNetworkInfo(); + return info != null && info.isConnected(); + } + + public static void hideIM(Context context, View view) { + if (view != null) { + InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); + imm.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.RESULT_UNCHANGED_SHOWN); + } + } + + public static void showIM(Context context, View view) { + if (view != null) { + InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); + imm.showSoftInput(view, InputMethodManager.RESULT_UNCHANGED_SHOWN); + } + } + + public static void copyToClipboard(Context context, String label, String text) { + ClipboardManager manager = (ClipboardManager) context.getSystemService(Activity.CLIPBOARD_SERVICE); + manager.setPrimaryClip(ClipData.newPlainText(label, text)); + } +} diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/ReviewDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/ReviewDialogFragment.java index 2a5f8c15..c7bcb048 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/ReviewDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/ReviewDialogFragment.java @@ -26,16 +26,15 @@ package net.lacolaco.smileessence.view.dialog; import android.app.AlertDialog; import android.app.Dialog; -import android.content.Context; import android.os.Bundle; import android.view.View; -import android.view.inputmethod.InputMethodManager; import android.widget.Button; import android.widget.RatingBar; import net.lacolaco.smileessence.R; import net.lacolaco.smileessence.activity.MainActivity; import net.lacolaco.smileessence.data.PostState; import net.lacolaco.smileessence.entity.Tweet; +import net.lacolaco.smileessence.util.SystemServiceHelper; public class ReviewDialogFragment extends StackableDialogFragment implements View.OnClickListener { @@ -89,13 +88,8 @@ public class ReviewDialogFragment extends StackableDialogFragment implements Vie .create(); } - private void hideIME() { - InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); - imm.hideSoftInputFromWindow(ratingBar.getWindowToken(), 0); - } - private void execute() { - hideIME(); + SystemServiceHelper.hideIM(getActivity(), ratingBar); Tweet tweet = Tweet.fetch(statusID).getOriginalTweet(); int star = (int) ratingBar.getRating(); StringBuilder builder = new StringBuilder(); diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SearchOnGoogleDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SearchOnGoogleDialogFragment.java index 1946c3a6..43adb668 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SearchOnGoogleDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SearchOnGoogleDialogFragment.java @@ -27,17 +27,16 @@ package net.lacolaco.smileessence.view.dialog; import android.app.AlertDialog; import android.app.Dialog; import android.app.SearchManager; -import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; import android.view.View; -import android.view.inputmethod.InputMethodManager; import android.widget.Button; import android.widget.EditText; import net.lacolaco.smileessence.R; +import net.lacolaco.smileessence.util.SystemServiceHelper; import net.lacolaco.smileessence.view.DialogHelper; public class SearchOnGoogleDialogFragment extends StackableDialogFragment implements TextWatcher, View.OnClickListener { @@ -116,13 +115,8 @@ public class SearchOnGoogleDialogFragment extends StackableDialogFragment implem .create(); } - private void hideIME() { - InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); - imm.hideSoftInputFromWindow(editText.getWindowToken(), 0); - } - private void execute() { - hideIME(); + SystemServiceHelper.hideIM(getActivity(), editText); Intent intent = new Intent(Intent.ACTION_WEB_SEARCH); intent.putExtra(SearchManager.QUERY, editText.getText().toString()); getActivity().startActivity(intent); diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SendMessageDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SendMessageDialogFragment.java index 6b3f0393..a7e5add0 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SendMessageDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SendMessageDialogFragment.java @@ -26,14 +26,12 @@ package net.lacolaco.smileessence.view.dialog; import android.app.AlertDialog; import android.app.Dialog; -import android.content.Context; import android.os.Bundle; import android.support.v4.content.ContextCompat; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; import android.view.View; -import android.view.inputmethod.InputMethodManager; import android.widget.Button; import android.widget.EditText; import android.widget.ImageButton; @@ -44,6 +42,7 @@ import net.lacolaco.smileessence.R; import net.lacolaco.smileessence.data.PostState; import net.lacolaco.smileessence.notification.Notificator; import net.lacolaco.smileessence.twitter.task.SendMessageTask; +import net.lacolaco.smileessence.util.SystemServiceHelper; public class SendMessageDialogFragment extends StackableDialogFragment implements TextWatcher, View.OnClickListener { @@ -142,13 +141,8 @@ public class SendMessageDialogFragment extends StackableDialogFragment implement editText.setText(""); } - private void hideIME() { - InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); - imm.hideSoftInputFromWindow(editText.getWindowToken(), 0); - } - private void sendMessage() { - hideIME(); + SystemServiceHelper.hideIM(getActivity(), editText); String text = editText.getText().toString(); new SendMessageTask(Application.getInstance().getCurrentAccount(), screenName, text) .onDone(x -> Notificator.getInstance().publish(R.string.notice_message_send_succeeded)) diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/PostFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/page/PostFragment.java index f0b34c7e..162b28c2 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/page/PostFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/page/PostFragment.java @@ -24,7 +24,6 @@ package net.lacolaco.smileessence.view.page; -import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; @@ -36,7 +35,6 @@ import android.text.TextUtils; import android.text.TextWatcher; import android.text.method.ArrowKeyMovementMethod; import android.view.*; -import android.view.inputmethod.InputMethodManager; import android.widget.*; import com.twitter.Validator; import net.lacolaco.smileessence.Application; @@ -49,6 +47,7 @@ import net.lacolaco.smileessence.preference.UserPreferenceHelper; import net.lacolaco.smileessence.twitter.task.TweetTask; import net.lacolaco.smileessence.util.BitmapThumbnailTask; import net.lacolaco.smileessence.util.IntentUtils; +import net.lacolaco.smileessence.util.SystemServiceHelper; import net.lacolaco.smileessence.util.UIHandler; import net.lacolaco.smileessence.view.DialogHelper; import net.lacolaco.smileessence.view.dialog.PostMenuDialogFragment; @@ -112,9 +111,9 @@ public class PostFragment extends PageFragment implements TextWatcher, View.OnFo @Override public void onFocusChange(View v, boolean hasFocus) { if (hasFocus) { - showIME(); + SystemServiceHelper.showIM(getActivity(), editText); } else { - hideIME(); + SystemServiceHelper.hideIM(getActivity(), editText); } } @@ -206,7 +205,7 @@ public class PostFragment extends PageFragment implements TextWatcher, View.OnFo public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); menu.removeItem(R.id.actionbar_post); - showIME(); + SystemServiceHelper.showIM(getActivity(), editText); } public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -303,20 +302,15 @@ public class PostFragment extends PageFragment implements TextWatcher, View.OnFo return (Button) v.findViewById(R.id.button_post_tweet); } - private void hideIME() { - InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); - imm.hideSoftInputFromWindow(editText.getWindowToken(), InputMethodManager.RESULT_UNCHANGED_SHOWN); - } - private void openPostMenu() { setStateFromView(); - hideIME(); + SystemServiceHelper.hideIM(getActivity(), editText); PostMenuDialogFragment menuDialogFragment = new PostMenuDialogFragment(); DialogHelper.showDialog(getActivity(), menuDialogFragment); } private void removeImage() { - hideIME(); + SystemServiceHelper.hideIM(getActivity(), editText); viewGroupMedia.setVisibility(View.GONE); ((ImageView) viewGroupMedia.findViewById(R.id.image_post_media)).setImageBitmap(null); PostState.getState().beginTransaction().setMediaFilePath("").commit(); @@ -324,7 +318,7 @@ public class PostFragment extends PageFragment implements TextWatcher, View.OnFo private void setImage() { setStateFromView(); - hideIME(); + SystemServiceHelper.hideIM(getActivity(), editText); SelectImageDialogFragment selectImageDialogFragment = new SelectImageDialogFragment(); DialogHelper.showDialog(getActivity(), selectImageDialogFragment); } @@ -339,17 +333,8 @@ public class PostFragment extends PageFragment implements TextWatcher, View.OnFo state.setListener(this); } - private void showIME() { - if (editText != null) { - new UIHandler().postDelayed(() -> { - InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); - imm.showSoftInput(editText, InputMethodManager.RESULT_UNCHANGED_SHOWN); - }, 100); - } - } - private void submitPost() { - hideIME(); + SystemServiceHelper.hideIM(getActivity(), editText); setStateFromView(); PostState state = PostState.getState(); MainActivity mainActivity = (MainActivity) getActivity(); diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/SearchFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/page/SearchFragment.java index fb4c0039..fb577c66 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/page/SearchFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/page/SearchFragment.java @@ -24,7 +24,6 @@ package net.lacolaco.smileessence.view.page; -import android.content.Context; import android.os.Bundle; import android.support.annotation.NonNull; import android.text.Spannable; @@ -32,7 +31,6 @@ import android.text.TextUtils; import android.text.method.ArrowKeyMovementMethod; import android.view.*; import android.view.inputmethod.EditorInfo; -import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import android.widget.ImageButton; import android.widget.ListView; @@ -51,6 +49,7 @@ import net.lacolaco.smileessence.preference.InternalPreferenceHelper; import net.lacolaco.smileessence.preference.UserPreferenceHelper; import net.lacolaco.smileessence.twitter.StatusFilter; import net.lacolaco.smileessence.twitter.task.SearchTask; +import net.lacolaco.smileessence.util.SystemServiceHelper; import net.lacolaco.smileessence.util.UIHandler; import net.lacolaco.smileessence.view.DialogHelper; import net.lacolaco.smileessence.view.adapter.SearchListAdapter; @@ -120,7 +119,7 @@ public class SearchFragment extends CustomListFragment implem @Override public void onFocusChange(View v, boolean hasFocus) { if (!hasFocus) { - hideIME(); + SystemServiceHelper.hideIM(getActivity(), editText); } } @@ -260,11 +259,6 @@ public class SearchFragment extends CustomListFragment implem return (ImageButton) page.findViewById(R.id.button_search_save); } - private void hideIME() { - InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); - imm.hideSoftInputFromWindow(editText.getWindowToken(), 0); - } - private void notifyTextEmpty() { Notificator.getInstance().alert(R.string.notice_search_text_empty); } @@ -280,7 +274,7 @@ public class SearchFragment extends CustomListFragment implem super.executeCommand(command); SearchQuery query = ((CommandOpenSearch) command).getQuery(); editText.setText(query.query); - hideIME(); + SystemServiceHelper.hideIM(SearchFragment.this.getActivity(), editText); } }); } @@ -302,7 +296,7 @@ public class SearchFragment extends CustomListFragment implem Notificator.getInstance().alert(R.string.notice_query_is_empty); } else { startSearch(text); - hideIME(); + SystemServiceHelper.hideIM(getActivity(), editText); } } } -- cgit v1.2.3