This commit is contained in:
IndusAryan 2024-06-17 18:53:21 +05:30
parent 7f541a89aa
commit 0826fc8181
4 changed files with 39 additions and 40 deletions

View file

@ -186,7 +186,7 @@ import kotlin.system.exitProcess
//https://github.com/jellyfin/jellyfin-android/blob/6cbf0edf84a3da82347c8d59b5d5590749da81a9/app/src/main/java/org/jellyfin/mobile/bridge/ExternalPlayer.kt#L225 //https://github.com/jellyfin/jellyfin-android/blob/6cbf0edf84a3da82347c8d59b5d5590749da81a9/app/src/main/java/org/jellyfin/mobile/bridge/ExternalPlayer.kt#L225
class MainActivity : AppCompatActivity(), ColorPickerDialogListener, BiometricAuthCallback { class MainActivity : AppCompatActivity(), ColorPickerDialogListener, BiometricCallback {
companion object { companion object {
const val VLC_PACKAGE = "org.videolan.vlc" const val VLC_PACKAGE = "org.videolan.vlc"
const val MPV_PACKAGE = "is.xyz.mpv" const val MPV_PACKAGE = "is.xyz.mpv"

View file

@ -274,7 +274,9 @@ class ExtensionsFragment : Fragment() {
showToast(R.string.no_plugins_found_error, Toast.LENGTH_LONG) showToast(R.string.no_plugins_found_error, Toast.LENGTH_LONG)
} else { } else {
this@ExtensionsFragment.activity?.addRepositoryDialog( this@ExtensionsFragment.activity?.addRepositoryDialog(
fixedName, true) fixedName,
url,
)
} }
} }
} }

View file

@ -62,8 +62,8 @@ import com.lagradost.cloudstream3.syncproviders.providers.Kitsu
import com.lagradost.cloudstream3.ui.WebviewFragment import com.lagradost.cloudstream3.ui.WebviewFragment
import com.lagradost.cloudstream3.ui.result.ResultFragment import com.lagradost.cloudstream3.ui.result.ResultFragment
import com.lagradost.cloudstream3.ui.settings.Globals import com.lagradost.cloudstream3.ui.settings.Globals
import com.lagradost.cloudstream3.ui.settings.extensions.ExtensionsFragment
import com.lagradost.cloudstream3.ui.settings.extensions.PluginsFragment import com.lagradost.cloudstream3.ui.settings.extensions.PluginsFragment
import com.lagradost.cloudstream3.ui.settings.extensions.PluginsViewModel.Companion.downloadAll
import com.lagradost.cloudstream3.ui.settings.extensions.RepositoryData import com.lagradost.cloudstream3.ui.settings.extensions.RepositoryData
import com.lagradost.cloudstream3.utils.Coroutines.ioSafe import com.lagradost.cloudstream3.utils.Coroutines.ioSafe
import com.lagradost.cloudstream3.utils.Coroutines.main import com.lagradost.cloudstream3.utils.Coroutines.main
@ -387,7 +387,7 @@ object AppUtils {
) )
} }
afterRepositoryLoadedEvent.invoke(true) afterRepositoryLoadedEvent.invoke(true)
addRepositoryDialog(repo.name, false) addRepositoryDialog(repo.name, url)
} }
} }
@ -430,23 +430,23 @@ object AppUtils {
} }
} }
fun Activity.addRepositoryDialog(repositoryName: String, isExtensionsFragment: Boolean) { fun Activity.addRepositoryDialog(
repositoryName: String,
repositoryURL: String,
) {
val repos = RepositoryManager.getRepositories() val repos = RepositoryManager.getRepositories()
// navigate to newly added repository on pressing Open Repository // navigate to newly added repository on pressing Open Repository
fun openAddedRepo() { fun openAddedRepo() {
if (repos.isNotEmpty()) {
// don't redirect if user is adding manually from add repository fab button navigate(
if (!isExtensionsFragment && repos.isNotEmpty()) { R.id.global_to_navigation_settings_plugins,
normalSafeApiCall {
navigate(
R.id.navigation_home_to_navigation_settings_plugins,
PluginsFragment.newInstance( PluginsFragment.newInstance(
repositoryName, repositoryName,
repos.last().url, repositoryURL,
false) false,
) )
} )
} }
} }
@ -454,11 +454,8 @@ object AppUtils {
AlertDialog.Builder(this).apply { AlertDialog.Builder(this).apply {
setTitle(repositoryName) setTitle(repositoryName)
setMessage(R.string.download_all_plugins_from_repo) setMessage(R.string.download_all_plugins_from_repo)
// won't show "open button" when adding from settings setPositiveButton(R.string.open_downloaded_repo) { _, _ ->
if (!isExtensionsFragment) { openAddedRepo()
setPositiveButton(R.string.open_downloaded_repo) { _, _ ->
openAddedRepo()
}
} }
setNegativeButton(R.string.dismiss, null) setNegativeButton(R.string.dismiss, null)
show().setDefaultFocus() show().setDefaultFocus()

View file

@ -111,6 +111,27 @@
app:argType="boolean" /> app:argType="boolean" />
</action> </action>
<action
android:id="@+id/global_to_navigation_settings_plugins"
app:destination="@id/navigation_settings_plugins"
app:enterAnim="@anim/enter_anim"
app:exitAnim="@anim/exit_anim"
app:popEnterAnim="@anim/enter_anim"
app:popExitAnim="@anim/exit_anim">
<argument
android:name="name"
android:defaultValue="@null"
app:argType="string" />
<argument
android:name="url"
android:defaultValue="@null"
app:argType="string" />
<argument
android:name="isLocal"
android:defaultValue="false"
app:argType="boolean" />
</action>
<fragment <fragment
android:id="@+id/navigation_settings_player" android:id="@+id/navigation_settings_player"
android:name="com.lagradost.cloudstream3.ui.settings.SettingsPlayer" android:name="com.lagradost.cloudstream3.ui.settings.SettingsPlayer"
@ -273,27 +294,6 @@
app:exitAnim="@anim/exit_anim" app:exitAnim="@anim/exit_anim"
app:popEnterAnim="@anim/enter_anim" app:popEnterAnim="@anim/enter_anim"
app:popExitAnim="@anim/exit_anim" /> app:popExitAnim="@anim/exit_anim" />
<action
android:id="@+id/navigation_home_to_navigation_settings_plugins"
app:destination="@id/navigation_settings_plugins"
app:enterAnim="@anim/enter_anim"
app:exitAnim="@anim/exit_anim"
app:popEnterAnim="@anim/enter_anim"
app:popExitAnim="@anim/exit_anim">
<argument
android:name="name"
android:defaultValue="@null"
app:argType="string" />
<argument
android:name="url"
android:defaultValue="@null"
app:argType="string" />
<argument
android:name="isLocal"
android:defaultValue="false"
app:argType="boolean" />
</action>
</fragment> </fragment>
<fragment <fragment