mirror of
https://github.com/zxing/zxing.git
synced 2024-11-10 04:54:04 -08:00
Added a Google Shopper icon to the result buton for products and ISBNs.
git-svn-id: https://zxing.googlecode.com/svn/trunk@1492 59b500cc-1b3d-0410-9834-0bbf25fbcc57
This commit is contained in:
parent
e95e16698a
commit
63a5cd3055
|
@ -20,8 +20,8 @@ version to be published. The next versionCode will be 7, regardless of whether t
|
|||
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.4"
|
||||
android:versionCode="58"
|
||||
android:versionName="3.41 beta 1"
|
||||
android:versionCode="59"
|
||||
android:installLocation="auto">
|
||||
<!-- We require Cupcake (Android 1.5) or later, but are really targeting Donut. -->
|
||||
<uses-sdk android:minSdkVersion="3"
|
||||
|
|
BIN
android/res/drawable-hdpi/shopper_icon.png
Normal file
BIN
android/res/drawable-hdpi/shopper_icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.1 KiB |
Binary file not shown.
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 2.3 KiB |
|
@ -197,6 +197,16 @@
|
|||
android:textSize="14sp"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<Button android:id="@+id/shopper_button"
|
||||
android:layout_width="0sp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:textSize="14sp"
|
||||
android:drawableLeft="@drawable/shopper_icon"
|
||||
android:drawablePadding="4dip"
|
||||
android:text="@string/button_google_shopper"
|
||||
android:visibility="gone"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
@ -197,6 +197,15 @@
|
|||
android:textSize="14sp"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<Button android:id="@+id/shopper_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:drawableLeft="@drawable/shopper_icon"
|
||||
android:drawablePadding="4dip"
|
||||
android:text="@string/button_google_shopper"
|
||||
android:visibility="gone"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
<string name="msg_encode_barcode_failed">Could not generate the requested barcode.</string>
|
||||
<string name="msg_encode_contents_failed">Could not encode a barcode from the data provided.</string>
|
||||
<string name="msg_google_shopper_missing">Google Shopper is not installed</string>
|
||||
<string name="msg_install_google_shopper">Google Shopper combines barcode scanning with prices, reviews and more without opening the browser. Would you like to try it?</string>
|
||||
<string name="msg_install_google_shopper">Google Shopper combines barcode scanning with online and local prices, reviews and more without opening the browser. Would you like to try it?</string>
|
||||
<string name="msg_intent_failed">Sorry, the requested application could not be launched. The barcode contents may be invalid.</string>
|
||||
<string name="msg_loading_apps">Loading list of applications\u2026</string>
|
||||
<string name="msg_not_our_results">You are leaving this application. The search results you will see are not related to this application.</string>
|
||||
|
@ -126,7 +126,7 @@
|
|||
<string name="wifi_modifying_network">Modifying Network</string>
|
||||
<string name="wifi_ssid_missing">Network name missing</string>
|
||||
<string name="wifi_type_incorrect">Network type incorrect</string>
|
||||
<string name="wifi_connect_failed">Network connection failed</string>
|
||||
<string name="wifi_connect_failed">Network connection failed</string>
|
||||
<string name="wifi_ssid_label">Network Name</string>
|
||||
<string name="wifi_type_label">Type</string>
|
||||
<string name="zxing_url">http://code.google.com/p/zxing</string>
|
||||
|
|
|
@ -24,6 +24,7 @@ import com.google.zxing.client.result.ParsedResult;
|
|||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.view.View;
|
||||
|
||||
/**
|
||||
* Handles books encoded by their ISBN values.
|
||||
|
@ -35,24 +36,26 @@ public final class ISBNResultHandler extends ResultHandler {
|
|||
R.string.button_product_search,
|
||||
R.string.button_book_search,
|
||||
R.string.button_search_book_contents,
|
||||
R.string.button_google_shopper
|
||||
R.string.button_custom_product_search
|
||||
};
|
||||
|
||||
public ISBNResultHandler(Activity activity, ParsedResult result, Result rawResult) {
|
||||
super(activity, result, rawResult);
|
||||
showGoogleShopperButton(new View.OnClickListener() {
|
||||
public void onClick(View view) {
|
||||
ISBNParsedResult isbnResult = (ISBNParsedResult) getResult();
|
||||
openGoogleShopper(isbnResult.getISBN());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getButtonCount() {
|
||||
// Always show four buttons - Shopper and Custom Search are mutually exclusive.
|
||||
return buttons.length;
|
||||
return hasCustomProductSearch() ? buttons.length : buttons.length - 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getButtonText(int index) {
|
||||
if (index == buttons.length - 1 && hasCustomProductSearch()) {
|
||||
return R.string.button_custom_product_search;
|
||||
}
|
||||
return buttons[index];
|
||||
}
|
||||
|
||||
|
@ -72,11 +75,7 @@ public final class ISBNResultHandler extends ResultHandler {
|
|||
searchBookContents(isbnResult.getISBN());
|
||||
break;
|
||||
case 3:
|
||||
if (hasCustomProductSearch()) {
|
||||
openURL(fillInCustomSearchURL(isbnResult.getISBN()));
|
||||
} else {
|
||||
openGoogleShopper(isbnResult.getISBN());
|
||||
}
|
||||
openURL(fillInCustomSearchURL(isbnResult.getISBN()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@ import com.google.zxing.client.result.ProductParsedResult;
|
|||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.view.View;
|
||||
|
||||
/**
|
||||
* Handles generic products which are not books.
|
||||
|
@ -34,12 +35,17 @@ public final class ProductResultHandler extends ResultHandler {
|
|||
private static final int[] buttons = {
|
||||
R.string.button_product_search,
|
||||
R.string.button_web_search,
|
||||
R.string.button_google_shopper,
|
||||
R.string.button_custom_product_search,
|
||||
R.string.button_custom_product_search
|
||||
};
|
||||
|
||||
public ProductResultHandler(Activity activity, ParsedResult result, Result rawResult) {
|
||||
super(activity, result, rawResult);
|
||||
showGoogleShopperButton(new View.OnClickListener() {
|
||||
public void onClick(View view) {
|
||||
ProductParsedResult productResult = (ProductParsedResult) getResult();
|
||||
openGoogleShopper(productResult.getNormalizedProductID());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -65,9 +71,6 @@ public final class ProductResultHandler extends ResultHandler {
|
|||
webSearch(productResult.getNormalizedProductID());
|
||||
break;
|
||||
case 2:
|
||||
openGoogleShopper(productResult.getNormalizedProductID());
|
||||
break;
|
||||
case 3:
|
||||
openURL(fillInCustomSearchURL(productResult.getNormalizedProductID()));
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -39,6 +39,8 @@ import android.content.pm.PackageManager;
|
|||
import android.net.Uri;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.provider.Contacts;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.text.ParsePosition;
|
||||
|
@ -125,6 +127,17 @@ public abstract class ResultHandler {
|
|||
*/
|
||||
public abstract void handleButtonPress(int index);
|
||||
|
||||
/**
|
||||
* The Google Shopper button is special and is not handled by the abstract button methods above.
|
||||
*
|
||||
* @param listener The on click listener to install for this button.
|
||||
*/
|
||||
protected void showGoogleShopperButton(View.OnClickListener listener) {
|
||||
Button shopperButton = (Button) activity.findViewById(R.id.shopper_button);
|
||||
shopperButton.setVisibility(View.VISIBLE);
|
||||
shopperButton.setOnClickListener(listener);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a possibly styled string for the contents of the current barcode.
|
||||
*
|
||||
|
@ -161,7 +174,7 @@ public abstract class ResultHandler {
|
|||
* @param location a text description of the event location
|
||||
* @param description a text description of the event itself
|
||||
*/
|
||||
final void addCalendarEvent(String summary,
|
||||
final void addCalendarEvent(String summary,
|
||||
String start,
|
||||
String end,
|
||||
String location,
|
||||
|
|
Loading…
Reference in a new issue