From b9a94fa1300c30f80d0d38a6b879d9597c18c90b Mon Sep 17 00:00:00 2001 From: Mani <12841290+infinyte7@users.noreply.github.com> Date: Wed, 7 Apr 2021 17:47:48 +0800 Subject: [PATCH 1/2] get deck name --- .../main/java/com/ichi2/anki/AbstractFlashcardViewer.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/AnkiDroid/src/main/java/com/ichi2/anki/AbstractFlashcardViewer.java b/AnkiDroid/src/main/java/com/ichi2/anki/AbstractFlashcardViewer.java index 7888378c27de..f1ef31a08bd8 100644 --- a/AnkiDroid/src/main/java/com/ichi2/anki/AbstractFlashcardViewer.java +++ b/AnkiDroid/src/main/java/com/ichi2/anki/AbstractFlashcardViewer.java @@ -4098,6 +4098,11 @@ public boolean ankiIsInNightMode() { @JavascriptInterface public boolean ankiIsDisplayingAnswer() { return isDisplayingAnswer(); }; + @JavascriptInterface + public String ankiGetDeckName() { + return Decks.basename(getCol().getDecks().get(mCurrentCard.getDid()).getString("name")); + } + @JavascriptInterface public boolean ankiIsActiveNetworkMetered() { try { From 25ad363cd06106a8c8f04a2dc7b8d6bbac44a7d5 Mon Sep 17 00:00:00 2001 From: Mani <12841290+infinyte7@users.noreply.github.com> Date: Wed, 7 Apr 2021 21:21:12 +0800 Subject: [PATCH 2/2] Added test for getting deck name using js api --- .../java/com/ichi2/anki/ReviewerTest.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/AnkiDroid/src/test/java/com/ichi2/anki/ReviewerTest.java b/AnkiDroid/src/test/java/com/ichi2/anki/ReviewerTest.java index fe5965e58559..80ea147a9589 100644 --- a/AnkiDroid/src/test/java/com/ichi2/anki/ReviewerTest.java +++ b/AnkiDroid/src/test/java/com/ichi2/anki/ReviewerTest.java @@ -246,6 +246,27 @@ public void baseDeckName() { assertThat(reviewer.getSupportActionBar().getTitle(), is("B")); } + @Test + public void jsAnkiGetDeckName() { + Collection col = getCol(); + Models models = col.getModels(); + Decks decks = col.getDecks(); + + Long didAb = addDeck("A::B"); + Model basic = models.byName(AnkiDroidApp.getAppResources().getString(R.string.basic_model_name)); + basic.put("did", didAb); + addNoteUsingBasicModel("foo", "bar"); + + Long didA = addDeck("A"); + decks.select(didA); + + Reviewer reviewer = startReviewer(); + JavaScriptFunction javaScriptFunction = reviewer.javaScriptFunction(); + + waitForAsyncTasksToComplete(); + assertThat(javaScriptFunction.ankiGetDeckName(), is("B")); + } + private void toggleWhiteboard(ReviewerForMenuItems reviewer) { reviewer.toggleWhiteboard();