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