Skip to content

Commit

Permalink
change class to object and val to const val
Browse files Browse the repository at this point in the history
  • Loading branch information
krmanik committed Nov 9, 2021
1 parent f4b0300 commit 4be9597
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 58 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,6 @@ public abstract class AbstractFlashcardViewer extends NavigationDrawerActivity i
protected static final int MENU_DISABLED = 3;

private AnkiDroidJsAPI mAnkiDroidJsAPI;
private AnkiDroidJsAPIConstants mJsAPIConstants;

/**
* Broadcast that informs us when the sd card is about to be unmounted
Expand Down Expand Up @@ -1333,7 +1332,6 @@ protected WebView createWebView() {

// Javascript interface for calling AnkiDroid functions in webview, see card.js
mAnkiDroidJsAPI = javaScriptFunction();
mJsAPIConstants = mAnkiDroidJsAPI.getJsAPIConstants();
webView.addJavascriptInterface(mAnkiDroidJsAPI, "AnkiDroidJS");

return webView;
Expand Down Expand Up @@ -2798,7 +2796,7 @@ private boolean filterUrl(String url) {
}
// mark card using javascript
if (url.startsWith("signal:mark_current_card")) {
if (!mAnkiDroidJsAPI.isInit(mJsAPIConstants.MARK_CARD, mJsAPIConstants.ankiJsErrorCodeMarkCard)) {
if (!mAnkiDroidJsAPI.isInit(AnkiDroidJsAPIConstants.MARK_CARD, AnkiDroidJsAPIConstants.ankiJsErrorCodeMarkCard)) {
return true;
}

Expand All @@ -2807,7 +2805,7 @@ private boolean filterUrl(String url) {
}
// flag card (blue, green, orange, red) using javascript from AnkiDroid webview
if (url.startsWith("signal:flag_")) {
if (!mAnkiDroidJsAPI.isInit(mJsAPIConstants.TOGGLE_FLAG, mJsAPIConstants.ankiJsErrorCodeFlagCard)) {
if (!mAnkiDroidJsAPI.isInit(AnkiDroidJsAPIConstants.TOGGLE_FLAG, AnkiDroidJsAPIConstants.ankiJsErrorCodeFlagCard)) {
return true;
}

Expand Down
39 changes: 20 additions & 19 deletions AnkiDroid/src/main/java/com/ichi2/anki/AnkiDroidJsAPI.kt
Original file line number Diff line number Diff line change
Expand Up @@ -46,19 +46,20 @@ open class AnkiDroidJsAPI(private val activity: AbstractFlashcardViewer) {
*/

private val context: Context = activity
val jsAPIConstants = AnkiDroidJsAPIConstants()
private var cardSuppliedDeveloperContact = ""
private var cardSuppliedApiVersion = ""

// JS api list enable/disable status
private var mJsApiListMap = jsAPIConstants.initApiMap()
private var mJsApiListMap = AnkiDroidJsAPIConstants.initApiMap()

// Text to speech
private val mTalker = JavaScriptTTS()

// init or reset api list
fun init() {
jsAPIConstants.mCardSuppliedApiVersion = ""
jsAPIConstants.mCardSuppliedDeveloperContact = ""
mJsApiListMap = jsAPIConstants.initApiMap()
cardSuppliedApiVersion = ""
cardSuppliedDeveloperContact = ""
mJsApiListMap = AnkiDroidJsAPIConstants.initApiMap()
}

// Check if value null
Expand All @@ -76,7 +77,7 @@ open class AnkiDroidJsAPI(private val activity: AbstractFlashcardViewer) {
*/
protected fun isInit(apiName: String, apiErrorCode: Int): Boolean {
if (isAnkiApiNull(apiName)) {
showDeveloperContact(jsAPIConstants.ankiJsErrorCodeDefault)
showDeveloperContact(AnkiDroidJsAPIConstants.ankiJsErrorCodeDefault)
return false
} else if (!getJsApiListMap()?.get(apiName)!!) {
// see 02-string.xml
Expand All @@ -97,7 +98,7 @@ open class AnkiDroidJsAPI(private val activity: AbstractFlashcardViewer) {
fun showDeveloperContact(errorCode: Int) {
val errorMsg: String = context.getString(R.string.anki_js_error_code, errorCode)
val parentLayout: View = activity.findViewById(android.R.id.content)
val snackbarMsg: String = context.getString(R.string.api_version_developer_contact, jsAPIConstants.mCardSuppliedDeveloperContact, errorMsg)
val snackbarMsg: String = context.getString(R.string.api_version_developer_contact, cardSuppliedDeveloperContact, errorMsg)
val snackbar: Snackbar? = UIUtils.showSnackbar(
activity,
snackbarMsg,
Expand All @@ -120,7 +121,7 @@ open class AnkiDroidJsAPI(private val activity: AbstractFlashcardViewer) {
if (TextUtils.isEmpty(apiDevContact)) {
return false
}
val versionCurrent = Version.valueOf(jsAPIConstants.sCurrentJsApiVersion)
val versionCurrent = Version.valueOf(AnkiDroidJsAPIConstants.sCurrentJsApiVersion)
val versionSupplied = Version.valueOf(apiVer)

/*
Expand All @@ -133,11 +134,11 @@ open class AnkiDroidJsAPI(private val activity: AbstractFlashcardViewer) {
true
}
versionSupplied.lessThan(versionCurrent) -> {
showThemedToast(context, context.getString(R.string.update_js_api_version, jsAPIConstants.mCardSuppliedDeveloperContact), false)
versionSupplied.greaterThanOrEqualTo(Version.valueOf(jsAPIConstants.sMinimumJsApiVersion))
showThemedToast(context, context.getString(R.string.update_js_api_version, cardSuppliedDeveloperContact), false)
versionSupplied.greaterThanOrEqualTo(Version.valueOf(AnkiDroidJsAPIConstants.sMinimumJsApiVersion))
}
else -> {
showThemedToast(context, context.getString(R.string.valid_js_api_version, jsAPIConstants.mCardSuppliedDeveloperContact), false)
showThemedToast(context, context.getString(R.string.valid_js_api_version, cardSuppliedDeveloperContact), false)
false
}
}
Expand All @@ -154,7 +155,7 @@ open class AnkiDroidJsAPI(private val activity: AbstractFlashcardViewer) {
}
}

fun getJsApiListMap(): HashMap<String, Boolean>? {
private fun getJsApiListMap(): HashMap<String, Boolean>? {
return mJsApiListMap
}

Expand All @@ -164,9 +165,9 @@ open class AnkiDroidJsAPI(private val activity: AbstractFlashcardViewer) {
var apiStatusJson = ""
try {
data = JSONObject(jsonData)
jsAPIConstants.mCardSuppliedApiVersion = data.optString("version", "")
jsAPIConstants.mCardSuppliedDeveloperContact = data.optString("developer", "")
if (requireApiVersion(jsAPIConstants.mCardSuppliedApiVersion, jsAPIConstants.mCardSuppliedDeveloperContact)) {
cardSuppliedApiVersion = data.optString("version", "")
cardSuppliedDeveloperContact = data.optString("developer", "")
if (requireApiVersion(cardSuppliedApiVersion, cardSuppliedDeveloperContact)) {
enableJsApi()
}
apiStatusJson = JSONObject.fromMap(mJsApiListMap).toString()
Expand Down Expand Up @@ -337,7 +338,7 @@ open class AnkiDroidJsAPI(private val activity: AbstractFlashcardViewer) {

@JavascriptInterface
fun ankiBuryCard(): Boolean {
if (!isInit(jsAPIConstants.BURY_CARD, jsAPIConstants.ankiJsErrorCodeBuryCard)) {
if (!isInit(AnkiDroidJsAPIConstants.BURY_CARD, AnkiDroidJsAPIConstants.ankiJsErrorCodeBuryCard)) {
return false
}

Expand All @@ -346,7 +347,7 @@ open class AnkiDroidJsAPI(private val activity: AbstractFlashcardViewer) {

@JavascriptInterface
fun ankiBuryNote(): Boolean {
if (!isInit(jsAPIConstants.BURY_NOTE, jsAPIConstants.ankiJsErrorCodeBuryNote)) {
if (!isInit(AnkiDroidJsAPIConstants.BURY_NOTE, AnkiDroidJsAPIConstants.ankiJsErrorCodeBuryNote)) {
return false
}

Expand All @@ -355,7 +356,7 @@ open class AnkiDroidJsAPI(private val activity: AbstractFlashcardViewer) {

@JavascriptInterface
fun ankiSuspendCard(): Boolean {
if (!isInit(jsAPIConstants.SUSPEND_CARD, jsAPIConstants.ankiJsErrorCodeSuspendCard)) {
if (!isInit(AnkiDroidJsAPIConstants.SUSPEND_CARD, AnkiDroidJsAPIConstants.ankiJsErrorCodeSuspendCard)) {
return false
}

Expand All @@ -364,7 +365,7 @@ open class AnkiDroidJsAPI(private val activity: AbstractFlashcardViewer) {

@JavascriptInterface
fun ankiSuspendNote(): Boolean {
if (!isInit(jsAPIConstants.SUSPEND_NOTE, jsAPIConstants.ankiJsErrorCodeSuspendNote)) {
if (!isInit(AnkiDroidJsAPIConstants.SUSPEND_NOTE, AnkiDroidJsAPIConstants.ankiJsErrorCodeSuspendNote)) {
return false
}

Expand Down
51 changes: 16 additions & 35 deletions AnkiDroid/src/main/java/com/ichi2/anki/AnkiDroidJsAPIConstants.kt
Original file line number Diff line number Diff line change
Expand Up @@ -18,47 +18,28 @@

package com.ichi2.anki

class AnkiDroidJsAPIConstants {
object AnkiDroidJsAPIConstants {
// JS API ERROR CODE
@kotlin.jvm.JvmField
var ankiJsErrorCodeDefault: Int = 0
@kotlin.jvm.JvmField
val ankiJsErrorCodeMarkCard: Int = 1
@kotlin.jvm.JvmField
val ankiJsErrorCodeFlagCard: Int = 2
const val ankiJsErrorCodeDefault: Int = 0
const val ankiJsErrorCodeMarkCard: Int = 1
const val ankiJsErrorCodeFlagCard: Int = 2

@kotlin.jvm.JvmField
val ankiJsErrorCodeBuryCard: Int = 3
@kotlin.jvm.JvmField
val ankiJsErrorCodeSuspendCard: Int = 4

@kotlin.jvm.JvmField
val ankiJsErrorCodeBuryNote: Int = 5
@kotlin.jvm.JvmField
val ankiJsErrorCodeSuspendNote: Int = 6
const val ankiJsErrorCodeBuryCard: Int = 3
const val ankiJsErrorCodeSuspendCard: Int = 4
const val ankiJsErrorCodeBuryNote: Int = 5
const val ankiJsErrorCodeSuspendNote: Int = 6

// js api developer contact
@kotlin.jvm.JvmField
var mCardSuppliedDeveloperContact = ""
@kotlin.jvm.JvmField
var mCardSuppliedApiVersion = ""

val sCurrentJsApiVersion = "0.0.1"
val sMinimumJsApiVersion = "0.0.1"
const val sCurrentJsApiVersion = "0.0.1"
const val sMinimumJsApiVersion = "0.0.1"

@kotlin.jvm.JvmField
val MARK_CARD = "markCard"
@kotlin.jvm.JvmField
val TOGGLE_FLAG = "toggleFlag"
const val MARK_CARD = "markCard"
const val TOGGLE_FLAG = "toggleFlag"

@kotlin.jvm.JvmField
val BURY_CARD = "buryCard"
@kotlin.jvm.JvmField
val BURY_NOTE = "buryNote"
@kotlin.jvm.JvmField
val SUSPEND_CARD = "suspendCard"
@kotlin.jvm.JvmField
val SUSPEND_NOTE = "suspendNote"
const val BURY_CARD = "buryCard"
const val BURY_NOTE = "buryNote"
const val SUSPEND_CARD = "suspendCard"
const val SUSPEND_NOTE = "suspendNote"

fun initApiMap(): HashMap<String, Boolean> {
val jsApiListMap = HashMap<String, Boolean>()
Expand Down

0 comments on commit 4be9597

Please sign in to comment.