From ed70494a26b2bbf7487e5b607c55cf50c94f7599 Mon Sep 17 00:00:00 2001 From: FatttSnake Date: Wed, 28 Sep 2022 10:38:31 +0800 Subject: [PATCH] Fixed the bug that the dialog could be closed. Fixed the bug that the dialog could not be closed automatically when the query failed. Optimized the name of the onFailure method. --- .../oxygentoolbox/tools/ip/MainActivity.java | 35 ++++++++++++------- .../tools/translation/MainActivity.java | 12 +++---- .../oxygentoolbox/util/http/HttpHelper.java | 2 +- .../util/http/ResponseListener.java | 2 +- app/src/main/res/values-zh-rCN/strings.xml | 4 ++- app/src/main/res/values-zh-rHK/strings.xml | 4 ++- app/src/main/res/values-zh-rTW/strings.xml | 4 ++- app/src/main/res/values/strings.xml | 4 ++- 8 files changed, 42 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/com/fatapp/oxygentoolbox/tools/ip/MainActivity.java b/app/src/main/java/com/fatapp/oxygentoolbox/tools/ip/MainActivity.java index 66cf822..5671b10 100644 --- a/app/src/main/java/com/fatapp/oxygentoolbox/tools/ip/MainActivity.java +++ b/app/src/main/java/com/fatapp/oxygentoolbox/tools/ip/MainActivity.java @@ -18,6 +18,7 @@ import com.fatapp.oxygentoolbox.util.ResourceUtil; import com.fatapp.oxygentoolbox.util.http.HttpHelper; import com.fatapp.oxygentoolbox.util.http.ResponseListener; import com.fatapp.oxygentoolbox.util.tool.BaseActivityNormal; +import com.google.android.material.snackbar.Snackbar; import org.json.JSONException; import org.json.JSONObject; @@ -66,18 +67,18 @@ public class MainActivity extends BaseActivityNormal { String desc = data.getString("desc"); textViewCurrentIP.setText(String.format("%s %s", ip, desc)); } else { - onFailed(); + onFailure(); } } catch (JSONException e) { - onFailed(); + onFailure(); } } else { - onFailed(); + onFailure(); } } @Override - public void onFailed() { + public void onFailure() { textViewCurrentIP.setText(ResourceUtil.getString(R.string.tool_ip_Unknown)); } }); @@ -118,6 +119,8 @@ public class MainActivity extends BaseActivityNormal { ((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(editTextIpAddress.getWindowToken(), 0); final ProgressDialog progressDialog = new ProgressDialog(this); progressDialog.setTitle(R.string.tool_ip_querying); + progressDialog.setMessage(ResourceUtil.getString(R.string.tool_ip_wait)); + progressDialog.setCancelable(false); progressDialog.show(); final HttpHelper httpHelper = new HttpHelper(this, URL_QUERY, new ResponseListener() { @Override @@ -136,25 +139,31 @@ public class MainActivity extends BaseActivityNormal { textViewResultCity.setText(city.isEmpty() ? ResourceUtil.getString(R.string.tool_ip_Unknown) : city); textViewResultIsp.setText(isp.isEmpty() ? ResourceUtil.getString(R.string.tool_ip_Unknown) : isp); } else { - onFailed(); - textViewResultIP.setText(new JSONObject(responseBody).getString("msg")); + setUnknown(); + Snackbar.make(getConstraintLayoutRoot(), new JSONObject(responseBody).getString("msg"), Snackbar.LENGTH_LONG).show(); } } catch (JSONException e) { - onFailed(); + onFailure(); } } else { - onFailed(); + onFailure(); } } @Override - public void onFailed() { - textViewResultIP.setText(ResourceUtil.getString(R.string.tool_ip_Unknown)); - textViewResultProvince.setText(ResourceUtil.getString(R.string.tool_ip_Unknown)); - textViewResultCity.setText(ResourceUtil.getString(R.string.tool_ip_Unknown)); - textViewResultIsp.setText(ResourceUtil.getString(R.string.tool_ip_Unknown)); + public void onFailure() { + progressDialog.cancel(); + setUnknown(); + Snackbar.make(getConstraintLayoutRoot(), ResourceUtil.getString(R.string.tool_ip_query_failed), Snackbar.LENGTH_LONG).show(); } }); httpHelper.request(editTextIpAddress.getText().toString(), BuildConfig.ROLL_APP_ID, BuildConfig.ROLL_APP_SECRET); } + + private void setUnknown() { + textViewResultIP.setText(ResourceUtil.getString(R.string.tool_ip_Unknown)); + textViewResultProvince.setText(ResourceUtil.getString(R.string.tool_ip_Unknown)); + textViewResultCity.setText(ResourceUtil.getString(R.string.tool_ip_Unknown)); + textViewResultIsp.setText(ResourceUtil.getString(R.string.tool_ip_Unknown)); + } } diff --git a/app/src/main/java/com/fatapp/oxygentoolbox/tools/translation/MainActivity.java b/app/src/main/java/com/fatapp/oxygentoolbox/tools/translation/MainActivity.java index 5773489..a49a44c 100644 --- a/app/src/main/java/com/fatapp/oxygentoolbox/tools/translation/MainActivity.java +++ b/app/src/main/java/com/fatapp/oxygentoolbox/tools/translation/MainActivity.java @@ -152,30 +152,30 @@ public class MainActivity extends BaseActivityNormal { imageViewTranslate.setEnabled(true); progressBarInTranslation.setVisibility(View.INVISIBLE); } catch (JSONException e) { - onFailed(); + onFailure(); } } else { - onFailed(); + onFailure(); } } @Override - public void onFailed() { + public void onFailure() { textViewTo.setText(null); editTextFrom.setEnabled(true); imageViewTranslate.setEnabled(true); progressBarInTranslation.setVisibility(View.INVISIBLE); - Snackbar.make(getConstraintLayoutRoot(), "翻译失败", Snackbar.LENGTH_LONG).show(); + Snackbar.make(getConstraintLayoutRoot(), ResourceUtil.getString(R.string.tool_translation_translation_failed), Snackbar.LENGTH_LONG).show(); } }); try { if (languageFrom.equals(languageTo)) { - httpHelper.getResponseListener().onFailed(); + httpHelper.getResponseListener().onFailure(); } httpHelper.request(languageFrom.toUpperCase() + 2 + languageTo.toUpperCase(), URLEncoder.encode(editTextFrom.getText().toString(), StandardCharsets.UTF_8.toString())); } catch (UnsupportedEncodingException e) { - httpHelper.getResponseListener().onFailed(); + httpHelper.getResponseListener().onFailure(); } } } diff --git a/app/src/main/java/com/fatapp/oxygentoolbox/util/http/HttpHelper.java b/app/src/main/java/com/fatapp/oxygentoolbox/util/http/HttpHelper.java index 1f7dec6..4fa8d72 100644 --- a/app/src/main/java/com/fatapp/oxygentoolbox/util/http/HttpHelper.java +++ b/app/src/main/java/com/fatapp/oxygentoolbox/util/http/HttpHelper.java @@ -39,7 +39,7 @@ public class HttpHelper { String body = Objects.requireNonNull(response.body()).string(); activity.runOnUiThread(() -> responseListener.onResponse(code, body)); } catch (IOException e) { - activity.runOnUiThread(() -> responseListener.onFailed()); + activity.runOnUiThread(() -> responseListener.onFailure()); } } }.start(); diff --git a/app/src/main/java/com/fatapp/oxygentoolbox/util/http/ResponseListener.java b/app/src/main/java/com/fatapp/oxygentoolbox/util/http/ResponseListener.java index 60c59d6..412330d 100644 --- a/app/src/main/java/com/fatapp/oxygentoolbox/util/http/ResponseListener.java +++ b/app/src/main/java/com/fatapp/oxygentoolbox/util/http/ResponseListener.java @@ -3,5 +3,5 @@ package com.fatapp.oxygentoolbox.util.http; public interface ResponseListener { void onResponse(int code, String responseBody); - void onFailed(); + void onFailure(); } diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 8849d63..7611d98 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -76,13 +76,15 @@ 选择语言 请输入内容…… - 翻译失败 + 翻译失败,请检查网络连接。 当前 IP: 未知 IP 地址 查询中 + 请耐心等待…… 城市 省份 网络提供商 + 查询失败,请检查网络连接。 \ No newline at end of file diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 8849d63..7611d98 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -76,13 +76,15 @@ 选择语言 请输入内容…… - 翻译失败 + 翻译失败,请检查网络连接。 当前 IP: 未知 IP 地址 查询中 + 请耐心等待…… 城市 省份 网络提供商 + 查询失败,请检查网络连接。 \ No newline at end of file diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 8849d63..7611d98 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -76,13 +76,15 @@ 选择语言 请输入内容…… - 翻译失败 + 翻译失败,请检查网络连接。 当前 IP: 未知 IP 地址 查询中 + 请耐心等待…… 城市 省份 网络提供商 + 查询失败,请检查网络连接。 \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 832bf4f..4667f87 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -112,13 +112,15 @@ 日本 한국인 Please enter text… - Translation Failed + Translation failed, please check network connection. Current IP:  Unknown IP address Querying + Please wait patiently… City Province ISP + Query failed, please check network connection. \ No newline at end of file