From a53c659b0e54646979649d550f9ab141c9826a67 Mon Sep 17 00:00:00 2001 From: "srowen@gmail.com" Date: Mon, 2 Dec 2013 18:18:46 +0000 Subject: [PATCH] Boldly move to Java 7 for everything, including Android. git-svn-id: https://zxing.googlecode.com/svn/trunk@2981 59b500cc-1b3d-0410-9834-0bbf25fbcc57 --- android/ant.properties | 4 +- .../client/android/DecodeHintManager.java | 6 +- .../zxing/client/android/DecodeThread.java | 2 +- .../zxing/client/android/HttpHelper.java | 37 ++--- .../zxing/client/android/LocaleManager.java | 4 +- .../client/android/PreferencesFragment.java | 2 +- .../zxing/client/android/ViewfinderView.java | 4 +- .../book/SearchBookContentsActivity.java | 2 +- .../android/camera/AutoFocusManager.java | 2 +- .../camera/CameraConfigurationManager.java | 2 +- .../android/clipboard/ClipboardInterface.java | 7 +- .../client/android/encode/ContactEncoder.java | 2 +- .../client/android/encode/QRCodeEncoder.java | 153 ++++++++++-------- .../android/history/HistoryManager.java | 2 +- .../supplement/AmazonInfoRetriever.java | 86 +++++----- .../supplement/BookResultInfoRetriever.java | 4 +- .../supplement/SupplementalInfoRetriever.java | 8 +- .../android/share/LoadPackagesAsyncTask.java | 2 +- androidtest/AndroidManifest.xml | 4 +- androidtest/ant.properties | 4 +- .../androidtest/BenchmarkAsyncTask.java | 2 +- .../com/google/zxing/MultiFormatReader.java | 2 +- .../main/java/com/google/zxing/Result.java | 2 +- .../com/google/zxing/aztec/AztecReader.java | 11 +- .../zxing/aztec/encoder/HighLevelEncoder.java | 6 +- .../com/google/zxing/aztec/encoder/State.java | 2 +- .../result/AddressBookAUResultParser.java | 2 +- .../client/result/BizcardResultParser.java | 2 +- .../result/ExpandedProductResultParser.java | 125 ++++++++------ .../zxing/client/result/ResultParser.java | 4 +- .../client/result/SMSMMSResultParser.java | 4 +- .../client/result/VCardResultParser.java | 10 +- .../google/zxing/common/CharacterSetECI.java | 4 +- .../reedsolomon/ReedSolomonEncoder.java | 2 +- .../decoder/DecodedBitStreamParser.java | 2 +- .../zxing/datamatrix/detector/Detector.java | 4 +- .../multi/GenericMultipleBarcodeReader.java | 2 +- .../zxing/multi/qrcode/QRCodeMultiReader.java | 2 +- .../multi/qrcode/detector/MultiDetector.java | 2 +- .../detector/MultiFinderPatternFinder.java | 4 +- .../com/google/zxing/oned/Code128Reader.java | 2 +- .../com/google/zxing/oned/Code128Writer.java | 2 +- .../zxing/oned/EANManufacturerOrgSupport.java | 4 +- .../zxing/oned/MultiFormatOneDReader.java | 2 +- .../zxing/oned/MultiFormatUPCEANReader.java | 2 +- .../com/google/zxing/oned/OneDReader.java | 2 +- .../zxing/oned/UPCEANExtension2Support.java | 2 +- .../zxing/oned/UPCEANExtension5Support.java | 2 +- .../google/zxing/oned/rss/RSS14Reader.java | 4 +- .../zxing/oned/rss/expanded/ExpandedRow.java | 2 +- .../oned/rss/expanded/RSSExpandedReader.java | 6 +- .../com/google/zxing/pdf417/PDF417Reader.java | 6 +- .../zxing/pdf417/decoder/BarcodeValue.java | 4 +- .../pdf417/decoder/PDF417ScanningDecoder.java | 6 +- .../zxing/pdf417/detector/Detector.java | 2 +- .../decoder/DecodedBitStreamParser.java | 2 +- .../google/zxing/qrcode/decoder/Decoder.java | 12 +- .../detector/AlignmentPatternFinder.java | 2 +- .../qrcode/detector/FinderPatternFinder.java | 2 +- .../google/zxing/qrcode/encoder/Encoder.java | 2 +- .../zxing/aztec/detector/DetectorTest.java | 4 +- .../zxing/aztec/encoder/EncoderTest.java | 2 +- .../ExpandedProductParsedResultTestCase.java | 2 +- .../common/AbstractBlackBoxTestCase.java | 4 +- .../AbstractNegativeBlackBoxTestCase.java | 4 +- .../datamatrix/DataMatrixWriterTestCase.java | 4 +- .../rss/expanded/BitArrayBuilderTest.java | 2 +- .../expanded/RSSExpandedInternalTestCase.java | 4 +- .../zxing/pdf417/PDF417BlackBox4TestCase.java | 10 +- .../zxing/qrcode/QRCodeWriterTestCase.java | 2 +- .../zxing/qrcode/encoder/EncoderTestCase.java | 2 +- glass-mirror/pom.xml | 13 -- javase/pom.xml | 13 -- pom.xml | 4 +- zxing.appspot.com/pom.xml | 8 - zxingorg/pom.xml | 8 - 76 files changed, 328 insertions(+), 357 deletions(-) diff --git a/android/ant.properties b/android/ant.properties index 6910613e9..623e74126 100644 --- a/android/ant.properties +++ b/android/ant.properties @@ -18,4 +18,6 @@ application-package=com.google.zxing.client.android external-libs-folder=libs key.store=../private/ZXing.keystore -key.alias=zxing \ No newline at end of file +key.alias=zxing +java.source=7 +java.target=7 \ No newline at end of file diff --git a/android/src/com/google/zxing/client/android/DecodeHintManager.java b/android/src/com/google/zxing/client/android/DecodeHintManager.java index fa215b5ad..39305fe32 100644 --- a/android/src/com/google/zxing/client/android/DecodeHintManager.java +++ b/android/src/com/google/zxing/client/android/DecodeHintManager.java @@ -55,7 +55,7 @@ final class DecodeHintManager { * @return name-value pairs */ private static Map splitQuery(String query) { - Map map = new HashMap(); + Map map = new HashMap<>(); int pos = 0; while (pos < query.length()) { if (query.charAt(pos) == '&') { @@ -123,7 +123,7 @@ final class DecodeHintManager { // Extract parameters Map parameters = splitQuery(query); - Map hints = new EnumMap(DecodeHintType.class); + Map hints = new EnumMap<>(DecodeHintType.class); for (DecodeHintType hintType: DecodeHintType.values()) { @@ -203,7 +203,7 @@ final class DecodeHintManager { if (extras == null || extras.isEmpty()) { return null; } - Map hints = new EnumMap(DecodeHintType.class); + Map hints = new EnumMap<>(DecodeHintType.class); for (DecodeHintType hintType: DecodeHintType.values()) { diff --git a/android/src/com/google/zxing/client/android/DecodeThread.java b/android/src/com/google/zxing/client/android/DecodeThread.java index 99f3eff30..55b96c081 100755 --- a/android/src/com/google/zxing/client/android/DecodeThread.java +++ b/android/src/com/google/zxing/client/android/DecodeThread.java @@ -56,7 +56,7 @@ final class DecodeThread extends Thread { this.activity = activity; handlerInitLatch = new CountDownLatch(1); - hints = new EnumMap(DecodeHintType.class); + hints = new EnumMap<>(DecodeHintType.class); if (baseHints != null) { hints.putAll(baseHints); } diff --git a/android/src/com/google/zxing/client/android/HttpHelper.java b/android/src/com/google/zxing/client/android/HttpHelper.java index f0d9b07fb..7a920279f 100644 --- a/android/src/com/google/zxing/client/android/HttpHelper.java +++ b/android/src/com/google/zxing/client/android/HttpHelper.java @@ -38,7 +38,7 @@ public final class HttpHelper { private static final String TAG = HttpHelper.class.getSimpleName(); - private static final Collection REDIRECTOR_DOMAINS = new HashSet(Arrays.asList( + private static final Collection REDIRECTOR_DOMAINS = new HashSet<>(Arrays.asList( "amzn.to", "bit.ly", "bitly.com", "fb.me", "goo.gl", "is.gd", "j.mp", "lnkd.in", "ow.ly", "R.BEETAGG.COM", "r.beetagg.com", "SCN.BY", "su.pr", "t.co", "tinyurl.com", "tr.im" )); @@ -102,7 +102,7 @@ public final class HttpHelper { connection.setRequestProperty("Accept-Charset", "utf-8,*"); connection.setRequestProperty("User-Agent", "ZXing (Android)"); try { - int responseCode = safelyConnect(uri, connection); + int responseCode = safelyConnect(connection); switch (responseCode) { case HttpURLConnection.HTTP_OK: return consume(connection, maxChars); @@ -150,10 +150,8 @@ public final class HttpHelper { if (in != null) { try { in.close(); - } catch (IOException ioe) { + } catch (IOException | NullPointerException ioe) { // continue - } catch (NullPointerException npe) { - // another apparent Android / Harmony bug; continue } } } @@ -171,7 +169,7 @@ public final class HttpHelper { connection.setRequestMethod("HEAD"); connection.setRequestProperty("User-Agent", "ZXing (Android)"); try { - int responseCode = safelyConnect(uri.toString(), connection); + int responseCode = safelyConnect(connection); switch (responseCode) { case HttpURLConnection.HTTP_MULT_CHOICE: case HttpURLConnection.HTTP_MOVED_PERM: @@ -208,35 +206,18 @@ public final class HttpHelper { return (HttpURLConnection) conn; } - private static int safelyConnect(String uri, HttpURLConnection connection) throws IOException { + private static int safelyConnect(HttpURLConnection connection) throws IOException { try { connection.connect(); - } catch (NullPointerException npe) { + } catch (NullPointerException | IllegalArgumentException | IndexOutOfBoundsException | SecurityException e) { // this is an Android bug: http://code.google.com/p/android/issues/detail?id=16895 - throw new IOException(npe); - } catch (IllegalArgumentException iae) { - // Also seen this in the wild, not sure what to make of it. Probably a bad URL - throw new IOException(iae); - } catch (SecurityException se) { - // due to bad VPN settings? - Log.w(TAG, "Restricted URI? " + uri); - throw new IOException(se); - } catch (IndexOutOfBoundsException ioobe) { - // Another Android problem? https://groups.google.com/forum/?fromgroups#!topic/google-admob-ads-sdk/U-WfmYa9or0 - throw new IOException(ioobe); + throw new IOException(e); } try { return connection.getResponseCode(); - } catch (NullPointerException npe) { + } catch (NullPointerException | StringIndexOutOfBoundsException | IllegalArgumentException e) { // this is maybe this Android bug: http://code.google.com/p/android/issues/detail?id=15554 - throw new IOException(npe); - } catch (IllegalArgumentException iae) { - // Again seen this in the wild for bad header fields in the server response! or bad reads - Log.w(TAG, "Bad server status? " + uri); - throw new IOException(iae); - } catch (StringIndexOutOfBoundsException sioobe) { - // Another Android bug: https://code.google.com/p/android/issues/detail?id=18856 - throw new IOException(sioobe); + throw new IOException(e); } } diff --git a/android/src/com/google/zxing/client/android/LocaleManager.java b/android/src/com/google/zxing/client/android/LocaleManager.java index 0a7365f97..74eb234e2 100644 --- a/android/src/com/google/zxing/client/android/LocaleManager.java +++ b/android/src/com/google/zxing/client/android/LocaleManager.java @@ -43,7 +43,7 @@ public final class LocaleManager { */ private static final Map GOOGLE_COUNTRY_TLD; static { - GOOGLE_COUNTRY_TLD = new HashMap(); + GOOGLE_COUNTRY_TLD = new HashMap<>(); GOOGLE_COUNTRY_TLD.put("AR", "com.ar"); // ARGENTINA GOOGLE_COUNTRY_TLD.put("AU", "com.au"); // AUSTRALIA GOOGLE_COUNTRY_TLD.put("BR", "com.br"); // BRAZIL @@ -84,7 +84,7 @@ public final class LocaleManager { */ private static final Map GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD; static { - GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD = new HashMap(); + GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD = new HashMap<>(); GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD.put("AU", "com.au"); // AUSTRALIA //GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD.put(Locale.CHINA.getCountry(), "cn"); GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD.put(Locale.FRANCE.getCountry(), "fr"); diff --git a/android/src/com/google/zxing/client/android/PreferencesFragment.java b/android/src/com/google/zxing/client/android/PreferencesFragment.java index a7a05a9f7..6a3c03eaf 100644 --- a/android/src/com/google/zxing/client/android/PreferencesFragment.java +++ b/android/src/com/google/zxing/client/android/PreferencesFragment.java @@ -52,7 +52,7 @@ public final class PreferencesFragment } private void disableLastCheckedPref() { - Collection checked = new ArrayList(3); + Collection checked = new ArrayList<>(3); if (decode1D.isChecked()) { checked.add(decode1D); } diff --git a/android/src/com/google/zxing/client/android/ViewfinderView.java b/android/src/com/google/zxing/client/android/ViewfinderView.java index 05d28f977..338a4b071 100755 --- a/android/src/com/google/zxing/client/android/ViewfinderView.java +++ b/android/src/com/google/zxing/client/android/ViewfinderView.java @@ -68,7 +68,7 @@ public final class ViewfinderView extends View { laserColor = resources.getColor(R.color.viewfinder_laser); resultPointColor = resources.getColor(R.color.possible_result_points); scannerAlpha = 0; - possibleResultPoints = new ArrayList(5); + possibleResultPoints = new ArrayList<>(5); lastPossibleResultPoints = null; } @@ -119,7 +119,7 @@ public final class ViewfinderView extends View { if (currentPossible.isEmpty()) { lastPossibleResultPoints = null; } else { - possibleResultPoints = new ArrayList(5); + possibleResultPoints = new ArrayList<>(5); lastPossibleResultPoints = currentPossible; paint.setAlpha(CURRENT_POINT_OPACITY); paint.setColor(resultPointColor); diff --git a/android/src/com/google/zxing/client/android/book/SearchBookContentsActivity.java b/android/src/com/google/zxing/client/android/book/SearchBookContentsActivity.java index e75b3d880..e6f038222 100644 --- a/android/src/com/google/zxing/client/android/book/SearchBookContentsActivity.java +++ b/android/src/com/google/zxing/client/android/book/SearchBookContentsActivity.java @@ -212,7 +212,7 @@ public final class SearchBookContentsActivity extends Activity { if (count > 0) { JSONArray results = json.getJSONArray("search_results"); SearchBookContentsResult.setQuery(queryTextView.getText().toString()); - List items = new ArrayList(count); + List items = new ArrayList<>(count); for (int x = 0; x < count; x++) { items.add(parseResult(results.getJSONObject(x))); } diff --git a/android/src/com/google/zxing/client/android/camera/AutoFocusManager.java b/android/src/com/google/zxing/client/android/camera/AutoFocusManager.java index ea9db91b6..588641c70 100644 --- a/android/src/com/google/zxing/client/android/camera/AutoFocusManager.java +++ b/android/src/com/google/zxing/client/android/camera/AutoFocusManager.java @@ -35,7 +35,7 @@ final class AutoFocusManager implements Camera.AutoFocusCallback { private static final long AUTO_FOCUS_INTERVAL_MS = 2000L; private static final Collection FOCUS_MODES_CALLING_AF; static { - FOCUS_MODES_CALLING_AF = new ArrayList(2); + FOCUS_MODES_CALLING_AF = new ArrayList<>(2); FOCUS_MODES_CALLING_AF.add(Camera.Parameters.FOCUS_MODE_AUTO); FOCUS_MODES_CALLING_AF.add(Camera.Parameters.FOCUS_MODE_MACRO); } diff --git a/android/src/com/google/zxing/client/android/camera/CameraConfigurationManager.java b/android/src/com/google/zxing/client/android/camera/CameraConfigurationManager.java index 90f0c356f..6e920c580 100644 --- a/android/src/com/google/zxing/client/android/camera/CameraConfigurationManager.java +++ b/android/src/com/google/zxing/client/android/camera/CameraConfigurationManager.java @@ -216,7 +216,7 @@ final class CameraConfigurationManager { } // Sort by size, descending - List supportedPreviewSizes = new ArrayList(rawSupportedSizes); + List supportedPreviewSizes = new ArrayList<>(rawSupportedSizes); Collections.sort(supportedPreviewSizes, new Comparator() { @Override public int compare(Camera.Size a, Camera.Size b) { diff --git a/android/src/com/google/zxing/client/android/clipboard/ClipboardInterface.java b/android/src/com/google/zxing/client/android/clipboard/ClipboardInterface.java index 809fcd90a..3ba060378 100644 --- a/android/src/com/google/zxing/client/android/clipboard/ClipboardInterface.java +++ b/android/src/com/google/zxing/client/android/clipboard/ClipboardInterface.java @@ -38,12 +38,9 @@ public final class ClipboardInterface { if (text != null) { try { getManager(context).setPrimaryClip(ClipData.newPlainText(null, text)); - } catch (NullPointerException npe) { + } catch (NullPointerException | IllegalStateException e) { // Have seen this in the wild, bizarrely - Log.w(TAG, "Clipboard bug", npe); - } catch (IllegalStateException ise) { - // java.lang.IllegalStateException: beginBroadcast() called while already in a broadcast - Log.w(TAG, "Clipboard bug", ise); + Log.w(TAG, "Clipboard bug", e); } } } diff --git a/android/src/com/google/zxing/client/android/encode/ContactEncoder.java b/android/src/com/google/zxing/client/android/encode/ContactEncoder.java index 079fdfb82..e341cc777 100644 --- a/android/src/com/google/zxing/client/android/encode/ContactEncoder.java +++ b/android/src/com/google/zxing/client/android/encode/ContactEncoder.java @@ -75,7 +75,7 @@ abstract class ContactEncoder { return; } int count = 0; - Collection uniques = new HashSet(2); + Collection uniques = new HashSet<>(2); for (String value : values) { String trimmed = trim(value); if (trimmed != null && !trimmed.isEmpty() && !uniques.contains(trimmed)) { diff --git a/android/src/com/google/zxing/client/android/encode/QRCodeEncoder.java b/android/src/com/google/zxing/client/android/encode/QRCodeEncoder.java index ce75723a3..1ae8205f3 100755 --- a/android/src/com/google/zxing/client/android/encode/QRCodeEncoder.java +++ b/android/src/com/google/zxing/client/android/encode/QRCodeEncoder.java @@ -214,82 +214,95 @@ final class QRCodeEncoder { } private void encodeQRCodeContents(Intent intent, String type) { - if (type.equals(Contents.Type.TEXT)) { - String data = intent.getStringExtra(Intents.Encode.DATA); - if (data != null && !data.isEmpty()) { - contents = data; - displayContents = data; - title = activity.getString(R.string.contents_text); - } - } else if (type.equals(Contents.Type.EMAIL)) { - String data = ContactEncoder.trim(intent.getStringExtra(Intents.Encode.DATA)); - if (data != null) { - contents = "mailto:" + data; - displayContents = data; - title = activity.getString(R.string.contents_email); - } - } else if (type.equals(Contents.Type.PHONE)) { - String data = ContactEncoder.trim(intent.getStringExtra(Intents.Encode.DATA)); - if (data != null) { - contents = "tel:" + data; - displayContents = PhoneNumberUtils.formatNumber(data); - title = activity.getString(R.string.contents_phone); - } - } else if (type.equals(Contents.Type.SMS)) { - String data = ContactEncoder.trim(intent.getStringExtra(Intents.Encode.DATA)); - if (data != null) { - contents = "sms:" + data; - displayContents = PhoneNumberUtils.formatNumber(data); - title = activity.getString(R.string.contents_sms); - } - } else if (type.equals(Contents.Type.CONTACT)) { - - Bundle bundle = intent.getBundleExtra(Intents.Encode.DATA); - if (bundle != null) { - - String name = bundle.getString(ContactsContract.Intents.Insert.NAME); - String organization = bundle.getString(ContactsContract.Intents.Insert.COMPANY); - String address = bundle.getString(ContactsContract.Intents.Insert.POSTAL); - Collection phones = new ArrayList(Contents.PHONE_KEYS.length); - for (int x = 0; x < Contents.PHONE_KEYS.length; x++) { - phones.add(bundle.getString(Contents.PHONE_KEYS[x])); + switch (type) { + case Contents.Type.TEXT: { + String data = intent.getStringExtra(Intents.Encode.DATA); + if (data != null && !data.isEmpty()) { + contents = data; + displayContents = data; + title = activity.getString(R.string.contents_text); } - Collection emails = new ArrayList(Contents.EMAIL_KEYS.length); - for (int x = 0; x < Contents.EMAIL_KEYS.length; x++) { - emails.add(bundle.getString(Contents.EMAIL_KEYS[x])); + break; + } + case Contents.Type.EMAIL: { + String data = ContactEncoder.trim(intent.getStringExtra(Intents.Encode.DATA)); + if (data != null) { + contents = "mailto:" + data; + displayContents = data; + title = activity.getString(R.string.contents_email); } - String url = bundle.getString(Contents.URL_KEY); - Iterable urls = url == null ? null : Collections.singletonList(url); - String note = bundle.getString(Contents.NOTE_KEY); + break; + } + case Contents.Type.PHONE: { + String data = ContactEncoder.trim(intent.getStringExtra(Intents.Encode.DATA)); + if (data != null) { + contents = "tel:" + data; + displayContents = PhoneNumberUtils.formatNumber(data); + title = activity.getString(R.string.contents_phone); + } + break; + } + case Contents.Type.SMS: { + String data = ContactEncoder.trim(intent.getStringExtra(Intents.Encode.DATA)); + if (data != null) { + contents = "sms:" + data; + displayContents = PhoneNumberUtils.formatNumber(data); + title = activity.getString(R.string.contents_sms); + } + break; + } + case Contents.Type.CONTACT: { + + Bundle bundle = intent.getBundleExtra(Intents.Encode.DATA); + if (bundle != null) { + + String name = bundle.getString(ContactsContract.Intents.Insert.NAME); + String organization = bundle.getString(ContactsContract.Intents.Insert.COMPANY); + String address = bundle.getString(ContactsContract.Intents.Insert.POSTAL); + Collection phones = new ArrayList<>(Contents.PHONE_KEYS.length); + for (int x = 0; x < Contents.PHONE_KEYS.length; x++) { + phones.add(bundle.getString(Contents.PHONE_KEYS[x])); + } + Collection emails = new ArrayList<>(Contents.EMAIL_KEYS.length); + for (int x = 0; x < Contents.EMAIL_KEYS.length; x++) { + emails.add(bundle.getString(Contents.EMAIL_KEYS[x])); + } + String url = bundle.getString(Contents.URL_KEY); + Iterable urls = url == null ? null : Collections.singletonList(url); + String note = bundle.getString(Contents.NOTE_KEY); + + ContactEncoder mecardEncoder = useVCard ? new VCardContactEncoder() : new MECARDContactEncoder(); + String[] encoded = mecardEncoder.encode(Collections.singleton(name), + organization, + Collections.singleton(address), + phones, + emails, + urls, + note); + // Make sure we've encoded at least one field. + if (!encoded[1].isEmpty()) { + contents = encoded[0]; + displayContents = encoded[1]; + title = activity.getString(R.string.contents_contact); + } - ContactEncoder mecardEncoder = useVCard ? new VCardContactEncoder() : new MECARDContactEncoder(); - String[] encoded = mecardEncoder.encode(Collections.singleton(name), - organization, - Collections.singleton(address), - phones, - emails, - urls, - note); - // Make sure we've encoded at least one field. - if (!encoded[1].isEmpty()) { - contents = encoded[0]; - displayContents = encoded[1]; - title = activity.getString(R.string.contents_contact); } + break; } - - } else if (type.equals(Contents.Type.LOCATION)) { - Bundle bundle = intent.getBundleExtra(Intents.Encode.DATA); - if (bundle != null) { - // These must use Bundle.getFloat(), not getDouble(), it's part of the API. - float latitude = bundle.getFloat("LAT", Float.MAX_VALUE); - float longitude = bundle.getFloat("LONG", Float.MAX_VALUE); - if (latitude != Float.MAX_VALUE && longitude != Float.MAX_VALUE) { - contents = "geo:" + latitude + ',' + longitude; - displayContents = latitude + "," + longitude; - title = activity.getString(R.string.contents_location); + case Contents.Type.LOCATION: { + Bundle bundle = intent.getBundleExtra(Intents.Encode.DATA); + if (bundle != null) { + // These must use Bundle.getFloat(), not getDouble(), it's part of the API. + float latitude = bundle.getFloat("LAT", Float.MAX_VALUE); + float longitude = bundle.getFloat("LONG", Float.MAX_VALUE); + if (latitude != Float.MAX_VALUE && longitude != Float.MAX_VALUE) { + contents = "geo:" + latitude + ',' + longitude; + displayContents = latitude + "," + longitude; + title = activity.getString(R.string.contents_location); + } } + break; } } } @@ -323,7 +336,7 @@ final class QRCodeEncoder { Map hints = null; String encoding = guessAppropriateEncoding(contentsToEncode); if (encoding != null) { - hints = new EnumMap(EncodeHintType.class); + hints = new EnumMap<>(EncodeHintType.class); hints.put(EncodeHintType.CHARACTER_SET, encoding); } BitMatrix result; diff --git a/android/src/com/google/zxing/client/android/history/HistoryManager.java b/android/src/com/google/zxing/client/android/history/HistoryManager.java index dca9ea451..1788c6b98 100644 --- a/android/src/com/google/zxing/client/android/history/HistoryManager.java +++ b/android/src/com/google/zxing/client/android/history/HistoryManager.java @@ -92,7 +92,7 @@ public final class HistoryManager { public List buildHistoryItems() { SQLiteOpenHelper helper = new DBHelper(activity); - List items = new ArrayList(); + List items = new ArrayList<>(); SQLiteDatabase db = null; Cursor cursor = null; try { diff --git a/android/src/com/google/zxing/client/android/result/supplement/AmazonInfoRetriever.java b/android/src/com/google/zxing/client/android/result/supplement/AmazonInfoRetriever.java index d7a29bda4..fe64b3fba 100644 --- a/android/src/com/google/zxing/client/android/result/supplement/AmazonInfoRetriever.java +++ b/android/src/com/google/zxing/client/android/result/supplement/AmazonInfoRetriever.java @@ -71,7 +71,7 @@ final class AmazonInfoRetriever extends SupplementalInfoRetriever { HttpHelper.ContentType.XML); String detailPageURL = null; - Collection authors = new ArrayList(); + Collection authors = new ArrayList<>(); String title = null; String formattedNewPrice = null; String formattedUsedPrice = null; @@ -83,46 +83,58 @@ final class AmazonInfoRetriever extends SupplementalInfoRetriever { boolean seenItem = false; boolean seenLowestNewPrice = false; boolean seenLowestUsedPrice = false; - - for (int eventType = xpp.getEventType(); eventType != XmlPullParser.END_DOCUMENT; eventType = xpp.next()) { + + boolean done = false; + for (int eventType = xpp.getEventType(); + !done && eventType != XmlPullParser.END_DOCUMENT; + eventType = xpp.next()) { if (eventType == XmlPullParser.START_TAG) { String name = xpp.getName(); - if ("Item".equals(name)) { - if (seenItem) { - break; - } else { - seenItem = true; - } - } else if ("DetailPageURL".equals(name)) { - assertTextNext(xpp); - detailPageURL = xpp.getText(); - } else if ("Author".equals(name)) { - assertTextNext(xpp); - authors.add(xpp.getText()); - } else if ("Title".equals(name)) { - assertTextNext(xpp); - title = xpp.getText(); - } else if ("LowestNewPrice".equals(name)) { - seenLowestNewPrice = true; - seenLowestUsedPrice = false; - } else if ("LowestUsedPrice".equals(name)) { - seenLowestNewPrice = false; - seenLowestUsedPrice = true; - } else if ("FormattedPrice".equals(name)) { - if (seenLowestNewPrice || seenLowestUsedPrice) { - assertTextNext(xpp); - String theText = xpp.getText(); - if (seenLowestNewPrice) { - formattedNewPrice = theText; + switch (name) { + case "Item": + if (seenItem) { + done = true; // terminates loop } else { - formattedUsedPrice = theText; + seenItem = true; } - seenLowestNewPrice = false; + break; + case "DetailPageURL": + assertTextNext(xpp); + detailPageURL = xpp.getText(); + break; + case "Author": + assertTextNext(xpp); + authors.add(xpp.getText()); + break; + case "Title": + assertTextNext(xpp); + title = xpp.getText(); + break; + case "LowestNewPrice": + seenLowestNewPrice = true; seenLowestUsedPrice = false; - } - } else if ("Errors".equals(name)) { - error = true; - break; + break; + case "LowestUsedPrice": + seenLowestNewPrice = false; + seenLowestUsedPrice = true; + break; + case "FormattedPrice": + if (seenLowestNewPrice || seenLowestUsedPrice) { + assertTextNext(xpp); + String theText = xpp.getText(); + if (seenLowestNewPrice) { + formattedNewPrice = theText; + } else { + formattedUsedPrice = theText; + } + seenLowestNewPrice = false; + seenLowestUsedPrice = false; + } + break; + case "Errors": + error = true; + done = true; // terminates loop + break; } } } @@ -135,7 +147,7 @@ final class AmazonInfoRetriever extends SupplementalInfoRetriever { return false; } - Collection newTexts = new ArrayList(); + Collection newTexts = new ArrayList<>(); maybeAddText(title, newTexts); maybeAddTextSeries(authors, newTexts); if (formattedNewPrice != null) { diff --git a/android/src/com/google/zxing/client/android/result/supplement/BookResultInfoRetriever.java b/android/src/com/google/zxing/client/android/result/supplement/BookResultInfoRetriever.java index 123d9b024..549c3f19f 100644 --- a/android/src/com/google/zxing/client/android/result/supplement/BookResultInfoRetriever.java +++ b/android/src/com/google/zxing/client/android/result/supplement/BookResultInfoRetriever.java @@ -81,7 +81,7 @@ final class BookResultInfoRetriever extends SupplementalInfoRetriever { JSONArray authorsArray = volumeInfo.optJSONArray("authors"); if (authorsArray != null && !authorsArray.isNull(0)) { - authors = new ArrayList(authorsArray.length()); + authors = new ArrayList<>(authorsArray.length()); for (int i = 0; i < authorsArray.length(); i++) { authors.add(authorsArray.getString(i)); } @@ -91,7 +91,7 @@ final class BookResultInfoRetriever extends SupplementalInfoRetriever { throw new IOException(e); } - Collection newTexts = new ArrayList(); + Collection newTexts = new ArrayList<>(); maybeAddText(title, newTexts); maybeAddTextSeries(authors, newTexts); maybeAddText(pages == null || pages.isEmpty() ? null : pages + "pp.", newTexts); diff --git a/android/src/com/google/zxing/client/android/result/supplement/SupplementalInfoRetriever.java b/android/src/com/google/zxing/client/android/result/supplement/SupplementalInfoRetriever.java index 8a2107203..8e6d772c1 100644 --- a/android/src/com/google/zxing/client/android/result/supplement/SupplementalInfoRetriever.java +++ b/android/src/com/google/zxing/client/android/result/supplement/SupplementalInfoRetriever.java @@ -91,10 +91,10 @@ public abstract class SupplementalInfoRetriever extends AsyncTask newHistories; SupplementalInfoRetriever(TextView textView, HistoryManager historyManager) { - textViewRef = new WeakReference(textView); - historyManagerRef = new WeakReference(historyManager); - newContents = new ArrayList(); - newHistories = new ArrayList(); + textViewRef = new WeakReference<>(textView); + historyManagerRef = new WeakReference<>(historyManager); + newContents = new ArrayList<>(); + newHistories = new ArrayList<>(); } @Override diff --git a/android/src/com/google/zxing/client/android/share/LoadPackagesAsyncTask.java b/android/src/com/google/zxing/client/android/share/LoadPackagesAsyncTask.java index 478e4e666..db5d5d608 100644 --- a/android/src/com/google/zxing/client/android/share/LoadPackagesAsyncTask.java +++ b/android/src/com/google/zxing/client/android/share/LoadPackagesAsyncTask.java @@ -58,7 +58,7 @@ final class LoadPackagesAsyncTask extends AsyncTask> { @Override protected List doInBackground(Void... objects) { - List labelsPackages = new ArrayList(); + List labelsPackages = new ArrayList<>(); PackageManager packageManager = activity.getPackageManager(); Iterable appInfos = packageManager.getInstalledApplications(0); for (PackageItemInfo appInfo : appInfos) { diff --git a/androidtest/AndroidManifest.xml b/androidtest/AndroidManifest.xml index 81cb01cef..f82d96e64 100755 --- a/androidtest/AndroidManifest.xml +++ b/androidtest/AndroidManifest.xml @@ -16,8 +16,8 @@ --> diff --git a/androidtest/ant.properties b/androidtest/ant.properties index dbebe87f6..315008716 100644 --- a/androidtest/ant.properties +++ b/androidtest/ant.properties @@ -18,4 +18,6 @@ application-package=com.google.zxing.client.androidtest external-libs-folder=libs key.store=../private/ZXing.keystore -key.alias=zxing \ No newline at end of file +key.alias=zxing +java.source=7 +java.target=7 \ No newline at end of file diff --git a/androidtest/src/com/google/zxing/client/androidtest/BenchmarkAsyncTask.java b/androidtest/src/com/google/zxing/client/androidtest/BenchmarkAsyncTask.java index 1c0d19cd1..7191a3341 100644 --- a/androidtest/src/com/google/zxing/client/androidtest/BenchmarkAsyncTask.java +++ b/androidtest/src/com/google/zxing/client/androidtest/BenchmarkAsyncTask.java @@ -53,7 +53,7 @@ public final class BenchmarkAsyncTask extends AsyncTask { // Try to get in a known state before starting the benchmark System.gc(); - List items = new ArrayList(); + List items = new ArrayList<>(); walkTree(reader, path, items); int count = 0; diff --git a/core/src/main/java/com/google/zxing/MultiFormatReader.java b/core/src/main/java/com/google/zxing/MultiFormatReader.java index 5c6f190ee..fe6f4ce5a 100644 --- a/core/src/main/java/com/google/zxing/MultiFormatReader.java +++ b/core/src/main/java/com/google/zxing/MultiFormatReader.java @@ -99,7 +99,7 @@ public final class MultiFormatReader implements Reader { @SuppressWarnings("unchecked") Collection formats = hints == null ? null : (Collection) hints.get(DecodeHintType.POSSIBLE_FORMATS); - Collection readers = new ArrayList(); + Collection readers = new ArrayList<>(); if (formats != null) { boolean addOneDReader = formats.contains(BarcodeFormat.UPC_A) || diff --git a/core/src/main/java/com/google/zxing/Result.java b/core/src/main/java/com/google/zxing/Result.java index aed5cf5cd..7c98006de 100644 --- a/core/src/main/java/com/google/zxing/Result.java +++ b/core/src/main/java/com/google/zxing/Result.java @@ -94,7 +94,7 @@ public final class Result { public void putMetadata(ResultMetadataType type, Object value) { if (resultMetadata == null) { - resultMetadata = new EnumMap(ResultMetadataType.class); + resultMetadata = new EnumMap<>(ResultMetadataType.class); } resultMetadata.put(type, value); } diff --git a/core/src/main/java/com/google/zxing/aztec/AztecReader.java b/core/src/main/java/com/google/zxing/aztec/AztecReader.java index 4b7a919e6..d56e3f6c6 100644 --- a/core/src/main/java/com/google/zxing/aztec/AztecReader.java +++ b/core/src/main/java/com/google/zxing/aztec/AztecReader.java @@ -75,16 +75,7 @@ public final class AztecReader implements Reader { AztecDetectorResult detectorResult = detector.detect(true); points = detectorResult.getPoints(); decoderResult = new Decoder().decode(detectorResult); - } catch (NotFoundException e) { - if (notFoundException != null) { - throw notFoundException; - } - if (formatException != null) { - throw formatException; - } - throw e; - } catch (FormatException e) { - // throw the exception from the non-mirror case, instead + } catch (NotFoundException | FormatException e) { if (notFoundException != null) { throw notFoundException; } diff --git a/core/src/main/java/com/google/zxing/aztec/encoder/HighLevelEncoder.java b/core/src/main/java/com/google/zxing/aztec/encoder/HighLevelEncoder.java index 5c3c496a5..619862df3 100644 --- a/core/src/main/java/com/google/zxing/aztec/encoder/HighLevelEncoder.java +++ b/core/src/main/java/com/google/zxing/aztec/encoder/HighLevelEncoder.java @@ -203,7 +203,7 @@ public final class HighLevelEncoder { // for the new character, merging the results, and then removing the // non-optimal states. private Collection updateStateListForChar(Iterable states, int index) { - Collection result = new LinkedList(); + Collection result = new LinkedList<>(); for (State state : states) { updateStateForChar(state, index, result); } @@ -252,7 +252,7 @@ public final class HighLevelEncoder { } private static Collection updateStateListForPair(Iterable states, int index, int pairCode) { - Collection result = new LinkedList(); + Collection result = new LinkedList<>(); for (State state : states) { updateStateForPair(state, index, pairCode, result); } @@ -284,7 +284,7 @@ public final class HighLevelEncoder { } private static Collection simplifyStates(Iterable states) { - List result = new LinkedList(); + List result = new LinkedList<>(); for (State newState : states) { boolean add = true; for (Iterator iterator = result.iterator(); iterator.hasNext(); ) { diff --git a/core/src/main/java/com/google/zxing/aztec/encoder/State.java b/core/src/main/java/com/google/zxing/aztec/encoder/State.java index bd8e2035f..927da63a9 100644 --- a/core/src/main/java/com/google/zxing/aztec/encoder/State.java +++ b/core/src/main/java/com/google/zxing/aztec/encoder/State.java @@ -148,7 +148,7 @@ final class State { BitArray toBitArray(byte[] text) { // Reverse the tokens, so that they are in the order that they should // be output - Deque symbols = new LinkedList(); + Deque symbols = new LinkedList<>(); for (Token token = endBinaryShift(text.length).token; token != null; token = token.getPrevious()) { symbols.addFirst(token); } diff --git a/core/src/main/java/com/google/zxing/client/result/AddressBookAUResultParser.java b/core/src/main/java/com/google/zxing/client/result/AddressBookAUResultParser.java index e0ab2bd44..cf7f96e87 100644 --- a/core/src/main/java/com/google/zxing/client/result/AddressBookAUResultParser.java +++ b/core/src/main/java/com/google/zxing/client/result/AddressBookAUResultParser.java @@ -78,7 +78,7 @@ public final class AddressBookAUResultParser extends ResultParser { break; } if (values == null) { - values = new ArrayList(max); // lazy init + values = new ArrayList<>(max); // lazy init } values.add(value); } diff --git a/core/src/main/java/com/google/zxing/client/result/BizcardResultParser.java b/core/src/main/java/com/google/zxing/client/result/BizcardResultParser.java index 5a38a9f22..1d588d4c2 100644 --- a/core/src/main/java/com/google/zxing/client/result/BizcardResultParser.java +++ b/core/src/main/java/com/google/zxing/client/result/BizcardResultParser.java @@ -72,7 +72,7 @@ public final class BizcardResultParser extends AbstractDoCoMoResultParser { private static String[] buildPhoneNumbers(String number1, String number2, String number3) { - List numbers = new ArrayList(3); + List numbers = new ArrayList<>(3); if (number1 != null) { numbers.add(number1); } diff --git a/core/src/main/java/com/google/zxing/client/result/ExpandedProductResultParser.java b/core/src/main/java/com/google/zxing/client/result/ExpandedProductResultParser.java index 174c7f023..a64aec275 100644 --- a/core/src/main/java/com/google/zxing/client/result/ExpandedProductResultParser.java +++ b/core/src/main/java/com/google/zxing/client/result/ExpandedProductResultParser.java @@ -62,7 +62,7 @@ public final class ExpandedProductResultParser extends ResultParser { String price = null; String priceIncrement = null; String priceCurrency = null; - Map uncommonAIs = new HashMap(); + Map uncommonAIs = new HashMap<>(); int i = 0; @@ -77,54 +77,81 @@ public final class ExpandedProductResultParser extends ResultParser { String value = findValue(i, rawText); i += value.length(); - if ("00".equals(ai)) { - sscc = value; - } else if ("01".equals(ai)) { - productID = value; - } else if ("10".equals(ai)) { - lotNumber = value; - } else if ("11".equals(ai)) { - productionDate = value; - } else if ("13".equals(ai)) { - packagingDate = value; - } else if ("15".equals(ai)) { - bestBeforeDate = value; - } else if ("17".equals(ai)) { - expirationDate = value; - } else if ("3100".equals(ai) || "3101".equals(ai) - || "3102".equals(ai) || "3103".equals(ai) - || "3104".equals(ai) || "3105".equals(ai) - || "3106".equals(ai) || "3107".equals(ai) - || "3108".equals(ai) || "3109".equals(ai)) { - weight = value; - weightType = ExpandedProductParsedResult.KILOGRAM; - weightIncrement = ai.substring(3); - } else if ("3200".equals(ai) || "3201".equals(ai) - || "3202".equals(ai) || "3203".equals(ai) - || "3204".equals(ai) || "3205".equals(ai) - || "3206".equals(ai) || "3207".equals(ai) - || "3208".equals(ai) || "3209".equals(ai)) { - weight = value; - weightType = ExpandedProductParsedResult.POUND; - weightIncrement = ai.substring(3); - } else if ("3920".equals(ai) || "3921".equals(ai) - || "3922".equals(ai) || "3923".equals(ai)) { - price = value; - priceIncrement = ai.substring(3); - } else if ("3930".equals(ai) || "3931".equals(ai) - || "3932".equals(ai) || "3933".equals(ai)) { - if (value.length() < 4) { - // The value must have more of 3 symbols (3 for currency and - // 1 at least for the price) - // ExtendedProductParsedResult NOT created. Not match with RSS Expanded pattern - return null; - } - price = value.substring(3); - priceCurrency = value.substring(0, 3); - priceIncrement = ai.substring(3); - } else { - // No match with common AIs - uncommonAIs.put(ai, value); + switch (ai) { + case "00": + sscc = value; + break; + case "01": + productID = value; + break; + case "10": + lotNumber = value; + break; + case "11": + productionDate = value; + break; + case "13": + packagingDate = value; + break; + case "15": + bestBeforeDate = value; + break; + case "17": + expirationDate = value; + break; + case "3100": + case "3101": + case "3102": + case "3103": + case "3104": + case "3105": + case "3106": + case "3107": + case "3108": + case "3109": + weight = value; + weightType = ExpandedProductParsedResult.KILOGRAM; + weightIncrement = ai.substring(3); + break; + case "3200": + case "3201": + case "3202": + case "3203": + case "3204": + case "3205": + case "3206": + case "3207": + case "3208": + case "3209": + weight = value; + weightType = ExpandedProductParsedResult.POUND; + weightIncrement = ai.substring(3); + break; + case "3920": + case "3921": + case "3922": + case "3923": + price = value; + priceIncrement = ai.substring(3); + break; + case "3930": + case "3931": + case "3932": + case "3933": + if (value.length() < 4) { + // The value must have more of 3 symbols (3 for currency and + // 1 at least for the price) + // ExtendedProductParsedResult NOT created. Not match with RSS Expanded pattern + return null; + } + price = value.substring(3); + priceCurrency = value.substring(0, 3); + priceIncrement = ai.substring(3); + break; + default: + // No match with common AIs + uncommonAIs.put(ai, value); + break; } } diff --git a/core/src/main/java/com/google/zxing/client/result/ResultParser.java b/core/src/main/java/com/google/zxing/client/result/ResultParser.java index 66b42bd2c..e2156ff3f 100644 --- a/core/src/main/java/com/google/zxing/client/result/ResultParser.java +++ b/core/src/main/java/com/google/zxing/client/result/ResultParser.java @@ -171,7 +171,7 @@ public abstract class ResultParser { if (paramStart < 0) { return null; } - Map result = new HashMap(3); + Map result = new HashMap<>(3); for (String keyValue : AMPERSAND.split(uri.substring(paramStart + 1))) { appendKeyValue(keyValue, result); } @@ -224,7 +224,7 @@ public abstract class ResultParser { } else { // found a match if (matches == null) { - matches = new ArrayList(3); // lazy init + matches = new ArrayList<>(3); // lazy init } String element = unescapeBackslash(rawText.substring(start, i)); if (trim) { diff --git a/core/src/main/java/com/google/zxing/client/result/SMSMMSResultParser.java b/core/src/main/java/com/google/zxing/client/result/SMSMMSResultParser.java index 2cb71929a..a8d65d315 100644 --- a/core/src/main/java/com/google/zxing/client/result/SMSMMSResultParser.java +++ b/core/src/main/java/com/google/zxing/client/result/SMSMMSResultParser.java @@ -71,8 +71,8 @@ public final class SMSMMSResultParser extends ResultParser { int lastComma = -1; int comma; - List numbers = new ArrayList(1); - List vias = new ArrayList(1); + List numbers = new ArrayList<>(1); + List vias = new ArrayList<>(1); while ((comma = smsURIWithoutQuery.indexOf(',', lastComma + 1)) > lastComma) { String numberPart = smsURIWithoutQuery.substring(lastComma + 1, comma); addNumberVia(numbers, vias, numberPart); diff --git a/core/src/main/java/com/google/zxing/client/result/VCardResultParser.java b/core/src/main/java/com/google/zxing/client/result/VCardResultParser.java index d1c0201d3..98078b3fb 100644 --- a/core/src/main/java/com/google/zxing/client/result/VCardResultParser.java +++ b/core/src/main/java/com/google/zxing/client/result/VCardResultParser.java @@ -128,7 +128,7 @@ public final class VCardResultParser extends ResultParser { if (metadataString != null) { for (String metadatum : SEMICOLON.split(metadataString)) { if (metadata == null) { - metadata = new ArrayList(1); + metadata = new ArrayList<>(1); } metadata.add(metadatum); String[] metadatumTokens = EQUALS.split(metadatum, 2); @@ -166,7 +166,7 @@ public final class VCardResultParser extends ResultParser { } else if (i > matchStart) { // found a match if (matches == null) { - matches = new ArrayList>(1); // lazy init + matches = new ArrayList<>(1); // lazy init } if (i >= 1 && rawText.charAt(i-1) == '\r') { i--; // Back up over \r, which really should be there @@ -189,7 +189,7 @@ public final class VCardResultParser extends ResultParser { element = VCARD_ESCAPES.matcher(element).replaceAll("$1"); } if (metadata == null) { - List match = new ArrayList(1); + List match = new ArrayList<>(1); match.add(element); matches.add(match); } else { @@ -275,7 +275,7 @@ public final class VCardResultParser extends ResultParser { if (lists == null || lists.isEmpty()) { return null; } - List result = new ArrayList(lists.size()); + List result = new ArrayList<>(lists.size()); for (List list : lists) { String value = list.get(0); if (value != null && !value.isEmpty()) { @@ -289,7 +289,7 @@ public final class VCardResultParser extends ResultParser { if (lists == null || lists.isEmpty()) { return null; } - List result = new ArrayList(lists.size()); + List result = new ArrayList<>(lists.size()); for (List list : lists) { String type = null; for (int i = 1; i < list.size(); i++) { diff --git a/core/src/main/java/com/google/zxing/common/CharacterSetECI.java b/core/src/main/java/com/google/zxing/common/CharacterSetECI.java index 7dc171ed1..36c26c296 100644 --- a/core/src/main/java/com/google/zxing/common/CharacterSetECI.java +++ b/core/src/main/java/com/google/zxing/common/CharacterSetECI.java @@ -58,8 +58,8 @@ public enum CharacterSetECI { GB18030(29, "GB2312", "EUC_CN", "GBK"), EUC_KR(30, "EUC-KR"); - private static final Map VALUE_TO_ECI = new HashMap(); - private static final Map NAME_TO_ECI = new HashMap(); + private static final Map VALUE_TO_ECI = new HashMap<>(); + private static final Map NAME_TO_ECI = new HashMap<>(); static { for (CharacterSetECI eci : values()) { for (int value : eci.values) { diff --git a/core/src/main/java/com/google/zxing/common/reedsolomon/ReedSolomonEncoder.java b/core/src/main/java/com/google/zxing/common/reedsolomon/ReedSolomonEncoder.java index b535b9e3c..ff813cb1f 100644 --- a/core/src/main/java/com/google/zxing/common/reedsolomon/ReedSolomonEncoder.java +++ b/core/src/main/java/com/google/zxing/common/reedsolomon/ReedSolomonEncoder.java @@ -32,7 +32,7 @@ public final class ReedSolomonEncoder { public ReedSolomonEncoder(GenericGF field) { this.field = field; - this.cachedGenerators = new ArrayList(); + this.cachedGenerators = new ArrayList<>(); cachedGenerators.add(new GenericGFPoly(field, new int[]{1})); } diff --git a/core/src/main/java/com/google/zxing/datamatrix/decoder/DecodedBitStreamParser.java b/core/src/main/java/com/google/zxing/datamatrix/decoder/DecodedBitStreamParser.java index 598a8ede7..383c4bc63 100644 --- a/core/src/main/java/com/google/zxing/datamatrix/decoder/DecodedBitStreamParser.java +++ b/core/src/main/java/com/google/zxing/datamatrix/decoder/DecodedBitStreamParser.java @@ -83,7 +83,7 @@ final class DecodedBitStreamParser { BitSource bits = new BitSource(bytes); StringBuilder result = new StringBuilder(100); StringBuilder resultTrailer = new StringBuilder(0); - List byteSegments = new ArrayList(1); + List byteSegments = new ArrayList<>(1); Mode mode = Mode.ASCII_ENCODE; do { if (mode == Mode.ASCII_ENCODE) { diff --git a/core/src/main/java/com/google/zxing/datamatrix/detector/Detector.java b/core/src/main/java/com/google/zxing/datamatrix/detector/Detector.java index e1d414136..4e4ccf1e4 100644 --- a/core/src/main/java/com/google/zxing/datamatrix/detector/Detector.java +++ b/core/src/main/java/com/google/zxing/datamatrix/detector/Detector.java @@ -65,7 +65,7 @@ public final class Detector { // Point A and D are across the diagonal from one another, // as are B and C. Figure out which are the solid black lines // by counting transitions - List transitions = new ArrayList(4); + List transitions = new ArrayList<>(4); transitions.add(transitionsBetween(pointA, pointB)); transitions.add(transitionsBetween(pointA, pointC)); transitions.add(transitionsBetween(pointB, pointD)); @@ -79,7 +79,7 @@ public final class Detector { // Figure out which point is their intersection by tallying up the number of times we see the // endpoints in the four endpoints. One will show up twice. - Map pointCount = new HashMap(); + Map pointCount = new HashMap<>(); increment(pointCount, lSideOne.getFrom()); increment(pointCount, lSideOne.getTo()); increment(pointCount, lSideTwo.getFrom()); diff --git a/core/src/main/java/com/google/zxing/multi/GenericMultipleBarcodeReader.java b/core/src/main/java/com/google/zxing/multi/GenericMultipleBarcodeReader.java index c835e510a..276279bb7 100644 --- a/core/src/main/java/com/google/zxing/multi/GenericMultipleBarcodeReader.java +++ b/core/src/main/java/com/google/zxing/multi/GenericMultipleBarcodeReader.java @@ -61,7 +61,7 @@ public final class GenericMultipleBarcodeReader implements MultipleBarcodeReader @Override public Result[] decodeMultiple(BinaryBitmap image, Map hints) throws NotFoundException { - List results = new ArrayList(); + List results = new ArrayList<>(); doDecodeMultiple(image, hints, results, 0, 0, 0); if (results.isEmpty()) { throw NotFoundException.getNotFoundInstance(); diff --git a/core/src/main/java/com/google/zxing/multi/qrcode/QRCodeMultiReader.java b/core/src/main/java/com/google/zxing/multi/qrcode/QRCodeMultiReader.java index c75bba9ee..40e286ec9 100644 --- a/core/src/main/java/com/google/zxing/multi/qrcode/QRCodeMultiReader.java +++ b/core/src/main/java/com/google/zxing/multi/qrcode/QRCodeMultiReader.java @@ -52,7 +52,7 @@ public final class QRCodeMultiReader extends QRCodeReader implements MultipleBar @Override public Result[] decodeMultiple(BinaryBitmap image, Map hints) throws NotFoundException { - List results = new ArrayList(); + List results = new ArrayList<>(); DetectorResult[] detectorResults = new MultiDetector(image.getBlackMatrix()).detectMulti(hints); for (DetectorResult detectorResult : detectorResults) { try { diff --git a/core/src/main/java/com/google/zxing/multi/qrcode/detector/MultiDetector.java b/core/src/main/java/com/google/zxing/multi/qrcode/detector/MultiDetector.java index f55272eda..9b242104b 100644 --- a/core/src/main/java/com/google/zxing/multi/qrcode/detector/MultiDetector.java +++ b/core/src/main/java/com/google/zxing/multi/qrcode/detector/MultiDetector.java @@ -55,7 +55,7 @@ public final class MultiDetector extends Detector { throw NotFoundException.getNotFoundInstance(); } - List result = new ArrayList(); + List result = new ArrayList<>(); for (FinderPatternInfo info : infos) { try { result.add(processFinderPatternInfo(info)); diff --git a/core/src/main/java/com/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder.java b/core/src/main/java/com/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder.java index ab7a35c8c..d7046e184 100644 --- a/core/src/main/java/com/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder.java +++ b/core/src/main/java/com/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder.java @@ -143,7 +143,7 @@ final class MultiFinderPatternFinder extends FinderPatternFinder { * So, if the layout seems right, lets have the decoder try to decode. */ - List results = new ArrayList(); // holder for the results + List results = new ArrayList<>(); // holder for the results for (int i1 = 0; i1 < (size - 2); i1++) { FinderPattern p1 = possibleCenters.get(i1); @@ -294,7 +294,7 @@ final class MultiFinderPatternFinder extends FinderPatternFinder { } // end if foundPatternCross } // for i=iSkip-1 ... FinderPattern[][] patternInfo = selectMutipleBestPatterns(); - List result = new ArrayList(); + List result = new ArrayList<>(); for (FinderPattern[] pattern : patternInfo) { ResultPoint.orderBestPatterns(pattern); result.add(new FinderPatternInfo(pattern)); diff --git a/core/src/main/java/com/google/zxing/oned/Code128Reader.java b/core/src/main/java/com/google/zxing/oned/Code128Reader.java index 242b34233..74ce5839c 100644 --- a/core/src/main/java/com/google/zxing/oned/Code128Reader.java +++ b/core/src/main/java/com/google/zxing/oned/Code128Reader.java @@ -241,7 +241,7 @@ public final class Code128Reader extends OneDReader { int[] startPatternInfo = findStartPattern(row); int startCode = startPatternInfo[2]; - List rawCodes = new ArrayList(20); + List rawCodes = new ArrayList<>(20); rawCodes.add((byte) startCode); int codeSet; diff --git a/core/src/main/java/com/google/zxing/oned/Code128Writer.java b/core/src/main/java/com/google/zxing/oned/Code128Writer.java index b3f60d377..0f3a0645b 100644 --- a/core/src/main/java/com/google/zxing/oned/Code128Writer.java +++ b/core/src/main/java/com/google/zxing/oned/Code128Writer.java @@ -85,7 +85,7 @@ public final class Code128Writer extends OneDimensionalCodeWriter { } } - Collection patterns = new ArrayList(); // temporary storage for patterns + Collection patterns = new ArrayList<>(); // temporary storage for patterns int checkSum = 0; int checkWeight = 1; int codeSet = 0; // selected code (CODE_CODE_B or CODE_CODE_C) diff --git a/core/src/main/java/com/google/zxing/oned/EANManufacturerOrgSupport.java b/core/src/main/java/com/google/zxing/oned/EANManufacturerOrgSupport.java index 299ee371a..e5b439264 100644 --- a/core/src/main/java/com/google/zxing/oned/EANManufacturerOrgSupport.java +++ b/core/src/main/java/com/google/zxing/oned/EANManufacturerOrgSupport.java @@ -30,8 +30,8 @@ import java.util.List; */ final class EANManufacturerOrgSupport { - private final List ranges = new ArrayList(); - private final List countryIdentifiers = new ArrayList(); + private final List ranges = new ArrayList<>(); + private final List countryIdentifiers = new ArrayList<>(); String lookupCountryIdentifier(String productCode) { initIfNeeded(); diff --git a/core/src/main/java/com/google/zxing/oned/MultiFormatOneDReader.java b/core/src/main/java/com/google/zxing/oned/MultiFormatOneDReader.java index 5120438ea..031bd1128 100644 --- a/core/src/main/java/com/google/zxing/oned/MultiFormatOneDReader.java +++ b/core/src/main/java/com/google/zxing/oned/MultiFormatOneDReader.java @@ -44,7 +44,7 @@ public final class MultiFormatOneDReader extends OneDReader { (Collection) hints.get(DecodeHintType.POSSIBLE_FORMATS); boolean useCode39CheckDigit = hints != null && hints.get(DecodeHintType.ASSUME_CODE_39_CHECK_DIGIT) != null; - Collection readers = new ArrayList(); + Collection readers = new ArrayList<>(); if (possibleFormats != null) { if (possibleFormats.contains(BarcodeFormat.EAN_13) || possibleFormats.contains(BarcodeFormat.UPC_A) || diff --git a/core/src/main/java/com/google/zxing/oned/MultiFormatUPCEANReader.java b/core/src/main/java/com/google/zxing/oned/MultiFormatUPCEANReader.java index 452bed59c..9449f155c 100644 --- a/core/src/main/java/com/google/zxing/oned/MultiFormatUPCEANReader.java +++ b/core/src/main/java/com/google/zxing/oned/MultiFormatUPCEANReader.java @@ -43,7 +43,7 @@ public final class MultiFormatUPCEANReader extends OneDReader { @SuppressWarnings("unchecked") Collection possibleFormats = hints == null ? null : (Collection) hints.get(DecodeHintType.POSSIBLE_FORMATS); - Collection readers = new ArrayList(); + Collection readers = new ArrayList<>(); if (possibleFormats != null) { if (possibleFormats.contains(BarcodeFormat.EAN_13)) { readers.add(new EAN13Reader()); diff --git a/core/src/main/java/com/google/zxing/oned/OneDReader.java b/core/src/main/java/com/google/zxing/oned/OneDReader.java index 6679e785b..90a706499 100644 --- a/core/src/main/java/com/google/zxing/oned/OneDReader.java +++ b/core/src/main/java/com/google/zxing/oned/OneDReader.java @@ -147,7 +147,7 @@ public abstract class OneDReader implements Reader { // don't want to clutter with noise from every single row scan -- just the scans // that start on the center line. if (hints != null && hints.containsKey(DecodeHintType.NEED_RESULT_POINT_CALLBACK)) { - Map newHints = new EnumMap(DecodeHintType.class); + Map newHints = new EnumMap<>(DecodeHintType.class); newHints.putAll(hints); newHints.remove(DecodeHintType.NEED_RESULT_POINT_CALLBACK); hints = newHints; diff --git a/core/src/main/java/com/google/zxing/oned/UPCEANExtension2Support.java b/core/src/main/java/com/google/zxing/oned/UPCEANExtension2Support.java index 48883d1df..03cd35d4d 100644 --- a/core/src/main/java/com/google/zxing/oned/UPCEANExtension2Support.java +++ b/core/src/main/java/com/google/zxing/oned/UPCEANExtension2Support.java @@ -104,7 +104,7 @@ final class UPCEANExtension2Support { if (raw.length() != 2) { return null; } - Map result = new EnumMap(ResultMetadataType.class); + Map result = new EnumMap<>(ResultMetadataType.class); result.put(ResultMetadataType.ISSUE_NUMBER, Integer.valueOf(raw)); return result; } diff --git a/core/src/main/java/com/google/zxing/oned/UPCEANExtension5Support.java b/core/src/main/java/com/google/zxing/oned/UPCEANExtension5Support.java index 5aba38084..ecd421e0d 100644 --- a/core/src/main/java/com/google/zxing/oned/UPCEANExtension5Support.java +++ b/core/src/main/java/com/google/zxing/oned/UPCEANExtension5Support.java @@ -137,7 +137,7 @@ final class UPCEANExtension5Support { if (value == null) { return null; } - Map result = new EnumMap(ResultMetadataType.class); + Map result = new EnumMap<>(ResultMetadataType.class); result.put(ResultMetadataType.SUGGESTED_PRICE, value); return result; } diff --git a/core/src/main/java/com/google/zxing/oned/rss/RSS14Reader.java b/core/src/main/java/com/google/zxing/oned/rss/RSS14Reader.java index 2e85ea4c1..cb62673bc 100644 --- a/core/src/main/java/com/google/zxing/oned/rss/RSS14Reader.java +++ b/core/src/main/java/com/google/zxing/oned/rss/RSS14Reader.java @@ -57,8 +57,8 @@ public final class RSS14Reader extends AbstractRSSReader { private final List possibleRightPairs; public RSS14Reader() { - possibleLeftPairs = new ArrayList(); - possibleRightPairs = new ArrayList(); + possibleLeftPairs = new ArrayList<>(); + possibleRightPairs = new ArrayList<>(); } @Override diff --git a/core/src/main/java/com/google/zxing/oned/rss/expanded/ExpandedRow.java b/core/src/main/java/com/google/zxing/oned/rss/expanded/ExpandedRow.java index 5fcaf8ab6..3b332853e 100644 --- a/core/src/main/java/com/google/zxing/oned/rss/expanded/ExpandedRow.java +++ b/core/src/main/java/com/google/zxing/oned/rss/expanded/ExpandedRow.java @@ -30,7 +30,7 @@ final class ExpandedRow { private final boolean wasReversed; ExpandedRow(List pairs, int rowNumber, boolean wasReversed) { - this.pairs = new ArrayList(pairs); + this.pairs = new ArrayList<>(pairs); this.rowNumber = rowNumber; this.wasReversed = wasReversed; } diff --git a/core/src/main/java/com/google/zxing/oned/rss/expanded/RSSExpandedReader.java b/core/src/main/java/com/google/zxing/oned/rss/expanded/RSSExpandedReader.java index 389b7f6cd..4db988ec5 100644 --- a/core/src/main/java/com/google/zxing/oned/rss/expanded/RSSExpandedReader.java +++ b/core/src/main/java/com/google/zxing/oned/rss/expanded/RSSExpandedReader.java @@ -114,8 +114,8 @@ public final class RSSExpandedReader extends AbstractRSSReader { private static final int MAX_PAIRS = 11; - private final List pairs = new ArrayList(MAX_PAIRS); - private final List rows = new ArrayList(); + private final List pairs = new ArrayList<>(MAX_PAIRS); + private final List rows = new ArrayList<>(); private final int [] startEnd = new int[2]; //private final int [] currentSequence = new int[LONGEST_SEQUENCE_SIZE]; private boolean startFromEven = false; @@ -234,7 +234,7 @@ public final class RSSExpandedReader extends AbstractRSSReader { return this.pairs; } - List rs = new ArrayList(); + List rs = new ArrayList<>(); rs.addAll(collectedRows); rs.add(row); try { diff --git a/core/src/main/java/com/google/zxing/pdf417/PDF417Reader.java b/core/src/main/java/com/google/zxing/pdf417/PDF417Reader.java index b119fc793..c0eeb288b 100644 --- a/core/src/main/java/com/google/zxing/pdf417/PDF417Reader.java +++ b/core/src/main/java/com/google/zxing/pdf417/PDF417Reader.java @@ -74,16 +74,14 @@ public final class PDF417Reader implements Reader, MultipleBarcodeReader { public Result[] decodeMultiple(BinaryBitmap image, Map hints) throws NotFoundException { try { return decode(image, hints, true); - } catch (FormatException ignored) { - throw NotFoundException.getNotFoundInstance(); - } catch (ChecksumException ignored) { + } catch (FormatException | ChecksumException ignored) { throw NotFoundException.getNotFoundInstance(); } } private static Result[] decode(BinaryBitmap image, Map hints, boolean multiple) throws NotFoundException, FormatException, ChecksumException { - List results = new ArrayList(); + List results = new ArrayList<>(); PDF417DetectorResult detectorResult = Detector.detect(image, hints, multiple); for (ResultPoint[] points : detectorResult.getPoints()) { DecoderResult decoderResult = PDF417ScanningDecoder.decode(detectorResult.getBits(), points[4], points[5], diff --git a/core/src/main/java/com/google/zxing/pdf417/decoder/BarcodeValue.java b/core/src/main/java/com/google/zxing/pdf417/decoder/BarcodeValue.java index 855fa7326..79a8d23af 100644 --- a/core/src/main/java/com/google/zxing/pdf417/decoder/BarcodeValue.java +++ b/core/src/main/java/com/google/zxing/pdf417/decoder/BarcodeValue.java @@ -28,7 +28,7 @@ import java.util.Map.Entry; * @author Guenther Grau */ final class BarcodeValue { - private final Map values = new HashMap(); + private final Map values = new HashMap<>(); /** * Add an occurrence of a value @@ -48,7 +48,7 @@ final class BarcodeValue { */ int[] getValue() { int maxConfidence = -1; - Collection result = new ArrayList(); + Collection result = new ArrayList<>(); for (Entry entry : values.entrySet()) { if (entry.getValue() > maxConfidence) { maxConfidence = entry.getValue(); diff --git a/core/src/main/java/com/google/zxing/pdf417/decoder/PDF417ScanningDecoder.java b/core/src/main/java/com/google/zxing/pdf417/decoder/PDF417ScanningDecoder.java index 193a69737..2f59fc778 100644 --- a/core/src/main/java/com/google/zxing/pdf417/decoder/PDF417ScanningDecoder.java +++ b/core/src/main/java/com/google/zxing/pdf417/decoder/PDF417ScanningDecoder.java @@ -249,10 +249,10 @@ public final class PDF417ScanningDecoder { ChecksumException, NotFoundException { BarcodeValue[][] barcodeMatrix = createBarcodeMatrix(detectionResult); adjustCodewordCount(detectionResult, barcodeMatrix); - Collection erasures = new ArrayList(); + Collection erasures = new ArrayList<>(); int[] codewords = new int[detectionResult.getBarcodeRowCount() * detectionResult.getBarcodeColumnCount()]; - List ambiguousIndexValuesList = new ArrayList(); - List ambiguousIndexesList = new ArrayList(); + List ambiguousIndexValuesList = new ArrayList<>(); + List ambiguousIndexesList = new ArrayList<>(); for (int row = 0; row < detectionResult.getBarcodeRowCount(); row++) { for (int column = 0; column < detectionResult.getBarcodeColumnCount(); column++) { int[] values = barcodeMatrix[row][column + 1].getValue(); diff --git a/core/src/main/java/com/google/zxing/pdf417/detector/Detector.java b/core/src/main/java/com/google/zxing/pdf417/detector/Detector.java index 8286b92be..e09043ed5 100644 --- a/core/src/main/java/com/google/zxing/pdf417/detector/Detector.java +++ b/core/src/main/java/com/google/zxing/pdf417/detector/Detector.java @@ -96,7 +96,7 @@ public final class Detector { * @return List of ResultPoint arrays containing the coordinates of found barcodes */ private static List detect(boolean multiple, BitMatrix bitMatrix) { - List barcodeCoordinates = new ArrayList(); + List barcodeCoordinates = new ArrayList<>(); int row = 0; int column = 0; boolean foundBarcodeInRow = false; diff --git a/core/src/main/java/com/google/zxing/qrcode/decoder/DecodedBitStreamParser.java b/core/src/main/java/com/google/zxing/qrcode/decoder/DecodedBitStreamParser.java index 7df07a5ea..4fb84d67f 100644 --- a/core/src/main/java/com/google/zxing/qrcode/decoder/DecodedBitStreamParser.java +++ b/core/src/main/java/com/google/zxing/qrcode/decoder/DecodedBitStreamParser.java @@ -59,7 +59,7 @@ final class DecodedBitStreamParser { Map hints) throws FormatException { BitSource bits = new BitSource(bytes); StringBuilder result = new StringBuilder(50); - List byteSegments = new ArrayList(1); + List byteSegments = new ArrayList<>(1); try { CharacterSetECI currentCharacterSetECI = null; boolean fc1InEffect = false; diff --git a/core/src/main/java/com/google/zxing/qrcode/decoder/Decoder.java b/core/src/main/java/com/google/zxing/qrcode/decoder/Decoder.java index 3371a6f83..0f501c463 100644 --- a/core/src/main/java/com/google/zxing/qrcode/decoder/Decoder.java +++ b/core/src/main/java/com/google/zxing/qrcode/decoder/Decoder.java @@ -125,17 +125,7 @@ public final class Decoder { return result; - } catch (FormatException e) { - // Throw the exception from the original reading - if (fe != null) { - throw fe; - } - if (ce != null) { - throw ce; - } - throw e; - - } catch (ChecksumException e) { + } catch (FormatException | ChecksumException e) { // Throw the exception from the original reading if (fe != null) { throw fe; diff --git a/core/src/main/java/com/google/zxing/qrcode/detector/AlignmentPatternFinder.java b/core/src/main/java/com/google/zxing/qrcode/detector/AlignmentPatternFinder.java index 179bcc1c0..95fbc2ecb 100644 --- a/core/src/main/java/com/google/zxing/qrcode/detector/AlignmentPatternFinder.java +++ b/core/src/main/java/com/google/zxing/qrcode/detector/AlignmentPatternFinder.java @@ -67,7 +67,7 @@ final class AlignmentPatternFinder { float moduleSize, ResultPointCallback resultPointCallback) { this.image = image; - this.possibleCenters = new ArrayList(5); + this.possibleCenters = new ArrayList<>(5); this.startX = startX; this.startY = startY; this.width = width; diff --git a/core/src/main/java/com/google/zxing/qrcode/detector/FinderPatternFinder.java b/core/src/main/java/com/google/zxing/qrcode/detector/FinderPatternFinder.java index a888d8148..31113909f 100755 --- a/core/src/main/java/com/google/zxing/qrcode/detector/FinderPatternFinder.java +++ b/core/src/main/java/com/google/zxing/qrcode/detector/FinderPatternFinder.java @@ -61,7 +61,7 @@ public class FinderPatternFinder { public FinderPatternFinder(BitMatrix image, ResultPointCallback resultPointCallback) { this.image = image; - this.possibleCenters = new ArrayList(); + this.possibleCenters = new ArrayList<>(); this.crossCheckStateCount = new int[5]; this.resultPointCallback = resultPointCallback; } diff --git a/core/src/main/java/com/google/zxing/qrcode/encoder/Encoder.java b/core/src/main/java/com/google/zxing/qrcode/encoder/Encoder.java index 6e8a006ce..224d0fcac 100644 --- a/core/src/main/java/com/google/zxing/qrcode/encoder/Encoder.java +++ b/core/src/main/java/com/google/zxing/qrcode/encoder/Encoder.java @@ -376,7 +376,7 @@ public final class Encoder { int maxNumEcBytes = 0; // Since, we know the number of reedsolmon blocks, we can initialize the vector with the number. - Collection blocks = new ArrayList(numRSBlocks); + Collection blocks = new ArrayList<>(numRSBlocks); for (int i = 0; i < numRSBlocks; ++i) { int[] numDataBytesInBlock = new int[1]; diff --git a/core/src/test/java/com/google/zxing/aztec/detector/DetectorTest.java b/core/src/test/java/com/google/zxing/aztec/detector/DetectorTest.java index bcf66e438..5b03eacf2 100644 --- a/core/src/test/java/com/google/zxing/aztec/detector/DetectorTest.java +++ b/core/src/test/java/com/google/zxing/aztec/detector/DetectorTest.java @@ -92,7 +92,7 @@ public final class DetectorTest extends Assert { // Try a few random three-bit errors; for (int i = 0; i < 5; i++) { BitMatrix copy = clone(matrix); - Collection errors = new TreeSet(); + Collection errors = new TreeSet<>(); while (errors.size() < 3) { // Quick and dirty way of getting three distinct integers between 1 and n. errors.add(random.nextInt(orientationPoints.size())); @@ -176,7 +176,7 @@ public final class DetectorTest extends Assert { private static List getOrientationPoints(AztecCode code) { int center = code.getMatrix().getWidth() / 2; int offset = code.isCompact() ? 5 : 7; - List result = new ArrayList(); + List result = new ArrayList<>(); for (int xSign = -1; xSign <= 1; xSign += 2) { for (int ySign = -1; ySign <= 1; ySign += 2) { result.add(new Point(center + xSign * offset, center + ySign * offset)); diff --git a/core/src/test/java/com/google/zxing/aztec/encoder/EncoderTest.java b/core/src/test/java/com/google/zxing/aztec/encoder/EncoderTest.java index 341922361..9c2c2b166 100644 --- a/core/src/test/java/com/google/zxing/aztec/encoder/EncoderTest.java +++ b/core/src/test/java/com/google/zxing/aztec/encoder/EncoderTest.java @@ -469,7 +469,7 @@ public final class EncoderTest extends Assert { // 1. Perform an encode-decode round-trip because it can be lossy. // 2. Aztec Decoder currently always decodes the data with a LATIN-1 charset: String expectedData = new String(data.getBytes(Charset.forName(charset)), LATIN_1); - Map hints = new EnumMap(EncodeHintType.class); + Map hints = new EnumMap<>(EncodeHintType.class); hints.put(EncodeHintType.CHARACTER_SET, charset); hints.put(EncodeHintType.ERROR_CORRECTION, eccPercent); AztecWriter writer = new AztecWriter(); diff --git a/core/src/test/java/com/google/zxing/client/result/ExpandedProductParsedResultTestCase.java b/core/src/test/java/com/google/zxing/client/result/ExpandedProductParsedResultTestCase.java index d99513fe8..ade50faae 100644 --- a/core/src/test/java/com/google/zxing/client/result/ExpandedProductParsedResultTestCase.java +++ b/core/src/test/java/com/google/zxing/client/result/ExpandedProductParsedResultTestCase.java @@ -42,7 +42,7 @@ public final class ExpandedProductParsedResultTestCase extends Assert { @Test public void test_RSSExpanded() { - Map uncommonAIs = new HashMap(); + Map uncommonAIs = new HashMap<>(); uncommonAIs.put("123", "544654"); Result result = new Result("(01)66546(13)001205(3932)4455(3102)6544(123)544654", null, null, BarcodeFormat.RSS_EXPANDED); diff --git a/core/src/test/java/com/google/zxing/common/AbstractBlackBoxTestCase.java b/core/src/test/java/com/google/zxing/common/AbstractBlackBoxTestCase.java index b938c1c49..f3ffe286a 100644 --- a/core/src/test/java/com/google/zxing/common/AbstractBlackBoxTestCase.java +++ b/core/src/test/java/com/google/zxing/common/AbstractBlackBoxTestCase.java @@ -86,7 +86,7 @@ public abstract class AbstractBlackBoxTestCase extends Assert { this.testBase = testBase; this.barcodeReader = barcodeReader; this.expectedFormat = expectedFormat; - testResults = new ArrayList(); + testResults = new ArrayList<>(); System.setProperty("java.util.logging.SimpleFormatter.format", "%4$s: %5$s%6$s%n"); } @@ -261,7 +261,7 @@ public abstract class AbstractBlackBoxTestCase extends Assert { String suffix = String.format(" (%srotation: %d)", tryHarder ? "try harder, " : "", (int) rotation); - Map hints = new EnumMap(DecodeHintType.class); + Map hints = new EnumMap<>(DecodeHintType.class); if (tryHarder) { hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE); } diff --git a/core/src/test/java/com/google/zxing/common/AbstractNegativeBlackBoxTestCase.java b/core/src/test/java/com/google/zxing/common/AbstractNegativeBlackBoxTestCase.java index 35bfedb61..345c16054 100644 --- a/core/src/test/java/com/google/zxing/common/AbstractNegativeBlackBoxTestCase.java +++ b/core/src/test/java/com/google/zxing/common/AbstractNegativeBlackBoxTestCase.java @@ -68,7 +68,7 @@ public abstract class AbstractNegativeBlackBoxTestCase extends AbstractBlackBoxT // Use the multiformat reader to evaluate all decoders in the system. protected AbstractNegativeBlackBoxTestCase(String testBasePathSuffix) { super(testBasePathSuffix, new MultiFormatReader(), null); - testResults = new ArrayList(); + testResults = new ArrayList<>(); } protected final void addTest(int falsePositivesAllowed, float rotation) { @@ -143,7 +143,7 @@ public abstract class AbstractNegativeBlackBoxTestCase extends AbstractBlackBoxT } // Try "try harder" getMode - Map hints = new EnumMap(DecodeHintType.class); + Map hints = new EnumMap<>(DecodeHintType.class); hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE); try { result = getReader().decode(bitmap, hints); diff --git a/core/src/test/java/com/google/zxing/datamatrix/DataMatrixWriterTestCase.java b/core/src/test/java/com/google/zxing/datamatrix/DataMatrixWriterTestCase.java index 4f9a10443..91be446ff 100644 --- a/core/src/test/java/com/google/zxing/datamatrix/DataMatrixWriterTestCase.java +++ b/core/src/test/java/com/google/zxing/datamatrix/DataMatrixWriterTestCase.java @@ -35,7 +35,7 @@ public final class DataMatrixWriterTestCase extends Assert { @Test public void testDataMatrixImageWriter() { - Map hints = new EnumMap(EncodeHintType.class); + Map hints = new EnumMap<>(EncodeHintType.class); hints.put(EncodeHintType.DATA_MATRIX_SHAPE, SymbolShapeHint.FORCE_SQUARE); int bigEnough = 64; @@ -49,7 +49,7 @@ public final class DataMatrixWriterTestCase extends Assert { @Test public void testDataMatrixWriter() { - Map hints = new EnumMap(EncodeHintType.class); + Map hints = new EnumMap<>(EncodeHintType.class); hints.put(EncodeHintType.DATA_MATRIX_SHAPE, SymbolShapeHint.FORCE_SQUARE); int bigEnough = 14; diff --git a/core/src/test/java/com/google/zxing/oned/rss/expanded/BitArrayBuilderTest.java b/core/src/test/java/com/google/zxing/oned/rss/expanded/BitArrayBuilderTest.java index 41d1605cc..f7955ff32 100644 --- a/core/src/test/java/com/google/zxing/oned/rss/expanded/BitArrayBuilderTest.java +++ b/core/src/test/java/com/google/zxing/oned/rss/expanded/BitArrayBuilderTest.java @@ -56,7 +56,7 @@ public final class BitArrayBuilderTest extends Assert { } private static BitArray buildBitArray(int[][] pairValues) { - List pairs = new ArrayList(); + List pairs = new ArrayList<>(); for(int i = 0; i < pairValues.length; ++i){ int [] pair = pairValues[i]; diff --git a/core/src/test/java/com/google/zxing/oned/rss/expanded/RSSExpandedInternalTestCase.java b/core/src/test/java/com/google/zxing/oned/rss/expanded/RSSExpandedInternalTestCase.java index 2443409ba..d3b1158a0 100644 --- a/core/src/test/java/com/google/zxing/oned/rss/expanded/RSSExpandedInternalTestCase.java +++ b/core/src/test/java/com/google/zxing/oned/rss/expanded/RSSExpandedInternalTestCase.java @@ -64,7 +64,7 @@ public final class RSSExpandedInternalTestCase extends Assert { BinaryBitmap binaryMap = new BinaryBitmap(new GlobalHistogramBinarizer(new BufferedImageLuminanceSource(image))); int rowNumber = binaryMap.getHeight() / 2; BitArray row = binaryMap.getBlackRow(rowNumber, null); - List previousPairs = new ArrayList(); + List previousPairs = new ArrayList<>(); RSSExpandedReader rssExpandedReader = new RSSExpandedReader(); ExpandedPair pair1 = rssExpandedReader.retrieveNextPair(row, previousPairs, rowNumber); @@ -108,7 +108,7 @@ public final class RSSExpandedInternalTestCase extends Assert { BinaryBitmap binaryMap = new BinaryBitmap(new GlobalHistogramBinarizer(new BufferedImageLuminanceSource(image))); int rowNumber = binaryMap.getHeight() / 2; BitArray row = binaryMap.getBlackRow(rowNumber, null); - List previousPairs = new ArrayList(); + List previousPairs = new ArrayList<>(); RSSExpandedReader rssExpandedReader = new RSSExpandedReader(); ExpandedPair pair1 = rssExpandedReader.retrieveNextPair(row, previousPairs, rowNumber); diff --git a/core/src/test/java/com/google/zxing/pdf417/PDF417BlackBox4TestCase.java b/core/src/test/java/com/google/zxing/pdf417/PDF417BlackBox4TestCase.java index b313581e5..55a839feb 100644 --- a/core/src/test/java/com/google/zxing/pdf417/PDF417BlackBox4TestCase.java +++ b/core/src/test/java/com/google/zxing/pdf417/PDF417BlackBox4TestCase.java @@ -63,7 +63,7 @@ public final class PDF417BlackBox4TestCase extends AbstractBlackBoxTestCase { private static final String TEST_BASE_PATH_SUFFIX = "src/test/resources/blackbox/pdf417-4"; private final PDF417Reader barcodeReader = new PDF417Reader(); - private final List testResults = new ArrayList(); + private final List testResults = new ArrayList<>(); private File testBase; public PDF417BlackBox4TestCase() { @@ -109,7 +109,7 @@ public final class PDF417BlackBox4TestCase extends AbstractBlackBoxTestCase { } for (int x = 0; x < testCount; x++) { - List results = new ArrayList(); + List results = new ArrayList<>(); for (File imageFile : testImageGroup.getValue()) { BufferedImage image = ImageIO.read(imageFile); float rotation = testResults.get(x).getRotation(); @@ -211,7 +211,7 @@ public final class PDF417BlackBox4TestCase extends AbstractBlackBoxTestCase { } private Result[] decode(BinaryBitmap source, boolean tryHarder) throws ReaderException { - Map hints = new EnumMap(DecodeHintType.class); + Map hints = new EnumMap<>(DecodeHintType.class); if (tryHarder) { hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE); } @@ -220,13 +220,13 @@ public final class PDF417BlackBox4TestCase extends AbstractBlackBoxTestCase { } private Map> getImageFileLists() { - Map> result = new HashMap>(); + Map> result = new HashMap<>(); for (File file : getImageFiles()) { String testImageFileName = file.getName(); String fileBaseName = testImageFileName.substring(0, testImageFileName.indexOf('-')); List files = result.get(fileBaseName); if (files == null) { - files = new ArrayList(); + files = new ArrayList<>(); result.put(fileBaseName, files); } files.add(file); diff --git a/core/src/test/java/com/google/zxing/qrcode/QRCodeWriterTestCase.java b/core/src/test/java/com/google/zxing/qrcode/QRCodeWriterTestCase.java index 9bc2da452..2bec69f7d 100644 --- a/core/src/test/java/com/google/zxing/qrcode/QRCodeWriterTestCase.java +++ b/core/src/test/java/com/google/zxing/qrcode/QRCodeWriterTestCase.java @@ -110,7 +110,7 @@ public final class QRCodeWriterTestCase extends Assert { BitMatrix goldenResult = createMatrixFromImage(image); assertNotNull(goldenResult); - Map hints = new EnumMap(EncodeHintType.class); + Map hints = new EnumMap<>(EncodeHintType.class); hints.put(EncodeHintType.ERROR_CORRECTION, ecLevel); QRCodeWriter writer = new QRCodeWriter(); BitMatrix generatedResult = writer.encode(contents, BarcodeFormat.QR_CODE, resolution, diff --git a/core/src/test/java/com/google/zxing/qrcode/encoder/EncoderTestCase.java b/core/src/test/java/com/google/zxing/qrcode/encoder/EncoderTestCase.java index 6f6cf94db..ab1bfffa1 100644 --- a/core/src/test/java/com/google/zxing/qrcode/encoder/EncoderTestCase.java +++ b/core/src/test/java/com/google/zxing/qrcode/encoder/EncoderTestCase.java @@ -129,7 +129,7 @@ public final class EncoderTestCase extends Assert { @Test public void testSimpleUTF8ECI() throws WriterException { - Map hints = new EnumMap(EncodeHintType.class); + Map hints = new EnumMap<>(EncodeHintType.class); hints.put(EncodeHintType.CHARACTER_SET, "UTF8"); QRCode qrCode = Encoder.encode("hello", ErrorCorrectionLevel.H, hints); String expected = diff --git a/glass-mirror/pom.xml b/glass-mirror/pom.xml index 3727517d3..969293a22 100755 --- a/glass-mirror/pom.xml +++ b/glass-mirror/pom.xml @@ -120,19 +120,6 @@ 3.0.0-SNAPSHOT - - - - org.apache.maven.plugins - maven-compiler-plugin - - 7 - 7 - - - - - ZXing Google Glass Mirror API app Experimental Barcode Scanner app for Google Glass Mirror API diff --git a/javase/pom.xml b/javase/pom.xml index a94abcb87..4090c1d03 100644 --- a/javase/pom.xml +++ b/javase/pom.xml @@ -34,19 +34,6 @@ zxing-parent 3.0.0-SNAPSHOT - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 7 - 7 - - - - ZXing Java SE extensions Java SE-specific extensions to core ZXing library diff --git a/pom.xml b/pom.xml index 6c98de846..a8fb50e31 100644 --- a/pom.xml +++ b/pom.xml @@ -105,8 +105,8 @@ maven-compiler-plugin 3.1 - 6 - 6 + 7 + 7 -Xlint:all diff --git a/zxing.appspot.com/pom.xml b/zxing.appspot.com/pom.xml index b9470d6d4..75f0a7961 100644 --- a/zxing.appspot.com/pom.xml +++ b/zxing.appspot.com/pom.xml @@ -48,14 +48,6 @@ - - org.apache.maven.plugins - maven-compiler-plugin - - 7 - 7 - - org.codehaus.mojo gwt-maven-plugin diff --git a/zxingorg/pom.xml b/zxingorg/pom.xml index 201d35765..5818119da 100644 --- a/zxingorg/pom.xml +++ b/zxingorg/pom.xml @@ -67,14 +67,6 @@ - - org.apache.maven.plugins - maven-compiler-plugin - - 7 - 7 - - org.apache.maven.plugins maven-dependency-plugin