Markus Fisch
7d8c6016db
Optimize monochrome launcher icon with avocado
2023-02-09 22:19:37 +01:00
KamaleiZestri
3d923035e3
Follow beep settings for error beeps too
2023-02-06 10:18:52 +01:00
Markus Fisch
a489f3aa22
Remove finishing string resource
...
And show the more generic `camera_error` message instead.
This message makes no sense anymore now that the app isn't
finished.
2023-02-05 20:30:55 +01:00
Markus Fisch
7dfd7a1303
Remove finishing activity if camera is unavailable
...
While the camera is the main feature of the camera acitvity,
there are other features that are still useful even if the
camera is not available.
So it's better not automatically finish the camera activity
but let the user decide.
2023-02-05 18:03:32 +01:00
Markus Fisch
9abc01fc4f
Advance version number to 1.58.2
2023-01-31 12:36:32 +01:00
Markus Fisch
d10a33c1b7
Check string is not empty before calling last()
...
Because `String.last()` will throw a NoSuchElementException when
the string is empty.
2023-01-31 10:51:18 +01:00
Markus Fisch
357b2b5d59
Advance version number to 1.58.1
2023-01-31 10:51:18 +01:00
Markus Fisch
dfd64405da
Fix design of monochrome launcher icon
...
Monochrome icons don't use any color, not even black or white.
2023-01-30 18:41:56 +01:00
Markus Fisch
045daf9deb
Remove committing preferences
...
This made only sense when this app used RenderScript, which could
cause the app to crash before settings were saved.
2023-01-25 20:31:11 +01:00
Tom Xin
46b9ef516c
Update zh-rCn translation
2023-01-21 20:52:19 +01:00
Markus Fisch
0265909fd7
Advance version number to 1.58.0
2023-01-19 20:28:25 +01:00
Markus Fisch
ceef92bb7c
Alternate binarizers to improve detection
...
By default, ZXing uses LOCAL_AVERAGE, but this does not work well
with inverted barcodes on low-contrast backgrounds.
Of course, it would be better to improve ZXing's HybridBinarizer
(which is used for LOCAL_AVERAGE), but this is not trivial.
2023-01-19 20:16:49 +01:00
Markus Fisch
46785bab01
Update ZXing C++ wrapper for DecodeHints
...
The latest version makes all native `DecodeHints` available
to the JVM.
2023-01-19 20:12:54 +01:00
Markus Fisch
ccbb0f9e8a
Fix terminating string tag in italian translation
2023-01-19 18:01:27 +01:00
bovirus
833d8e93d3
Update italian language
2023-01-19 17:53:41 +01:00
Markus Fisch
0b3dfe93cf
Silently try openUrl() for OpenOrSearchAction
...
Avoid using `execShareIntent()` for OpenOrSearchAction because it
will toast a message when it fails.
2023-01-11 19:21:54 +01:00
Markus Fisch
e79ad49d15
Remove converting charset for PDF417
...
This is handled by ZXing C++ now.
Converting the text again destroys it.
2023-01-08 17:35:57 +01:00
chreddy
38f7ba1ec6
Add Danish translation
2023-01-08 17:35:43 +01:00
NPL
4d268240fd
Update Japanese translation
2023-01-03 09:22:56 +01:00
Markus Fisch
1131f749a9
Make database migrations extension functions
...
Simpler and more Kotlin idiomatic.
2023-01-02 12:12:43 +01:00
Markus Fisch
93a3cd2620
Migrate version number to version string
...
Because ZXing C++ did switch to a String to support versions
with letters.
2023-01-02 12:10:02 +01:00
Mystery0 M
a866a2eab3
Add fillAlpha for monochrome icon
2022-12-29 13:58:22 +01:00
Markus Fisch
c5d6bfa4b2
Respect setting to ignore duplicates for bulk scan
...
Before this, the previously scanned code was _always_ ignored for
bulk scans to avoid scanning the same code twice. But this isn't
always desirable, and the setting to ignore duplicates should have
an effect to give the user control over this behaviour.
2022-12-21 18:24:00 +01:00
Markus Fisch
6a63bc4e06
Increase the duration of the vibration
...
Because 100ms is too short for some devices and the vibration
cannot be felt.
This should fix https://github.com/markusfisch/BinaryEye/issues/334
2022-12-21 18:17:03 +01:00
solokot
45a2ac0647
Update Russian translation
2022-12-20 13:06:40 +01:00
Markus Fisch
425f3a7b80
Advance version number to 1.57.0
2022-12-19 20:45:36 +01:00
Markus Fisch
f895b42cfe
Allow removing individual network suggestions
...
From Android R on, because `WifiManager.getNetworkSuggestions()`
is not available on Q.
2022-12-19 20:29:04 +01:00
Markus Fisch
ecd4c487e3
Update pt-br translation
...
Thanks to m_s_
2022-12-18 12:39:05 +01:00
Markus Fisch
750671c408
Remove carriage returns from string resource
2022-12-17 13:27:24 +01:00
Markus Fisch
34f14d0ff0
Update to latest ZXing C++ version
2022-12-16 10:19:28 +01:00
motive0604
1b21297d83
Add Korean language
2022-12-13 09:38:34 +01:00
solokot
53cb6fe007
Update Russian translation
2022-12-11 22:44:17 +01:00
Markus Fisch
f1daa19056
Add optional audio feedback for scanning
...
And also support a couple of signal noises.
2022-12-10 13:52:39 +01:00
Markus Fisch
bd9da5889c
Add a semicolon to WIFI strings if it is missing
...
Because many generators don't terminate the expression.
2022-12-07 12:21:22 +01:00
Markus Fisch
d5949e557a
Add a RequiresApi annotation
...
To make clear `addNetworkFromBuilder` is only ever called
on Android Q+.
2022-12-06 20:09:41 +01:00
Markus Fisch
09f3368bf0
Update ScalingImageView library
2022-12-06 20:06:22 +01:00
Markus Fisch
84e03e3cc8
Fix typo in german translation
2022-12-06 20:03:20 +01:00
Markus Fisch
cff299771a
Remove resource references from vector drawables
...
Resource references will not work correctly in images generated
for vector icons for API < 24.
2022-12-06 20:00:43 +01:00
Markus Fisch
7a327ab7c4
Fix transferring shared text to encode fragment
2022-12-03 21:37:18 +01:00
Markus Fisch
72b8924574
Fix parsing a WiFi network on Android Q
...
`WifiConnector.parse()` still returned a `WifiNetworkSuggestion`
on Android Q but `WifiConnector.addNetwork()` is now expecting a
`WifiNetworkSuggestion.Builder` :8
Anyway, this code wasn't very good to start with. Having the exact
same check in two different places with the exact same meaning is
bad. This bug is a good example of that ;)
So now, `WifiConnector.addNetwork()` checks what type of object it
got and does the right thing with it.
Thanks to @JacobKochems who found this bug and made me aware of it.
2022-12-01 19:23:17 +01:00
Markus Fisch
527b7a6a59
Use deprecated WiFi API on Android Q
...
Because WifiManager.getNetworkSuggestions() is only available from
Android R (API level 30) on. So added network suggestions cannot be
queried on Android Q (API level 29) which will be important to allow
removing them individually.
2022-11-30 21:07:05 +01:00
Markus Fisch
e9267e4e5a
Accept lower case for E, PH and T in WiFi configs
...
While the spec demands upper case here, it's probably best to
be liberal and accept lower case values as well.
2022-11-30 12:11:29 +01:00
Tom Xin
ac18733368
Update Chinese translation
2022-11-22 12:17:05 +01:00
Markus Fisch
300c3bfd26
Advance version number to 1.56.3
2022-11-21 13:04:19 +01:00
Markus Fisch
6449d9962d
Simplify RegEx to recognize URLs
...
Because the current expression leads to an infinite loop for some
inputs. For example, this string was reported to make the app crash:
com.taobao.arthas.boot.ProcessUtils.findJavaHome(ProcessUtils.java:222)
The problem seems to be somehow related to case insensitivity as the
expression works when insensitivity is removed. Also, the infinite
loop only occurs on an Android device - not in unit tests.
Anyway, the current expression was too complex anyway, and this
simpler one should be good enough.
2022-11-21 12:37:15 +01:00
Markus Fisch
12554e63e2
Remove deep linking intent filter
...
Was just added to make Lint happy but is no longer necessary.
2022-11-17 19:21:28 +01:00
Markus Fisch
af60ee6edb
Fix indent in chinese translation
2022-11-17 16:17:20 +01:00
grenagit
fe31fc6df2
Update french translation
2022-11-17 14:07:36 +01:00
Markus Fisch
6d4f3cafbf
Update pt-br translation
2022-11-14 18:06:17 +01:00
Oğuz Ersen
fa23b8078c
Update Turkish translation
2022-11-13 12:49:20 +01:00
jhih_yu
e3c0fe8857
Update zh_TW
2022-11-11 09:45:58 +01:00
Markus Fisch
fa568686b6
Advance version number to 1.56.2
2022-11-09 20:34:08 +01:00
Markus Fisch
304357b43c
Update to latest ZXing C++ wrapper
...
To fix generating text output of 1D barcodes.
2022-11-09 18:27:06 +01:00
Markus Fisch
1e76b14038
Advance version number to 1.56.1
2022-11-08 20:33:08 +01:00
Markus Fisch
d0777350a2
Allow pinching to size in device pixels
...
To allow small codes to be small on screen.
This makes it easier to use a generated barcode in place of a small
printed barcode. There are scanners out there that expect a barcode
to be of a certain (small) size.
2022-11-08 20:28:41 +01:00
Markus Fisch
c7c1e74240
Update to latest ZXing C++ wrapper
...
To fix handling of tab characters.
2022-11-08 20:27:23 +01:00
Markus Fisch
c793e1399b
Fix view/frame transformation matrix
...
The view offset needs to be translated first - not last, where the
matrix is no longer in view space.
2022-11-08 20:27:23 +01:00
zmni
c550a6ff51
Update indonesian translation
2022-11-08 20:27:00 +01:00
solokot
05b0f719e0
Updated Russian translation
2022-11-07 18:22:34 +01:00
Markus Fisch
4326df5069
Advance version number to 1.56.0
2022-11-03 19:05:06 +01:00
Markus Fisch
ba24287f04
Update to latest ZXing C++ wrapper
...
To fix getting UTF-8 strings from the JVM.
2022-11-03 19:00:49 +01:00
Markus Fisch
bd8f1b17dd
Remove double action item for forward/next
2022-11-02 21:57:32 +01:00
Markus Fisch
2c21aeb83a
Set FAB background to @null
...
To silence this warning:
> I/FloatingActionButton: Setting a custom background is not supported.
Details:
https://github.com/material-components/material-components-android/issues/283
2022-11-03 12:30:05 +01:00
Markus Fisch
9ccff808bc
Replace properties with functions in Barcode
...
We should only prefer read-only properties over of functions if the
underlying algorithm…
* does not throw
* is cheap to calculate (or cached on the first run)
* returns the same result over invocations if the object state
hasn't changed
See:
https://kotlinlang.org/docs/coding-conventions.html#functions-vs-properties
But `ZXing.encodeAs*` may throw and may also not be that cheap to
calculate. So functions are a better fit here.
Also, because these functions will always return the same result,
it makes sense to cache their outputs.
2022-11-02 21:49:08 +01:00
Markus Fisch
32e936dd71
Optimize new drawables with avocado
2022-11-02 21:06:17 +01:00
Markus Fisch
58eebacd4f
Use forward arrow for FAB in picking activity
...
Hopefully this makes it more clear that you have to tap on the
FAB to actually read the found barcode.
2022-11-02 21:06:17 +01:00
Markus Fisch
75b945e842
Remove unused forceCompat preference
...
Obsolete since we use the ZXing C++ fork.
2022-11-02 21:06:17 +01:00
Markus Fisch
a9ea77f74f
Add an action item to lock/unlock free rotation
...
When scanning a barcode from an image.
Free rotation may not always be desirable.
2022-11-02 21:06:17 +01:00
Markus Fisch
3df658165b
Support setting fore and background colors
...
When creating AZTEC, DATA MATRIX or QR Codes.
2022-11-02 21:06:17 +01:00
Markus Fisch
40a6a77b8d
Advance version number to 1.55.0
2022-10-30 14:21:01 +01:00
Markus Fisch
301a33a176
Update to latest ZXing C++ wrapper
2022-10-30 14:17:18 +01:00
Giovanni
8d6623786c
Update an Italian string
2022-10-27 22:59:07 +02:00
Markus Fisch
a225eab6f2
Make recreated barcode interactive
...
This way the barcode can easily be exported, too.
Also live update the data views and clean up the DecodeFragment.
2022-10-26 21:45:06 +02:00
Markus Fisch
9f2efeb001
Advance version number to 1.54.1
2022-10-25 22:51:11 +02:00
Markus Fisch
105c81d409
Treat GS1 and ISO15434 content types as text
...
And use the HRI formatted text ZxingCpp provides.
2022-10-25 22:05:29 +02:00
Markus Fisch
4e1eb28ca4
Enable auto rotate by default
...
With ZXingCpp this is hardly noticeable. So enable it for new users.
2022-10-24 22:07:00 +02:00
Markus Fisch
b72ed746bf
Go back to VIBRATOR_SERVICE for Android 4
...
Use the deprecated `VIBRATOR_SERVICE` on all versions to fix a
`VerifyError` on Android 4.
For reasons beyond my interests, compiling with `VIBRATOR_MANAGER_SERVICE`
leads to a very cryptic `java.lang.VerifyError: r0/b` on Android 4.
Even though this symbol is never actually used under SDK 31.
This is probably a Proguard/R8 issue, but I don't want to waste more
time just to get rid of the deprecation warning. So let's use the old
`VIBRATOR_SERVICE` and wait for Google to fix their stuff.
2022-10-24 21:57:00 +02:00
solokot
1aaee3c85a
Update Russian translation
2022-10-24 20:49:37 +02:00
Oğuz Ersen
eb0218e733
Update Turkish translation
2022-10-23 20:42:01 +02:00
Giovanni
bef7365f28
Update Italian translation
2022-10-22 21:25:50 +02:00
Markus Fisch
c72b6a2e5f
Advance version number to 1.54.0
2022-10-21 23:39:30 +02:00
Markus Fisch
a7e358852c
Complete search engines for fa locale
2022-10-21 23:33:34 +02:00
Markus Fisch
7cf8cbe6d8
Recreate barcode on result fragment
...
It's sometimes very helpful to easily recover read barcodes.
2022-10-21 23:31:30 +02:00
Markus Fisch
e379e55570
Use new Html.fromHtml() on Nougat+
2022-10-21 22:41:53 +02:00
Markus Fisch
a55795a7b6
Use new getParcelable() method on Tiramisu+
2022-10-21 22:40:34 +02:00
Markus Fisch
83c0cd0293
Only use EXTRA_IS_SENSITIVE on Tiramisu+
...
And clean up that Pyramid of Death.
2022-10-21 21:23:30 +02:00
Markus Fisch
d138148cb8
Refactor string extension functions
...
And put them where they belong instead of having a dump file.
According to the Kotlin Coding Conventions we should avoid creating
files just to hold extensions.
2022-10-21 21:14:52 +02:00
Markus Fisch
c3c08879e0
Move ellipsize() from Toast to Data
...
Because it's used in more than one place now.
2022-10-21 17:25:17 +02:00
Markus Fisch
d0f02faca7
Add german domains for search engines
...
To open the .de domains for Google, ebay, Amazon, etc.
2022-10-21 19:33:01 +02:00
Markus Fisch
c9db3514d1
Add ebay, Amazon and barcodelookup.com
...
To the list of search engines.
2022-10-21 19:31:35 +02:00
Markus Fisch
f4de041407
Advance version number to 1.53.1
2022-10-20 09:38:36 +02:00
Markus Fisch
73ba2914e8
Fix proguard configuration for ZXing C++
2022-10-20 09:37:45 +02:00
Markus Fisch
2907c8c49c
Advance version number to 1.53.0
2022-10-19 22:27:21 +02:00
Markus Fisch
f28f956a8d
Only generate barcode output when required
2022-10-19 21:45:15 +02:00
Markus Fisch
972eb6a0b0
Update to latest ZXing C++ wrapper
2022-10-19 21:43:48 +02:00
Markus Fisch
08bb3f2127
Replace RelativeLayout with LinearLayout
...
In decoding fragment.
All children were layed out linearly anyway and it's simpler
and more clear this way.
2022-10-19 19:54:33 +02:00
Markus Fisch
b28e939f58
Refactor resolveFormat() and make it an extension
2022-10-19 13:04:48 +02:00
solokot
2edb8112b7
Update Russian translation
2022-10-19 13:04:06 +02:00
Markus Fisch
cf5a6dc8b8
Hide setting a custom locale from API 33 on
...
Android 13 allows to set per-app language preferences, so this
setting is no longer required from there on.
See:
https://developer.android.com/guide/topics/resources/app-languages
2022-10-15 18:43:40 +02:00
Markus Fisch
3ec6f18fe0
Hide sensitive content from clipboard
...
At the moment, this affects just the WiFi password.
See:
https://developer.android.com/about/versions/13/behavior-changes-all#copy-sensitive-content
2022-10-15 18:38:14 +02:00
Markus Fisch
65c7fe52ee
Fix closing Cursor's below JELLY BEAN
...
Unfortunately, Cursor cannot be cast to Closeable below API level 16
JELLY BEAN. So we can't just use Kotlin's ".use" extension function
because it would implicitly cast Cursor to a Closeable.
So this adds a simple drop-in replacement that does exactly what ".use"
is doing but without casting Cursor.
Of course, this should be removed as soon as minSDK is increased to at
least JELLY_BEAN.
2022-10-13 23:02:32 +02:00
Markus Fisch
5d3b3eb195
Fix generating a date time string below API 18
...
Before API level 18, there was no 'H' but only 'k', which was
incorrectly implemented to produce what we now know as 'H'.
2022-10-13 22:39:52 +02:00
Markus Fisch
0e4c2963a5
Catch ParseException when parsing scan dates
2022-10-13 22:38:04 +02:00
Markus Fisch
c04b08ab87
Update to latest ZXing C++ wrapper
...
Which adds a ContentType so we can distinguish between text
and binary content.
2022-10-12 21:47:54 +02:00
Markus Fisch
f07c4ac0f4
Update to latest Kotlin and coroutines version
2022-10-11 23:43:30 +02:00
Markus Fisch
05d63bd73f
Fix vector image fill color for API < 21
...
`fillColor` cannot have Android resources below API 21.
2022-10-11 23:37:29 +02:00
Markus Fisch
558fd5212d
Remove double support annotation
2022-10-11 23:34:54 +02:00
Markus Fisch
b918be76e4
Fix getting version number from database
2022-10-11 23:33:59 +02:00
Markus Fisch
2136a8c73e
Show version code for all supported barcodes
...
And the module count if it's a QR Code.
2022-10-11 23:29:59 +02:00
Markus Fisch
959c6e7d4d
Always show QR Code version and remove setting
...
This comes no longer with a cost so it can be always there.
2022-10-11 23:02:47 +02:00
Markus Fisch
50930d07a6
Show binary data placeholder in edit name dialog
...
To show something instead of nothing in the dialog title.
Still not perfect, of course.
2022-10-11 22:47:14 +02:00
Markus Fisch
36e7aab27c
Update to latest ZXing C++ AAR
...
Fixes getting HRI formatted result text instead of the real thing.
2022-10-11 22:39:14 +02:00
Markus Fisch
bb4fc8ed08
Enable multi-select in history listing
2022-10-11 21:53:15 +02:00
Markus Fisch
7a33ebd1a3
Remove MicroQR from list of writable codes
...
ZXing C++ doesn't contain a writer for this format, yet.
2022-10-11 20:41:18 +02:00
solokot
c8444b8935
Update Russian translation
2022-10-10 12:22:06 +02:00
Markus Fisch
4c6d66a4aa
Migrate to ZXing-C++
...
Replace the ZXing Java implementation with the C++ fork.
The C++ fork is faster, actively maintained and supports the MicroQR
Code barcode format.
The original Java implementation is in "Maintenance Mode Only",
what means that no new features or barcodes will be accepted.
Because the C++ fork is much faster, we can now drop RenderScript
which has been deprecated by Google anyway. Also, this removes a lot
of complications. RenderScript was never very robust.
2022-10-09 18:46:50 +02:00
Markus Fisch
39f95a1c04
Remove shortcut extra from EncodeFragment
...
And make it possible to open the EncodeFragment without content.
2022-10-04 21:19:47 +02:00
Markus Fisch
9e30b108e7
Reformat code and optimize imports
...
Let Android Studio clean up.
2022-09-29 18:42:00 +02:00
Markus Fisch
1b6b1cefe3
Convert charset for PDF417 in an extension
...
And run it from PickActivity too to apply this conversion when
scanning from still images too.
2022-09-29 18:39:01 +02:00
Mladen Milinkovic
b634370a0b
Fix PDF-417 UTF-8 text encoding
...
This fixes reading PDF-417 barcodes containing international UTF-8 characters.
2022-09-29 18:23:07 +02:00
gon
f32d44c3a1
Update spanish translation
2022-09-27 20:59:12 +02:00
Markus Fisch
2e060d1ca8
Add Persian to list of custom languages
...
That can be changed in the app independently from the system settings.
2022-09-11 23:01:31 +02:00
Andreas Korb
6acdce32f2
Add multidex dependency
...
Required on some systems/Android Studio versions.
2022-09-10 21:33:04 +02:00
Markus Fisch
092ec694f6
Fix terminating string tag in persian translation
2022-09-10 19:12:03 +02:00
Eshagh
7fed7877a0
Add persian translation
...
Co-authored-by: eshagh79 <eshagh094@gmail.com>
2022-09-10 19:09:05 +02:00
Markus Fisch
b17393d5ef
Invert plain text output
...
Because plain text will most likely end up being black text on a
white background on a mobile device.
But with night mode we can never be sure. So there's an "inverted"
parameter now if the text is bright on a dark background.
2022-08-21 00:36:49 +02:00
Markus Fisch
319ae53b3b
Make conditional an argument
...
To avoid the repetition of the function invocation.
Also make bt a constant variable because it can be.
2022-08-20 19:03:29 +02:00
Markus Fisch
6a47a7e477
Fix indent of new code for generating text output
...
We're not mixing tabs and spaces.
2022-08-20 18:56:50 +02:00
Tom Xin
19fb733182
Improve plain text output of generated barcodes
...
Optimize the 'save as text' function to make its results more recognizable when
printing on the console.
2022-08-20 18:53:43 +02:00
Markus Fisch
ce6c6f26d2
Advance version number to 1.52.0
2022-08-10 23:25:46 +02:00
Markus Fisch
3633af5e0a
Fix parsing timezone in calendar dates
...
And add patterns for RFC 822 and ISO 8601 formats.
Before this 'Z' was quoted and therefore just a string in the pattern.
So the time zone was actually never really applied to the resulting date.
Now, it's pattern letter and the resulting date is adjusted accordingly.
This also fixes using dates without a time zone.
2022-08-10 23:07:17 +02:00
grenagit
87502f7226
Update translation ( #280 )
...
* Syntax correction (omitted point)
* Update french translation
Co-authored-by: Grena <grena@grenabox.fr>
2022-06-22 13:30:53 +02:00
Markus Fisch
f4af35ad46
Advance version number to 1.51.1
2022-06-16 16:51:39 +02:00
Markus Fisch
60f0d8bd87
Convert result text with ISO_8859_1 encoding
...
Important to suppress UTF-8 encoding.
2022-06-16 16:45:31 +02:00
Markus Fisch
1ccfcfcb8f
Advance version number to 1.51.0
2022-06-16 13:37:44 +02:00
Markus Fisch
213689e9f9
Improve syntax for DP link generation
2022-06-16 13:30:07 +02:00
Markus Fisch
6e2f2cab92
Make drawing functions extensions in DetectorView
...
Because it's more idiomatic.
2022-06-16 13:20:32 +02:00
Markus Fisch
4b3d745154
Add and improve a few comments
2022-06-16 13:20:12 +02:00
Markus Fisch
a2bcd67568
Use logical operator instead of bitwise
2022-06-16 13:19:14 +02:00
Markus Fisch
072eec5306
Simplify setting handleActive flag
...
And make sure it's false if handlePos is invalid.
2022-06-16 13:17:16 +02:00
Zahnstocher
d505c6b07d
Add stamp tracking number
2022-06-14 18:41:41 +02:00
Giovanni
dbfbaab030
Update Italian translation
2022-06-14 14:26:07 +02:00
Markus Fisch
3d1402add4
Fix XML for zh-rCN translation
2022-06-12 20:29:20 +02:00
yzqzss
1d2bd8d778
Update zh-rCN translation
2022-06-12 20:22:11 +02:00
Markus Fisch
2bb413e3e8
Add tests for MATMSG format
2022-06-07 20:43:15 +02:00
Markus Fisch
75a59bc3e9
Fix setting Intent.EXTRA_EMAIL for MatMsg contents
...
Remember, this must be an array.
2022-06-06 20:59:03 +02:00
inkhorn
9a15bf0871
Update ptbr translation including meta data
2022-05-31 20:28:03 +02:00
Markus Fisch
53248fd23d
Allow free image rotation in pick activity
...
To make it easy to recognize barcodes at odd angles.
2022-05-23 23:33:23 +02:00
Markus Fisch
1dde8c2817
Advance version number to 1.50.0
2022-05-18 22:48:58 +02:00
Markus Fisch
57fea95b9b
Add support for MATMSG format
2022-05-18 22:37:56 +02:00
solokot
806dafbecd
Updated Russian translation
2022-05-18 12:11:14 +02:00
Markus Fisch
44b788fa74
Add a setting to show the QR Code version
...
Which is determined by recreating the QR Code.
Knowing the exact version of a given QR Code can be useful sometimes.
2022-05-17 19:03:03 +02:00
ss11mik
9f167e7a2b
Update Czech translation
...
Add Czech translation for new strings and update some old ones
2022-05-15 13:25:46 +02:00
Markus Fisch
6852b65239
Recognize URLs in colloquial, incomplete form too
...
So "google.com" is recognized as web action.
2022-05-14 12:50:22 +02:00
Markus Fisch
f9401a9dda
Migrate to lint from lintOptions
2022-05-12 22:40:03 +02:00
Markus Fisch
79dd48b07a
Move package from Android manifest to build files
...
Declaration of a project's namespace using the package attribute
of the Android manifest is deprecated in favour of a namespace
declaration in build files.
2022-05-12 22:40:03 +02:00
Nickoriginal
c76d96cbe4
Update Russian translation
2022-05-12 22:39:23 +02:00
Markus Fisch
e1b3935659
Add timezone offset in calendar dates
...
VCalendar/VEvent dates may contain a timezone that was not actually
used, as Date.getTime() returns the number of milliseconds (since
January 1, 1970, 00:00:00 GMT) without taking the timezone into
account.
2022-05-09 21:47:51 +02:00
Markus Fisch
b7a4db5f4b
Update to latest ZXing version
2022-05-02 18:54:30 +02:00
Markus Fisch
f23414b003
Remove unused getLinks() function
...
No longer used.
2022-04-30 20:25:06 +02:00
Markus Fisch
282d2499a8
Shorten encoding a barcode
2022-04-25 20:17:53 +02:00
Markus Fisch
7b155369fd
Fix closing end tag in Japanese translation
2022-04-24 15:16:54 +02:00
NPL
55a69db2c5
Update Japanese translation
2022-04-24 15:14:17 +02:00
Balázs Úr
170878a795
Update Hungarian translation
2022-04-17 11:15:11 +02:00
Markus Fisch
9986a4ffb5
Advance version number to 1.49.2
2022-04-08 12:09:43 +02:00
Markus Fisch
c464b7de02
Optimize latest vector drawables with avocado
2022-04-07 22:48:46 +02:00
Markus Fisch
e588405413
Change icon design
...
Because Google thinks my original design would "impersonate someone
else".
I have absolutely no idea.
Well, in order to make the app available again as soon as possible,
and because there have already been complaints about the icon not
being "intuitive", and because it's probably pointless to argue with
Google's bots and minions, I'm just changing the design a bit.
2022-04-07 22:47:31 +02:00
mezy sinc
fdaf20fd45
Fix pt-br translation
2022-04-02 19:32:33 +02:00
mezy sinc
7c8fdb8ea1
Update pt-br translation
2022-04-02 13:53:54 +02:00
Markus Fisch
bb9d556c16
Advance version number to 1.49.1
2022-03-31 20:50:50 +02:00
Vixb
9e395d1928
Update Simplified Chinese translation
2022-03-31 19:11:01 +02:00
Markus Fisch
95f12e7c31
Return directly to caller for deep links
...
If this app was invoked via a deep link, but without a return URI,
we never want to return to the camera screen after scanning, but
to the caller.
2022-03-30 20:11:44 +02:00
Markus Fisch
9dac0b13fb
Fix getting ORIENTATION member from meta data
...
Was UPC_EAN_EXTENSION instead.
2022-03-30 19:57:00 +02:00
Markus Fisch
7939a728bc
Make isReturnUrl() a String extension
...
And thereby remove Intent from the scope of the function.
2022-03-30 19:51:19 +02:00
Markus Fisch
b6ca20d813
Move Cursor extensions to a separate file
2022-03-30 19:48:43 +02:00
Markus Fisch
fe7e36804e
Advance version number to 1.49.0
2022-03-29 19:56:31 +02:00
Markus Fisch
8cf1c35029
Enable forwarding by default
...
To keep forwarding intact when updating an app.
This has no effect for new installations because initially there's
no forwarding URL set. Forwarding works only when this toggle is
enabled *and* if there was a forwarding URL set.
2022-03-29 19:44:05 +02:00
Markus Fisch
62ca2299a0
Clean up preprocessor test
...
And move creating RenderScript out of loop.
No need to re-create this for every sample.
2022-03-25 20:10:43 +01:00
Markus Fisch
2423586c8c
Make Y in encodeYUV420SP() lower case
...
To comply with the Kotlin style guide.
And simply use s/t for x/y.
2022-03-24 19:49:21 +01:00
Markus Fisch
29b1f44bb9
Update getting Vibrator on Android S+
...
VIBRATOR_SERVICE is deprecated.
2022-03-24 19:18:36 +01:00
Markus Fisch
acee18e016
Replace context getter with local variable
...
It's there anyway and we shouldn't run a function multiple times
where it's enough to do it once and go with the result.
2022-03-21 22:39:21 +01:00
Markus Fisch
f798dce832
Make setZoom() a Camera extension
2022-03-21 22:31:09 +01:00
Markus Fisch
97838ec7c4
Remove unnecessary type declarations
2022-03-22 13:51:27 +01:00
Markus Fisch
767860ab07
Remove body of decodeLuminanceSource()
...
And use the single expression syntax instead.
2022-03-22 13:51:27 +01:00
Markus Fisch
f8fd00f21b
Use apply scope function to set ContentValues
...
A bit more elegant.
2022-03-22 13:51:27 +01:00
solokot
2cf6aa0812
Update Russian translation
2022-03-22 12:00:31 +01:00
Markus Fisch
197554fd1b
Add a toggle to quickly enable/disable forwarding
...
Easier than clearing the URL, especially if you want to keep the
URL for later.
2022-03-21 21:56:06 +01:00
Markus Fisch
3dc35ac60d
Only play error peep when not in silent mode
...
The app shouldn't play any sound when the phone is set to silent.
2022-03-21 21:33:42 +01:00
Markus Fisch
fd05209f57
Enable/disable torch mode according to parameters
...
And show an error toast in case setting flash parameters fails.
2022-03-21 19:48:59 +01:00
Markus Fisch
6d5aed816f
Break very long lines in IAction
...
Improves readability for my taste.
2022-03-18 20:44:55 +01:00
Markus Fisch
268c395043
Configure new Intent with apply scope function
...
Instead of declaring a variable beforehand.
2022-03-18 20:41:36 +01:00
Markus Fisch
867dc36811
Desugar Java 8 language features for ZXing 3.4
...
Add desugaring support to reverse translate Java 8 language features
in order to use the latest ZXing without having to increase minSdk.
ZXing 3.4 doesn't work on SDK levels below 24 anymore, see:
https://github.com/zxing/zxing/issues/1170
Many thanks to @TheLastProject for showing me the way:
cbcf1bcd99
2022-03-16 21:44:20 +01:00
Markus Fisch
e6e9b912b6
Improve german translation
2022-03-15 20:15:15 +01:00
Markus Fisch
93070f38c9
Update Kotlin coroutines library
2022-03-15 20:14:39 +01:00
Markus Fisch
7a162d6fb0
Update JUnit version
2022-03-15 20:14:15 +01:00
solokot
9c03e83d3a
Update Russian translation
2022-03-15 09:28:44 +01:00
Markus Fisch
4be9421b44
Advance version number to 1.48.1
2022-03-11 15:21:16 +01:00
Markus Fisch
b895997967
Fix broken detection of binary content
...
And simplify detection and handling of binary data.
2022-03-11 15:16:43 +01:00
Markus Fisch
b5bbe659db
Advance version number to 1.48.0
2022-03-10 12:04:34 +01:00
Markus Fisch
bb7715455a
Add an item to remove the format restriction
...
If it is set.
2022-03-09 19:53:37 +01:00
Markus Fisch
5283acee8f
Add a menu item to restrict recognized formats
...
Only temporarily as long as the instance is used.
This allows to quickly restrict scanning to a certain format
without having to fiddle with all the formats in settings.
2022-03-09 19:47:33 +01:00
Markus Fisch
315abfb1dd
Show alnum characters in binary data
...
And condense all non-alnum characters to just "…".
This may give a glimpse at the readable content and is probably
better to read than the hex dump for non-technical users.
2022-03-09 18:57:58 +01:00
Markus Fisch
05c776168e
Make parseAndNormalizeUri() an extension function
2022-03-09 18:46:58 +01:00
Markus Fisch
880b8e0b24
Catch unsupported encodings in urlEncode()
...
And just return the original string in that case.
Invalid data shouldn't crash the app.
2022-03-09 18:43:33 +01:00
Markus Fisch
1597adb284
Fix showing binary data label for history scans
...
A scan's (String) "content" will be an empty string when read
from the database because I don't want to save the content twice
(binary data is already saved in the "raw" field).
2022-03-09 18:39:32 +01:00
Markus Fisch
fe934c5d6e
Use AlertDialog from base SDK
...
Instead of the support variant.
There's no need to use the special variant from the support library.
2022-03-09 18:34:17 +01:00
Markus Fisch
5091565ff0
Make preference constants private
...
Because they can be.
2022-02-26 12:48:22 +01:00
Markus Fisch
c7eb664958
Add a monochome launcher icon
...
As required for SDK 32, Android 13.
2022-02-21 19:48:08 +01:00
Markus Fisch
dc1beb5f28
Add new data extraction rules configuration
...
There's a new XML format for Android 12+.
2022-02-21 19:43:07 +01:00
Markus Fisch
76ea46cea8
Split data tag for VIEW intent filter
...
According to lint, it's better to have multiple tags with
individual attributes because it better "communicates the
combining behavior and is clearer".
2022-02-21 19:35:00 +01:00
Markus Fisch
0991fb85f0
Remove redundant label from activities
2022-02-21 19:30:57 +01:00
Markus Fisch
09f0d2e1db
Remove unused quantity translations
...
According to lint, these quantities are not relevant.
2022-02-21 19:29:27 +01:00
Markus Fisch
bc0655788c
Add "many" plural for french translation
...
As required by the linter.
2022-02-21 19:24:57 +01:00
Markus Fisch
739a801cb4
Add "many" plural for czech translation
...
As required by the linter.
2022-02-21 19:23:50 +01:00
Markus Fisch
c18f1b8770
Simplify Bitmap.saveAsPng() function
2022-02-19 18:37:13 +01:00
Markus Fisch
b0df09d76f
Simplify the execShareIntent function
2022-02-19 18:36:14 +01:00
Markus Fisch
e8b8e578cb
Fix handling empty meta strings
...
Check if the data is empty and not just null.
And prepare WiFi info like we do it for meta info.
2022-02-10 22:20:54 +01:00
Markus Fisch
09ce14125e
Use apply scope function to use ViewHolder
...
And thereby avoid a temporary variable.
Also make getViewHolder() a bit more compact by using the
single-expression function syntax.
2022-02-10 19:48:12 +01:00
Markus Fisch
446d1543c3
Refactor Scan.timestamp to Scan.dateTime
...
Because it's really just a string containing the date and time
and not a timestamp in the sense of a Unix timestamp.
2022-02-08 19:23:33 +01:00
Markus Fisch
02a360beaf
Refactor getRawBytes() to getRawData()
...
And make it an extension of Result.
2022-02-08 19:19:49 +01:00
Markus Fisch
9742e5b790
Give signing configuration a proper name
...
"config" isn't a very good name for a configuration.
These is the release configuration, so we should name it accordingly.
2022-02-07 20:38:55 +01:00
Markus Fisch
ce8a5f89cd
Remove buildToolsVersion as it's optional now
...
Since Gradle 3.0, the specification of "buildToolsVersion" in
"app/build.gradle" is optional.
2022-01-27 23:01:57 +01:00
Oğuz Ersen
50795afeb4
Update Turkish translation
2022-01-27 23:01:40 +01:00
Markus Fisch
b8c941ee62
Make sure to return a String and not null
...
Cursor.getString(int) may return null so this case needs
to be dealt with.
2022-01-26 16:44:40 +01:00
Markus Fisch
5b1738342d
Ignore lint warning about the custom splash screen
...
Androidx SplashScreen compat library would require minSdk 21,
make the app unnecessarily larger and Android 12 automatically
replaces our custom splash screen anyway, which is exactly what
we want. So there is no reason to complain.
The migration guide says about our kind of splash screen:
> If your existing splash screen is implemented using a custom
> theme that overrides android:windowBackground, the system replaces
> your custom splash screen with a default Android system splash
> screen on Android 12 and higher (which may not be your app’s
> intended experience).
Source:
https://developer.android.com/guide/topics/ui/splash-screen/migrate
This is not only the intended but desired experience for this app.
2022-01-26 11:28:37 +01:00
Markus Fisch
004738440c
Check return value of getColumnIndex() before use
...
To silence the Range lint error.
getColumnIndex() can return -1 which isn't suitable for
Cursor.get[Blob|Long|String]().
IMHO this is a quite useless, maybe even dangerous, lint error.
This kind of error should only happen in development where I
want to break things to see the problem. Now, using a wrong
name or asking for a non-existent column doesn't result in an
exception and is masking the problem.
2022-01-26 11:04:05 +01:00
Markus Fisch
a90aee570a
Ignore lint warning about ACCESS_COARSE_LOCATION
...
Android 12 requires apps that request ACCESS_FINE_LOCATION
to also request ACCESS_COARSE_LOCATION. But this app doesn't
request nor requires ACCESS_FINE_LOCATION above SDK 28.
So this is a false positive and we're ignoring it.
Hopefully, this will be fixed in future updates.
2022-01-25 18:38:12 +01:00
Markus Fisch
071ea1500f
Replace fraction string with fraction character
...
Using dedicated characters makes the text more readable.
2022-01-25 18:33:36 +01:00
Markus Fisch
25b142407b
Explicitly set android:exported
...
As of Android 12, android:exported must be set.
2022-01-25 18:33:22 +01:00
Markus Fisch
c2dc8984c1
Update syntax of zxing auxiliary functions
2022-01-18 21:23:09 +01:00
Sergiy Stupar
e37a4d21ea
Update Ukrainian translation
2022-01-13 18:41:49 +01:00
Mastiggia
da2a20ba1f
Update the French translation
2021-12-29 22:32:44 +01:00
kwiateusz
5fe69e5a3d
Update Polish translation
...
And fix typo in english texts.
2021-12-27 16:19:30 +01:00
solokot
f50e1dab0a
Updated Russian translation
2021-12-25 19:20:44 +01:00
Markus Fisch
b165192377
Advance version number to 1.47.0
2021-12-23 20:34:15 +01:00
Markus Fisch
c0a4d67cc5
Add new scan type to open data directly in browser
...
This way Binary Eye can also be used as a front-end to your own
website that deals with the scanned content directly.
This is of course the same as adding a URL for unknown content and
picking it from the dialog. However, this requires two taps and is
therefore more suitable for unusual use.
2021-12-23 18:32:23 +01:00
Markus Fisch
ef36a2f7e0
Unify URL encoding with a String extension
2021-12-23 18:26:01 +01:00
Markus Fisch
40b90e0be2
Make hasNonPrintableCharacters() an extension
2021-12-23 17:49:46 +01:00
Markus Fisch
680030e89e
Simplify opening URLs in external browser
...
So we can use `openUrl()` from anywhere now.
2021-12-23 17:49:46 +01:00
Markus Fisch
b4fefad54f
Improve readability with a traditional null check
...
Sure, this can be expressed more briefly, but not more comprehensibly.
2021-12-23 17:49:46 +01:00
Markus Fisch
f65e942100
Break long expressions
...
For better comprehensibility. Should've done this a long time ago.
2021-12-23 17:49:46 +01:00
Markus Fisch
95d7a84648
Reset visibility of zoom bar
...
It needs to be made visible again after making it invisible.
Happens when one of the cameras doesn't support zooming.
2021-12-20 19:57:14 +01:00
Markus Fisch
d77e464554
Advance version number to 1.46.3
2021-12-15 21:20:49 +01:00
Markus Fisch
d7198934d7
Make fragment functions extension functions
2021-12-15 19:05:51 +01:00
Markus Fisch
1a3b3f263f
Make bitmap editor functions extensions
2021-12-15 10:30:22 +01:00
Markus Fisch
d4c5c6a1dc
Fix cropping still images
...
Can't use Rect.width()/.height() with negative left/top values
because these get cropped at 0/0 of course.
Before this commit, the cropped image was larger than it should be.
2021-12-15 10:27:15 +01:00
Markus Fisch
8618a5b482
Avoid modifying ROI when scanning in PickActivity
...
detectorView.roi was modified by Rect.intersect() so we
need to make a copy to keep the currently selected ROI.
2021-12-15 10:22:42 +01:00
Markus Fisch
5e37ff41d6
Make r/w byte array functions of Scan extensions
2021-12-14 21:37:23 +01:00
Markus Fisch
03ac3ff0e9
Make export and file saving functions extensions
2021-12-14 21:36:28 +01:00
Markus Fisch
480a248e71
Make restart functions extensions
2021-12-14 21:31:01 +01:00