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 6cd5373e5..1a98eb6ea 100644 --- a/app/src/main/java/com/github/libretube/activities/MainActivity.kt +++ b/app/src/main/java/com/github/libretube/activities/MainActivity.kt @@ -61,6 +61,8 @@ class MainActivity : AppCompatActivity() { RetrofitInstance.url = PreferenceHelper.getString(this, "selectInstance", "https://pipedapi.kavin.rocks/")!! + RetrofitInstance.authUrl = + PreferenceHelper.getString(this, "selectAuthInstance", "https://pipedapi.kavin.rocks/")!! ThemeHelper.updateTheme(this) LocaleHelper.updateLanguage(this) 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 17c95f23c..d6ec9bea0 100644 --- a/app/src/main/java/com/github/libretube/adapters/PlaylistAdapter.kt +++ b/app/src/main/java/com/github/libretube/adapters/PlaylistAdapter.kt @@ -91,7 +91,7 @@ class PlaylistAdapter( fun run() { CoroutineScope(Dispatchers.IO).launch { val response = try { - RetrofitInstance.api.removeFromPlaylist( + RetrofitInstance.authApi.removeFromPlaylist( token, PlaylistId(playlistId = playlistId, index = position) ) 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 40945c1b5..c31327323 100644 --- a/app/src/main/java/com/github/libretube/adapters/PlaylistsAdapter.kt +++ b/app/src/main/java/com/github/libretube/adapters/PlaylistsAdapter.kt @@ -76,7 +76,7 @@ class PlaylistsAdapter( fun run() { GlobalScope.launch { val response = try { - RetrofitInstance.api.deletePlaylist(token, PlaylistId(id)) + RetrofitInstance.authApi.deletePlaylist(token, PlaylistId(id)) } catch (e: IOException) { println(e) Log.e(TAG, "IOException, you might not have internet connection") 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 2a4939e19..9a10ba532 100644 --- a/app/src/main/java/com/github/libretube/adapters/SubscriptionChannelAdapter.kt +++ b/app/src/main/java/com/github/libretube/adapters/SubscriptionChannelAdapter.kt @@ -70,7 +70,7 @@ class SubscriptionChannelAdapter(private val subscriptions: MutableList requireMainActivityRestart = true RetrofitInstance.url = newValue.toString() + RetrofitInstance.authUrl = newValue.toString() RetrofitInstance.lazyMgr.reset() logout() true @@ -302,7 +303,7 @@ class InstanceSettings : PreferenceFragmentCompat() { lifecycleScope.launchWhenCreated { val response = try { val token = PreferenceHelper.getToken(requireContext()) - RetrofitInstance.api.importSubscriptions( + RetrofitInstance.authApi.importSubscriptions( false, token, channels diff --git a/app/src/main/java/com/github/libretube/util/RetrofitInstance.kt b/app/src/main/java/com/github/libretube/util/RetrofitInstance.kt index 713d1671c..87caad710 100644 --- a/app/src/main/java/com/github/libretube/util/RetrofitInstance.kt +++ b/app/src/main/java/com/github/libretube/util/RetrofitInstance.kt @@ -5,6 +5,7 @@ import retrofit2.converter.jackson.JacksonConverterFactory object RetrofitInstance { lateinit var url: String + lateinit var authUrl: String val lazyMgr = resettableManager() val api: PipedApi by resettableLazy(lazyMgr) { Retrofit.Builder() @@ -13,4 +14,11 @@ object RetrofitInstance { .build() .create(PipedApi::class.java) } + val authApi: PipedApi by resettableLazy(lazyMgr) { + Retrofit.Builder() + .baseUrl(authUrl) + .addConverterFactory(JacksonConverterFactory.create()) + .build() + .create(PipedApi::class.java) + } }