Add notification when lost internet

This commit is contained in:
Nezumi
2023-03-08 16:38:18 +07:00
parent 400ed79536
commit 0e0965209d
9 changed files with 118 additions and 17 deletions
@@ -1,10 +1,22 @@
package com.capstone.foodify;
import android.app.Activity;
import android.content.Context;
import android.content.res.AssetManager;
import android.graphics.Typeface;
import android.net.ConnectivityManager;
import android.net.Network;
import android.net.NetworkCapabilities;
import android.net.NetworkInfo;
import android.os.Build;
import androidx.annotation.NonNull;
import com.capstone.foodify.Model.Basket.Basket;
import com.thecode.aestheticdialogs.AestheticDialog;
import com.thecode.aestheticdialogs.DialogStyle;
import com.thecode.aestheticdialogs.DialogType;
import com.thecode.aestheticdialogs.OnDialogClickListener;
import java.text.NumberFormat;
import java.util.ArrayList;
@@ -27,4 +39,34 @@ public class Common {
public static Typeface setFontOpenSans(AssetManager assetManager){
return Typeface.createFromAsset(assetManager, "font/opensans.ttf");
}
public static boolean checkInternetConnection(Context context){
ConnectivityManager connectivityManager =
(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
Network activeNetwork = connectivityManager.getActiveNetwork();
NetworkCapabilities capabilities = connectivityManager.getNetworkCapabilities(activeNetwork);
if (capabilities != null) {
if (capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_SUPL)) return true;
else if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) return true;
else if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET)) return true;
else return false;
}
return false;
}
public static void showErrorInternetConnectionNotification(Activity activity){
new AestheticDialog.Builder(activity, DialogStyle.CONNECTIFY, DialogType.ERROR)
.setTitle("Lỗi kết nối mạng!")
.setMessage("Vui lòng kiểm tra kết nối và thử lại bạn nha!")
.setCancelable(false)
.setOnClickListener(new OnDialogClickListener() {
@Override
public void onClick(@NonNull AestheticDialog.Builder builder) {
activity.finish();
System.exit(0);
}
})
.show();
}
}