From a1b34eeb46c4679f3f3717a4ed220b32ec036be9 Mon Sep 17 00:00:00 2001 From: LivingWithHippos Date: Sun, 5 Apr 2026 22:14:53 +0200 Subject: [PATCH 1/7] fixed release app crashing --- app/app/proguard-rules.pro | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/app/app/proguard-rules.pro b/app/app/proguard-rules.pro index d4009dac1..f72f8c455 100644 --- a/app/app/proguard-rules.pro +++ b/app/app/proguard-rules.pro @@ -39,12 +39,5 @@ -dontwarn org.openjsse.net.ssl.OpenJSSE -dontwarn aQute.bnd.annotation.spi.ServiceProvider -# Please add these rules to your existing keep rules in order to suppress warnings. -# This is generated automatically by the Android Gradle plugin. --dontwarn javax.xml.stream.FactoryConfigurationError --dontwarn javax.xml.stream.Location --dontwarn javax.xml.stream.XMLEventFactory --dontwarn javax.xml.stream.XMLInputFactory --dontwarn javax.xml.stream.XMLOutputFactory --dontwarn javax.xml.stream.XMLResolver --dontwarn javax.xml.stream.util.XMLEventAllocator \ No newline at end of file +# Keep Protobuf Lite generated classes +-keep class * extends com.google.protobuf.GeneratedMessageLite { *; } \ No newline at end of file From bd35198cbc3673a35123d0f32c03645ad53cdd69 Mon Sep 17 00:00:00 2001 From: LivingWithHippos Date: Sun, 5 Apr 2026 22:15:10 +0200 Subject: [PATCH 2/7] set default app as vlc, since it's already shown as that --- .../downloaddetails/viewmodel/DownloadDetailsViewModel.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/app/src/main/java/com/github/livingwithhippos/unchained/downloaddetails/viewmodel/DownloadDetailsViewModel.kt b/app/app/src/main/java/com/github/livingwithhippos/unchained/downloaddetails/viewmodel/DownloadDetailsViewModel.kt index d556f2c1d..624b9a3e9 100644 --- a/app/app/src/main/java/com/github/livingwithhippos/unchained/downloaddetails/viewmodel/DownloadDetailsViewModel.kt +++ b/app/app/src/main/java/com/github/livingwithhippos/unchained/downloaddetails/viewmodel/DownloadDetailsViewModel.kt @@ -99,7 +99,7 @@ constructor( } fun getDefaultPlayer(): String? { - return preferences.getString("default_media_player", null) + return preferences.getString("default_media_player", "vlc") } fun getButtonVisibilityPreference(buttonKey: String, default: Boolean = true): Boolean { From 33963f18e8b6ec5df17c7bfb9fb71f641d8a12a1 Mon Sep 17 00:00:00 2001 From: LivingWithHippos Date: Sun, 5 Apr 2026 22:15:35 +0200 Subject: [PATCH 3/7] bumped version to 1.6.1 --- app/app/build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/app/build.gradle.kts b/app/app/build.gradle.kts index 0a4fd8862..861dfa036 100644 --- a/app/app/build.gradle.kts +++ b/app/app/build.gradle.kts @@ -46,8 +46,8 @@ android { applicationId = "com.github.livingwithhippos.unchained" minSdk = 27 targetSdk = 36 - versionCode = 57 - versionName = "1.6.0" + versionCode = 58 + versionName = "1.6.1" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } From e647e72705f6ccffc3b6f13da862297944cb62f4 Mon Sep 17 00:00:00 2001 From: LivingWithHippos Date: Sun, 5 Apr 2026 22:19:28 +0200 Subject: [PATCH 4/7] Create 58.txt --- fastlane/metadata/android/en-US/changelogs/58.txt | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/58.txt diff --git a/fastlane/metadata/android/en-US/changelogs/58.txt b/fastlane/metadata/android/en-US/changelogs/58.txt new file mode 100644 index 000000000..d5b1c4a4e --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/58.txt @@ -0,0 +1,9 @@ +What's new in 1.6.1: +- updated links supported by the app +- fixed credentials lost on rotate +- fixed some crashes +- filtering files in folder now case insensitive +- added jackett support for searching +- aadded new plugin search page +- fixed plugins marked as manually installed +- use disabled plugins information From da674b35c5e57c87dbbdac18b15c0a4ae3338831 Mon Sep 17 00:00:00 2001 From: LivingWithHippos Date: Sun, 5 Apr 2026 22:46:51 +0200 Subject: [PATCH 5/7] better loading of changed plugins --- .../search/view/PluginSearchFragment.kt | 17 +++++++++++++---- .../unchained/search/view/SearchFragment.kt | 11 ++++++----- .../search/viewmodel/SearchViewModel.kt | 16 ++++++++++------ 3 files changed, 29 insertions(+), 15 deletions(-) diff --git a/app/app/src/main/java/com/github/livingwithhippos/unchained/search/view/PluginSearchFragment.kt b/app/app/src/main/java/com/github/livingwithhippos/unchained/search/view/PluginSearchFragment.kt index ffd8d38a4..5d27f4579 100644 --- a/app/app/src/main/java/com/github/livingwithhippos/unchained/search/view/PluginSearchFragment.kt +++ b/app/app/src/main/java/com/github/livingwithhippos/unchained/search/view/PluginSearchFragment.kt @@ -48,13 +48,19 @@ class PluginSearchFragment : UnchainedFragment(), SearchItemListener { setup(binding) - viewModel.pluginLiveData.observe(viewLifecycleOwner) { parsedPlugins -> + viewModel.pluginLiveData.observe(viewLifecycleOwner) { event -> + val parsedPlugins = event.getContentIfNotHandled() ?: return@observe setupAndShowSheet(inflater, parsedPlugins) } return binding.root } + override fun onResume() { + context?.let{ viewModel.fetchPluginsAndServices(it, show = false) } + super.onResume() + } + override fun onDestroyView() { super.onDestroyView() _binding = null @@ -62,15 +68,16 @@ class PluginSearchFragment : UnchainedFragment(), SearchItemListener { private fun setupAndShowSheet( inflater: LayoutInflater, - pluginsAndServices: PluginsAndServices, + pluginsAndServices: PluginsAndServices ) { val sideSheetDialog = SideSheetDialog(requireContext()) sideSheetDialog.setContentView(R.layout.sidesheet_search_plugins_options) sideSheetDialog.findViewById