Commit graph

668 commits

Author SHA1 Message Date
dswitkin 8671371c59 Did a big refactoring on the MonochromeBitmapSource. I removed all the caching luminance calls and converted them to getting luminance data on demand. This saved another 33,000 function calls per rejected scan, good for another 15 ms savings. I also moved the luminance calls to BaseMonochromeBitmapSource and made them protected, to indicate that the decoders shouldn't use them.
Overall the recent optimizations took one rejected scan from 307 to 135 ms, which is definitely noticeable.

WARNING: I am not able to build the Bug or J2ME clients, but I believe they are correct.

git-svn-id: https://zxing.googlecode.com/svn/trunk@656 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-30 18:44:10 +00:00
dswitkin bef3c75048 Fixed a crash in calendar parsing when encountering an illegal VEVENT without newlines.
git-svn-id: https://zxing.googlecode.com/svn/trunk@655 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-30 16:35:26 +00:00
dswitkin 1d8b533310 Fixed the Android client when using ProGuard. The ViewfinderView constructor is loaded dynamically by the XML view inflation code, which requires explicitly preserving it.
git-svn-id: https://zxing.googlecode.com/svn/trunk@654 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-30 15:41:52 +00:00
dswitkin 4f7b7d573d Made the data members of BitArray public so they will be inlined. This saves about 60,000 function calls per rejected scan. We can make these private again once we figure out the ProGuard problems with -allowaccessmodification.
git-svn-id: https://zxing.googlecode.com/svn/trunk@653 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-29 21:16:46 +00:00
dswitkin 43e155804f Looks like -allowaccessmodification to ProGuard results in a bogus binary. It compiles, but the Dalvik verifier rejects it at runtime. I'm removing this flag for now, which means we lose inlining on some important getters and setters.
git-svn-id: https://zxing.googlecode.com/svn/trunk@652 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-29 20:38:33 +00:00
dswitkin 1e478df248 Added androidtest to the top-level clean target and set it up for ProGuard too. Made both Android builds depend on clean so they work when switching between normal and ProGuard builds, and made install and reinstall use the latest binary instead of recompiling.
git-svn-id: https://zxing.googlecode.com/svn/trunk@651 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-29 20:13:05 +00:00
dswitkin 77f41cce22 Added another target for building a debug key signed Android client, and removed the old optimized target from core.
git-svn-id: https://zxing.googlecode.com/svn/trunk@650 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-29 19:50:37 +00:00
srowen 6f6da9a04c moved ProGuard optimization into Android build file since it's the only way to fully optimize the final build product (inlining of key methods). Also always dump proguard results.
git-svn-id: https://zxing.googlecode.com/svn/trunk@649 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-29 15:42:22 +00:00
dswitkin d80cd07064 Made a change to the QR detector which cuts the worst case rejection time from 300 ms to 160 ms, with almost no penalty in decoding ability. Given that we're emphasizing continuous decoding, I feel it's much better to reject the occasional borderline image in half the time, and get on with the next scan.
git-svn-id: https://zxing.googlecode.com/svn/trunk@648 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-29 14:22:44 +00:00
srowen 78da6447b0 Inner class elements now not private since it is pointless and confuses Proguard
git-svn-id: https://zxing.googlecode.com/svn/trunk@647 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-28 15:59:51 +00:00
srowen db3c669847 Add back basic link
git-svn-id: https://zxing.googlecode.com/svn/trunk@646 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-28 10:30:32 +00:00
dswitkin 21e7813a60 Updated the Android benchmark with more accurate timing and better results output. Also fixed walking the tree to use a consistent order to make comparison between the device and emulator easier.
git-svn-id: https://zxing.googlecode.com/svn/trunk@644 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-27 16:30:36 +00:00
srowen a1deb27f46 Going back to old approach of using JSR-234 directly, then compiling with different code to produce a non-JSR-234 version. This approach isn't working on some phones -- including JSR-234 phones.
git-svn-id: https://zxing.googlecode.com/svn/trunk@641 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-26 13:29:46 +00:00
dswitkin de419268b8 Wrote a benchmark activity for Android which reads images recursively from the SD card, decodes each 10 times, and prints the average time to decode in milliseconds. The UI is extremely minimal, as the results are written to the log, but this is a good start towards measuring our performance under Dalvik on a platform without floating point hardware. This should run fine on the emulator but I haven't tested it yet.
git-svn-id: https://zxing.googlecode.com/svn/trunk@640 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-24 22:05:07 +00:00
christian.brunschen f83e68d7bc updated app version to 1.0.1
git-svn-id: https://zxing.googlecode.com/svn/trunk@637 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-24 10:12:40 +00:00
christian.brunschen 7b8b7e67d1 initialize valarrays with explicit contents (zero)
git-svn-id: https://zxing.googlecode.com/svn/trunk@636 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-24 09:53:01 +00:00
dswitkin fd9ecdac96 Added support for a title when searching for an address, for example a business name. Also changed snipppets --> snippet in book search.
git-svn-id: https://zxing.googlecode.com/svn/trunk@635 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-23 18:34:35 +00:00
dswitkin 0a5cee0307 Putting the final touches on the 1.1 release.
git-svn-id: https://zxing.googlecode.com/svn/trunk@632 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-22 14:30:32 +00:00
srowen 96f6428eea Add column caching to MonochromeBitmapSources and use it to improve Data Matrix speed
git-svn-id: https://zxing.googlecode.com/svn/trunk@631 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-22 08:43:56 +00:00
dswitkin 15deb0c3d9 Checked in the ZXing Test app for Android under androidtest. This application exercises all the intents we support including scanning, encoding, and searching books. It also has a special camera mode which saves greyscale images to the SD card which I use to generate blackbox images.
git-svn-id: https://zxing.googlecode.com/svn/trunk@629 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-21 21:55:15 +00:00
dswitkin d2f7d69883 Prepping the CHANGES file for 1.1.
git-svn-id: https://zxing.googlecode.com/svn/trunk@628 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-21 20:55:47 +00:00
dswitkin c14dbc8381 Added versionName and versionCode to the Android client manifest.
git-svn-id: https://zxing.googlecode.com/svn/trunk@626 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-18 19:27:43 +00:00
dswitkin 35115ce1f3 The new Android client, featuring:
- a completely new result UI with multiple actions per barcode
- Search Book Contents, powered by Google Book Search
- support for calendar events
- support for URLs and addresses in contact info
- many other small improvements, like making URLs hyperlinked

git-svn-id: https://zxing.googlecode.com/svn/trunk@625 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-18 16:23:24 +00:00
dswitkin f3123f432b Removed the old Android client in preparation for the new one.
git-svn-id: https://zxing.googlecode.com/svn/trunk@624 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-18 13:31:08 +00:00
dswitkin f142a9478c Reordered the address book fields to something a little more standard/reasonable.
git-svn-id: https://zxing.googlecode.com/svn/trunk@623 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-17 20:21:29 +00:00
dswitkin 77d29c3d7a Added support for URL to MECARD and VCARD.
git-svn-id: https://zxing.googlecode.com/svn/trunk@622 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-17 16:12:10 +00:00
srowen 394fb04c81 Reformatting and minor code tweaks
git-svn-id: https://zxing.googlecode.com/svn/trunk@621 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-17 14:48:22 +00:00
dswitkin 8cb804ec9e Made a change to 1D decoding which looks for 100% instead of 150% of the start and end patterns when searching for quiet zones, but in exchange for that reduction, we reject rows whose quiet zones would run off either edge of the image.
The result is complete elimination of all false positives in the new batch of 40 images I just checked in. Bettter than that, we come up with a net gain of 38 new barcodes decoded (counting rotation and try harder variations). We even get some of the reflective images that were impossible up to this point.

git-svn-id: https://zxing.googlecode.com/svn/trunk@620 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-15 19:47:34 +00:00
srowen 09ce5db11d Workaround (I think) for bizarre array corruption problem on Sun WTK and some SE phones
git-svn-id: https://zxing.googlecode.com/svn/trunk@619 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-15 11:29:22 +00:00
dswitkin edcf34f0c5 Created 40 new blackbox images which are partial shots of a very large QR code. In mobile mode we do OK, but in try harder we find bogus 1D results in almost half of these. I'm checking this in as a baseline, and will work on improving the situation in a subsequent change.
git-svn-id: https://zxing.googlecode.com/svn/trunk@618 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-14 22:08:48 +00:00
dswitkin c91f427a8b Added a bit of defensive programming in the AlignmentPattern code. There were real world examples where the width passed to AlignmentPatternFinder was zero, which causes BitArray to throw when built with a size of zero. I'm going a little bit farther and not searching extremely small areas either.
Sean, please review.

git-svn-id: https://zxing.googlecode.com/svn/trunk@617 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-14 18:24:23 +00:00
dswitkin ef2f3f8ce0 Expanded calendar parsing to allow more date formats, added some unit tests for ISBN and VEVENTS, and fixed the EAN13-1 test which was failing by one image.
git-svn-id: https://zxing.googlecode.com/svn/trunk@616 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-14 15:56:03 +00:00
christian.brunschen 73ff54e3cb improved image cropping, also work around iPhone OS 2.1 bug when picking from photo roll
git-svn-id: https://zxing.googlecode.com/svn/trunk@614 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-13 16:09:09 +00:00
dswitkin 0d7dfdbfae Added the missing AndroidHttpClient to the package, which fixes the Android client build using the 1.0 SDK.
git-svn-id: https://zxing.googlecode.com/svn/trunk@613 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-13 16:08:58 +00:00
dswitkin 7fe2c1c60c Prevented ISBN parsing from happening twice.
git-svn-id: https://zxing.googlecode.com/svn/trunk@610 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-09 18:46:21 +00:00
srowen 83c01f0cee Camel-cased log_table, exp_table vars
git-svn-id: https://zxing.googlecode.com/svn/trunk@609 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-09 12:17:37 +00:00
mschulkind 76b4fa1910 Fixing a comment.
git-svn-id: https://zxing.googlecode.com/svn/trunk@607 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-08 20:52:58 +00:00
mschulkind af555d2409 Renaming two member variables so they no longer share names with their getters.
git-svn-id: https://zxing.googlecode.com/svn/trunk@606 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-08 20:42:04 +00:00
dswitkin 45677f2bb2 Made calendar event parsing more robust, and also reject non-calendar contents a little faster.
git-svn-id: https://zxing.googlecode.com/svn/trunk@604 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-08 15:37:38 +00:00
dswitkin 13c08aedaf Added 13 new blackbox images.
git-svn-id: https://zxing.googlecode.com/svn/trunk@603 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-07 18:57:15 +00:00
srowen 773409ed6a Add check for minimal whitespace before/after Code 128, Code 39; a few code tweaks as well
git-svn-id: https://zxing.googlecode.com/svn/trunk@601 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-07 09:53:53 +00:00
srowen 089df8eb7b Added redundant abstract method declarations to maybe work around problems on Nokias
git-svn-id: https://zxing.googlecode.com/svn/trunk@600 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-06 11:43:19 +00:00
srowen b0b0afc172 Added redundant abstract method declarations to maybe work around problems on Nokias
git-svn-id: https://zxing.googlecode.com/svn/trunk@599 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-04 14:46:15 +00:00
srowen 7e022edf66 Improved error message when file/URI is mistyped.
git-svn-id: https://zxing.googlecode.com/svn/trunk@598 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-04 10:12:17 +00:00
srowen 6f8a5f49ca Added notes about how to comment out anything that might possibly lead to JSR-234 problems.
git-svn-id: https://zxing.googlecode.com/svn/trunk@597 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-04 10:11:19 +00:00
christian.brunschen f0a2d5778e Renamed 'zxing-icon-128.png' to 'ZxingLarge.png' to get the App Store to accept the uploaded binary. Updated the 'About.html'
page (in all three localizations) to match.


git-svn-id: https://zxing.googlecode.com/svn/trunk@596 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-02 10:12:13 +00:00
christian.brunschen c0763525b4 Resurrected 128-pixel icon for About page
Removed UI autorotation support, since UIImagePickerController
doe not gracefully handle being showin in non-portrait
orientation and there is not at the moment a supported way to
force the UI into a specified orientation.


git-svn-id: https://zxing.googlecode.com/svn/trunk@595 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-01 20:19:55 +00:00
srowen 8c3b727bd4 Recent bug fix uncovered some bugs in test case -- fixing those
git-svn-id: https://zxing.googlecode.com/svn/trunk@594 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-01 16:17:03 +00:00
dswitkin 16bdeac581 Added two more UPC-A blackbox images submitted by the community.
git-svn-id: https://zxing.googlecode.com/svn/trunk@593 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-10-01 14:17:17 +00:00
dswitkin bacd1469af - Fixed a crash when parsing a particular VCard with a blank entry.
- Trimmed whitespace around many fields to sanitize the results (this is very useful upstream, for example we hyphenate phone numbers on Android but can't tolerate extra whitespace).
- Fixed a bug with 1D result points when scanning upside down - they needed to be mirrored to draw correctly.

git-svn-id: https://zxing.googlecode.com/svn/trunk@592 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2008-09-29 18:45:00 +00:00