This new option will control if the screen orientation
lock option is displayed or not. If set, the orientation lock
is forced and the unlock option is hidden.
When a barcode is displayed the screen's brightness is set to
the maximum, in an attempt to provide the best chance for a barcode
scanner to capture the barcode. However, it may not always
be desired to increase the brightness, for example when using
the app in low light.
This change adds a setting to control the screen brightening
behavior when a barcode is viewed.
Google Play statistics show that the earliest Android version
in use which has installs for this app is 4.0.3, which is SDK 15.
This changes cleans up some layouts so that it will work on
SDK 15.
There are still cases where the barcode could not be rendered
because the process runs out of its memory limit. To avoid
a crash, catch the failure and log it. The barcode will
not be displayed, but at least the app will not crash.
The landscape view left little room for the barcode and card ID
because the header took up a lot of space. Further, on smaller
phones it would take up a large portion of the screen.
This change reduces the header from 224dp to two action bar sizes
plus the size of the textview for the store name.
For some reason when 1D barcodes are rendered in a smaller width,
they end up scrunched up and not using all available space.
As a result, they do not scale to the entire width of the screen.
In many cases the barcode is not scannable even in landscape.
To resolve this, render the 1D barcodes in a larger space. The space
is still bounded, to prevent OOMs on tablets or really
wide screen devices.
This adds config options for the colors used for the store text
and background when displaying the store name in the single
card view or the thumbnail for the card list.
The autosizing TextView, which comes from the support-v4 library,
adds several new attributes to TextViews. These attributes do not
seem to be in the app namespace (as described in the documentation),
as Android Studio and lint complains. However, funtionally the new
attributes work as expected.