Description
Allow manually entering passport number, expiration data and date of birth for passport entries.
Motivation
Operating Systems that don't use the Google MLKit implementation (such as /e/OS) may fail when reading documents using the camera.
Proposed Solution
Either allow the user to skip reading the document using camera entirely or a manual entry button in the scanning screen.
Another alternative could be removing the mlkit dependency although I'm not entirely sure why it fails.
Additional Context
While scanning on /e/OS the following stacktrace got spammed in the console (retreived with adb logcat):
W System.err: com.google.mlkit.common.MlKitException: Waiting for the text optional module to be downloaded. Please wait.
W System.err: at com.google.mlkit.vision.text.internal.zzd.zzb(com.google.android.gms:play-services-mlkit-text-recognition-common@@19.1.0:45)
W System.err: at com.google.mlkit.vision.text.internal.TextRecognizerTaskWithResource.load(com.google.android.gms:play-services-mlkit-text-recognition-common@@19.1.0:1)
W System.err: at com.google.mlkit.common.sdkinternal.ModelResource.zza(com.google.mlkit:common@@18.11.0:4)
W System.err: at com.google.mlkit.common.sdkinternal.zzn.run(Unknown Source:10)
W System.err: at com.google.mlkit.common.sdkinternal.zzt.run(com.google.mlkit:common@@18.11.0:2)
W System.err: at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zze(com.google.mlkit:common@@18.11.0:4)
W System.err: at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zzc(com.google.mlkit:common@@18.11.0:1)
W System.err: at com.google.mlkit.common.sdkinternal.zzi.run(Unknown Source:2)
W System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
W System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
W System.err: at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zzd(com.google.mlkit:common@@18.11.0:2)
W System.err: at com.google.mlkit.common.sdkinternal.zzk.run(Unknown Source:2)
W System.err: at java.lang.Thread.run(Thread.java:1119)
While the message looks like it will resolve on it's own once the download finishes and it eventually goes away the scan never seems to work even when waiting.
The user meanwhile has no indication that there is any problem.
Another Passport reader App ( https://github.com/tananaev/passport-reader ) looks like this:

While this is more cumbersome to use, it's better than not being usable at all
Description
Allow manually entering passport number, expiration data and date of birth for passport entries.
Motivation
Operating Systems that don't use the Google MLKit implementation (such as /e/OS) may fail when reading documents using the camera.
Proposed Solution
Either allow the user to skip reading the document using camera entirely or a manual entry button in the scanning screen.
Another alternative could be removing the mlkit dependency although I'm not entirely sure why it fails.
Additional Context
While scanning on /e/OS the following stacktrace got spammed in the console (retreived with adb logcat):
While the message looks like it will resolve on it's own once the download finishes and it eventually goes away the scan never seems to work even when waiting.
The user meanwhile has no indication that there is any problem.
Another Passport reader App ( https://github.com/tananaev/passport-reader ) looks like this:

While this is more cumbersome to use, it's better than not being usable at all