diff --git a/app/build.gradle b/app/build.gradle index bf66187c7..cce90f79b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -24,6 +24,10 @@ android { arg 'room.schemaLocation', "$projectDir/schemas".toString() } } + + // define this values in your local.properties file + buildConfigField 'String', 'SHIKIMORI_CLIENT_ID', "\"${localProperty('shikimori.clientId')}\"" + buildConfigField 'String', 'SHIKIMORI_CLIENT_SECRET', "\"${localProperty('shikimori.clientSecret')}\"" } buildTypes { debug { diff --git a/app/src/main/java/org/koitharu/kotatsu/scrobbling/shikimori/data/ShikimoriRepository.kt b/app/src/main/java/org/koitharu/kotatsu/scrobbling/shikimori/data/ShikimoriRepository.kt index 6d1c60549..4907916fe 100644 --- a/app/src/main/java/org/koitharu/kotatsu/scrobbling/shikimori/data/ShikimoriRepository.kt +++ b/app/src/main/java/org/koitharu/kotatsu/scrobbling/shikimori/data/ShikimoriRepository.kt @@ -5,6 +5,7 @@ import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.OkHttpClient import okhttp3.Request import org.json.JSONObject +import org.koitharu.kotatsu.BuildConfig import org.koitharu.kotatsu.core.db.MangaDatabase import org.koitharu.kotatsu.parsers.model.MangaChapter import org.koitharu.kotatsu.parsers.util.await @@ -20,8 +21,6 @@ import org.koitharu.kotatsu.scrobbling.domain.model.ScrobblerService import org.koitharu.kotatsu.scrobbling.shikimori.data.model.ShikimoriUser import org.koitharu.kotatsu.utils.ext.toRequestBody -private const val CLIENT_ID = "Mw6F0tPEOgyV7F9U9Twg50Q8SndMY7hzIOfXg0AX_XU" -private const val CLIENT_SECRET = "euBMt1GGRSDpVIFQVPxZrO7Kh6X4gWyv0dABuj4B-M8" private const val REDIRECT_URI = "kotatsu://shikimori-auth" private const val BASE_URL = "https://shikimori.one/" private const val MANGA_PAGE_SIZE = 10 @@ -33,7 +32,7 @@ class ShikimoriRepository( ) { val oauthUrl: String - get() = "${BASE_URL}oauth/authorize?client_id=$CLIENT_ID&" + + get() = "${BASE_URL}oauth/authorize?client_id=${BuildConfig.SHIKIMORI_CLIENT_ID}&" + "redirect_uri=$REDIRECT_URI&response_type=code&scope=" val isAuthorized: Boolean @@ -42,8 +41,8 @@ class ShikimoriRepository( suspend fun authorize(code: String?) { val body = FormBody.Builder() body.add("grant_type", "authorization_code") - body.add("client_id", CLIENT_ID) - body.add("client_secret", CLIENT_SECRET) + body.add("client_id", BuildConfig.SHIKIMORI_CLIENT_ID) + body.add("client_secret", BuildConfig.SHIKIMORI_CLIENT_SECRET) if (code != null) { body.add("redirect_uri", REDIRECT_URI) body.add("code", code) diff --git a/build.gradle b/build.gradle index 152a7d981..989d431d9 100644 --- a/build.gradle +++ b/build.gradle @@ -23,6 +23,15 @@ allprojects { } } +Object localProperty(String name, Object defaultValue = 'null') { + Properties localProperties = new Properties() + project.rootProject.file('local.properties').withInputStream { localProperties.load(it) } + + def value = localProperties[name] + + return value != null ? value : defaultValue +} + task clean(type: Delete) { delete rootProject.buildDir } \ No newline at end of file