Introduce ChangeNoteType Dialog#18602
Conversation
|
Important Maintainers: This PR contains Strings changes
|
94aef84 to
9fd2a79
Compare
There was a problem hiding this comment.
People have been wanting this for AGES, thanks so much!! 🥳🥳🥳🥳🥳
Looks great, cheers!
SO many users will love this, let me know if you want me to dig in and rebase/force push to get this up to scratch
Crash (resolved)
1 card: Basic
- Go to 'Templates'
- Change' Type' to 'Basic & Reversed'
Crash
2025-06-22 21:38:42.737 24328-24328 ChangeNote...ateSpinner com.ichi2.anki.debug D Updating card mapping: old template 0 -> new template 0
2025-06-22 21:38:42.738 24328-24328 ChangeNote...ateSpinner com.ichi2.anki.debug D Updating card mapping: old template 1 -> new template null
2025-06-22 21:38:42.738 24328-24328 ChangeNoteTypeViewModel com.ichi2.anki.debug W Attempted to update card mapping before initialization
2025-06-22 21:38:42.757 24328-24328 ThrowableFilterService com.ichi2.anki.debug V exceptionIsUnwanted - examining IndexOutOfBoundsException
2025-06-22 21:38:42.757 24328-24328 ThrowableFilterService com.ichi2.anki.debug V exceptionIsUnwanted - exception was wanted
2025-06-22 21:38:42.757 24328-24328 UsageAnalytics com.ichi2.anki.debug D sendAnalyticsException() description/fatal: java.lang.IndexOutOfBoundsException: Index 1 out of bounds for length 1/true
2025-06-22 21:38:42.763 24328-24328 ACRA com.ichi2.anki.debug E ACRA caught a IndexOutOfBoundsException for com.ichi2.anki.debug
java.lang.IndexOutOfBoundsException: Index 1 out of bounds for length 1
at jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
at jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
at jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266)
at java.util.Objects.checkIndex(Objects.java:385)
at java.util.ArrayList.get(ArrayList.java:434)
at com.ichi2.anki.dialogs.ChangeNoteTypeViewModel.getDiscardedCards(ChangeNoteTypeViewModel.kt:261)
at com.ichi2.anki.dialogs.ChangeNoteTypeViewModel$getDiscardedCards$1.invokeSuspend(Unknown Source:20)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at android.os.Handler.handleCallback(Handler.java:995)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loopOnce(Looper.java:248)
at android.os.Looper.loop(Looper.java:338)
at android.app.ActivityThread.main(ActivityThread.java:9067)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:932)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@6e28089, Dispatchers.Main.immediate]
AnkiDroid/src/main/java/com/ichi2/anki/browser/CardBrowserViewModel.kt
Outdated
Show resolved
Hide resolved
AnkiDroid/src/main/java/com/ichi2/anki/dialogs/ChangeNoteTypeDialog.kt
Outdated
Show resolved
Hide resolved
AnkiDroid/src/main/java/com/ichi2/anki/dialogs/ChangeNoteTypeViewModel.kt
Outdated
Show resolved
Hide resolved
This comment was marked as resolved.
This comment was marked as resolved.
8e5adbe to
0e5bebe
Compare
|
Nothing much, just a commit message fix |
af36c6a to
9f4ea80
Compare
I'm no longer able to see any of the review comments here, but David has reviewed it quite recently and approved after a fair bit of back and forth, so will assume these are stale
mikehardy
left a comment
There was a problem hiding this comment.
incredible piece of functionality, the test implementation looks really thorough and I don't have any quibbles on the implementation as I read it except a desire to make the "TODO" for list separator a concrete thing by doing it in compat
the other two tiny comments are adminsitrative (attribution) or trivial (spacing)
consider this an approve if those are handled, I'd love to get this merged
|
strings are in sync and ready to go, I was hoping to merge it for what it's worth :-), let's go! |
libanki/testutils/src/main/java/com/ichi2/anki/libanki/testutils/AnkiTest.kt
Show resolved
Hide resolved
AnkiDroid/src/main/java/com/ichi2/anki/browser/CardBrowserViewModel.kt
Outdated
Show resolved
Hide resolved
This dialog allows the bulk remapping of either fields or card templates to a different note type A full sync is required for this operation inputs: * output note type * a map of fields (based on the output) * a map of templates (based on the output) * only if both input and output are non-cloze Fixes 14134 Co-authored-by: David Allison <62114487+david-allison@users.noreply.github.com>
consider this an approve if those are handled
|
Maintainers: Please Sync Translations to produce a commit with only the automated changes from this PR. Read more about updating strings on the wiki, |

Purpose / Description
Introduces the
changeNoteTypeDialogandchangeNoteTypeViewModelFixes
How Has This Been Tested?
Pixel 9 Pro (Android 1
Checklist
Please, go through these checks before submitting the PR.