feat:Added check for wheather internet connection was available for a network

This commit is contained in:
angrezichatterbox 2024-12-10 21:33:18 +05:30
parent 5412193f84
commit 5f0d84eb97

View file

@ -6,12 +6,19 @@ import android.content.ActivityNotFoundException
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.net.ConnectivityManager import android.net.ConnectivityManager
import android.net.Network
import android.net.NetworkCapabilities
import android.net.NetworkInfo
import android.net.Uri import android.net.Uri
import android.net.wifi.WifiManager
import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.telephony.TelephonyManager
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.Toast import android.widget.Toast
import androidx.annotation.RequiresApi
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import com.google.android.material.bottomsheet.BottomSheetDialogFragment import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import fr.free.nrw.commons.AboutActivity import fr.free.nrw.commons.AboutActivity
@ -171,7 +178,7 @@ class MoreBottomSheetFragment : BottomSheetDialogFragment() {
fun uploadFeedback(feedback: Feedback) { fun uploadFeedback(feedback: Feedback) {
val feedbackContentCreator = FeedbackContentCreator(requireContext(), feedback) val feedbackContentCreator = FeedbackContentCreator(requireContext(), feedback)
if (!isNetworkAvailable(requireContext())) { if (!isInternetConnectionAvailable(requireContext())) {
Toast.makeText(requireContext(), R.string.error_feedback, Toast.LENGTH_LONG).show() Toast.makeText(requireContext(), R.string.error_feedback, Toast.LENGTH_LONG).show()
return return
} }
@ -201,12 +208,20 @@ class MoreBottomSheetFragment : BottomSheetDialogFragment() {
/** /**
* This method is to check whether internet connection is available or not * This method is to check whether internet connection is available or not
*/ */
fun isNetworkAvailable(context: Context): Boolean { fun isInternetConnectionAvailable(context: Context): Boolean {
val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val activeNetwork = connectivityManager.activeNetworkInfo
return activeNetwork != null && activeNetwork.isConnected return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
val activeNetwork: Network? = connectivityManager.activeNetwork
val networkCapabilities = connectivityManager.getNetworkCapabilities(activeNetwork)
networkCapabilities?.hasCapability(android.net.NetworkCapabilities.NET_CAPABILITY_INTERNET) == true
} else {
val activeNetworkInfo: NetworkInfo? = connectivityManager.activeNetworkInfo
activeNetworkInfo != null && activeNetworkInfo.isConnected
}
} }
/** /**
* This method shows the alert dialog when a user wants to send feedback about the app. * This method shows the alert dialog when a user wants to send feedback about the app.
*/ */