From e78af60fb42b23ea10c257b06a3d038352338826 Mon Sep 17 00:00:00 2001 From: Mushegh98 Date: Sat, 13 Jun 2020 02:29:51 +0400 Subject: [PATCH] Add Network Not found toast message. --- .../android/repository/DataRepository.java | 21 +++++++++-- ui/src/main/res/drawable/custom_toast.xml | 10 +++++ ui/src/main/res/layout/toast_layout.xml | 37 +++++++++++++++++++ ui/src/main/res/values/colors.xml | 1 + ui/src/main/res/values/dimens.xml | 1 + 5 files changed, 66 insertions(+), 4 deletions(-) create mode 100644 ui/src/main/res/drawable/custom_toast.xml create mode 100644 ui/src/main/res/layout/toast_layout.xml diff --git a/ui/src/main/java/com/wireguard/android/repository/DataRepository.java b/ui/src/main/java/com/wireguard/android/repository/DataRepository.java index 11a2350..ac5f2f4 100644 --- a/ui/src/main/java/com/wireguard/android/repository/DataRepository.java +++ b/ui/src/main/java/com/wireguard/android/repository/DataRepository.java @@ -6,10 +6,13 @@ import android.os.Build; import android.provider.Settings; import android.provider.Settings.Secure; import android.view.Gravity; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; import android.widget.Toast; - import com.wireguard.android.Application; import com.wireguard.android.R; +import com.wireguard.android.activity.LoginActivity; import com.wireguard.android.activity.MainActivity; import com.wireguard.android.api.ApiConstants; import com.wireguard.android.api.network.ClientApi; @@ -382,6 +385,7 @@ public class DataRepository { .build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(final okhttp3.Call call, final IOException e) { + showNetworkNotAvailableMessage(e,context); liveData.postValue(new byte[]{}); } @@ -458,9 +462,18 @@ public class DataRepository { private void showNetworkNotAvailableMessage(Throwable throwable , Context context){ if( throwable instanceof UnknownHostException || throwable instanceof ConnectException){ - Toast toast = Toast.makeText(context,context.getString(R.string.network_not_found),Toast.LENGTH_LONG); - toast.setGravity(Gravity.TOP | Gravity.START,90,60); - toast.show(); + if(context instanceof LoginActivity) { + ((LoginActivity)context).runOnUiThread(new Runnable() { + @Override public void run() { + final LayoutInflater inflater = ((LoginActivity) context).getLayoutInflater(); + final View layout = inflater.inflate(R.layout.toast_layout, (ViewGroup)((LoginActivity)context).findViewById(R.id.custom_toast_container)); + final Toast toast = new Toast(context); + toast.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL, 0, 60); + toast.setView(layout); + toast.show(); + } + }); + } } } } diff --git a/ui/src/main/res/drawable/custom_toast.xml b/ui/src/main/res/drawable/custom_toast.xml new file mode 100644 index 0000000..bf3e619 --- /dev/null +++ b/ui/src/main/res/drawable/custom_toast.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/ui/src/main/res/layout/toast_layout.xml b/ui/src/main/res/layout/toast_layout.xml new file mode 100644 index 0000000..cd157f3 --- /dev/null +++ b/ui/src/main/res/layout/toast_layout.xml @@ -0,0 +1,37 @@ + + + + + + + + + \ No newline at end of file diff --git a/ui/src/main/res/values/colors.xml b/ui/src/main/res/values/colors.xml index 266a4a2..0da8bf3 100644 --- a/ui/src/main/res/values/colors.xml +++ b/ui/src/main/res/values/colors.xml @@ -42,4 +42,5 @@ #DF9BDF #EC2F91 #C037C0 + #4E4E4E diff --git a/ui/src/main/res/values/dimens.xml b/ui/src/main/res/values/dimens.xml index cf84765..f4adf37 100644 --- a/ui/src/main/res/values/dimens.xml +++ b/ui/src/main/res/values/dimens.xml @@ -16,4 +16,5 @@ 55dp 30sp 90dp + 14sp