diff --git a/app/src/main/java/com/github/libretube/Home.kt b/app/src/main/java/com/github/libretube/Home.kt index 7493daf9c..aeea5434f 100644 --- a/app/src/main/java/com/github/libretube/Home.kt +++ b/app/src/main/java/com/github/libretube/Home.kt @@ -16,8 +16,8 @@ import androidx.recyclerview.widget.RecyclerView import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import com.github.libretube.adapters.TrendingAdapter import com.github.libretube.util.RetrofitInstance -import retrofit2.HttpException import java.io.IOException +import retrofit2.HttpException class Home : Fragment() { diff --git a/app/src/main/java/com/github/libretube/Library.kt b/app/src/main/java/com/github/libretube/Library.kt index ed79ff73d..dd9029832 100644 --- a/app/src/main/java/com/github/libretube/Library.kt +++ b/app/src/main/java/com/github/libretube/Library.kt @@ -17,8 +17,8 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import com.github.libretube.adapters.PlaylistsAdapter import com.github.libretube.dialogs.CreatePlaylistDialog import com.github.libretube.util.RetrofitInstance -import retrofit2.HttpException import java.io.IOException +import retrofit2.HttpException class Library : Fragment() { diff --git a/app/src/main/java/com/github/libretube/MainActivity.kt b/app/src/main/java/com/github/libretube/MainActivity.kt index 11f526c32..a20f7971d 100644 --- a/app/src/main/java/com/github/libretube/MainActivity.kt +++ b/app/src/main/java/com/github/libretube/MainActivity.kt @@ -35,9 +35,9 @@ import com.github.libretube.fragments.PlayerFragment import com.github.libretube.fragments.isFullScreen import com.github.libretube.preferences.SponsorBlockSettings import com.github.libretube.util.CronetHelper +import com.github.libretube.util.LocaleHelper import com.github.libretube.util.RetrofitInstance -import com.github.libretube.util.updateLanguage -import com.github.libretube.util.updateTheme +import com.github.libretube.util.ThemeHelper import com.google.android.material.bottomnavigation.BottomNavigationView import com.google.android.material.color.DynamicColors @@ -69,8 +69,8 @@ class MainActivity : AppCompatActivity() { SponsorBlockSettings.outroEnabled = sharedPreferences.getBoolean("outro_category_key", false) - updateTheme(this) - updateLanguage(this) + ThemeHelper().updateTheme(this) + LocaleHelper().updateLanguage(this) val connectivityManager = this.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager diff --git a/app/src/main/java/com/github/libretube/RouterActivity.kt b/app/src/main/java/com/github/libretube/RouterActivity.kt index 2131fa504..be955d57a 100644 --- a/app/src/main/java/com/github/libretube/RouterActivity.kt +++ b/app/src/main/java/com/github/libretube/RouterActivity.kt @@ -6,7 +6,7 @@ import android.net.Uri import android.os.Bundle import android.util.Log import androidx.appcompat.app.AppCompatActivity -import com.github.libretube.util.restartMainActivity +import com.github.libretube.util.ThemeHelper class RouterActivity : AppCompatActivity() { val TAG = "RouterActivity" @@ -17,7 +17,7 @@ class RouterActivity : AppCompatActivity() { handleSendText(intent) } else { // start app as normal if URI not in host list - restartMainActivity(this) + ThemeHelper().restartMainActivity(this) } } diff --git a/app/src/main/java/com/github/libretube/SettingsActivity.kt b/app/src/main/java/com/github/libretube/SettingsActivity.kt index 995dc4fdd..fff1872f1 100644 --- a/app/src/main/java/com/github/libretube/SettingsActivity.kt +++ b/app/src/main/java/com/github/libretube/SettingsActivity.kt @@ -7,8 +7,7 @@ import android.view.View import androidx.appcompat.app.AppCompatActivity import androidx.core.app.ActivityCompat import com.github.libretube.preferences.SettingsFragment -import com.github.libretube.util.restartMainActivity -import com.github.libretube.util.updateTheme +import com.github.libretube.util.ThemeHelper import com.google.android.material.color.DynamicColors var isCurrentViewMainSettings = true @@ -18,7 +17,7 @@ class SettingsActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { DynamicColors.applyToActivityIfAvailable(this) - updateTheme(this) + ThemeHelper().updateTheme(this) super.onCreate(savedInstanceState) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { @@ -43,9 +42,9 @@ class SettingsActivity : AppCompatActivity() { requireMainActivityRestart = false // kill player notification val nManager = - this.getSystemService(AppCompatActivity.NOTIFICATION_SERVICE) as NotificationManager + this.getSystemService(NOTIFICATION_SERVICE) as NotificationManager nManager.cancelAll() - restartMainActivity(this) + ThemeHelper().restartMainActivity(this) ActivityCompat.finishAffinity(this) } else { super.onBackPressed() diff --git a/app/src/main/java/com/github/libretube/Subscriptions.kt b/app/src/main/java/com/github/libretube/Subscriptions.kt index c8b853a7f..56ee74638 100644 --- a/app/src/main/java/com/github/libretube/Subscriptions.kt +++ b/app/src/main/java/com/github/libretube/Subscriptions.kt @@ -26,8 +26,8 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import com.github.libretube.adapters.SubscriptionAdapter import com.github.libretube.adapters.SubscriptionChannelAdapter import com.github.libretube.util.RetrofitInstance -import retrofit2.HttpException import java.io.IOException +import retrofit2.HttpException class Subscriptions : Fragment() { val TAG = "SubFragment" diff --git a/app/src/main/java/com/github/libretube/adapters/PlaylistAdapter.kt b/app/src/main/java/com/github/libretube/adapters/PlaylistAdapter.kt index 4397101cb..3938ae50d 100644 --- a/app/src/main/java/com/github/libretube/adapters/PlaylistAdapter.kt +++ b/app/src/main/java/com/github/libretube/adapters/PlaylistAdapter.kt @@ -20,10 +20,10 @@ import com.github.libretube.obj.PlaylistId import com.github.libretube.obj.StreamItem import com.github.libretube.util.RetrofitInstance import com.squareup.picasso.Picasso +import java.io.IOException import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import retrofit2.HttpException -import java.io.IOException class PlaylistAdapter( private val videoFeed: MutableList, diff --git a/app/src/main/java/com/github/libretube/adapters/PlaylistsAdapter.kt b/app/src/main/java/com/github/libretube/adapters/PlaylistsAdapter.kt index 049e6565b..9aa860f27 100644 --- a/app/src/main/java/com/github/libretube/adapters/PlaylistsAdapter.kt +++ b/app/src/main/java/com/github/libretube/adapters/PlaylistsAdapter.kt @@ -17,10 +17,10 @@ import com.github.libretube.obj.Playlists import com.github.libretube.util.RetrofitInstance import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.squareup.picasso.Picasso +import java.io.IOException import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import retrofit2.HttpException -import java.io.IOException class PlaylistsAdapter( private val playlists: MutableList, diff --git a/app/src/main/java/com/github/libretube/adapters/SubscriptionChannelAdapter.kt b/app/src/main/java/com/github/libretube/adapters/SubscriptionChannelAdapter.kt index fb06eda1b..ca8c24bef 100644 --- a/app/src/main/java/com/github/libretube/adapters/SubscriptionChannelAdapter.kt +++ b/app/src/main/java/com/github/libretube/adapters/SubscriptionChannelAdapter.kt @@ -15,11 +15,11 @@ import com.github.libretube.obj.Subscribe import com.github.libretube.obj.Subscription import com.github.libretube.util.RetrofitInstance import com.squareup.picasso.Picasso +import java.io.IOException import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import retrofit2.HttpException -import java.io.IOException class SubscriptionChannelAdapter(private val subscriptions: MutableList) : RecyclerView.Adapter() { diff --git a/app/src/main/java/com/github/libretube/dialogs/AddtoPlaylistDialog.kt b/app/src/main/java/com/github/libretube/dialogs/AddtoPlaylistDialog.kt index 126bdd7e0..80453c14b 100644 --- a/app/src/main/java/com/github/libretube/dialogs/AddtoPlaylistDialog.kt +++ b/app/src/main/java/com/github/libretube/dialogs/AddtoPlaylistDialog.kt @@ -19,8 +19,8 @@ import com.github.libretube.R import com.github.libretube.obj.PlaylistId import com.github.libretube.util.RetrofitInstance import com.google.android.material.dialog.MaterialAlertDialogBuilder -import retrofit2.HttpException import java.io.IOException +import retrofit2.HttpException class AddtoPlaylistDialog : DialogFragment() { private val TAG = "AddToPlaylistDialog" diff --git a/app/src/main/java/com/github/libretube/dialogs/CreatePlaylistDialog.kt b/app/src/main/java/com/github/libretube/dialogs/CreatePlaylistDialog.kt index 000bf1897..d33cf90ee 100644 --- a/app/src/main/java/com/github/libretube/dialogs/CreatePlaylistDialog.kt +++ b/app/src/main/java/com/github/libretube/dialogs/CreatePlaylistDialog.kt @@ -19,8 +19,8 @@ import com.github.libretube.obj.Playlists import com.github.libretube.util.RetrofitInstance import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.textfield.TextInputEditText -import retrofit2.HttpException import java.io.IOException +import retrofit2.HttpException class CreatePlaylistDialog : DialogFragment() { val TAG = "CreatePlaylistDialog" diff --git a/app/src/main/java/com/github/libretube/dialogs/LoginDialog.kt b/app/src/main/java/com/github/libretube/dialogs/LoginDialog.kt index 8d1cc33f8..ae27c5ca2 100644 --- a/app/src/main/java/com/github/libretube/dialogs/LoginDialog.kt +++ b/app/src/main/java/com/github/libretube/dialogs/LoginDialog.kt @@ -17,8 +17,8 @@ import com.github.libretube.R import com.github.libretube.obj.Login import com.github.libretube.util.RetrofitInstance import com.google.android.material.dialog.MaterialAlertDialogBuilder -import retrofit2.HttpException import java.io.IOException +import retrofit2.HttpException class LoginDialog : DialogFragment() { private val TAG = "LoginDialog" diff --git a/app/src/main/java/com/github/libretube/fragments/ChannelFragment.kt b/app/src/main/java/com/github/libretube/fragments/ChannelFragment.kt index 61ea05aa1..bf33cecf6 100644 --- a/app/src/main/java/com/github/libretube/fragments/ChannelFragment.kt +++ b/app/src/main/java/com/github/libretube/fragments/ChannelFragment.kt @@ -22,8 +22,8 @@ import com.github.libretube.obj.Subscribe import com.github.libretube.util.RetrofitInstance import com.google.android.material.button.MaterialButton import com.squareup.picasso.Picasso -import retrofit2.HttpException import java.io.IOException +import retrofit2.HttpException class ChannelFragment : Fragment() { diff --git a/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt b/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt index ae254af78..d3130372c 100644 --- a/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt +++ b/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt @@ -82,11 +82,11 @@ import com.google.android.exoplayer2.util.RepeatModeUtil import com.google.android.material.button.MaterialButton import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.squareup.picasso.Picasso -import org.chromium.net.CronetEngine -import retrofit2.HttpException import java.io.IOException import java.util.concurrent.Executors import kotlin.math.abs +import org.chromium.net.CronetEngine +import retrofit2.HttpException var isFullScreen = false diff --git a/app/src/main/java/com/github/libretube/fragments/PlaylistFragment.kt b/app/src/main/java/com/github/libretube/fragments/PlaylistFragment.kt index efdebacaf..d40038aaa 100644 --- a/app/src/main/java/com/github/libretube/fragments/PlaylistFragment.kt +++ b/app/src/main/java/com/github/libretube/fragments/PlaylistFragment.kt @@ -15,8 +15,8 @@ import androidx.recyclerview.widget.RecyclerView import com.github.libretube.R import com.github.libretube.adapters.PlaylistAdapter import com.github.libretube.util.RetrofitInstance -import retrofit2.HttpException import java.io.IOException +import retrofit2.HttpException class PlaylistFragment : Fragment() { private var playlist_id: String? = null diff --git a/app/src/main/java/com/github/libretube/fragments/SearchFragment.kt b/app/src/main/java/com/github/libretube/fragments/SearchFragment.kt index 3c23723ac..fd7a36619 100644 --- a/app/src/main/java/com/github/libretube/fragments/SearchFragment.kt +++ b/app/src/main/java/com/github/libretube/fragments/SearchFragment.kt @@ -30,11 +30,11 @@ import com.github.libretube.adapters.SearchHistoryAdapter import com.github.libretube.hideKeyboard import com.github.libretube.util.RetrofitInstance import com.google.android.material.dialog.MaterialAlertDialogBuilder +import java.io.IOException import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.delay import kotlinx.coroutines.launch import retrofit2.HttpException -import java.io.IOException class SearchFragment : Fragment() { private val TAG = "SearchFragment" diff --git a/app/src/main/java/com/github/libretube/preferences/AppearanceSettings.kt b/app/src/main/java/com/github/libretube/preferences/AppearanceSettings.kt index c51187d84..8bbb8d6a9 100644 --- a/app/src/main/java/com/github/libretube/preferences/AppearanceSettings.kt +++ b/app/src/main/java/com/github/libretube/preferences/AppearanceSettings.kt @@ -8,7 +8,7 @@ import androidx.preference.PreferenceFragmentCompat import com.github.libretube.R import com.github.libretube.SettingsActivity import com.github.libretube.requireMainActivityRestart -import com.github.libretube.util.changeIcon +import com.github.libretube.util.ThemeHelper class AppearanceSettings : PreferenceFragmentCompat() { private val TAG = "CustomizationSettings" @@ -33,7 +33,7 @@ class AppearanceSettings : PreferenceFragmentCompat() { val iconChange = findPreference("icon_change") iconChange?.setOnPreferenceChangeListener { _, newValue -> - changeIcon(requireContext(), newValue.toString()) + ThemeHelper().changeIcon(requireContext(), newValue.toString()) true } diff --git a/app/src/main/java/com/github/libretube/preferences/SettingsFragment.kt b/app/src/main/java/com/github/libretube/preferences/SettingsFragment.kt index f2efc3002..5ee9f624a 100644 --- a/app/src/main/java/com/github/libretube/preferences/SettingsFragment.kt +++ b/app/src/main/java/com/github/libretube/preferences/SettingsFragment.kt @@ -26,16 +26,16 @@ import com.github.libretube.dialogs.LoginDialog import com.github.libretube.isCurrentViewMainSettings import com.github.libretube.requireMainActivityRestart import com.github.libretube.util.RetrofitInstance +import com.github.libretube.util.ThemeHelper import com.github.libretube.util.checkUpdate -import com.github.libretube.util.restartMainActivity import com.google.android.material.dialog.MaterialAlertDialogBuilder -import org.json.JSONObject -import org.json.JSONTokener -import retrofit2.HttpException import java.io.IOException import java.io.InputStream import java.util.zip.ZipEntry import java.util.zip.ZipInputStream +import org.json.JSONObject +import org.json.JSONTokener +import retrofit2.HttpException class SettingsFragment : PreferenceFragmentCompat() { val TAG = "Settings" @@ -130,7 +130,7 @@ class SettingsFragment : PreferenceFragmentCompat() { val language = findPreference("language") language?.setOnPreferenceChangeListener { _, _ -> - restartMainActivity(requireContext()) + ThemeHelper().restartMainActivity(requireContext()) true } diff --git a/app/src/main/java/com/github/libretube/util/LocaleHelper.kt b/app/src/main/java/com/github/libretube/util/LocaleHelper.kt new file mode 100644 index 000000000..71a52a542 --- /dev/null +++ b/app/src/main/java/com/github/libretube/util/LocaleHelper.kt @@ -0,0 +1,40 @@ +package com.github.libretube.util + +import android.content.Context +import android.os.Build +import androidx.preference.PreferenceManager +import java.util.* + +class LocaleHelper { + + fun updateLanguage(context: Context) { + val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context) + val languageName = sharedPreferences.getString("language", "sys") + if (languageName != "") { + setLanguage(context, languageName!!) + } + } + + private fun setLanguage(context: Context, languageName: String) { + val locale = if (languageName != "sys" && "$languageName".length < 3) { + Locale(languageName) + } else if ("$languageName".length > 3) { + Locale(languageName?.substring(0, 2), languageName?.substring(4, 6)) + } else { + Locale.getDefault() + } + // Change API Language + Locale.setDefault(locale) + + // Change App Language + val res = context.resources + val dm = res.displayMetrics + val conf = res.configuration + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { + conf.setLocale(locale) + } else { + conf.locale = locale + } + res.updateConfiguration(conf, dm) + } +} diff --git a/app/src/main/java/com/github/libretube/util/ThemeChanger.kt b/app/src/main/java/com/github/libretube/util/ThemeChanger.kt deleted file mode 100644 index 49b6c0695..000000000 --- a/app/src/main/java/com/github/libretube/util/ThemeChanger.kt +++ /dev/null @@ -1,97 +0,0 @@ -package com.github.libretube.util - -import android.app.NotificationManager -import android.content.ComponentName -import android.content.Context -import android.content.Intent -import android.content.pm.PackageManager -import androidx.appcompat.app.AppCompatActivity -import androidx.appcompat.app.AppCompatDelegate -import androidx.preference.PreferenceManager -import com.github.libretube.R -import java.util.* - -fun updateTheme(context: Context) { - updateAccentColor(context) - updateThemeMode(context) -} - -fun updateAccentColor(context: Context) { - val colorAccent = - PreferenceManager.getDefaultSharedPreferences(context).getString("accent_color", "red") - when (colorAccent) { - "my" -> context.setTheme(R.style.Theme_MY) - "red" -> context.setTheme(R.style.Theme_Red) - "blue" -> context.setTheme(R.style.Theme_Blue) - "yellow" -> context.setTheme(R.style.Theme_Yellow) - "green" -> context.setTheme(R.style.Theme_Green) - "purple" -> context.setTheme(R.style.Theme_Purple) - } -} - -fun updateThemeMode(context: Context) { - val themeMode = - PreferenceManager.getDefaultSharedPreferences(context).getString("theme_togglee", "A") - when (themeMode) { - "A" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM) - "L" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO) - "D" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES) - "O" -> { - context.setTheme(R.style.OLED) - AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES) - } - } -} - -fun updateLanguage(context: Context) { - val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context) - val languageName = sharedPreferences.getString("language", "sys") - if (languageName != "") { - val locale = if (languageName != "sys" && "$languageName".length < 3) { - Locale(languageName) - } else if ("$languageName".length > 3) { - Locale(languageName?.substring(0, 2), languageName?.substring(4, 6)) - } else { - Locale.getDefault() - } - val res = context.resources - val dm = res.displayMetrics - val conf = res.configuration - // Change App Language - conf.setLocale(locale) - // Change API Language - Locale.setDefault(locale) - res.updateConfiguration(conf, dm) - } -} - -fun changeIcon(context: Context, newLogoActivityAlias: String) { - val activityAliases = context.resources.getStringArray(R.array.iconsValue) - // Disable Old Icon(s) - for (activityAlias in activityAliases) { - context.packageManager.setComponentEnabledSetting( - ComponentName(context.packageName, "com.github.libretube.$activityAlias"), - PackageManager.COMPONENT_ENABLED_STATE_DISABLED, - PackageManager.DONT_KILL_APP - ) - } - // Enable New Icon - context.packageManager.setComponentEnabledSetting( - ComponentName(context.packageName, "com.github.libretube.$newLogoActivityAlias"), - PackageManager.COMPONENT_ENABLED_STATE_ENABLED, - PackageManager.DONT_KILL_APP - ) -} - -// Needed due to different MainActivity Aliases because of the app icons -fun restartMainActivity(context: Context) { - // kill player notification - val nManager = context - .getSystemService(AppCompatActivity.NOTIFICATION_SERVICE) as NotificationManager - nManager.cancelAll() - // restart to MainActivity - val pm: PackageManager = context.packageManager - val intent = pm.getLaunchIntentForPackage(context.packageName) - intent?.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK - context.startActivity(intent) -} diff --git a/app/src/main/java/com/github/libretube/util/ThemeHelper.kt b/app/src/main/java/com/github/libretube/util/ThemeHelper.kt new file mode 100644 index 000000000..1719be3e7 --- /dev/null +++ b/app/src/main/java/com/github/libretube/util/ThemeHelper.kt @@ -0,0 +1,77 @@ +package com.github.libretube.util + +import android.app.NotificationManager +import android.content.ComponentName +import android.content.Context +import android.content.Intent +import android.content.pm.PackageManager +import androidx.appcompat.app.AppCompatActivity +import androidx.appcompat.app.AppCompatDelegate +import androidx.preference.PreferenceManager +import com.github.libretube.R + +class ThemeHelper { + + fun updateTheme(context: Context) { + updateAccentColor(context) + updateThemeMode(context) + } + + fun updateAccentColor(context: Context) { + val colorAccent = + PreferenceManager.getDefaultSharedPreferences(context).getString("accent_color", "red") + when (colorAccent) { + "my" -> context.setTheme(R.style.Theme_MY) + "red" -> context.setTheme(R.style.Theme_Red) + "blue" -> context.setTheme(R.style.Theme_Blue) + "yellow" -> context.setTheme(R.style.Theme_Yellow) + "green" -> context.setTheme(R.style.Theme_Green) + "purple" -> context.setTheme(R.style.Theme_Purple) + } + } + + fun updateThemeMode(context: Context) { + val themeMode = + PreferenceManager.getDefaultSharedPreferences(context).getString("theme_togglee", "A") + when (themeMode) { + "A" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM) + "L" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO) + "D" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES) + "O" -> { + context.setTheme(R.style.OLED) + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES) + } + } + } + + fun changeIcon(context: Context, newLogoActivityAlias: String) { + val activityAliases = context.resources.getStringArray(R.array.iconsValue) + // Disable Old Icon(s) + for (activityAlias in activityAliases) { + context.packageManager.setComponentEnabledSetting( + ComponentName(context.packageName, "com.github.libretube.$activityAlias"), + PackageManager.COMPONENT_ENABLED_STATE_DISABLED, + PackageManager.DONT_KILL_APP + ) + } + // Enable New Icon + context.packageManager.setComponentEnabledSetting( + ComponentName(context.packageName, "com.github.libretube.$newLogoActivityAlias"), + PackageManager.COMPONENT_ENABLED_STATE_ENABLED, + PackageManager.DONT_KILL_APP + ) + } + + // Needed due to different MainActivity Aliases because of the app icons + fun restartMainActivity(context: Context) { + // kill player notification + val nManager = context + .getSystemService(AppCompatActivity.NOTIFICATION_SERVICE) as NotificationManager + nManager.cancelAll() + // restart to MainActivity + val pm: PackageManager = context.packageManager + val intent = pm.getLaunchIntentForPackage(context.packageName) + intent?.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK + context.startActivity(intent) + } +} diff --git a/app/src/main/java/com/github/libretube/util/UpdateChecker.kt b/app/src/main/java/com/github/libretube/util/UpdateChecker.kt index 30ecccabb..8b7b6f6b0 100644 --- a/app/src/main/java/com/github/libretube/util/UpdateChecker.kt +++ b/app/src/main/java/com/github/libretube/util/UpdateChecker.kt @@ -4,12 +4,12 @@ import android.util.Log import androidx.fragment.app.FragmentManager import com.github.libretube.BuildConfig import com.github.libretube.dialogs.UpdateAvailableDialog -import org.json.JSONArray -import org.json.JSONObject import java.io.BufferedReader import java.io.InputStreamReader import java.net.URL import javax.net.ssl.HttpsURLConnection +import org.json.JSONArray +import org.json.JSONObject fun checkUpdate(childFragmentManager: FragmentManager) { var updateInfo: UpdateInfo? = UpdateInfo("", "")