Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c4e7807d18 | |||
| 8e55a4d824 | |||
| c1e9fde6e8 |
@@ -14,8 +14,8 @@ android {
|
|||||||
applicationId 'org.koitharu.kotatsu'
|
applicationId 'org.koitharu.kotatsu'
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 32
|
targetSdkVersion 32
|
||||||
versionCode 421
|
versionCode 423
|
||||||
versionName '3.4.9'
|
versionName '3.4.11'
|
||||||
generatedDensities = []
|
generatedDensities = []
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
|
||||||
@@ -79,7 +79,7 @@ afterEvaluate {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation('com.github.KotatsuApp:kotatsu-parsers:8709c3dd0c') {
|
implementation('com.github.KotatsuApp:kotatsu-parsers:f112a06ab6') {
|
||||||
exclude group: 'org.json', module: 'json'
|
exclude group: 'org.json', module: 'json'
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -87,7 +87,7 @@ dependencies {
|
|||||||
|
|
||||||
implementation 'androidx.core:core-ktx:1.8.0'
|
implementation 'androidx.core:core-ktx:1.8.0'
|
||||||
implementation 'androidx.activity:activity-ktx:1.5.1'
|
implementation 'androidx.activity:activity-ktx:1.5.1'
|
||||||
implementation 'androidx.fragment:fragment-ktx:1.5.1'
|
implementation 'androidx.fragment:fragment-ktx:1.5.2'
|
||||||
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1'
|
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1'
|
||||||
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.5.1'
|
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.5.1'
|
||||||
implementation 'androidx.lifecycle:lifecycle-service:2.5.1'
|
implementation 'androidx.lifecycle:lifecycle-service:2.5.1'
|
||||||
@@ -99,7 +99,7 @@ dependencies {
|
|||||||
implementation 'androidx.preference:preference-ktx:1.2.0'
|
implementation 'androidx.preference:preference-ktx:1.2.0'
|
||||||
implementation 'androidx.work:work-runtime-ktx:2.7.1'
|
implementation 'androidx.work:work-runtime-ktx:2.7.1'
|
||||||
implementation 'androidx.biometric:biometric-ktx:1.2.0-alpha04'
|
implementation 'androidx.biometric:biometric-ktx:1.2.0-alpha04'
|
||||||
implementation 'com.google.android.material:material:1.7.0-alpha03'
|
implementation 'com.google.android.material:material:1.7.0-beta01'
|
||||||
//noinspection LifecycleAnnotationProcessorWithJava8
|
//noinspection LifecycleAnnotationProcessorWithJava8
|
||||||
kapt 'androidx.lifecycle:lifecycle-compiler:2.5.1'
|
kapt 'androidx.lifecycle:lifecycle-compiler:2.5.1'
|
||||||
|
|
||||||
@@ -115,7 +115,7 @@ dependencies {
|
|||||||
implementation 'com.hannesdorfmann:adapterdelegates4-kotlin-dsl-viewbinding:4.3.2'
|
implementation 'com.hannesdorfmann:adapterdelegates4-kotlin-dsl-viewbinding:4.3.2'
|
||||||
|
|
||||||
implementation 'io.insert-koin:koin-android:3.2.0'
|
implementation 'io.insert-koin:koin-android:3.2.0'
|
||||||
implementation 'io.coil-kt:coil-base:2.1.0'
|
implementation 'io.coil-kt:coil-base:2.2.0'
|
||||||
implementation 'com.davemorrissey.labs:subsampling-scale-image-view-androidx:3.10.0'
|
implementation 'com.davemorrissey.labs:subsampling-scale-image-view-androidx:3.10.0'
|
||||||
implementation 'com.github.solkin:disk-lru-cache:1.4'
|
implementation 'com.github.solkin:disk-lru-cache:1.4'
|
||||||
|
|
||||||
|
|||||||
@@ -10,10 +10,13 @@ private const val USER_AGENT_SHIKIMORI = "Kotatsu"
|
|||||||
class ShikimoriInterceptor(private val storage: ShikimoriStorage) : Interceptor {
|
class ShikimoriInterceptor(private val storage: ShikimoriStorage) : Interceptor {
|
||||||
|
|
||||||
override fun intercept(chain: Interceptor.Chain): Response {
|
override fun intercept(chain: Interceptor.Chain): Response {
|
||||||
val request = chain.request().newBuilder()
|
val sourceRequest = chain.request()
|
||||||
|
val request = sourceRequest.newBuilder()
|
||||||
request.header(CommonHeaders.USER_AGENT, USER_AGENT_SHIKIMORI)
|
request.header(CommonHeaders.USER_AGENT, USER_AGENT_SHIKIMORI)
|
||||||
storage.accessToken?.let {
|
if (!sourceRequest.url.pathSegments.contains("oauth")) {
|
||||||
request.header(CommonHeaders.AUTHORIZATION, "Bearer $it")
|
storage.accessToken?.let {
|
||||||
|
request.header(CommonHeaders.AUTHORIZATION, "Bearer $it")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
val response = chain.proceed(request.build())
|
val response = chain.proceed(request.build())
|
||||||
if (!response.isSuccessful && !response.isRedirect) {
|
if (!response.isSuccessful && !response.isRedirect) {
|
||||||
@@ -21,4 +24,4 @@ class ShikimoriInterceptor(private val storage: ShikimoriStorage) : Interceptor
|
|||||||
}
|
}
|
||||||
return response
|
return response
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,13 +40,14 @@ class ShikimoriRepository(
|
|||||||
|
|
||||||
suspend fun authorize(code: String?) {
|
suspend fun authorize(code: String?) {
|
||||||
val body = FormBody.Builder()
|
val body = FormBody.Builder()
|
||||||
body.add("grant_type", "authorization_code")
|
|
||||||
body.add("client_id", BuildConfig.SHIKIMORI_CLIENT_ID)
|
body.add("client_id", BuildConfig.SHIKIMORI_CLIENT_ID)
|
||||||
body.add("client_secret", BuildConfig.SHIKIMORI_CLIENT_SECRET)
|
body.add("client_secret", BuildConfig.SHIKIMORI_CLIENT_SECRET)
|
||||||
if (code != null) {
|
if (code != null) {
|
||||||
|
body.add("grant_type", "authorization_code")
|
||||||
body.add("redirect_uri", REDIRECT_URI)
|
body.add("redirect_uri", REDIRECT_URI)
|
||||||
body.add("code", code)
|
body.add("code", code)
|
||||||
} else {
|
} else {
|
||||||
|
body.add("grant_type", "refresh_token")
|
||||||
body.add("refresh_token", checkNotNull(storage.refreshToken))
|
body.add("refresh_token", checkNotNull(storage.refreshToken))
|
||||||
}
|
}
|
||||||
val request = Request.Builder()
|
val request = Request.Builder()
|
||||||
|
|||||||
Reference in New Issue
Block a user