0
0
mirror of https://github.com/markusfisch/BinaryEye.git synced 2024-09-20 12:02:17 +02:00
Commit Graph

1033 Commits

Author SHA1 Message Date
molikuner
3820d647e0 Use Flows for DB access
* Replaced List with Flow to keep the memory usage low while exporting
* Updated kotlin to 1.3.50
* Updated kotlinx.coroutines to 1.3.2 to have stable Flow support
* Cleaned CSVBuilder#buildWith to simplify code
2019-10-13 16:25:27 +02:00
Markus Fisch
ce234381c8 Add a comment why a post() is necessary
Apparently it's necessary to give Android some time before
coloring the system bars or it won't work always.
2019-10-13 13:16:19 +02:00
Ludovico de Nittis
2abeccdd1b Complete Italian translation 2019-10-13 12:47:14 +02:00
Markus Fisch
ae4d6f8e2a Increase version code for Play upload 2019-10-12 18:24:41 +02:00
Markus Fisch
78c3253979 Remove Leak Canary
Because it's necessary to increase the minSDK for the
release build too. This makes no sense.
2019-10-12 18:20:17 +02:00
Markus Fisch
8026478052 Advance version number to 1.15.0 2019-10-12 17:45:14 +02:00
Markus Fisch
0d2ac7751e Color tool/system bars when barcode is zoomed 2019-10-12 16:55:05 +02:00
Markus Fisch
47cb298317 Add Leak Canary to debug build 2019-10-11 20:12:27 +02:00
Markus Fisch
c1d0b98990 Move lambdas out of parenthesis
And some other optimizations.
2019-10-11 14:31:03 +02:00
Markus Fisch
798c10d420 Only color tool/statusbar when content is scrolled 2019-10-11 11:44:47 +02:00
Markus Fisch
0d65f41bb5 Color tool/system bars when a view is scrollable
According to Material Design, scrollable content should either
scroll to the edges of the screen or behind another surface.

So to avoid clipping contents against an invisible edge, it's
necessary to show the (usually transparent) tool and system
bars for a visible edge.
2019-10-11 10:17:29 +02:00
Markus Fisch
eb32af9cda Apply auto format 2019-10-06 17:16:16 +02:00
Markus Fisch
c4f7189435 Use underscore for unused variable 2019-10-06 17:06:02 +02:00
molikuner
2c037a6322 Add history export feature
* Added new action item in HistoryFragment to export the history
* Removed some GlobalScope to get more structured concurrency safety
* Replaced all usage of Database with calls to new DatabaseRepository
* Added alertDialog function to simplify usage as function
* Added information for successfully saved file
* Added CSVBuilder
2019-10-04 17:03:03 +02:00
Monochrome
6b9e6ee5b4 Add an intent-filter for action VIEW
So it's possible to decode image by opening them, too.
2019-10-01 19:41:58 +02:00
molikuner
adecdf7e27 Remove parsing of OTPs
We should not check the content of the OTP code, instead let the receiver handle the
content and give appropriate errors, if needed.
2019-09-30 16:07:52 +02:00
Markus Fisch
d925e136ef Fix Russian translation
Remove app_name (which is the same for all languages) and use
tabs instead of spaces for indentation.
2019-09-30 13:46:18 +02:00
molikuner
3ae7e561c4 Standardise HTTP action
* Rename IAction uses to simplify code

* Renamed SimpleIntentIAction to IntentAction
* Renamed IntentAction#executeForIntent to createIntent
* Added suspend modifier to IAction#execute to simplify later work
* Added parseAndNormalizeUri
* Optimized usage of Coroutines in WifiAction
* Replaced one java Pattern instance with Kotlin Regex

* Simplify DecodeFragment#openUrl by moving stuff into it's own action

* Added OpenOrSearchAction
* Added WebAction
* Added DEFAULT_ACTION

* IgnoreCase in SchemeAction
2019-09-30 13:36:18 +02:00
Eugene Kotsareu
ca619efa14 Add Russian translation 2019-09-24 22:23:01 +02:00
Markus Fisch
47d5923a04 Advance version number to 1.14.0 2019-09-08 21:19:52 +02:00
Markus Fisch
8c22a8ab00 Apply auto formatting 2019-09-08 21:15:12 +02:00
molikuner
8152cb6a24 Add OTP support 2019-09-08 21:06:05 +02:00
zmni
ffed4fc5cf Update Indonesian translation 2019-09-04 16:47:56 +02:00
Markus Fisch
d8bd3c1176 Advance version number to 1.13.1 2019-08-31 10:45:02 +02:00
molikuner
3b12aa4b7b Fix crash caused by missing \R support for Regex (#62)
* Fix crash caused by missing `\R` support for Regex
* Replaced `\R` usage in VType actions with official equivalent
* Replace `\R`, which was overlooked
2019-08-31 10:38:08 +02:00
Markus Fisch
099b522d35 Advance version number to 1.13.0 2019-08-23 18:32:03 +02:00
Markus Fisch
166d181469 Optimize imports according to Android Studio
Order of imports doesn't matter so I should simply let
Android Studio have its way.
2019-08-23 17:57:17 +02:00
Markus Fisch
a4a2a67177 Add missing extras for ZXing result intents
Turns out, some apps do actually use them.
2019-08-23 17:55:39 +02:00
Markus Fisch
e75d658092 Advance version number to 1.12.0 2019-08-05 20:29:16 +02:00
Markus Fisch
c840462fa2 Fix folder name for Brazilian Portuguese
According to lint, it must read `values-pt-rBR`.
2019-08-05 20:25:51 +02:00
Ivan Amaro
c3475a37d2 Add Brazilian Portuguese translation 2019-08-05 14:03:19 +02:00
yzqzss
183fe2c6f2 Add Simplified Chinese 2019-08-04 23:58:00 +02:00
Thomas
056f5e263e Add Chinese translation
This set of Chinese translation is good for zh, zh-Hant, zh-TW, zh-HK and other zh variants. Some English nouns are kept as they are well known in common conversations.

Many app handle Chinese localization pickings differently (with a ton of political dicisions), but in general label this as "中文"/"Chinese" or "正體中文"/“traditional Chinese”.
2019-08-04 23:57:08 +02:00
Markus Fisch
386c7a6056 Encode text using UTF-8 encoding 2019-08-04 23:55:15 +02:00
Markus Fisch
30ae51d945 Suppress lint warning about null root layout
Because dialogs don't have a parent layout and must
therefore be inflated with a null root layout.
2019-07-31 13:15:28 +02:00
Markus Fisch
95b54ed4ab Add some line breaks
Improves readability (for me).
2019-07-31 13:05:10 +02:00
Markus Fisch
3650bda107 Save preferences when leaving fragment only
Much simpler.
2019-07-30 13:48:19 +02:00
Markus Fisch
2bdf13761e Add preferences and the option to use a custom URL
For opening unknown barcodes. Should close #48.
2019-07-28 13:59:42 +02:00
Markus Fisch
ee4ee1f778 Advance version number to 1.11.2 2019-07-24 22:30:27 +02:00
Markus Fisch
dbb72747e9 Downgrade ZXing to version 3.3.3
Apparently 3.4.0 is crashing on some devices.
Further investigation required.

This reverts commit b888e37556.
2019-07-24 22:23:30 +02:00
Markus Fisch
8e577c0924 Use WindowInsets to get system bar metrics
Since reading system resources can go wrong and WindowInsets
are the way to go.

Watch this:
https://www.youtube.com/watch?v=_mGDMVRO3iE
2019-07-24 15:12:55 +02:00
Markus Fisch
6ce160447c Advance version number to 1.11.1 2019-07-22 11:06:14 +02:00
Markus Fisch
b94a47ccb4 Update CameraView library to catch exception
Catch Camera.autoFocus() exceptions since some devices
throw a RuntimeException when it should work.
2019-07-22 11:00:40 +02:00
Markus Fisch
ec34b33ce7 Advance version number to 1.11.0 2019-07-18 20:52:12 +02:00
Markus Fisch
024b95c12e Reapply auto format 2019-07-18 09:57:02 +02:00
molikuner
cf4dc2aa4a Add VTypes (VCard and VEvent)
* Ignoring case on SMS and TEL actions
* Added VCard action
* Added VEvent action
* Added abstract VTypeParser
2019-07-18 09:51:01 +02:00
Markus Fisch
1919ce2935 Make generated barcodes zoom/pinch-able
I'm not sure if this has any additional value but sometimes
I like to inspect the generated codes a little closer.
2019-07-16 14:42:16 +02:00
Markus Fisch
1e3dfb64ae Fix building PDF417 barcode
Use the dimensions from the generated barcode for the
stride. ZXing adds quite some margin around a PDF417
and that breaks Bitmap.setPixels() when stride is set
to the target width.
2019-07-16 14:09:24 +02:00
Markus Fisch
f87eaa82dd Advance version number to 1.10.0 2019-07-10 21:47:58 +02:00
Markus Fisch
2c4e329663 Make tool and system bars completely transparent
Results in a lighter, more modern look.
2019-07-10 16:12:30 +02:00
Markus Fisch
624e129ef7 Remove duplicated code when executing share intent
And use the new function `execShareIntent()` in IAction too.
2019-07-10 16:07:19 +02:00
Markus Fisch
2f19bd7fc9 Add some line breaks to improve readability
And clean up imports which is a silly thing to do, of course.
I just can't help it.
2019-07-10 16:05:59 +02:00
Balázs Úr
a1d263837a Update Hungarian translation 2019-07-08 23:09:09 +02:00
molikuner
188824ecaa Optimize code and regex
* Simplified code of WiFi parsing
* Optimized regex of Mail, SMS, and WiFi
* Fixed possible crash on Gingerbread or lower because of missing value
* Resolved unexpected behavior when no application was found to share sth
* Used more Kotlin way of getting ViewHolder variable of View tag
* Used more Kotlin way of getting the current content in DecodeFragment
2019-07-08 20:38:21 +02:00
Markus Fisch
f5376290ab Convert text to bytes if byte segments are shorter
Because Zxing cuts off content prefixes like "WIFI:" from
byte segments what renders the bytes segments useless.

Since byte segments are important for binary content only,
it's probably to safe to ignore them for text content.
2019-07-05 21:10:29 +02:00
Markus Fisch
b888e37556 Update ZXing to latest version 2019-07-05 21:05:00 +02:00
Markus Fisch
cb43160902 Apply Kotlin Coding Conventions
Apply Android Studio's Reformat Code using Kotlin Coding Conventions,
see https://kotlinlang.org/docs/reference/coding-conventions.html
2019-07-05 15:27:15 +02:00
molikuner
a3ad6aa4c5 Add Mail, SMS and Telephone action
* Added `SimpleIntentIAction` to simplify code
* Change actions registry Array to Set
2019-07-05 15:21:37 +02:00
Markus Fisch
d0f0bedae2 Restore tools:text for hex view 2019-07-05 12:58:09 +02:00
Markus Fisch
3f58349ce8 Fix indents in resources and new code
Replace spaces with tabs in string resources for new
resources.

Fix indenting according to Kotlin Coding Conventions.

Add a few line breaks and braces where it improves
readability for me.
2019-07-05 11:18:55 +02:00
molikuner
e90d7d5f0e Fix WiFi parsing and remove extra button
* Do some stuff in background to keep UI thread smooth
* Replaced WifiNetworkInfoFactory with WifiConfigurationFactory
* Added utility functions and titleResId to IAction
* Removed unused button from layout
2019-07-05 10:50:41 +02:00
Markus Fisch
b39e5d2721 Replace space indents with tabs
To make the new code match to what's there.
We don't want to mix tabs with spaces.
2019-07-04 18:43:08 +02:00
Markus Fisch
3ede2713b6 Add translations for new WiFi button
Necessary or lint will fail.
2019-07-04 18:36:05 +02:00
Joe Stein
dc2fc292ce Add ability to connect to WiFi via button
* Added some tools:text for designing in Android Studio
* Add Connect to Wifi button
* Background for wifi button
* Added Action framework and WifiAction
* Unit tests for WifiAction
* Separate WiFi parsing and connecting code
* Remove network name escaping
* Make button slightly lighter when pressed
2019-07-04 18:31:43 +02:00
zmni
3dc50d2d7a Add Indonesian translation 2019-07-01 20:38:13 +02:00
Balázs Úr
3d15425460 Update Hungarian translation 2019-06-28 10:36:28 +02:00
Markus Fisch
412e27ee81 Advance version number to 1.9.1 2019-06-20 14:20:00 +02:00
Markus Fisch
d73ea341c0 Ask for search engine when searching for content
Instead of opening Google when searching for decoded content,
there's now a dialog to pick a suitable search engine from.

Especially useful if the user already knows what category
the scanned item belongs to.
2019-06-20 14:08:59 +02:00
Markus Fisch
694ebf83ed Advance version number to 1.9.0 2019-06-16 19:20:51 +02:00
Markus Fisch
78bb03fabf Try Google when opening content as URL fails
Better than showing an error and doing nothing.
2019-06-16 19:10:34 +02:00
Markus Fisch
902215f064 Show generic error message if Exception is empty
Because Zxing throws empty Exceptions for some barcodes.
2019-06-16 18:58:18 +02:00
Markus Fisch
eaf38729bd Advance version number to 1.8.1 2019-05-26 17:04:54 +02:00
Markus Fisch
39ecd31455 Advance version number to 1.8.0 2019-05-26 16:15:52 +02:00
Markus Fisch
c96a2cf3ec Assume binary data if content is empty 2019-05-26 16:08:52 +02:00
Markus Fisch
ea9e29b98c Support for saving binary data into external file
Since sharing binary data doesn't make much sense.
2019-05-26 15:57:55 +02:00
Markus Fisch
96e1ef5a52 Save binary data as blob
Required to restore it correctly.
2019-05-26 15:55:02 +02:00
Markus Fisch
ed4b0a75dd Remove horizontal orientation line from scanner
Looks cleaner without that boring line.
2019-05-24 10:18:29 +02:00
Markus Fisch
37354338cb Increase button height for API < 21
48dp is the recommended touch height.
2019-05-21 10:48:27 +02:00
Markus Fisch
3cd2eecc22 Advance version number to 1.7.3 2019-05-20 20:17:04 +02:00
Markus Fisch
0e40d3f7c3 Use idiomatic Kotlin syntax 2019-05-20 20:12:18 +02:00
Markus Fisch
c8fa01116d Hide binary data and text-only actions
Show binary data in hex dump only.
2019-05-20 20:10:42 +02:00
Markus Fisch
04539b4c37 Remove RenderScript fallback
Isn't needed anymore now that RenderScript works on Lineage 16.0.
2019-05-20 20:09:25 +02:00
Markus Fisch
b9e8f4cfca Invoke forceCompat() to fix crashes on Lineage
For some reason invoking RenderScript.forceCompat() makes
RenderScript finally work on Lineage 16.0. Without that,
RenderScript will crash on (at least a Samsung Galaxy S5
running) Lineage 16.0 as soon as it's initialized.
Seems to be a device/system bug.

The solution was found by https://github.com/nonnymoose
Thanks a lot! :D

For more details about this please see:
https://github.com/markusfisch/BinaryEye/issues/21
2019-05-20 10:57:38 +02:00
Markus Fisch
2c7ec74b1b Add rs_fp_relaxed to rotator RenderScript
The docs recommend using rs_fp_relaxed because it "may be
beneficial on some architectures due to additional optimizations
only available with relaxed precision (such as SIMD CPU
instructions)."
2019-05-15 22:10:31 +02:00
Markus Fisch
b34f29c95f Catch RSRuntimeException earlier
Turns out ScriptC_rotator() can raise a RSRuntimeException
so instantiating the Preprocessor object needs to be
guarded in the try/catch block.
2019-05-15 22:05:56 +02:00
Markus Fisch
e11518c3f5 Use metadata byte segments for hex dump
Some barcodes can contain binary data (e.g. QR code in 8bit mode).
But Result.getText() returns an already translated string.
2019-05-15 13:41:27 +02:00
Markus Fisch
57c4fad307 Advance version number to 1.7.2 2019-05-14 19:27:43 +02:00
Markus Fisch
856b8e37e1 Add signing config to release target 2019-05-14 19:27:27 +02:00
Markus Fisch
6b8dd8e864 Add a fallback for RenderScript
Since RenderScript fails on some devices/ROMs for unknown
reasons (e.g. Samsung Galaxy S5 with Lineage OS 16.0).

I have confirmed it's not this app by trying the official
Google sample for RenderScript which crashed too.
So I believe it's a system issue.

Now, instead of crashing, the app provides a fallback for
YUV conversion and image rotation. Of course, it's much
slower than the RenderScript implementation but still
better than crashing the app.
2019-05-14 19:14:59 +02:00
Markus Fisch
c993cd53f1 Add italian translation 2019-05-12 21:23:32 +02:00
Markus Fisch
a244763109 Move signing configuration into app/build.gradle
And add a rule to build an app bundle.
2019-05-09 20:38:36 +02:00
Markus Fisch
7ab712e040 Advance version number to 1.7.1 2019-05-08 11:09:25 +02:00
Markus Fisch
cb7219b290 Update to RenderScript API 24 to build 64bit libs
Building against RenderScript API 18 doesn't produce
librs.rotator.so for arm64-v8a and x86_64 architectures.
2019-05-08 10:58:55 +02:00
Markus Fisch
7f4ba50ee4 Update gradle, build tools and remove Error Prone
I liked Error Prone. But the old version is incompatible
with Gradle 5 now and using a newer one requires an amount
of work I'm not willing to invest.
2019-05-07 17:05:50 +02:00
Markus Fisch
b1f00f0592 Remove unused member variable 2019-05-07 10:51:54 +02:00
Markus Fisch
80f8f908d2 Advance version number to 1.7.0 2019-05-01 13:44:51 +02:00
Markus Fisch
506308ece9 Remove now unused remove_scan string resource 2019-05-01 13:04:08 +02:00
Markus Fisch
baecded9d5 Pick list separator on sharing history listing
Depending on the use case, it may be better to have
a dividing line or not.
2019-05-01 12:31:54 +02:00
Markus Fisch
ceefee397f Remove extra decoding thread
Unnecessary since CameraView 1.8.2 because Camera.PreviewCallback
is called from a separate thread already.
2019-05-01 12:11:18 +02:00
Balázs Úr
edef1acbfb Update Hungarian translation (#28) 2019-04-24 22:08:34 +02:00
Markus Fisch
742939182c Advance version number to 1.6.0 2019-04-24 17:52:46 +02:00
Markus Fisch
a21bfcdea6 Share history listing as plain text
Feature request.
2019-04-24 17:36:05 +02:00
Markus Fisch
bd281e449b Add missing barcode_info plural for french 2019-04-24 16:49:49 +02:00
Markus Fisch
0e1464a15f Add separator line between history items
Makes it easier to separate list items.
2019-04-24 16:48:47 +02:00
Markus Fisch
8a6441ddf3 Add content description for share FABs
Improve accessibility.
2019-04-24 16:47:48 +02:00
Markus Fisch
94874c0a9e Add content description for flash FAB
Improve accessibility.
2019-04-24 16:46:38 +02:00
Markus Fisch
b9a6410959 Advance version number to 1.5.1 2019-04-12 20:46:26 +02:00
Markus Fisch
512f5e00dd Show content bytes instead of chars in hex dump 2019-04-12 20:42:21 +02:00
Markus Fisch
91c2364958 Advance version number to 1.5.0 2019-04-10 21:53:24 +02:00
Markus Fisch
1e3f1c553c Show a hex dump of decoded contents
And update character count when contents are edited too.
2019-04-10 21:48:33 +02:00
Markus Fisch
80c65a48a0 Make when() return the fragment
Instead of assigning a help variable.
2019-04-10 10:30:46 +02:00
Markus Fisch
4c04ffb7db Move string literal to the right side
Left-over from Java "".equals() pattern.
2019-04-10 10:30:16 +02:00
Markus Fisch
cc3949fa71 Fix evaluating sent text from share menu 2019-04-10 10:29:55 +02:00
Markus Fisch
904a0ecbdd Update CameraView library to latest version 2019-04-08 20:56:29 +02:00
Balázs Úr
9155dd026d Update Hungarian translation 2019-03-26 09:53:39 +01:00
grenagit
7286a06985 Add French translation 2019-03-22 15:25:34 +01:00
Markus Fisch
a71552a406 Advance version number to 1.4.3 2019-03-21 10:27:09 +01:00
Markus Fisch
5857e8c394 Remove toStartOf/toLeftOf from time view
Circular dependency because "format" already specifies
toEndOf/toRightOf.
2019-03-21 10:20:49 +01:00
Markus Fisch
429af04714 Advance version number to 1.4.2 2019-03-18 22:22:11 +01:00
Markus Fisch
f134987572 Remove unused system bar methods 2019-03-18 22:17:51 +01:00
Markus Fisch
d8a9043f94 Put findViewById() on one line
Because Android Studio can't stand the line break.
2019-03-18 22:15:07 +01:00
Markus Fisch
3782fa8360 Make sure time and format won't overlap in row 2019-03-18 22:14:40 +01:00
Markus Fisch
023e32f796 Use a plural resource for barcode length 2019-03-18 22:09:41 +01:00
Markus Fisch
82f3abdc86 Use string resource for width by height string 2019-03-18 22:01:40 +01:00
Markus Fisch
1345d31a6d Use property access syntax where possible
And clean up other syntax deviations.
2019-03-18 21:57:05 +01:00
Markus Fisch
c56fa39c15 Show barcode type and content length
After a barcode was decoded.
2019-03-18 20:31:08 +01:00
Markus Fisch
584343c4e9 Add main sources to Gradle source sets
Otherwise Android Studio won't find them.
2019-03-18 20:19:31 +01:00
Markus Fisch
5754f8eb7c Advance version number to 1.4.1 2019-03-17 21:03:29 +01:00
Markus Fisch
15a076026c Only show torch mode FAB if camera supports it 2019-03-17 20:56:31 +01:00
Markus Fisch
1c90451cb9 Catch RuntimeException when enabling torch mode
In case the chosen camera doesn't support torch mode.
2019-03-17 20:41:06 +01:00
Markus Fisch
a4939f2f95 Advance version number to 1.4.0 2019-03-17 18:50:48 +01:00
Markus Fisch
b19d2b1894 Add scanning from a shared image 2019-03-17 18:45:00 +01:00
Markus Fisch
242421a765 Share generated barcodes 2019-03-07 17:33:36 +01:00
Markus Fisch
4cf12b71ac Apply auto format 2019-03-07 15:43:30 +01:00
Markus Fisch
b8cf3a6fe9 Save scanned codes and show a history listing
If the user chooses to keep a history.
There's a switch to enable/disable this feature.
By default, the app won't save anything.
2019-03-07 12:34:42 +01:00
Markus Fisch
dfe1518676 Update CameraView library to latest version 2019-03-04 18:06:18 +01:00
Markus Fisch
8097c685e8 Use Thread.isInterrupted() instead of private flag
And clean up joining threads.
2019-02-28 20:16:33 +01:00
Markus Fisch
810754d833 Fix Hungarian translation for switch camera 2019-02-26 21:58:35 +01:00
Markus Fisch
6ddcc31a8a Add hungarian string for switch camera 2019-02-26 10:00:29 +01:00
Balázs Úr
b61fc06688 Added Hungarian translation 2019-02-26 09:58:23 +01:00
Markus Fisch
f29f9e134f Add menu item to switch camera 2019-02-26 09:23:49 +01:00
Heimen Stoffels
2ae859511f Added Dutch translation 2019-02-24 14:35:47 +01:00
Markus Fisch
b554e7f47c Advance version number to 1.3.8 2019-02-19 22:04:38 +01:00
Markus Fisch
ac900ec855 Remove pre-built libraries and use gradle instead
Because F-Droid won't accept apps that contain pre-built libraries
that aren't fetched from a white-listed Maven repository, see
https://github.com/markusfisch/BinaryEye/issues/1
2019-02-14 19:46:26 +01:00
Markus Fisch
faf300db3e Advance version number to 1.3.7 2019-01-18 18:40:36 +01:00
Markus Fisch
2fbdd03225 Normalize URL scheme for resolveActivity()
Because Intent.resolveActivity() fails to resolve URLs
with uppercase schemes. Uri.normalizeScheme() will make
the scheme lowercase.
2019-01-18 18:28:08 +01:00
Markus Fisch
16e80ff80e Update camera view library
setTapToFocus() is now available in the library.
2018-10-26 21:31:24 +02:00
Markus Fisch
47a3224b27 Advance version number to 1.3.6 2018-10-04 21:12:26 +02:00
Markus Fisch
d2bf09d321 Update camera view library 2018-10-04 21:00:56 +02:00
Markus Fisch
deee39b367 Use property access syntax to get scene modes 2018-10-04 20:57:59 +02:00
Markus Fisch
4829433725 Revert "Pick camera mode with kotlin's first syntax"
`first` throws if there is no such element so it can't
be used to pick an item that can be there.

This reverts commit 9efd43e496.
2018-10-04 14:54:26 +02:00
Felizia Bernutz
9efd43e496 Pick camera mode with kotlin's first syntax
Makes the code a little bit shorter and more kotlin like.
2018-10-04 09:51:41 +02:00
Felizia Bernutz
5bd904ba4f Handle no supported scene modes (#5)
Handle nullable result of getSupportedSceneModes()

Only search for SCENE_MODE_BARCODE if there are any supported scene
modes. This extra check prevents triggering onCameraError() when there
are no supported scene modes, which would result in an unusable
application.
2018-09-22 10:23:49 +02:00
Markus Fisch
3244f0775f Advance version number to 1.3.5 2018-08-08 18:48:06 +02:00
Markus Fisch
f4d625a048 Fix some minor style issues 2018-08-08 18:29:34 +02:00
Markus Fisch
c838486ca1 Apply Kotlin Coding Conventions
Functions that don't fit on a single line should use
the following syntax:

https://kotlinlang.org/docs/reference/coding-conventions.html#function-formatting
2018-07-29 23:37:02 +02:00
Markus Fisch
d4a9ea1a4b Fix directory name of german resources
Because `values-de-DE` results in:
> Error: Invalid resource directory name
2018-07-29 23:35:55 +02:00
Markus Fisch
4123905853 Add german translation for encode button
Remove `app_name` because that's in `donottranslate.xml`.

And convert spaces to tabs.
2018-07-29 23:29:53 +02:00
Markus Fisch
720811bf3b
Add German translation
Merge pull request #4 from ialokim/german
2018-07-29 23:27:50 +02:00
Ialokim
aa4b79d13d
added German translation 2018-07-29 19:43:53 +02:00
Ialokim
1e9c303646
handle Intent.SEND correctly, directly opening EncodeFragment 2018-07-29 19:20:37 +02:00
Markus Fisch
7b67778a29 Return scan result for ZXing' SCAN intents
Of course, handling ZXing' SCAN intents makes only
sense when the app is returning the scanned data.

And that's why responding to IMAGE_CAPTURE does not
make sense at all. Removed that.
2018-07-29 15:40:47 +02:00
Markus Fisch
d2c8ef719b Respond to IMAGE_CAPTURE and ZXing' SCAN intents
So a user can pick Binary Eye in the share menu.
2018-07-29 13:32:24 +02:00
Markus Fisch
331f65f3a4 Advance version number to 1.3.4 2018-06-02 13:17:14 +02:00
Markus Fisch
e17c732b6a Decrease RenderScript Target API to 18
Because it's recommended to "set this value to the lowest
API level able to provide all the functionality" (see
https://developer.android.com/guide/topics/renderscript/compute).

Targeting (RenderScript!) API 24 seems to make Google Play
not transfer the support libraries to devices running Nougat
or higher. If you're installing the (release) APK manually
everything works just fine. Install the APK with Google Play
and the app will crash.
2018-06-02 13:05:10 +02:00
Markus Fisch
2e60b2b997 Add hint to EditText for decoded content
Just to make lint happy.
2018-06-02 12:38:12 +02:00
Markus Fisch
70d9b8b99a Fix launcher foreground for adaptive icons 2018-06-02 12:34:02 +02:00
Markus Fisch
d0cc7e0a68 Advance version number to 1.3.3 2018-06-01 14:05:37 +02:00
Markus Fisch
264e7ad098 Downsample to 3/4 only 2018-05-31 20:16:00 +02:00
Markus Fisch
8c33e9bd57 Add automated test for YUV processor 2018-05-29 21:00:26 +02:00
Markus Fisch
a8fd37e4e4 Run setFocusArea() for ACTION_UP events only 2018-05-29 20:58:32 +02:00
Markus Fisch
17f11ea2de Improved RenderScript processing 2018-05-29 20:58:14 +02:00
Markus Fisch
f6a582e4f7 Include aar of CameraView library
Because you simply cannot rely on JitPack.
2018-05-29 19:47:28 +02:00
Markus Fisch
6e645a567a Use XML drawable for launcher background
Much smaller.
2018-05-27 21:35:22 +02:00
Markus Fisch
e87dc35372 Downsample camera frame to soften artifacts
Because ZXing has problems recognizing barcodes when there
are screen artifacts in the image. Makes it hard to scan a
QR code from a screen.
2018-05-27 21:29:35 +02:00
Markus Fisch
75f4f3eadc Use property access syntax 2018-05-27 21:23:39 +02:00
Markus Fisch
64e1d722d5 Route raw YUV data to ZXing
And don't convert it into a Bitmap just to read the
pixels back from it.
2018-05-20 15:31:40 +02:00
Markus Fisch
05a206384c Add a comment explaining that !! operator 2018-05-20 14:48:21 +02:00
Markus Fisch
04790e2b57 Rename YuvToGray to Preprocessor
This class does more than just converting from
YUV to gray so this is a better name.
2018-05-20 13:45:38 +02:00
Markus Fisch
aa3c4a17e9 Rename function files to use camel humps
According to the Kotlin Coding Conventions
(https://kotlinlang.org/docs/reference/coding-conventions.html)
files that contain only top-level declarations should also
use camel humps with an uppercase first letter.
2018-05-20 13:33:03 +02:00
Markus Fisch
5968ae01eb Add adaptive icon for Android 8+ 2018-05-14 21:06:01 +02:00
Markus Fisch
57500b7700 Decrease default zoom to 10% 2018-05-09 22:50:47 +02:00
Markus Fisch
4e17a21e5f Update camera library and use orientation listener
To handle landscape to landscape rotations.
2018-05-07 20:12:51 +02:00
Markus Fisch
b17d29ba28 Increase size of logo on splash screen 2018-04-30 11:01:54 +02:00
Markus Fisch
96fea1f343 Start decoding only when preview has started 2018-03-03 18:33:32 +01:00
Markus Fisch
bc4d9f7148 Update to latest CameraView 2018-03-03 18:32:56 +01:00
Markus Fisch
4abacf030b Include CameraView library over jitpack
Also update to CameraView 1.4.0 and use 'implementation'
instead of 'compile' because Gradle 4 says so.
2018-03-01 14:34:45 +01:00
Markus Fisch
279c988464 Apply Kotlin Coding Conventions
From:
https://kotlinlang.org/docs/reference/coding-conventions.html
2018-02-27 14:22:41 +01:00
Markus Fisch
b4e6449dac Decrease default magnification to 20% 2018-02-27 10:38:54 +01:00
Markus Fisch
c3dfadd9e6 Move Java static class into Kotlin function file
All methods of SystemBarMetrics can be static so it's
better to get rid of that empty container class.
2017-12-18 21:37:49 +01:00
Markus Fisch
bad5225024 Clean up supported screen settings
According to the docs, `resizeable` is deprecated and
`smallScreens`, `normalScreens`, `anyDensity` are true
by default.
2017-12-16 13:31:56 +01:00
Markus Fisch
ee0f7c4529 Advance version number to 1.3.2 2017-12-08 22:28:41 +01:00
Markus Fisch
568530d470 Use safe calls instead of explicit null checks
Do it the Kotlin way.
2017-12-07 22:01:24 +01:00
Markus Fisch
6248b46fc8 Advance version number to 1.3.1 2017-11-13 21:10:10 +01:00
Markus Fisch
3083d2b625 Change primary colors
Was rejected because the launcher icon was too close to
another app with almost the same primary colors.
2017-11-13 21:03:37 +01:00
Markus Fisch
e02420d446 Advance version number to 1.3.0 2017-11-12 21:43:55 +01:00
Markus Fisch
e63fe0d601 Save chosen zoom level permanently 2017-11-12 21:42:54 +01:00
Markus Fisch
0803fdcac8 Check Intent.getStringExtra() for null before use 2017-11-12 21:36:05 +01:00
Markus Fisch
418edd34a5 Support tap to focus
Focus that exact spot a user taps on. Helps getting a clear
image on some devices. After 3 seconds the app will return
to the best possible auto focus.
2017-11-12 21:14:51 +01:00
Markus Fisch
e0c420c29f Update ZXing to latest version 3.3.2 2017-11-11 14:11:50 +01:00
Markus Fisch
0ba41ca863 Advanced version number to 1.2.0 2017-11-04 22:52:27 +01:00
Markus Fisch
53fe8b3689 Save zoom level over orientation changes 2017-10-26 22:49:24 +02:00
Markus Fisch
0da9e34e55 Set a default zoom of 1/3 2017-10-26 21:53:12 +02:00
Markus Fisch
db276372b7 Enable back arrow for MainActivity first fragments
MainActivity is a subsequent activity and has always a back
arrow now.
2017-10-26 21:52:52 +02:00
Markus Fisch
c148635c26 Set a modest wallpaper as window background 2017-10-26 21:50:11 +02:00
Markus Fisch
5c99309125 Call onCameraError() when Camera.open() fails too
And remove the Camera argument from onCameraError() as it
wouldn't make sense when Camera.open() fails.
2017-10-24 22:33:46 +02:00
Markus Fisch
2443eb066a Call Thread.interrupt() after InterruptedException
Explicitly try to interrupt the thread after an
InterruptedException.
2017-10-24 21:57:42 +02:00
Markus Fisch
d7281266e4 Add missing permission checking to camera activity
Somehow I forgot to check for the camera permission.
I should pick a device running Marshmallow for testing by now.
2017-10-24 21:54:54 +02:00
Markus Fisch
6c1353596d Use a dedicated camera activity
By removing the camera fragment everything gets much
simpler.
2017-10-20 21:18:55 +02:00
Markus Fisch
ff14130c91 Put a thin horizontal line over scan camera
Makes it easy to align a barcode with the camera.
2017-10-20 21:18:39 +02:00
Markus Fisch
e0147df76c Put flash action into fab
Swap flash with create action.

Originally I put the flash action in the toolbar
because not all devices have a flash. But it makes
more sense to have the flash beside the zoom slider.
2017-10-20 21:18:19 +02:00
Markus Fisch
cbc2b6b8db Remove the locking markers
While the animation is nice, they're not very helpful
for actually scanning a barcode. A simple line is
probably a better to choice.
2017-10-20 21:17:59 +02:00
Markus Fisch
bc727ab45f Add a zoom slider 2017-10-20 21:17:41 +02:00
Markus Fisch
9e8153e8f6 Update CameraView to 1.1.0
Handle camera errors when getting or setting parameters.
2017-10-18 22:58:36 +02:00
Markus Fisch
b9a5687c5a Advanced version number to 1.1.1 2017-09-03 12:35:35 +02:00
Markus Fisch
cbc0ff435f Invert every second frame
Forgot to invert every second frame to also read inverted
barcodes while simplifying image processing.
2017-09-03 12:26:49 +02:00
Markus Fisch
3a650bc0cd Advanced version number to 1.1.0 2017-09-03 12:17:48 +02:00
Markus Fisch
cbcc9591ff Use only Y (lumo) channel from YUV input
Barcode recognition works on contrast so we don't need
color information and can therefore simplify processing
of input images.
2017-09-02 14:22:26 +02:00
Markus Fisch
7578d9b217 Renamed Compose/Result- to Encode/DecodeFragment
Better names.
2017-09-02 13:45:06 +02:00
Markus Fisch
7789c21a96 Open README on GitHub from action menu
To make everybody aware the app's using ZXing and what
that is and what license it has.
2017-09-02 13:35:01 +02:00
Markus Fisch
366548dc2a Use BarcodeFormat instead of strings
And control size of generated barcodes manually.

Also transfer barcode format from ResultFragment
to ComposeFragment.
2017-09-02 13:32:14 +02:00
Markus Fisch
2324c18807 Renamed FragmentAssistant to content_frame
content_frame.kt doesn't contain a class but a bunch
of functions related to the content_frame layout so
it's probably more clear.
2017-09-02 13:30:39 +02:00
Markus Fisch
e7e42694bc Create barcodes from result screen 2017-08-30 20:20:05 +02:00
Markus Fisch
981fb2f0d8 Consider navigation bar on the right side
When laying out lock marks.
2017-08-30 20:07:31 +02:00
Markus Fisch
90036e1ba2 Keep Allocation and Bitmap between frames 2017-08-30 19:59:37 +02:00
Markus Fisch
f0916d55ba Have decoded content editable
This way the user may add/remove something before sharing.
2017-08-30 19:47:57 +02:00
Markus Fisch
07177a0c70 Create barcodes too
Extended Zxing wrapper to create barcodes and added
some simple UI for it.
2017-08-30 19:41:08 +02:00
Markus Fisch
478e8930a8 Added a special debug icon
So it's easy to separate the debug from the release build.
2017-08-27 18:47:41 +02:00
Markus Fisch
2d70b64dd1 Advanced version number to 1.0.1 2017-08-27 18:37:44 +02:00
Markus Fisch
25173bd7c7 Keep proguard from messing with renderscript
Otherwise the release build will miss the renderscript
libraries.
2017-08-27 18:35:46 +02:00
Markus Fisch
37c43959ac Advanced version number to 1.0.0 2017-08-27 15:44:12 +02:00
Markus Fisch
e938b7eef9 Removed transparency from icon edge
And cleaned up SVG document.
2017-08-27 15:29:09 +02:00
Markus Fisch
99e70c266e Initial commit 2017-08-27 15:03:22 +02:00