Update MAL codebase
parent
ee2538ba7f
commit
80be0e403d
@ -1,41 +0,0 @@
|
|||||||
package org.koitharu.kotatsu.scrobbling.mal.data
|
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import androidx.core.content.edit
|
|
||||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
|
||||||
import org.json.JSONObject
|
|
||||||
import org.koitharu.kotatsu.scrobbling.mal.data.model.MALUser
|
|
||||||
import javax.inject.Inject
|
|
||||||
import javax.inject.Singleton
|
|
||||||
|
|
||||||
private const val PREF_NAME = "myanimelist"
|
|
||||||
private const val KEY_ACCESS_TOKEN = "access_token"
|
|
||||||
private const val KEY_REFRESH_TOKEN = "refresh_token"
|
|
||||||
private const val KEY_USER = "user"
|
|
||||||
|
|
||||||
@Singleton
|
|
||||||
class MALStorage @Inject constructor(@ApplicationContext context: Context) {
|
|
||||||
|
|
||||||
private val prefs = context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE)
|
|
||||||
|
|
||||||
var accessToken: String?
|
|
||||||
get() = prefs.getString(KEY_ACCESS_TOKEN, null)
|
|
||||||
set(value) = prefs.edit { putString(KEY_ACCESS_TOKEN, value) }
|
|
||||||
|
|
||||||
var refreshToken: String?
|
|
||||||
get() = prefs.getString(KEY_REFRESH_TOKEN, null)
|
|
||||||
set(value) = prefs.edit { putString(KEY_REFRESH_TOKEN, value) }
|
|
||||||
|
|
||||||
var user: MALUser?
|
|
||||||
get() = prefs.getString(KEY_USER, null)?.let {
|
|
||||||
MALUser(JSONObject(it))
|
|
||||||
}
|
|
||||||
set(value) = prefs.edit {
|
|
||||||
putString(KEY_USER, value?.toJson()?.toString())
|
|
||||||
}
|
|
||||||
|
|
||||||
fun clear() = prefs.edit {
|
|
||||||
clear()
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,37 +0,0 @@
|
|||||||
package org.koitharu.kotatsu.scrobbling.mal.data.model
|
|
||||||
|
|
||||||
import org.json.JSONObject
|
|
||||||
|
|
||||||
class MALUser(
|
|
||||||
val id: Long,
|
|
||||||
val nickname: String,
|
|
||||||
) {
|
|
||||||
|
|
||||||
constructor(json: JSONObject) : this(
|
|
||||||
id = json.getLong("id"),
|
|
||||||
nickname = json.getString("name"),
|
|
||||||
)
|
|
||||||
|
|
||||||
fun toJson() = JSONObject().apply {
|
|
||||||
put("id", id)
|
|
||||||
put("nickname", nickname)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun equals(other: Any?): Boolean {
|
|
||||||
if (this === other) return true
|
|
||||||
if (javaClass != other?.javaClass) return false
|
|
||||||
|
|
||||||
other as MALUser
|
|
||||||
|
|
||||||
if (id != other.id) return false
|
|
||||||
if (nickname != other.nickname) return false
|
|
||||||
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun hashCode(): Int {
|
|
||||||
var result = id.hashCode()
|
|
||||||
result = 31 * result + nickname.hashCode()
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue