Skip to content

Commit

Permalink
Merge pull request #3 from zxing/master
Browse files Browse the repository at this point in the history
merge zxing
  • Loading branch information
shixingxing committed Feb 17, 2016
2 parents 3b747ba + 08cd614 commit 2f53d87
Show file tree
Hide file tree
Showing 10 changed files with 71 additions and 24 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
@@ -1,6 +1,6 @@
language: java
sudo: false
script: mvn ${JACOCO} test
script: mvn -Ptravis ${JACOCO} test
matrix:
include:
# Covers Java 7, Open JDK, and code coverage
Expand Down
3 changes: 3 additions & 0 deletions README.md
@@ -1,5 +1,8 @@
<img align="right" src="https://raw.github.com/wiki/zxing/zxing/zxing-logo.png"/>

##Get Started Developing
To get started, please visit: https://github.com/zxing/zxing/wiki/Getting-Started-Developing

ZXing ("zebra crossing") is an open-source, multi-format 1D/2D barcode image processing
library implemented in Java, with ports to other languages.

Expand Down
1 change: 1 addition & 0 deletions android/AndroidManifest.xml
Expand Up @@ -25,6 +25,7 @@
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<!-- unavailable in API 23 -->
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
Expand Down
Expand Up @@ -19,7 +19,6 @@
import android.app.ListActivity;
import android.content.Intent;
import android.os.AsyncTask;
import android.provider.Browser;
import android.view.View;
import android.widget.Adapter;
import android.widget.ListView;
Expand Down Expand Up @@ -54,7 +53,7 @@ protected void onListItemClick(ListView l, View view, int position, long id) {
String packageName = ((AppInfo) adapter.getItem(position)).getPackageName();
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
intent.putExtra(Browser.BookmarkColumns.URL, "market://details?id=" + packageName);
intent.putExtra("url", "market://details?id=" + packageName); // Browser.BookmarkColumns.URL
setResult(RESULT_OK, intent);
} else {
setResult(RESULT_CANCELED);
Expand Down
Expand Up @@ -35,15 +35,14 @@ public final class BookmarkPickerActivity extends ListActivity {
private static final String TAG = BookmarkPickerActivity.class.getSimpleName();

private static final String[] BOOKMARK_PROJECTION = {
Browser.BookmarkColumns.TITLE,
Browser.BookmarkColumns.URL
"title", // Browser.BookmarkColumns.TITLE
"url", // Browser.BookmarkColumns.URL
};

static final int TITLE_COLUMN = 0;
static final int URL_COLUMN = 1;

private static final String BOOKMARK_SELECTION =
Browser.BookmarkColumns.BOOKMARK + " = 1 AND " + Browser.BookmarkColumns.URL + " IS NOT NULL";
private static final String BOOKMARK_SELECTION = "bookmark = 1 AND url IS NOT NULL";

private Cursor cursor;

Expand Down Expand Up @@ -74,8 +73,8 @@ protected void onListItemClick(ListView l, View view, int position, long id) {
if (!cursor.isClosed() && cursor.moveToPosition(position)) {
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
intent.putExtra(Browser.BookmarkColumns.TITLE, cursor.getString(TITLE_COLUMN));
intent.putExtra(Browser.BookmarkColumns.URL, cursor.getString(URL_COLUMN));
intent.putExtra("title", cursor.getString(TITLE_COLUMN)); // Browser.BookmarkColumns.TITLE
intent.putExtra("url", cursor.getString(URL_COLUMN)); // Browser.BookmarkColumns.URL
setResult(RESULT_OK, intent);
} else {
setResult(RESULT_CANCELED);
Expand Down
Expand Up @@ -16,6 +16,7 @@

package com.google.zxing.client.android.share;

import android.os.Build;
import android.provider.ContactsContract;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.client.android.Contents;
Expand All @@ -29,7 +30,6 @@
import android.net.Uri;
import android.os.Bundle;
import android.provider.BaseColumns;
import android.provider.Browser;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
Expand Down Expand Up @@ -121,7 +121,12 @@ public void onCreate(Bundle icicle) {
setContentView(R.layout.share);

findViewById(R.id.share_contact_button).setOnClickListener(contactListener);
findViewById(R.id.share_bookmark_button).setOnClickListener(bookmarkListener);
if (Build.VERSION.SDK_INT >= 23) { // Marshmallow / 6.0
// Can't access bookmarks in 6.0+
findViewById(R.id.share_bookmark_button).setEnabled(false);
} else {
findViewById(R.id.share_bookmark_button).setOnClickListener(bookmarkListener);
}
findViewById(R.id.share_app_button).setOnClickListener(appListener);
clipboardButton = findViewById(R.id.share_clipboard_button);
clipboardButton.setOnClickListener(clipboardListener);
Expand All @@ -140,7 +145,7 @@ public void onActivityResult(int requestCode, int resultCode, Intent intent) {
switch (requestCode) {
case PICK_BOOKMARK:
case PICK_APP:
showTextAsBarcode(intent.getStringExtra(Browser.BookmarkColumns.URL));
showTextAsBarcode(intent.getStringExtra("url")); // Browser.BookmarkColumns.URL
break;
case PICK_CONTACT:
// Data field is content://contacts/people/984
Expand Down
Expand Up @@ -19,6 +19,7 @@
import com.beust.jcommander.JCommander;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
Expand Down Expand Up @@ -55,7 +56,21 @@ public static void main(String[] args) throws Exception {
return;
}

List<URI> inputs = config.inputPaths;
List<URI> inputs = new ArrayList<>(config.inputPaths.size());
for (String inputPath : config.inputPaths) {
URI uri;
try {
uri = new URI(inputPath);
} catch (URISyntaxException use) {
// Assume it must be a file
if (!Files.exists(Paths.get(inputPath))) {
throw use;
}
uri = new URI("file", inputPath, null);
}
inputs.add(uri);
}

do {
inputs = retainValid(expand(inputs), config.recursive);
} while (config.recursive && isExpandable(inputs));
Expand Down
Expand Up @@ -34,6 +34,7 @@
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.StringWriter;
import java.net.URI;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
Expand Down Expand Up @@ -149,21 +150,30 @@ private Result[] decode(URI uri, Map<DecodeHintType,?> hints) throws IOException
if (config.brief) {
System.out.println(uri + ": Success");
} else {
for (Result result : results) {
StringWriter output = new StringWriter();
for (int resultIndex = 0; resultIndex < results.length; resultIndex++) {
Result result = results[resultIndex];
ParsedResult parsedResult = ResultParser.parseResult(result);
System.out.println(uri +
output.write(uri +
" (format: " + result.getBarcodeFormat() +
", type: " + parsedResult.getType() + "):\n" +
"Raw result:\n" +
result.getText() + "\n" +
"Parsed result:\n" +
parsedResult.getDisplayResult());
System.out.println("Found " + result.getResultPoints().length + " result points.");
for (int i = 0; i < result.getResultPoints().length; i++) {
ResultPoint rp = result.getResultPoints()[i];
System.out.println(" Point " + i + ": (" + rp.getX() + ',' + rp.getY() + ')');
parsedResult.getDisplayResult() + "\n");
output.write("Found " + result.getResultPoints().length + " result points.\n");
for (int pointIndex = 0; pointIndex < result.getResultPoints().length; pointIndex++) {
ResultPoint rp = result.getResultPoints()[pointIndex];
output.write(" Point " + pointIndex + ": (" + rp.getX() + ',' + rp.getY() + ')');
if (pointIndex != result.getResultPoints().length - 1) {
output.write('\n');
}
}
if (resultIndex != results.length - 1) {
output.write('\n');
}
}
System.out.println(output.toString());
}

return results;
Expand Down
Expand Up @@ -21,7 +21,6 @@
import com.google.zxing.BarcodeFormat;
import com.google.zxing.DecodeHintType;

import java.net.URI;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
Expand Down Expand Up @@ -80,7 +79,7 @@ final class DecoderConfig {
boolean help;

@Parameter(description = "(URIs to decode)", required = true, variableArity = true)
List<URI> inputPaths;
List<String> inputPaths;

Map<DecodeHintType,?> buildHints() {
List<BarcodeFormat> finalPossibleFormats = possibleFormats;
Expand Down
20 changes: 18 additions & 2 deletions pom.xml
Expand Up @@ -95,7 +95,7 @@
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.7</java.version>
<maven.version.min>3.2.1</maven.version.min>
<slf4j.version>1.7.13</slf4j.version>
<slf4j.version>1.7.14</slf4j.version>
<!-- This can't reference project.version as some subprojects version differently -->
<zxing.version>3.2.2-SNAPSHOT</zxing.version>
</properties>
Expand Down Expand Up @@ -354,7 +354,7 @@
<plugin>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>4.3.0</version>
<version>4.4.1</version>
<extensions>true</extensions>
<executions>
<execution>
Expand Down Expand Up @@ -718,6 +718,22 @@
</plugins>
</build>
</profile>
<profile>
<id>travis</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<!-- Limit memory for unit tests in Travis -->
<argLine>-Xmx512m</argLine>
<forkCount>1</forkCount>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>

</project>

0 comments on commit 2f53d87

Please sign in to comment.