Skip to content
This repository has been archived by the owner on Aug 11, 2020. It is now read-only.

Commit

Permalink
[android] Added Zxing Library project
Browse files Browse the repository at this point in the history
  • Loading branch information
Ryan Willoughby committed Oct 15, 2012
1 parent c432f12 commit 8421719
Show file tree
Hide file tree
Showing 307 changed files with 254,108 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
@@ -1 +1,2 @@
.DS_Store
bin/
156 changes: 156 additions & 0 deletions src/android/LibraryProject/AndroidManifest.xml
@@ -0,0 +1,156 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2008 ZXing authors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

<!-- versionCode is a monotonically increasing integer. I'm starting it at 6 because v2.3 is the 6th
version to be published. The next versionCode will be 7, regardless of whether the user-visible
versionName is 2.31, 2.4, or 3.0. -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.zxing.client.android"
android:versionName="3.61 beta 1"
android:versionCode="71"
android:installLocation="auto">
<!-- We require Cupcake (Android 1.5) or later, but are really targeting Donut. -->
<uses-sdk android:minSdkVersion="3"
android:targetSdkVersion="4"/>
<!-- Donut-specific flags which allow us to run on any dpi screens. -->
<supports-screens android:xlargeScreens="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true"/>
<!-- For Donut and above we must specify that we use the camera, but intentionally omit the
autofocus feature in order for the app to appear in Market for non-AF devices. While it's true
that 1D barcodes will not be scannable, QR Codes will work. Ideally we'd show users a message
to this effect on first launch. -->
<uses-feature android:name="android.hardware.camera"/>
<application android:icon="@drawable/launcher_icon"
android:label="@string/app_name">
<activity android:name=".CaptureActivity"
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
<intent-filter>
<action android:name="com.google.zxing.client.android.SCAN"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<!-- Allow web apps to launch Barcode Scanner by linking to http://zxing.appspot.com/scan. -->
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="http" android:host="zxing.appspot.com" android:path="/scan"/>
</intent-filter>
<!-- We also support a Google Product Search URL. -->
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="http" android:host="www.google.com" android:path="/m/products/scan"/>
</intent-filter>
<!-- And the UK version. -->
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="http" android:host="www.google.co.uk" android:path="/m/products/scan"/>
</intent-filter>
</activity>
<activity android:name=".PreferencesActivity"
android:label="@string/preferences_name">
</activity>
<activity android:name=".encode.EncodeActivity" android:label="@string/share_name">
<intent-filter>
<action android:name="com.google.zxing.client.android.ENCODE"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<!-- This allows us to handle the Share button in Contacts. -->
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/x-vcard"/>
</intent-filter>
<!-- This allows us to handle sharing any plain text . -->
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain"/>
</intent-filter>
</activity>
<activity android:name=".book.SearchBookContentsActivity"
android:label="@string/sbc_name"
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden">
<intent-filter>
<action android:name="com.google.zxing.client.android.SEARCH_BOOK_CONTENTS"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity android:name=".wifi.WifiActivity"
android:label="@string/wa_name"
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden">
</activity>
<activity android:name=".share.ShareActivity"
android:label="@string/share_name"
android:screenOrientation="user"
android:theme="@android:style/Theme.Light">
<intent-filter>
<action android:name="com.google.zxing.client.android.SHARE"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity android:name=".share.BookmarkPickerActivity"
android:label="@string/bookmark_picker_name">
<intent-filter>
<action android:name="android.intent.action.PICK"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity android:name=".share.AppPickerActivity"
android:label="@string/app_picker_name"
android:configChanges="orientation">
<intent-filter>
<action android:name="android.intent.action.PICK"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity android:name=".HelpActivity"
android:screenOrientation="user">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<!-- Wifi related -->
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

</manifest>
17 changes: 17 additions & 0 deletions src/android/LibraryProject/assets/html/about1d.html
@@ -0,0 +1,17 @@
<html>
<head>
<title>About 1D barcodes</title>
<link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<body>
<p>Traditional barcodes, such as those printed on product packaging, are also known as <em>one
dimensional barcodes</em>. There are several types commonly used, including UPC and EAN. Most look
similar to this:</p>
<p style="text-align:center"><img src="../images/big-1d.png"></p>
<p>These 1D barcodes contain a unique code which typically describes a product, like a CD or a book.
You can look this code up on the internet to find prices, reviews, and more.</p>
<p>If you scan a book, you can also search the contents of the book for a word or phrase, and find
all the pages where it appears:</p>
<center><p><img src="../images/search-book-contents.jpg"></p></center>
</body>
</html>
27 changes: 27 additions & 0 deletions src/android/LibraryProject/assets/html/about2d.html
@@ -0,0 +1,27 @@
<html>
<head>
<title>About 2D barcodes</title>
<link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<body>
<p><b>Barcode Scanner</b> also understands how to read two dimensional barcodes, like <em>QR
Codes</em> and <em>Data Matrix codes</em>.
For example, the codes below contain a hyperlink to the ZXing Project home page:</p>
<p style="text-align:center">
<img src="../images/big-qr.png" alt="QR code">
<img src="../images/big-datamatrix.png" alt="Data Matrix">
</p>
<p>You can also represent contact information in a QR Code, and put it on a business card or web
site. When you scan it, the results screen provides a choice of actions:</p>
<p style="text-align:center"><img src="../images/contact-results-screen.jpg" alt="Contact results screen"></p>
<p>Besides URLs and contact info, QR Codes can also contain:</p>
<ul>
<li>Calendar events, which you can add to your Calendar</li>
<li>Phone numbers, which you can dial</li>
<li>SMS numbers, which you can text message</li>
<li>Email addresses, which you can email</li>
<li>Geographic coordinates, which you can open in Maps</li>
<li>Plain text, which you can read, then share with a friend</li>
</ul>
</body>
</html>
21 changes: 21 additions & 0 deletions src/android/LibraryProject/assets/html/index.html
@@ -0,0 +1,21 @@
<html>
<head>
<title>Barcode Scanner Help</title>
<link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<body>
<p><b>Barcode Scanner</b> uses the camera on your phone to read barcodes and look up product
information such as prices and reviews.</p>
<p style="text-align:center"><img src="../images/scan-example.png" alt="Scan example"></p>
<p>It also reads <strong>2D barcodes</strong> such as <em>QR Codes</em> and <em>Data Matrix</em>.
These can contain links to web sites, contact information such as phone numbers and email
addresses, and more.</p>
<ul class="touchable">
<li><a href="whatsnew.html">What's new in this version</a></li>
<li><a href="scanning.html">How to scan</a></li>
<li><a href="about1d.html">About 1D barcodes</a></li>
<li><a href="about2d.html">About 2D barcodes</a></li>
<li><a href="sharing.html">How to create QR Codes</a></li>
</ul>
</body>
</html>
23 changes: 23 additions & 0 deletions src/android/LibraryProject/assets/html/scanning.html
@@ -0,0 +1,23 @@
<html>
<head>
<title>How to scan</title>
<link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<body>
<p>Barcode Scanner continuously scans a square region shown on your screen &mdash; just line up the
phone so the barcode is completely inside the viewfinder rectangle:</p>
<p style="text-align:center">
<img src="../images/demo-yes.png" alt="Yes"/>&nbsp;&nbsp;&nbsp;<img src="../images/demo-no.png" alt="No"/>
</p>
<p><b>IMPORTANT:</b> 1D barcodes like those found on products require a phone with autofocus.
Without it, only QR Codes and Data Matrix codes will be scannable.</p>
<p>When a barcode is read, a beep sound will play and you'll see the results of the scan, a
description of what the barcode contains, and options to take action on the contents.</p>
<p>If you're having trouble scanning, make sure to hold the phone steady. If the camera is unable to
focus, try moving the phone further or closer from the barcode.</p>
<ul class="touchable">
<li><a href="about1d.html">About 1D barcodes</a></li>
<li><a href="about2d.html">About 2D barcodes</a></li>
</ul>
</body>
</html>
17 changes: 17 additions & 0 deletions src/android/LibraryProject/assets/html/sharing.html
@@ -0,0 +1,17 @@
<html>
<head>
<title>How to create QR Codes</title>
<link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<body>
<p>In addition to <a href="about2d.html">scanning 2D barcodes</a>, <b>Barcode Scanner</b> can also
generate a QR Code and display it on your screen. Then you can show it to a friend, and let them
scan the barcode with their phone:</p>
<center><p><img src="../images/scan-from-phone.png" alt="Scan from phone"></p></center>
<p>To use this feature, press the Menu button from the main scanning screen, and tap Share. Then
choose whether you want to share a contact, a bookmark, an application, or the contents of the
clipboard. A QR Code will be generated automatically. When you're done, press Back or Home.</p>
<p>To generate QR Codes from your computer, try the
<a href="http://zxing.appspot.com/generator/">ZXing QR Code Generator</a>.</p>
</body>
</html>
10 changes: 10 additions & 0 deletions src/android/LibraryProject/assets/html/style.css
@@ -0,0 +1,10 @@
body {
background-color: white;
color: black;
font-family: Arial sans-serif;
font-size: 12pt;
}
ul.touchable li {
padding-top:8px;
padding-bottom:8px;
}
23 changes: 23 additions & 0 deletions src/android/LibraryProject/assets/html/whatsnew.html
@@ -0,0 +1,23 @@
<html>
<head>
<title>What's new in Barcode Scanner</title>
<link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<body>
<p><b>New in version 3.61:</b></p>
<ul>
<li>Fixed a couple of crashes.</li>
<li>Made items in the History easier to read.</li>
</ul>
<p><b>New in version 3.6:</b></p>
<ul>
<li>Added support for the Motorola Xoom and other tablets.</li>
<li>Added the ability to type in text and encode it as a QR Code.</li>
<li>Added support for many more locales for web search and product search.</li>
<li>Provided a choice of creating a new contact or merging with an existing one.</li>
<li>Allowed third party apps to specify the size of the scanning rectangle.</li>
<li>Added Hebrew translation and improved others.</li>
<li>Fixed a crash with WiFi codes.</li>
</ul>
</body>
</html>
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/android/LibraryProject/assets/images/big-qr.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions src/android/LibraryProject/build.properties
@@ -0,0 +1,16 @@
# This file is used to override default values used by the Ant build system.
#
# This file must be checked in Version Control Systems, as it is
# integral to the build system of your project.

# The name of your application package as defined in the manifest.
# Used by the 'uninstall' rule.
application-package=com.google.zxing.client.android

# The name of the source folder.
#source-folder=src

# The name of the output folder.
#out-folder=bin

external-libs-folder=external-libs

0 comments on commit 8421719

Please sign in to comment.