diff --git a/app/src/main/java/com/github/libretube/activities/MainActivity.kt b/app/src/main/java/com/github/libretube/activities/MainActivity.kt
index 3613db970..a214973a9 100644
--- a/app/src/main/java/com/github/libretube/activities/MainActivity.kt
+++ b/app/src/main/java/com/github/libretube/activities/MainActivity.kt
@@ -5,8 +5,6 @@ import android.content.Context
import android.content.Intent
import android.content.pm.ActivityInfo
import android.content.res.Configuration
-import android.net.ConnectivityManager
-import android.net.NetworkCapabilities
import android.net.Uri
import android.os.Build
import android.os.Bundle
@@ -33,6 +31,7 @@ import com.github.libretube.fragments.PlayerFragment
import com.github.libretube.fragments.isFullScreen
import com.github.libretube.preferences.PreferenceHelper
import com.github.libretube.services.ClosingService
+import com.github.libretube.util.ConnectionHelper
import com.github.libretube.util.CronetHelper
import com.github.libretube.util.LocaleHelper
import com.github.libretube.util.RetrofitInstance
@@ -74,7 +73,7 @@ class MainActivity : AppCompatActivity() {
LocaleHelper.updateLanguage(this)
// show noInternet Activity if no internet available on app startup
- if (!isNetworkAvailable(this)) {
+ if (!ConnectionHelper.isNetworkAvailable(this)) {
val noInternetIntent = Intent(this, NoInternetActivity::class.java)
startActivity(noInternetIntent)
} else {
@@ -142,28 +141,6 @@ class MainActivity : AppCompatActivity() {
}
}
- private fun isNetworkAvailable(context: Context): Boolean {
- val connectivityManager =
- context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- val nw = connectivityManager.activeNetwork ?: return false
- val actNw = connectivityManager.getNetworkCapabilities(nw) ?: return false
- return when {
- // WiFi
- actNw.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> true
- // Mobile
- actNw.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> true
- // Ethernet
- actNw.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) -> true
- // Bluetooth
- actNw.hasTransport(NetworkCapabilities.TRANSPORT_BLUETOOTH) -> true
- else -> false
- }
- } else {
- return connectivityManager.activeNetworkInfo?.isConnected ?: false
- }
- }
-
override fun onStart() {
super.onStart()
val intentData: Uri? = intent?.data
diff --git a/app/src/main/java/com/github/libretube/activities/NoInternetActivity.kt b/app/src/main/java/com/github/libretube/activities/NoInternetActivity.kt
index 0e391328c..a2e4d9e4d 100644
--- a/app/src/main/java/com/github/libretube/activities/NoInternetActivity.kt
+++ b/app/src/main/java/com/github/libretube/activities/NoInternetActivity.kt
@@ -3,9 +3,12 @@ package com.github.libretube.activities
import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
+import com.github.libretube.R
import com.github.libretube.databinding.ActivityNointernetBinding
+import com.github.libretube.util.ConnectionHelper
import com.github.libretube.util.ThemeHelper
import com.google.android.material.color.DynamicColors
+import com.google.android.material.snackbar.Snackbar
class NoInternetActivity : AppCompatActivity() {
private lateinit var binding: ActivityNointernetBinding
@@ -14,9 +17,17 @@ class NoInternetActivity : AppCompatActivity() {
DynamicColors.applyToActivityIfAvailable(this)
ThemeHelper.updateTheme(this)
super.onCreate(savedInstanceState)
+
binding = ActivityNointernetBinding.inflate(layoutInflater)
+ // retry button
binding.retryButton.setOnClickListener {
- ThemeHelper.restartMainActivity(this)
+ if (ConnectionHelper.isNetworkAvailable(this)) {
+ ThemeHelper.restartMainActivity(this)
+ } else {
+ val snackBar = Snackbar
+ .make(binding.root, R.string.turnInternetOn, Snackbar.LENGTH_LONG)
+ snackBar.show()
+ }
}
binding.noInternetSettingsImageView.setOnClickListener {
val intent = Intent(this, SettingsActivity::class.java)
diff --git a/app/src/main/java/com/github/libretube/util/ConnectionHelper.kt b/app/src/main/java/com/github/libretube/util/ConnectionHelper.kt
new file mode 100644
index 000000000..91020ed45
--- /dev/null
+++ b/app/src/main/java/com/github/libretube/util/ConnectionHelper.kt
@@ -0,0 +1,32 @@
+package com.github.libretube.util
+
+import android.content.Context
+import android.net.ConnectivityManager
+import android.net.NetworkCapabilities
+import android.os.Build
+
+object ConnectionHelper {
+ fun isNetworkAvailable(context: Context): Boolean {
+ val connectivityManager =
+ context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+ val nw = connectivityManager.activeNetwork ?: return false
+ val actNw = connectivityManager.getNetworkCapabilities(nw) ?: return false
+ return when {
+ // WiFi
+ actNw.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> true
+ // Mobile
+ actNw.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> true
+ // Ethernet
+ actNw.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) -> true
+ // Bluetooth
+ actNw.hasTransport(NetworkCapabilities.TRANSPORT_BLUETOOTH) -> true
+ // VPN
+ actNw.hasCapability(NetworkCapabilities.TRANSPORT_VPN) -> true
+ else -> false
+ }
+ } else {
+ return connectivityManager.activeNetworkInfo?.isConnected ?: false
+ }
+ }
+}
diff --git a/app/src/main/res/drawable/ic_player.xml b/app/src/main/res/drawable/ic_player.xml
new file mode 100644
index 000000000..2a9ce7870
--- /dev/null
+++ b/app/src/main/res/drawable/ic_player.xml
@@ -0,0 +1,12 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_video.xml b/app/src/main/res/drawable/ic_video.xml
deleted file mode 100644
index 16fefb228..000000000
--- a/app/src/main/res/drawable/ic_video.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
diff --git a/app/src/main/res/drawable/ic_vlc.xml b/app/src/main/res/drawable/ic_vlc.xml
deleted file mode 100644
index 074c57662..000000000
--- a/app/src/main/res/drawable/ic_vlc.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
diff --git a/app/src/main/res/layout/fragment_player.xml b/app/src/main/res/layout/fragment_player.xml
index 942be70dc..57588ced3 100644
--- a/app/src/main/res/layout/fragment_player.xml
+++ b/app/src/main/res/layout/fragment_player.xml
@@ -193,13 +193,13 @@
android:layout_width="24dp"
android:layout_height="25dp"
android:padding="2dp"
- android:src="@drawable/ic_vlc" />
+ android:src="@drawable/ic_player" />
+ android:text="@string/open" />
Telegram
Reddit
Twitter
+ Please connect to the internet by turning on WiFi or mobile data.
+ Open …
\ No newline at end of file
diff --git a/app/src/main/res/xml/player_settings.xml b/app/src/main/res/xml/player_settings.xml
index 54e72029b..2a9070080 100644
--- a/app/src/main/res/xml/player_settings.xml
+++ b/app/src/main/res/xml/player_settings.xml
@@ -14,7 +14,7 @@
app:useSimpleSummaryProvider="true" />