* Add Rust implementation to detect QRCode from bitmap * Add QRCodeInterceptor Framework * Let image take hasQRCode info * Keep ReaderPage index internal * Move imageCache to use ReaderPage as key * Make PageLoader size & pages internal * Refine * Kill entry if QRCode * Rewrite request to respect index mapping * Debug: enable by default * Fix crash * Fixup * Fix identity * Revert to lruCache to avoid crash * Fixup * Clippy check for android only * Fixup * Resolve clippy * Switch * Apply switch * Restart pageloader restore pages * Cleanup * Cleanup Signed-off-by: Dude so hot <djohn@fbi.gov> * let it inference Signed-off-by: Dude so hot <djohn@fbi.gov> * Don't detect border for ads * Make coil interceptor runs in `Dispatchers.Default` * Revert "Restart pageloader restore pages" This reverts commit 8fd02fb7d9c677c119df72a767a6079f1899dc31. * Revert drop page changes * Use backGround color painter for ads * Only check ads for tags contains extraneous ads * Only check ads for head 5 images || tail 10 images * Move strip ADs switch to AdvancedScreen * Pick placeholder * Show Placeholder * Don't try to extract & decode Signed-off-by: Dude so hot <djohn@fbi.gov> * cleanup Signed-off-by: Dude so hot <djohn@fbi.gov> * Naming * Naming * Naming * Naming * For ArchivePageLoader as well * Hint * Fix flicker * Refine * Naming * QR -> Qr * Naming * QR -> Qr * Naming * Refine * Revert * Remove header check * Allow show ads * Adjust * Refine * Revert "Don't try to extract & decode" This reverts commit f35ef46f6ffc81485cf0f4c646ed79e524c29d32. Signed-off-by: Dude so hot <djohn@fbi.gov> * be strict Signed-off-by: Dude so hot <djohn@fbi.gov> * Just Extract, don't decode * Refine * Refine placeholder --------- Signed-off-by: Dude so hot <djohn@fbi.gov> Co-authored-by: Dude so hot <djohn@fbi.gov> Co-authored-by: FooIbar <118464521+FooIbar@users.noreply.github.com>