From 2f86c728e5953a35efe236e293a0eca48353be2a Mon Sep 17 00:00:00 2001 From: Eccenux Date: Mon, 8 Jul 2013 19:09:45 +0200 Subject: [PATCH] minor refactoring ;-) --- plugin.xml | 290 +++++++++--------- plugin.xml.generate.php | 216 +++++++++++++ src/android/LibraryProject/.gitignore | 1 + .../src/com/google/zxing/FakeR.java | 35 +++ .../zxing/client/android/BeepManager.java | 5 +- .../zxing/client/android/CaptureActivity.java | 72 +++-- .../android/CaptureActivityHandler.java | 24 +- .../zxing/client/android/DecodeHandler.java | 11 +- .../zxing/client/android/HelpActivity.java | 14 +- .../client/android/PreferencesActivity.java | 6 +- .../zxing/client/android/ViewfinderView.java | 13 +- .../book/SearchBookContentsActivity.java | 37 ++- .../book/SearchBookContentsAdapter.java | 8 +- .../book/SearchBookContentsListItem.java | 7 +- .../client/android/encode/EncodeActivity.java | 31 +- .../client/android/encode/QRCodeEncoder.java | 21 +- .../android/history/HistoryActivity.java | 23 +- .../android/history/HistoryItemAdapter.java | 15 +- .../result/AddressBookResultHandler.java | 15 +- .../android/result/CalendarResultHandler.java | 10 +- .../result/EmailAddressResultHandler.java | 11 +- .../android/result/GeoResultHandler.java | 11 +- .../android/result/ISBNResultHandler.java | 15 +- .../android/result/ProductResultHandler.java | 13 +- .../client/android/result/ResultHandler.java | 33 +- .../android/result/SMSResultHandler.java | 11 +- .../android/result/TelResultHandler.java | 11 +- .../android/result/TextResultHandler.java | 15 +- .../android/result/URIResultHandler.java | 15 +- .../android/result/WifiResultHandler.java | 10 +- .../supplement/BookResultInfoRetriever.java | 3 +- .../ProductResultInfoRetriever.java | 3 +- .../supplement/URIResultInfoRetriever.java | 3 +- .../client/android/share/BookmarkAdapter.java | 9 +- .../client/android/share/ShareActivity.java | 16 +- src/android/README.md | 74 +++++ ...e.zxing.client.android.captureactivity.jar | Bin 618164 -> 619420 bytes 37 files changed, 752 insertions(+), 355 deletions(-) create mode 100644 plugin.xml.generate.php create mode 100644 src/android/LibraryProject/.gitignore create mode 100644 src/android/LibraryProject/src/com/google/zxing/FakeR.java create mode 100644 src/android/README.md diff --git a/plugin.xml b/plugin.xml index d3b5ebb..b286894 100644 --- a/plugin.xml +++ b/plugin.xml @@ -1,5 +1,4 @@ - - @@ -94,35 +93,34 @@ search: (src/android/LibraryProject/(.+?)/[^/]+)$ replace: --> - - - - - - - - - - - - - - - + + + + - + + + + + + - - - - + + + + + + + + + @@ -152,135 +150,129 @@ + - - - Barcode Scanner - Applications - Bookmarks - Add to calendar - Add contact - Back - Book Search - Cancel - Clipboard empty - Custom search - Dial number - Done - Send email - Get directions - Google Shopper - Send MMS - OK - Open browser - Product Search - Browse book - Search contents - Application - Bookmark - Share via email - Share via SMS - Clipboard - Contact - Show map - Send SMS - Web search - Connect to Network - Contact info - Email address - Geographic coordinates - Phone number - SMS address - Plain text - Clear history - Barcode Scanner history - Send history - History - About - Help - History - Settings - Share - The official Android app of the open source ZXing barcode project. - This device has known bugs that cause barcode scanning problems. For more information, visit http://code.google.com/p/zxing/wiki/FrequentlyAskedQuestions - Bulk mode: barcode scanned and saved - Sorry, the Android camera encountered a problem. You may need to restart the device. - Contents - Format - Metadata - Hi - Place a barcode inside the viewfinder rectangle to scan it. - Time - Type - Could not generate the requested barcode. - Could not encode a barcode from the data provided. - Google Shopper is not installed - Google Shopper combines barcode scanning with online and local prices, reviews and more without opening the browser. Would you like to try it? - Sorry, the requested application could not be launched. The barcode contents may be invalid. - Loading list of applications\u2026 - You are leaving this application. The search results you will see are not related to this application. - Redirect - Sorry, this book is not searchable. - Sorry, the search encountered a problem. - No page returned - Page - Searching book\u2026 - Snippet not available - Unknown page - You can share data by displaying a barcode on your screen and scanning it with another phone. - Here are the contents of a barcode I scanned - Or type some text and press Enter - Sorry, the SD card is not accessible. - When a barcode is found\u2026 - Scan and save many barcodes continuously - Bulk scan mode - Copy to clipboard - Use %s as a placeholder for the product ID, and %f for format - Custom search URL - 1D barcodes - Data Matrix - QR Codes - Improves scanning in low light on some phones, but may cause glare. Does not work on all phones. - Use front light - General settings - Settings - Beep - Store multiple scans of the same barcode in History - Remember duplicates - Enable on devices with a front camera only - Reversed camera image - Result settings - When scanning for barcodes, decode\u2026 - Try to retrieve more information about the barcode contents - Retrieve more info - Vibrate - Found contact info - Found calendar event - Found email address - Found geographic coordinates - Found book - Found product - Found SMS address - Found phone number - Found plain text - Found URL - Found WLAN Configuration - Google Book Search - Share via barcode - Barcode Scanner v - WLAN Connection - Changing Network - Connected - Creating Network - Modifying Network - Network name missing - Network type incorrect - Network connection failed - Network Name - Type - http://code.google.com/p/zxing + Applications + Bookmarks + Add to calendar + Add contact + Back + Book Search + Cancel + Custom search + Dial number + Done + Send email + Get directions + Shopper + Send MMS + OK + Open browser + Product Search + Search contents + Application + Bookmark + Share via email + Share via SMS + Clipboard + Contact + Show map + Send SMS + Web search + Connect to Network + Contact info + Email address + Geographic coordinates + Phone number + SMS address + Plain text + Clear history + Clear + Barcode Scanner history + Empty + No barcode scans have been recorded + Send history + History + Use MECARD + Use vCard + Help + History + Share + Bulk mode: barcode scanned and saved + Sorry, the Android camera encountered a problem. You may need to restart the device. + Format + Metadata + Hi + Place a barcode inside the viewfinder rectangle to scan it. + Time + Type + Could not encode a barcode from the data provided. + Google Books + Google Product Search + Google Shopper is not installed + Google Shopper combines barcode scanning with online and local prices, reviews and more without opening the browser. Would you like to try it? + Sorry, the requested application could not be launched. The barcode contents may be invalid. + Redirect + Sorry, this book is not searchable. + Sorry, the search encountered a problem. + No page returned + Page + Results + Searching book\u2026 + Snippet not available + Unknown page + You can share data by displaying a barcode on your screen and scanning it with another phone. + Here are the contents of a barcode I scanned + Or type some text and press Enter + Are you sure? + Sorry, the SD card is not accessible. + When a barcode is found\u2026 + Use auto focus + Scan and save many barcodes continuously + Bulk scan mode + Copy to clipboard + Substitutions: %s = contents, %f = format, %t = type + Custom search URL + 1D barcodes + Data Matrix + QR Codes + Device Bug Workarounds + Use only standard focus mode + No continuous focus + No exposure + Improves scanning in low light on some phones, but may cause glare. Does not work on all phones. + Use front light + General settings + Settings + Beep + Store multiple scans of the same barcode in History + Remember duplicates + Result settings + When scanning for barcodes, decode\u2026 + Search country + Try Barcode Scanner+ + Enhanced with new features and interface + Try to retrieve more information about the barcode contents + Retrieve more info + Vibrate + Found contact info + Found calendar event + Found email address + Found geographic coordinates + Found book + Found product + Found SMS address + Found phone number + Found plain text + Found URL + Found WLAN Configuration + Google Book Search + Share via barcode + Requesting connection to network\u2026 + Network Name + Type - --> diff --git a/plugin.xml.generate.php b/plugin.xml.generate.php new file mode 100644 index 0000000..509267f --- /dev/null +++ b/plugin.xml.generate.php @@ -0,0 +1,216 @@ +basePath. + * @param string $parent Parent element from which to get children. + * @param array $options + *
  • ident - ident chanracters. + *
  • ignorePattern - pattern that will be matched to XML. + * @return string + */ + public function getXml($xmlFilePath, $parent, $options=array()) + { + if (!isset($options['indent'])) + { + $options['indent'] = ""; + } + + $contents = ""; + $filePath = $this->basePath . $xmlFilePath; + if (!file_exists($filePath)) + { + $this->perror("File $filePath does not exist"); + return $contents; + } + + $xml = file_get_contents($this->basePath . $xmlFilePath); + $document = new SimpleXMLElement($xml); + $els = $document->xpath($parent); + if (!empty($els)) + { + $rootNode = $els[0]; + foreach ($rootNode->children() as $child) + { + $childContent = $child->asXML(); + if (isset($options['ignorePattern']) && preg_match($options['ignorePattern'], $childContent)) + { + $this->perror("\nignored $childContent"); + continue; + } + $contents .= "\n" . $options['indent'] . $childContent; + } + $contents = ltrim ($contents) . "\n"; + return $contents; + } + else + { + $this->perror("Path $parent not found in $xmlFilePath"); + return $contents; + } + } + + /** + * Generate source-file tags to copy all resources from given dir. + * + * @param type $dir Dir path relative to $this->basePath. + * @param array $options + *
  • ident - ident chanracters. + */ + public function sourceFiles($dir, $options=array()) + { + //ob_end_clean(); + + if (!isset($options['indent'])) + { + $options['indent'] = ""; + } + $path = $this->basePath . $dir; + + $it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)); + while($it->valid()) + { + if (!$it->isDot()) + { + $filename = strtr($it->key(), '\\', '/'); + if (isset($options['ignorePattern']) && preg_match($options['ignorePattern'], $filename)) + { + $this->perror("\nignored $filename"); + $it->next(); + continue; + } + + $targetDir = preg_replace('#.+LibraryProject/(.+?)/[^/]+$#', '$1', $filename); + echo "\n{$options['indent']}"; + } + $it->next(); + } + + echo "\n"; + //exit; + } + } + + // init + $pluginHelper = new PluginHelper(); + + ob_start(); + echo ''; +?> + + + BarcodeScanner + + Scans Barcodes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sourceFiles("res", array('indent'=>"\t\t", 'ignorePattern' => '#values/strings.xml#')); + ?> + + + + getXml('res/values/strings.xml', "/resources", array('ignorePattern' => '/name="(app_name|menu_settings)"/', 'indent' => "\t\t\t"))?> + + + + \ No newline at end of file diff --git a/src/android/LibraryProject/.gitignore b/src/android/LibraryProject/.gitignore new file mode 100644 index 0000000..19ed728 --- /dev/null +++ b/src/android/LibraryProject/.gitignore @@ -0,0 +1 @@ +/libs diff --git a/src/android/LibraryProject/src/com/google/zxing/FakeR.java b/src/android/LibraryProject/src/com/google/zxing/FakeR.java new file mode 100644 index 0000000..b350868 --- /dev/null +++ b/src/android/LibraryProject/src/com/google/zxing/FakeR.java @@ -0,0 +1,35 @@ +package com.google.zxing; + +import android.app.Activity; +import android.content.Context; + +/** + * R replacement for PhoneGap Build. + * + * ([^.\w])R\.(\w+)\.(\w+) + * $1fakeR("$2", "$3") + * + * @author Maciej Nux Jaros + */ +public class FakeR { + private Context context; + private String packageName; + + public FakeR(Activity activity) { + context = activity.getApplicationContext(); + packageName = context.getPackageName(); + } + + public FakeR(Context context) { + this.context = context; + packageName = context.getPackageName(); + } + + public int getId(String group, String key) { + return context.getResources().getIdentifier(key, group, packageName); + } + + public static int getId(Context context, String group, String key) { + return context.getResources().getIdentifier(key, group, context.getPackageName()); + } +} diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/BeepManager.java b/src/android/LibraryProject/src/com/google/zxing/client/android/BeepManager.java index d6ae094..52cd820 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/BeepManager.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/BeepManager.java @@ -25,6 +25,7 @@ import android.media.MediaPlayer; import android.os.Vibrator; import android.preference.PreferenceManager; import android.util.Log; +import com.google.zxing.FakeR; import java.io.IOException; @@ -43,7 +44,9 @@ final class BeepManager { private boolean playBeep; private boolean vibrate; + private static FakeR fakeR; BeepManager(Activity activity) { + fakeR = new FakeR(activity); this.activity = activity; this.mediaPlayer = null; updatePrefs(); @@ -94,7 +97,7 @@ final class BeepManager { } }); - AssetFileDescriptor file = activity.getResources().openRawResourceFd(R.raw.beep); + AssetFileDescriptor file = activity.getResources().openRawResourceFd(fakeR.getId("raw", "beep")); try { mediaPlayer.setDataSource(file.getFileDescriptor(), file.getStartOffset(), file.getLength()); file.close(); diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/CaptureActivity.java b/src/android/LibraryProject/src/com/google/zxing/client/android/CaptureActivity.java index 624bfb4..30d2447 100755 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/CaptureActivity.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/CaptureActivity.java @@ -61,6 +61,7 @@ import android.view.WindowManager; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; +import com.google.zxing.FakeR; import java.io.IOException; import java.io.UnsupportedEncodingException; @@ -81,6 +82,7 @@ import java.util.Set; * @author Sean Owen */ public final class CaptureActivity extends Activity implements SurfaceHolder.Callback { + private static FakeR fakeR; private static final String TAG = CaptureActivity.class.getSimpleName(); @@ -138,9 +140,11 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal public void onCreate(Bundle icicle) { super.onCreate(icicle); + fakeR = new FakeR(this); + Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); - setContentView(R.layout.capture); + setContentView(fakeR.getId("layout", "capture")); hasSurface = false; historyManager = new HistoryManager(this); @@ -148,9 +152,9 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal inactivityTimer = new InactivityTimer(this); beepManager = new BeepManager(this); - PreferenceManager.setDefaultValues(this, R.xml.preferences, false); + PreferenceManager.setDefaultValues(this, fakeR.getId("xml", "preferences"), false); - showHelpOnFirstLaunch(); + //showHelpOnFirstLaunch(); } @Override @@ -163,18 +167,18 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal // off screen. cameraManager = new CameraManager(getApplication()); - viewfinderView = (ViewfinderView) findViewById(R.id.viewfinder_view); + viewfinderView = (ViewfinderView) findViewById(fakeR.getId("id", "viewfinder_view")); viewfinderView.setCameraManager(cameraManager); - resultView = findViewById(R.id.result_view); - statusView = (TextView) findViewById(R.id.status_view); + resultView = findViewById(fakeR.getId("id", "result_view")); + statusView = (TextView) findViewById(fakeR.getId("id", "status_view")); handler = null; lastResult = null; resetStatusView(); - SurfaceView surfaceView = (SurfaceView) findViewById(R.id.preview_view); + SurfaceView surfaceView = (SurfaceView) findViewById(fakeR.getId("id", "preview_view")); SurfaceHolder surfaceHolder = surfaceView.getHolder(); if (hasSurface) { // The activity was paused but not stopped, so the surface still exists. Therefore @@ -273,7 +277,7 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal inactivityTimer.onPause(); cameraManager.closeDriver(); if (!hasSurface) { - SurfaceView surfaceView = (SurfaceView) findViewById(R.id.preview_view); + SurfaceView surfaceView = (SurfaceView) findViewById(fakeR.getId("id", "preview_view")); SurfaceHolder surfaceHolder = surfaceView.getHolder(); surfaceHolder.removeCallback(this); } @@ -318,7 +322,7 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater menuInflater = getMenuInflater(); - menuInflater.inflate(R.menu.capture, menu); + menuInflater.inflate(fakeR.getId("menu", "capture"), menu); return super.onCreateOptionsMenu(menu); } @@ -327,16 +331,16 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal Intent intent = new Intent(Intent.ACTION_VIEW); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); int itemId = item.getItemId(); - if (itemId == R.id.menu_share) { + if (itemId == fakeR.getId("id", "menu_share")) { intent.setClassName(this, ShareActivity.class.getName()); startActivity(intent); - } else if (itemId == R.id.menu_history) { + } else if (itemId == fakeR.getId("id", "menu_history")) { intent.setClassName(this, HistoryActivity.class.getName()); startActivityForResult(intent, HISTORY_REQUEST_CODE); - } else if (itemId == R.id.menu_settings) { + } else if (itemId == fakeR.getId("id", "menu_settings")) { intent.setClassName(this, PreferencesActivity.class.getName()); startActivity(intent); - } else if (itemId == R.id.menu_help) { + } else if (itemId == fakeR.getId("id", "menu_help")) { intent.setClassName(this, HelpActivity.class.getName()); startActivity(intent); } else { @@ -367,7 +371,7 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal savedResultToShow = result; } if (savedResultToShow != null) { - Message message = Message.obtain(handler, R.id.decode_succeeded, savedResultToShow); + Message message = Message.obtain(handler, fakeR.getId("id", "decode_succeeded"), savedResultToShow); handler.sendMessage(message); } savedResultToShow = null; @@ -429,7 +433,7 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal case NONE: SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); if (fromLiveScan && prefs.getBoolean(PreferencesActivity.KEY_BULK_MODE, false)) { - String message = getResources().getString(R.string.msg_bulk_mode_scanned) + String message = getResources().getString(fakeR.getId("string", "msg_bulk_mode_scanned")) + " (" + rawResult.getText() + ')'; Toast.makeText(this, message, Toast.LENGTH_SHORT).show(); // Wait a moment or else it will scan the same barcode continuously about 3 times @@ -452,7 +456,7 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal if (points != null && points.length > 0) { Canvas canvas = new Canvas(barcode); Paint paint = new Paint(); - paint.setColor(getResources().getColor(R.color.result_points)); + paint.setColor(getResources().getColor(fakeR.getId("color", "result_points"))); if (points.length == 2) { paint.setStrokeWidth(4.0f); drawLine(canvas, paint, points[0], points[1]); @@ -481,28 +485,28 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal viewfinderView.setVisibility(View.GONE); resultView.setVisibility(View.VISIBLE); - ImageView barcodeImageView = (ImageView) findViewById(R.id.barcode_image_view); + ImageView barcodeImageView = (ImageView) findViewById(fakeR.getId("id", "barcode_image_view")); if (barcode == null) { barcodeImageView.setImageBitmap(BitmapFactory.decodeResource(getResources(), - R.drawable.launcher_icon)); + fakeR.getId("drawable", "launcher_icon"))); } else { barcodeImageView.setImageBitmap(barcode); } - TextView formatTextView = (TextView) findViewById(R.id.format_text_view); + TextView formatTextView = (TextView) findViewById(fakeR.getId("id", "format_text_view")); formatTextView.setText(rawResult.getBarcodeFormat().toString()); - TextView typeTextView = (TextView) findViewById(R.id.type_text_view); + TextView typeTextView = (TextView) findViewById(fakeR.getId("id", "type_text_view")); typeTextView.setText(resultHandler.getType().toString()); DateFormat formatter = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); String formattedTime = formatter.format(new Date(rawResult.getTimestamp())); - TextView timeTextView = (TextView) findViewById(R.id.time_text_view); + TextView timeTextView = (TextView) findViewById(fakeR.getId("id", "time_text_view")); timeTextView.setText(formattedTime); - TextView metaTextView = (TextView) findViewById(R.id.meta_text_view); - View metaTextViewLabel = findViewById(R.id.meta_text_view_label); + TextView metaTextView = (TextView) findViewById(fakeR.getId("id", "meta_text_view")); + View metaTextViewLabel = findViewById(fakeR.getId("id", "meta_text_view_label")); metaTextView.setVisibility(View.GONE); metaTextViewLabel.setVisibility(View.GONE); Map metadata = rawResult.getResultMetadata(); @@ -521,14 +525,14 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal } } - TextView contentsTextView = (TextView) findViewById(R.id.contents_text_view); + TextView contentsTextView = (TextView) findViewById(fakeR.getId("id", "contents_text_view")); CharSequence displayContents = resultHandler.getDisplayContents(); contentsTextView.setText(displayContents); // Crudely scale betweeen 22 and 32 -- bigger font for shorter text int scaledSize = Math.max(22, 32 - displayContents.length() / 4); contentsTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, scaledSize); - TextView supplementTextView = (TextView) findViewById(R.id.contents_supplement_text_view); + TextView supplementTextView = (TextView) findViewById(fakeR.getId("id", "contents_supplement_text_view")); supplementTextView.setText(""); supplementTextView.setOnClickListener(null); if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean( @@ -540,7 +544,7 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal } int buttonCount = resultHandler.getButtonCount(); - ViewGroup buttonView = (ViewGroup) findViewById(R.id.result_button_view); + ViewGroup buttonView = (ViewGroup) findViewById(fakeR.getId("id", "result_button_view")); buttonView.requestFocus(); for (int x = 0; x < ResultHandler.MAX_BUTTON_COUNT; x++) { TextView button = (TextView) buttonView.getChildAt(x); @@ -625,7 +629,7 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal } } } - sendReplyMessage(R.id.return_scan_result, intent, resultDurationMS); + sendReplyMessage(fakeR.getId("id", "return_scan_result"), intent, resultDurationMS); } else if (source == IntentSource.PRODUCT_SEARCH_LINK) { @@ -633,7 +637,7 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal // TLD as the scan URL. int end = sourceUrl.lastIndexOf("/scan"); String replyURL = sourceUrl.substring(0, end) + "?q=" + resultHandler.getDisplayContents() + "&source=zxing"; - sendReplyMessage(R.id.launch_product_query, replyURL, resultDurationMS); + sendReplyMessage(fakeR.getId("id", "launch_product_query"), replyURL, resultDurationMS); } else if (source == IntentSource.ZXING_LINK) { @@ -647,7 +651,7 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal // can't happen; UTF-8 is always supported. Continue, I guess, without encoding } String replyURL = returnUrlTemplate.replace(RETURN_CODE_PLACEHOLDER, codeReplacement); - sendReplyMessage(R.id.launch_product_query, replyURL, resultDurationMS); + sendReplyMessage(fakeR.getId("id", "launch_product_query"), replyURL, resultDurationMS); } } @@ -717,23 +721,23 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal private void displayFrameworkBugMessageAndExit() { AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setTitle(getString(R.string.app_name)); - builder.setMessage(getString(R.string.msg_camera_framework_bug)); - builder.setPositiveButton(R.string.button_ok, new FinishListener(this)); + builder.setTitle(getString(fakeR.getId("string", "app_name"))); + builder.setMessage(getString(fakeR.getId("string", "msg_camera_framework_bug"))); + builder.setPositiveButton(fakeR.getId("string", "button_ok"), new FinishListener(this)); builder.setOnCancelListener(new FinishListener(this)); builder.show(); } public void restartPreviewAfterDelay(long delayMS) { if (handler != null) { - handler.sendEmptyMessageDelayed(R.id.restart_preview, delayMS); + handler.sendEmptyMessageDelayed(fakeR.getId("id", "restart_preview"), delayMS); } resetStatusView(); } private void resetStatusView() { resultView.setVisibility(View.GONE); - statusView.setText(R.string.msg_default_status); + statusView.setText(fakeR.getId("string", "msg_default_status")); statusView.setVisibility(View.VISIBLE); viewfinderView.setVisibility(View.VISIBLE); lastResult = null; diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/CaptureActivityHandler.java b/src/android/LibraryProject/src/com/google/zxing/client/android/CaptureActivityHandler.java index b5acf83..31078d2 100755 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/CaptureActivityHandler.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/CaptureActivityHandler.java @@ -32,6 +32,7 @@ import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; +import com.google.zxing.FakeR; import java.util.Collection; @@ -55,10 +56,13 @@ public final class CaptureActivityHandler extends Handler { DONE } + private static FakeR fakeR; + CaptureActivityHandler(CaptureActivity activity, Collection decodeFormats, String characterSet, CameraManager cameraManager) { + fakeR = new FakeR(activity); this.activity = activity; decodeThread = new DecodeThread(activity, decodeFormats, characterSet, new ViewfinderResultPointCallback(activity.getViewfinderView())); @@ -73,25 +77,25 @@ public final class CaptureActivityHandler extends Handler { @Override public void handleMessage(Message message) { - if (message.what == R.id.restart_preview) { + if (message.what == fakeR.getId("id", "restart_preview")) { Log.d(TAG, "Got restart preview message"); restartPreviewAndDecode(); - } else if (message.what == R.id.decode_succeeded) { + } else if (message.what == fakeR.getId("id", "decode_succeeded")) { Log.d(TAG, "Got decode succeeded message"); state = State.SUCCESS; Bundle bundle = message.getData(); Bitmap barcode = bundle == null ? null : (Bitmap) bundle.getParcelable(DecodeThread.BARCODE_BITMAP); activity.handleDecode((Result) message.obj, barcode); - } else if (message.what == R.id.decode_failed) { + } else if (message.what == fakeR.getId("id", "decode_failed")) { // We're decoding as fast as possible, so when one decode fails, start another. state = State.PREVIEW; - cameraManager.requestPreviewFrame(decodeThread.getHandler(), R.id.decode); - } else if (message.what == R.id.return_scan_result) { + cameraManager.requestPreviewFrame(decodeThread.getHandler(), fakeR.getId("id", "decode")); + } else if (message.what == fakeR.getId("id", "return_scan_result")) { Log.d(TAG, "Got return scan result message"); activity.setResult(Activity.RESULT_OK, (Intent) message.obj); activity.finish(); - } else if (message.what == R.id.launch_product_query) { + } else if (message.what == fakeR.getId("id", "launch_product_query")) { Log.d(TAG, "Got product query message"); String url = (String) message.obj; Intent intent = new Intent(Intent.ACTION_VIEW); @@ -121,7 +125,7 @@ public final class CaptureActivityHandler extends Handler { public void quitSynchronously() { state = State.DONE; cameraManager.stopPreview(); - Message quit = Message.obtain(decodeThread.getHandler(), R.id.quit); + Message quit = Message.obtain(decodeThread.getHandler(), fakeR.getId("id", "quit")); quit.sendToTarget(); try { // Wait at most half a second; should be enough time, and onPause() will timeout quickly @@ -131,14 +135,14 @@ public final class CaptureActivityHandler extends Handler { } // Be absolutely sure we don't send any queued up messages - removeMessages(R.id.decode_succeeded); - removeMessages(R.id.decode_failed); + removeMessages(fakeR.getId("id", "decode_succeeded")); + removeMessages(fakeR.getId("id", "decode_failed")); } private void restartPreviewAndDecode() { if (state == State.SUCCESS) { state = State.PREVIEW; - cameraManager.requestPreviewFrame(decodeThread.getHandler(), R.id.decode); + cameraManager.requestPreviewFrame(decodeThread.getHandler(), fakeR.getId("id", "decode")); activity.drawViewfinder(); } } diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/DecodeHandler.java b/src/android/LibraryProject/src/com/google/zxing/client/android/DecodeHandler.java index 33866d6..e69073a 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/DecodeHandler.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/DecodeHandler.java @@ -31,6 +31,7 @@ import android.os.Handler; import android.os.Looper; import android.os.Message; import android.util.Log; +import com.google.zxing.FakeR; import java.util.Map; @@ -42,7 +43,9 @@ final class DecodeHandler extends Handler { private final MultiFormatReader multiFormatReader; private boolean running = true; + private static FakeR fakeR; DecodeHandler(CaptureActivity activity, Map hints) { + fakeR = new FakeR(activity); multiFormatReader = new MultiFormatReader(); multiFormatReader.setHints(hints); this.activity = activity; @@ -53,9 +56,9 @@ final class DecodeHandler extends Handler { if (!running) { return; } - if (message.what == R.id.decode) { + if (message.what == fakeR.getId("id", "decode")) { decode((byte[]) message.obj, message.arg1, message.arg2); - } else if (message.what == R.id.quit) { + } else if (message.what == fakeR.getId("id", "quit")) { running = false; Looper.myLooper().quit(); } @@ -90,7 +93,7 @@ final class DecodeHandler extends Handler { long end = System.currentTimeMillis(); Log.d(TAG, "Found barcode in " + (end - start) + " ms"); if (handler != null) { - Message message = Message.obtain(handler, R.id.decode_succeeded, rawResult); + Message message = Message.obtain(handler, fakeR.getId("id", "decode_succeeded"), rawResult); Bundle bundle = new Bundle(); Bitmap grayscaleBitmap = toBitmap(source, source.renderCroppedGreyscaleBitmap()); bundle.putParcelable(DecodeThread.BARCODE_BITMAP, grayscaleBitmap); @@ -99,7 +102,7 @@ final class DecodeHandler extends Handler { } } else { if (handler != null) { - Message message = Message.obtain(handler, R.id.decode_failed); + Message message = Message.obtain(handler, fakeR.getId("id", "decode_failed")); message.sendToTarget(); } } diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/HelpActivity.java b/src/android/LibraryProject/src/com/google/zxing/client/android/HelpActivity.java index cb145cc..61dc048 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/HelpActivity.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/HelpActivity.java @@ -25,6 +25,7 @@ import android.view.KeyEvent; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Button; +import com.google.zxing.FakeR; /** * An HTML-based help screen with Back and Done buttons at the bottom. @@ -46,6 +47,8 @@ public final class HelpActivity extends Activity { private WebView webView; private Button backButton; + private static FakeR fakeR; + private final Button.OnClickListener backListener = new Button.OnClickListener() { @Override public void onClick(View view) { @@ -63,9 +66,12 @@ public final class HelpActivity extends Activity { @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); - setContentView(R.layout.help); - webView = (WebView)findViewById(R.id.help_contents); + fakeR = new FakeR(this); + + setContentView(fakeR.getId("layout", "help")); + + webView = (WebView)findViewById(fakeR.getId("id", "help_contents")); webView.setWebViewClient(new HelpClient()); // Froyo has a bug with calling onCreate() twice in a row, which causes the What's New page @@ -85,9 +91,9 @@ public final class HelpActivity extends Activity { webView.loadUrl(BASE_URL + DEFAULT_PAGE); } - backButton = (Button) findViewById(R.id.back_button); + backButton = (Button) findViewById(fakeR.getId("id", "back_button")); backButton.setOnClickListener(backListener); - View doneButton = findViewById(R.id.done_button); + View doneButton = findViewById(fakeR.getId("id", "done_button")); doneButton.setOnClickListener(doneListener); } diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/PreferencesActivity.java b/src/android/LibraryProject/src/com/google/zxing/client/android/PreferencesActivity.java index e81512b..95b840c 100755 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/PreferencesActivity.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/PreferencesActivity.java @@ -22,6 +22,7 @@ import android.os.Bundle; import android.preference.CheckBoxPreference; import android.preference.PreferenceActivity; import android.preference.PreferenceScreen; +import com.google.zxing.FakeR; import java.util.ArrayList; import java.util.Collection; @@ -58,10 +59,13 @@ public final class PreferencesActivity extends PreferenceActivity private CheckBoxPreference decodeQR; private CheckBoxPreference decodeDataMatrix; + private static FakeR fakeR; + @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); - addPreferencesFromResource(R.xml.preferences); + fakeR = new FakeR(this); + addPreferencesFromResource(fakeR.getId("xml", "preferences")); PreferenceScreen preferences = getPreferenceScreen(); preferences.getSharedPreferences().registerOnSharedPreferenceChangeListener(this); diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/ViewfinderView.java b/src/android/LibraryProject/src/com/google/zxing/client/android/ViewfinderView.java index 050fd58..86864be 100755 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/ViewfinderView.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/ViewfinderView.java @@ -27,6 +27,7 @@ import android.graphics.Paint; import android.graphics.Rect; import android.util.AttributeSet; import android.view.View; +import com.google.zxing.FakeR; import java.util.ArrayList; import java.util.List; @@ -56,17 +57,21 @@ public final class ViewfinderView extends View { private List possibleResultPoints; private List lastPossibleResultPoints; + private static FakeR fakeR; + // This constructor is used when the class is built from an XML resource. public ViewfinderView(Context context, AttributeSet attrs) { super(context, attrs); + fakeR = new FakeR(context); + // Initialize these once for performance rather than calling them every time in onDraw(). paint = new Paint(Paint.ANTI_ALIAS_FLAG); Resources resources = getResources(); - maskColor = resources.getColor(R.color.viewfinder_mask); - resultColor = resources.getColor(R.color.result_view); - laserColor = resources.getColor(R.color.viewfinder_laser); - resultPointColor = resources.getColor(R.color.possible_result_points); + maskColor = resources.getColor(fakeR.getId("color", "viewfinder_mask")); + resultColor = resources.getColor(fakeR.getId("color", "result_view")); + laserColor = resources.getColor(fakeR.getId("color", "viewfinder_laser")); + resultPointColor = resources.getColor(fakeR.getId("color", "possible_result_points")); scannerAlpha = 0; possibleResultPoints = new ArrayList(5); lastPossibleResultPoints = null; diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/book/SearchBookContentsActivity.java b/src/android/LibraryProject/src/com/google/zxing/client/android/book/SearchBookContentsActivity.java index 04c76d5..af9c7b1 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/book/SearchBookContentsActivity.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/book/SearchBookContentsActivity.java @@ -30,6 +30,7 @@ import android.widget.Button; import android.widget.EditText; import android.widget.ListView; import android.widget.TextView; +import com.google.zxing.FakeR; import org.json.JSONArray; import org.json.JSONException; @@ -96,10 +97,14 @@ public final class SearchBookContentsActivity extends Activity { return isbn; } + private static FakeR fakeR; + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); + fakeR = new FakeR(this); + // Make sure that expired cookies are removed on launch. CookieSyncManager.createInstance(this); CookieManager.getInstance().removeExpiredCookie(); @@ -112,13 +117,13 @@ public final class SearchBookContentsActivity extends Activity { isbn = intent.getStringExtra(Intents.SearchBookContents.ISBN); if (LocaleManager.isBookSearchUrl(isbn)) { - setTitle(getString(R.string.sbc_name)); + setTitle(getString(fakeR.getId("string", "sbc_name"))); } else { - setTitle(getString(R.string.sbc_name) + ": ISBN " + isbn); + setTitle(getString(fakeR.getId("string", "sbc_name")) + ": ISBN " + isbn); } - setContentView(R.layout.search_book_contents); - queryTextView = (EditText) findViewById(R.id.query_text_view); + setContentView(fakeR.getId("layout", "search_book_contents")); + queryTextView = (EditText) findViewById(fakeR.getId("id", "query_text_view")); String initialQuery = intent.getStringExtra(Intents.SearchBookContents.QUERY); if (initialQuery != null && initialQuery.length() > 0) { @@ -127,12 +132,12 @@ public final class SearchBookContentsActivity extends Activity { } queryTextView.setOnKeyListener(keyListener); - queryButton = (Button) findViewById(R.id.query_button); + queryButton = (Button) findViewById(fakeR.getId("id", "query_button")); queryButton.setOnClickListener(buttonListener); - resultListView = (ListView) findViewById(R.id.result_list_view); + resultListView = (ListView) findViewById(fakeR.getId("id", "result_list_view")); LayoutInflater factory = LayoutInflater.from(this); - headerView = (TextView) factory.inflate(R.layout.search_book_contents_header, + headerView = (TextView) factory.inflate(fakeR.getId("layout", "search_book_contents_header"), resultListView, false); resultListView.addHeaderView(headerView); } @@ -162,7 +167,7 @@ public final class SearchBookContentsActivity extends Activity { } networkTask = new NetworkTask(); taskExec.execute(networkTask, query, isbn); - headerView.setText(R.string.msg_sbc_searching_book); + headerView.setText(fakeR.getId("string", "msg_sbc_searching_book")); resultListView.setAdapter(null); queryTextView.setEnabled(false); queryButton.setEnabled(false); @@ -201,7 +206,7 @@ public final class SearchBookContentsActivity extends Activity { @Override protected void onPostExecute(JSONObject result) { if (result == null) { - headerView.setText(R.string.msg_sbc_failed); + headerView.setText(fakeR.getId("string", "msg_sbc_failed")); } else { handleSearchResults(result); } @@ -215,7 +220,7 @@ public final class SearchBookContentsActivity extends Activity { private void handleSearchResults(JSONObject json) { try { int count = json.getInt("number_of_results"); - headerView.setText(getString(R.string.msg_sbc_results) + " : " + count); + headerView.setText(getString(fakeR.getId("string", "msg_sbc_results")) + " : " + count); if (count > 0) { JSONArray results = json.getJSONArray("search_results"); SearchBookContentsResult.setQuery(queryTextView.getText().toString()); @@ -228,14 +233,14 @@ public final class SearchBookContentsActivity extends Activity { } else { String searchable = json.optString("searchable"); if ("false".equals(searchable)) { - headerView.setText(R.string.msg_sbc_book_not_searchable); + headerView.setText(fakeR.getId("string", "msg_sbc_book_not_searchable")); } resultListView.setAdapter(null); } } catch (JSONException e) { Log.w(TAG, "Bad JSON from book search", e); resultListView.setAdapter(null); - headerView.setText(R.string.msg_sbc_failed); + headerView.setText(fakeR.getId("string", "msg_sbc_failed")); } } @@ -245,10 +250,10 @@ public final class SearchBookContentsActivity extends Activity { String pageId = json.getString("page_id"); String pageNumber = json.getString("page_number"); if (pageNumber.length() > 0) { - pageNumber = getString(R.string.msg_sbc_page) + ' ' + pageNumber; + pageNumber = getString(fakeR.getId("string", "msg_sbc_page")) + ' ' + pageNumber; } else { // This can happen for text on the jacket, and possibly other reasons. - pageNumber = getString(R.string.msg_sbc_unknown_page); + pageNumber = getString(fakeR.getId("string", "msg_sbc_unknown_page")); } // Remove all HTML tags and encoded characters. Ideally the server would do this. @@ -261,13 +266,13 @@ public final class SearchBookContentsActivity extends Activity { snippet = QUOTE_ENTITY_PATTERN.matcher(snippet).replaceAll("'"); snippet = QUOT_ENTITY_PATTERN.matcher(snippet).replaceAll("\""); } else { - snippet = '(' + getString(R.string.msg_sbc_snippet_unavailable) + ')'; + snippet = '(' + getString(fakeR.getId("string", "msg_sbc_snippet_unavailable")) + ')'; valid = false; } return new SearchBookContentsResult(pageId, pageNumber, snippet, valid); } catch (JSONException e) { // Never seen in the wild, just being complete. - return new SearchBookContentsResult(getString(R.string.msg_sbc_no_page_returned), "", "", false); + return new SearchBookContentsResult(getString(fakeR.getId("string", "msg_sbc_no_page_returned")), "", "", false); } } diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/book/SearchBookContentsAdapter.java b/src/android/LibraryProject/src/com/google/zxing/client/android/book/SearchBookContentsAdapter.java index c8d4122..9051a3a 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/book/SearchBookContentsAdapter.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/book/SearchBookContentsAdapter.java @@ -21,6 +21,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; +import com.google.zxing.FakeR; import java.util.List; @@ -33,8 +34,11 @@ import com.google.zxing.client.android.R; */ final class SearchBookContentsAdapter extends ArrayAdapter { + private static FakeR fakeR; + SearchBookContentsAdapter(Context context, List items) { - super(context, R.layout.search_book_contents_list_item, 0, items); + super(context, fakeR.getId("layout", "search_book_contents_list_item"), 0, items); + fakeR = new FakeR(context); } @Override @@ -44,7 +48,7 @@ final class SearchBookContentsAdapter extends ArrayAdapter 0) { contents = data; displayContents = data; - title = activity.getString(R.string.contents_text); + title = activity.getString(fakeR.getId("string", "contents_text")); } } return contents != null && contents.length() > 0; @@ -171,7 +174,7 @@ final class QRCodeEncoder { } else { displayContents = contents; } - title = activity.getString(R.string.contents_text); + title = activity.getString(fakeR.getId("string", "contents_text")); } // Handles send intents from the Contacts app, retrieving a contact as a VCARD. @@ -219,28 +222,28 @@ final class QRCodeEncoder { if (data != null && data.length() > 0) { contents = data; displayContents = data; - title = activity.getString(R.string.contents_text); + title = activity.getString(fakeR.getId("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); + title = activity.getString(fakeR.getId("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); + title = activity.getString(fakeR.getId("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); + title = activity.getString(fakeR.getId("string", "contents_sms")); } } else if (type.equals(Contents.Type.CONTACT)) { @@ -273,7 +276,7 @@ final class QRCodeEncoder { if (encoded[1].length() > 0) { contents = encoded[0]; displayContents = encoded[1]; - title = activity.getString(R.string.contents_contact); + title = activity.getString(fakeR.getId("string", "contents_contact")); } } @@ -287,7 +290,7 @@ final class QRCodeEncoder { if (latitude != Float.MAX_VALUE && longitude != Float.MAX_VALUE) { contents = "geo:" + latitude + ',' + longitude; displayContents = latitude + "," + longitude; - title = activity.getString(R.string.contents_location); + title = activity.getString(fakeR.getId("string", "contents_location")); } } } @@ -306,7 +309,7 @@ final class QRCodeEncoder { if (encoded[1].length() > 0) { contents = encoded[0]; displayContents = encoded[1]; - title = activity.getString(R.string.contents_contact); + title = activity.getString(fakeR.getId("string", "contents_contact")); } } diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/history/HistoryActivity.java b/src/android/LibraryProject/src/com/google/zxing/client/android/history/HistoryActivity.java index 6cb4ae8..3d4d878 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/history/HistoryActivity.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/history/HistoryActivity.java @@ -32,6 +32,7 @@ import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; +import com.google.zxing.FakeR; import com.google.zxing.client.android.CaptureActivity; import com.google.zxing.client.android.Intents; import com.google.zxing.client.android.R; @@ -45,9 +46,11 @@ public final class HistoryActivity extends ListActivity { private HistoryManager historyManager; private HistoryItemAdapter adapter; + private static FakeR fakeR; @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); + fakeR = new FakeR(this); this.historyManager = new HistoryManager(this); adapter = new HistoryItemAdapter(this); setListAdapter(adapter); @@ -88,7 +91,7 @@ public final class HistoryActivity extends ListActivity { ContextMenu.ContextMenuInfo menuInfo) { int position = ((AdapterView.AdapterContextMenuInfo) menuInfo).position; if (position >= adapter.getCount() || adapter.getItem(position).getResult() != null) { - menu.add(Menu.NONE, position, position, R.string.history_clear_one_history_text); + menu.add(Menu.NONE, position, position, fakeR.getId("string", "history_clear_one_history_text")); } // else it's just that dummy "Empty" message } @@ -104,7 +107,7 @@ public final class HistoryActivity extends ListActivity { public boolean onCreateOptionsMenu(Menu menu) { if (historyManager.hasHistoryItems()) { MenuInflater menuInflater = getMenuInflater(); - menuInflater.inflate(R.menu.history, menu); + menuInflater.inflate(fakeR.getId("menu", "history"), menu); } return super.onCreateOptionsMenu(menu); } @@ -112,18 +115,18 @@ public final class HistoryActivity extends ListActivity { @Override public boolean onOptionsItemSelected(MenuItem item) { int itemId = item.getItemId(); - if (itemId == R.id.menu_history_send) { + if (itemId == fakeR.getId("id", "menu_history_send")) { CharSequence history = historyManager.buildHistory(); Uri historyFile = HistoryManager.saveHistory(history.toString()); if (historyFile == null) { AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setMessage(R.string.msg_unmount_usb); - builder.setPositiveButton(R.string.button_ok, null); + builder.setMessage(fakeR.getId("string", "msg_unmount_usb")); + builder.setPositiveButton(fakeR.getId("string", "button_ok"), null); builder.show(); } else { Intent intent = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:")); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); - String subject = getResources().getString(R.string.history_email_title); + String subject = getResources().getString(fakeR.getId("string", "history_email_title")); intent.putExtra(Intent.EXTRA_SUBJECT, subject); intent.putExtra(Intent.EXTRA_TEXT, subject); intent.putExtra(Intent.EXTRA_STREAM, historyFile); @@ -134,11 +137,11 @@ public final class HistoryActivity extends ListActivity { Log.w(TAG, anfe.toString()); } } - } else if (itemId == R.id.menu_history_clear_text) { + } else if (itemId == fakeR.getId("id", "menu_history_clear_text")) { AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setMessage(R.string.msg_sure); + builder.setMessage(fakeR.getId("string", "msg_sure")); builder.setCancelable(true); - builder.setPositiveButton(R.string.button_ok, new DialogInterface.OnClickListener() { + builder.setPositiveButton(fakeR.getId("string", "button_ok"), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int i2) { historyManager.clearHistory(); @@ -146,7 +149,7 @@ public final class HistoryActivity extends ListActivity { finish(); } }); - builder.setNegativeButton(R.string.button_cancel, null); + builder.setNegativeButton(fakeR.getId("string", "button_cancel"), null); builder.show(); } else { return super.onOptionsItemSelected(item); diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/history/HistoryItemAdapter.java b/src/android/LibraryProject/src/com/google/zxing/client/android/history/HistoryItemAdapter.java index c8982d8..198982e 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/history/HistoryItemAdapter.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/history/HistoryItemAdapter.java @@ -24,6 +24,7 @@ import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.LinearLayout; import android.widget.TextView; +import com.google.zxing.FakeR; import com.google.zxing.Result; import com.google.zxing.client.android.R; @@ -33,8 +34,10 @@ final class HistoryItemAdapter extends ArrayAdapter { private final Activity activity; + private static FakeR fakeR; HistoryItemAdapter(Activity activity) { - super(activity, R.layout.history_list_item, new ArrayList()); + super(activity, activity.getApplicationContext().getResources().getIdentifier("history_list_item", "layout", activity.getApplicationContext().getPackageName()), new ArrayList()); + fakeR = new FakeR(activity); this.activity = activity; } @@ -45,7 +48,7 @@ final class HistoryItemAdapter extends ArrayAdapter { layout = (LinearLayout) view; } else { LayoutInflater factory = LayoutInflater.from(activity); - layout = (LinearLayout) factory.inflate(R.layout.history_list_item, viewGroup, false); + layout = (LinearLayout) factory.inflate(fakeR.getId("layout", "history_list_item"), viewGroup, false); } HistoryItem item = getItem(position); @@ -58,12 +61,12 @@ final class HistoryItemAdapter extends ArrayAdapter { detail = item.getDisplayAndDetails(); } else { Resources resources = getContext().getResources(); - title = resources.getString(R.string.history_empty); - detail = resources.getString(R.string.history_empty_detail); + title = resources.getString(fakeR.getId("string", "history_empty")); + detail = resources.getString(fakeR.getId("string", "history_empty_detail")); } - ((TextView) layout.findViewById(R.id.history_title)).setText(title); - ((TextView) layout.findViewById(R.id.history_detail)).setText(detail); + ((TextView) layout.findViewById(fakeR.getId("id", "history_title"))).setText(title); + ((TextView) layout.findViewById(fakeR.getId("id", "history_detail"))).setText(detail); return layout; } diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/result/AddressBookResultHandler.java b/src/android/LibraryProject/src/com/google/zxing/client/android/result/AddressBookResultHandler.java index b61035e..1eed1d2 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/result/AddressBookResultHandler.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/result/AddressBookResultHandler.java @@ -51,12 +51,7 @@ public final class AddressBookResultHandler extends ResultHandler { } } - private static final int[] BUTTON_TEXTS = { - R.string.button_add_contact, - R.string.button_show_map, - R.string.button_dial, - R.string.button_email, - }; + private static int[] BUTTON_TEXTS; private final boolean[] fields; private int buttonCount; @@ -80,6 +75,12 @@ public final class AddressBookResultHandler extends ResultHandler { public AddressBookResultHandler(Activity activity, ParsedResult result) { super(activity, result); + BUTTON_TEXTS = new int[]{ + fakeR.getId("string", "button_add_contact"), + fakeR.getId("string", "button_show_map"), + fakeR.getId("string", "button_dial"), + fakeR.getId("string", "button_email"), + }; AddressBookParsedResult addressResult = (AddressBookParsedResult) result; String[] addresses = addressResult.getAddresses(); boolean hasAddress = addresses != null && addresses.length > 0 && addresses[0].length() > 0; @@ -212,6 +213,6 @@ public final class AddressBookResultHandler extends ResultHandler { @Override public int getDisplayTitle() { - return R.string.result_address_book; + return fakeR.getId("string", "result_address_book"); } } diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/result/CalendarResultHandler.java b/src/android/LibraryProject/src/com/google/zxing/client/android/result/CalendarResultHandler.java index b97029c..a04c93f 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/result/CalendarResultHandler.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/result/CalendarResultHandler.java @@ -38,12 +38,14 @@ public final class CalendarResultHandler extends ResultHandler { private static final String TAG = CalendarResultHandler.class.getSimpleName(); - private static final int[] buttons = { - R.string.button_add_calendar - }; + private static int[] buttons; public CalendarResultHandler(Activity activity, ParsedResult result) { super(activity, result); + + buttons = new int[]{ + fakeR.getId("string", "button_add_calendar") + }; } @Override @@ -181,6 +183,6 @@ public final class CalendarResultHandler extends ResultHandler { @Override public int getDisplayTitle() { - return R.string.result_calendar; + return fakeR.getId("string", "result_calendar"); } } diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/result/EmailAddressResultHandler.java b/src/android/LibraryProject/src/com/google/zxing/client/android/result/EmailAddressResultHandler.java index 563322a..c94b6f7 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/result/EmailAddressResultHandler.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/result/EmailAddressResultHandler.java @@ -28,13 +28,14 @@ import android.app.Activity; * @author dswitkin@google.com (Daniel Switkin) */ public final class EmailAddressResultHandler extends ResultHandler { - private static final int[] buttons = { - R.string.button_email, - R.string.button_add_contact - }; + private static int[] buttons; public EmailAddressResultHandler(Activity activity, ParsedResult result) { super(activity, result); + buttons = new int[]{ + fakeR.getId("string", "button_email"), + fakeR.getId("string", "button_add_contact") + }; } @Override @@ -67,6 +68,6 @@ public final class EmailAddressResultHandler extends ResultHandler { @Override public int getDisplayTitle() { - return R.string.result_email_address; + return fakeR.getId("string", "result_email_address"); } } diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/result/GeoResultHandler.java b/src/android/LibraryProject/src/com/google/zxing/client/android/result/GeoResultHandler.java index 059f2cf..422a485 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/result/GeoResultHandler.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/result/GeoResultHandler.java @@ -28,13 +28,14 @@ import android.app.Activity; * @author dswitkin@google.com (Daniel Switkin) */ public final class GeoResultHandler extends ResultHandler { - private static final int[] buttons = { - R.string.button_show_map, - R.string.button_get_directions - }; + private static int[] buttons; public GeoResultHandler(Activity activity, ParsedResult result) { super(activity, result); + buttons = new int[]{ + fakeR.getId("string", "button_show_map"), + fakeR.getId("string", "button_get_directions") + }; } @Override @@ -62,6 +63,6 @@ public final class GeoResultHandler extends ResultHandler { @Override public int getDisplayTitle() { - return R.string.result_geo; + return fakeR.getId("string", "result_geo"); } } diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/result/ISBNResultHandler.java b/src/android/LibraryProject/src/com/google/zxing/client/android/result/ISBNResultHandler.java index fd89b4d..9b16ac0 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/result/ISBNResultHandler.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/result/ISBNResultHandler.java @@ -30,15 +30,16 @@ import android.view.View; * @author dswitkin@google.com (Daniel Switkin) */ public final class ISBNResultHandler extends ResultHandler { - private static final int[] buttons = { - R.string.button_product_search, - R.string.button_book_search, - R.string.button_search_book_contents, - R.string.button_custom_product_search - }; + private static int[] buttons; public ISBNResultHandler(Activity activity, ParsedResult result, Result rawResult) { super(activity, result, rawResult); + buttons = new int[]{ + fakeR.getId("string", "button_product_search"), + fakeR.getId("string", "button_book_search"), + fakeR.getId("string", "button_search_book_contents"), + fakeR.getId("string", "button_custom_product_search") + }; showGoogleShopperButton(new View.OnClickListener() { @Override public void onClick(View view) { @@ -79,6 +80,6 @@ public final class ISBNResultHandler extends ResultHandler { @Override public int getDisplayTitle() { - return R.string.result_isbn; + return fakeR.getId("string", "result_isbn"); } } diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/result/ProductResultHandler.java b/src/android/LibraryProject/src/com/google/zxing/client/android/result/ProductResultHandler.java index d6f0e51..fa0e7a0 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/result/ProductResultHandler.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/result/ProductResultHandler.java @@ -30,14 +30,15 @@ import android.view.View; * @author dswitkin@google.com (Daniel Switkin) */ public final class ProductResultHandler extends ResultHandler { - private static final int[] buttons = { - R.string.button_product_search, - R.string.button_web_search, - R.string.button_custom_product_search - }; + private static int[] buttons; public ProductResultHandler(Activity activity, ParsedResult result, Result rawResult) { super(activity, result, rawResult); + buttons = new int[]{ + fakeR.getId("string", "button_product_search"), + fakeR.getId("string", "button_web_search"), + fakeR.getId("string", "button_custom_product_search") + }; showGoogleShopperButton(new View.OnClickListener() { @Override public void onClick(View view) { @@ -75,6 +76,6 @@ public final class ProductResultHandler extends ResultHandler { @Override public int getDisplayTitle() { - return R.string.result_product; + return fakeR.getId("string", "result_product"); } } diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/result/ResultHandler.java b/src/android/LibraryProject/src/com/google/zxing/client/android/result/ResultHandler.java index d7cabab..a2cf567 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/result/ResultHandler.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/result/ResultHandler.java @@ -40,6 +40,7 @@ import android.preference.PreferenceManager; import android.provider.ContactsContract; import android.util.Log; import android.view.View; +import com.google.zxing.FakeR; import java.util.Collection; import java.util.Locale; @@ -104,6 +105,8 @@ public abstract class ResultHandler { } }; + protected static FakeR fakeR; + ResultHandler(Activity activity, ParsedResult result) { this(activity, result, null); } @@ -114,9 +117,11 @@ public abstract class ResultHandler { this.rawResult = rawResult; this.customProductSearch = parseCustomSearchURL(); - // Make sure the Shopper button is hidden by default. Without this, scanning a product followed + fakeR = new FakeR(activity); + + // Make sure the Shopper button is hidden by default. Without this, scanning a product followed // by a QR Code would leave the button on screen among the QR Code actions. - View shopperButton = activity.findViewById(R.id.shopper_button); + View shopperButton = activity.findViewById(fakeR.getId("id", "shopper_button")); shopperButton.setVisibility(View.GONE); } @@ -171,7 +176,7 @@ public abstract class ResultHandler { * @param listener The on click listener to install for this button. */ void showGoogleShopperButton(View.OnClickListener listener) { - View shopperButton = activity.findViewById(R.id.shopper_button); + View shopperButton = activity.findViewById(fakeR.getId("id", "shopper_button")); shopperButton.setVisibility(View.VISIBLE); shopperButton.setOnClickListener(listener); } @@ -307,7 +312,7 @@ public abstract class ResultHandler { } final void shareByEmail(String contents) { - sendEmailFromUri("mailto:", null, activity.getString(R.string.msg_share_subject_line), + sendEmailFromUri("mailto:", null, activity.getString(fakeR.getId("string", "msg_share_subject_line")), contents); } @@ -328,7 +333,7 @@ public abstract class ResultHandler { } final void shareBySMS(String contents) { - sendSMSFromUri("smsto:", activity.getString(R.string.msg_share_subject_line) + ":\n" + + sendSMSFromUri("smsto:", activity.getString(fakeR.getId("string", "msg_share_subject_line")) + ":\n" + contents); } @@ -352,7 +357,7 @@ public abstract class ResultHandler { Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse(uri)); // The Messaging app needs to see a valid subject or else it will treat this an an SMS. if (subject == null || subject.length() == 0) { - putExtra(intent, "subject", activity.getString(R.string.msg_default_mms_subject)); + putExtra(intent, "subject", activity.getString(fakeR.getId("string", "msg_default_mms_subject"))); } else { putExtra(intent, "subject", subject); } @@ -451,11 +456,11 @@ public abstract class ResultHandler { } else { // Otherwise offer to install it from Market. AlertDialog.Builder builder = new AlertDialog.Builder(activity); - builder.setTitle(R.string.msg_google_shopper_missing); - builder.setMessage(R.string.msg_install_google_shopper); - builder.setIcon(R.drawable.shopper_icon); - builder.setPositiveButton(R.string.button_ok, shopperMarketListener); - builder.setNegativeButton(R.string.button_cancel, null); + builder.setTitle(fakeR.getId("string", "msg_google_shopper_missing")); + builder.setMessage(fakeR.getId("string", "msg_install_google_shopper")); + builder.setIcon(fakeR.getId("drawable", "shopper_icon")); + builder.setPositiveButton(fakeR.getId("string", "button_ok"), shopperMarketListener); + builder.setNegativeButton(fakeR.getId("string", "button_cancel"), null); builder.show(); } } @@ -482,9 +487,9 @@ public abstract class ResultHandler { rawLaunchIntent(intent); } catch (ActivityNotFoundException e) { AlertDialog.Builder builder = new AlertDialog.Builder(activity); - builder.setTitle(R.string.app_name); - builder.setMessage(R.string.msg_intent_failed); - builder.setPositiveButton(R.string.button_ok, null); + builder.setTitle(fakeR.getId("string", "app_name")); + builder.setMessage(fakeR.getId("string", "msg_intent_failed")); + builder.setPositiveButton(fakeR.getId("string", "button_ok"), null); builder.show(); } } diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/result/SMSResultHandler.java b/src/android/LibraryProject/src/com/google/zxing/client/android/result/SMSResultHandler.java index 4c0ab9c..b992a5d 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/result/SMSResultHandler.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/result/SMSResultHandler.java @@ -29,13 +29,14 @@ import android.telephony.PhoneNumberUtils; * @author dswitkin@google.com (Daniel Switkin) */ public final class SMSResultHandler extends ResultHandler { - private static final int[] buttons = { - R.string.button_sms, - R.string.button_mms - }; + private static int[] buttons; public SMSResultHandler(Activity activity, ParsedResult result) { super(activity, result); + buttons = new int[]{ + fakeR.getId("string", "button_sms"), + fakeR.getId("string", "button_mms") + }; } @Override @@ -79,6 +80,6 @@ public final class SMSResultHandler extends ResultHandler { @Override public int getDisplayTitle() { - return R.string.result_sms; + return fakeR.getId("string", "result_sms"); } } diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/result/TelResultHandler.java b/src/android/LibraryProject/src/com/google/zxing/client/android/result/TelResultHandler.java index 325eb6b..ccd1038 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/result/TelResultHandler.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/result/TelResultHandler.java @@ -29,13 +29,14 @@ import android.telephony.PhoneNumberUtils; * @author dswitkin@google.com (Daniel Switkin) */ public final class TelResultHandler extends ResultHandler { - private static final int[] buttons = { - R.string.button_dial, - R.string.button_add_contact - }; + private static int[] buttons; public TelResultHandler(Activity activity, ParsedResult result) { super(activity, result); + buttons = new int[]{ + fakeR.getId("string", "button_dial"), + fakeR.getId("string", "button_add_contact") + }; } @Override @@ -77,6 +78,6 @@ public final class TelResultHandler extends ResultHandler { @Override public int getDisplayTitle() { - return R.string.result_tel; + return fakeR.getId("string", "result_tel"); } } diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/result/TextResultHandler.java b/src/android/LibraryProject/src/com/google/zxing/client/android/result/TextResultHandler.java index bccf882..5f3349e 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/result/TextResultHandler.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/result/TextResultHandler.java @@ -29,15 +29,16 @@ import android.app.Activity; */ public final class TextResultHandler extends ResultHandler { - private static final int[] buttons = { - R.string.button_web_search, - R.string.button_share_by_email, - R.string.button_share_by_sms, - R.string.button_custom_product_search, - }; + private static int[] buttons; public TextResultHandler(Activity activity, ParsedResult result, Result rawResult) { super(activity, result, rawResult); + buttons = new int[]{ + fakeR.getId("string", "button_web_search"), + fakeR.getId("string", "button_share_by_email"), + fakeR.getId("string", "button_share_by_sms"), + fakeR.getId("string", "button_custom_product_search"), + }; } @Override @@ -71,6 +72,6 @@ public final class TextResultHandler extends ResultHandler { @Override public int getDisplayTitle() { - return R.string.result_text; + return fakeR.getId("string", "result_text"); } } diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/result/URIResultHandler.java b/src/android/LibraryProject/src/com/google/zxing/client/android/result/URIResultHandler.java index 7c6cd63..de374c3 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/result/URIResultHandler.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/result/URIResultHandler.java @@ -37,15 +37,16 @@ public final class URIResultHandler extends ResultHandler { "otpauth:" }; - private static final int[] buttons = { - R.string.button_open_browser, - R.string.button_share_by_email, - R.string.button_share_by_sms, - R.string.button_search_book_contents, - }; + private static int[] buttons; public URIResultHandler(Activity activity, ParsedResult result) { super(activity, result); + buttons = new int[]{ + fakeR.getId("string", "button_open_browser"), + fakeR.getId("string", "button_share_by_email"), + fakeR.getId("string", "button_share_by_sms"), + fakeR.getId("string", "button_search_book_contents"), + }; } @Override @@ -83,7 +84,7 @@ public final class URIResultHandler extends ResultHandler { @Override public int getDisplayTitle() { - return R.string.result_uri; + return fakeR.getId("string", "result_uri"); } @Override diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/result/WifiResultHandler.java b/src/android/LibraryProject/src/com/google/zxing/client/android/result/WifiResultHandler.java index 04dcfd2..f1bdca6 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/result/WifiResultHandler.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/result/WifiResultHandler.java @@ -53,7 +53,7 @@ public final class WifiResultHandler extends ResultHandler { @Override public int getButtonText(int index) { - return R.string.button_wifi; + return fakeR.getId("string", "button_wifi"); } @Override @@ -61,7 +61,7 @@ public final class WifiResultHandler extends ResultHandler { if (index == 0) { WifiParsedResult wifiResult = (WifiParsedResult) getResult(); WifiManager wifiManager = (WifiManager) getActivity().getSystemService(Context.WIFI_SERVICE); - Toast.makeText(getActivity(), R.string.wifi_changing_network, Toast.LENGTH_LONG).show(); + Toast.makeText(getActivity(), fakeR.getId("string", "wifi_changing_network"), Toast.LENGTH_LONG).show(); taskExec.execute(new WifiConfigManager(wifiManager), wifiResult); parent.restartPreviewAfterDelay(0L); } @@ -72,15 +72,15 @@ public final class WifiResultHandler extends ResultHandler { public CharSequence getDisplayContents() { WifiParsedResult wifiResult = (WifiParsedResult) getResult(); StringBuilder contents = new StringBuilder(50); - String wifiLabel = parent.getString(R.string.wifi_ssid_label); + String wifiLabel = parent.getString(fakeR.getId("string", "wifi_ssid_label")); ParsedResult.maybeAppend(wifiLabel + '\n' + wifiResult.getSsid(), contents); - String typeLabel = parent.getString(R.string.wifi_type_label); + String typeLabel = parent.getString(fakeR.getId("string", "wifi_type_label")); ParsedResult.maybeAppend(typeLabel + '\n' + wifiResult.getNetworkEncryption(), contents); return contents.toString(); } @Override public int getDisplayTitle() { - return R.string.result_wifi; + return fakeR.getId("string", "result_wifi"); } } \ No newline at end of file diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/result/supplement/BookResultInfoRetriever.java b/src/android/LibraryProject/src/com/google/zxing/client/android/result/supplement/BookResultInfoRetriever.java index c93d4dc..ead800a 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/result/supplement/BookResultInfoRetriever.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/result/supplement/BookResultInfoRetriever.java @@ -22,6 +22,7 @@ import java.util.Collection; import android.content.Context; import android.widget.TextView; +import com.google.zxing.FakeR; import com.google.zxing.client.android.HttpHelper; import com.google.zxing.client.android.LocaleManager; import com.google.zxing.client.android.R; @@ -45,7 +46,7 @@ final class BookResultInfoRetriever extends SupplementalInfoRetriever { BookResultInfoRetriever(TextView textView, String isbn, HistoryManager historyManager, Context context) { super(textView, historyManager); this.isbn = isbn; - this.source = context.getString(R.string.msg_google_books); + this.source = context.getString(FakeR.getId(context, "string", "msg_google_books")); this.context = context; } diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/result/supplement/ProductResultInfoRetriever.java b/src/android/LibraryProject/src/com/google/zxing/client/android/result/supplement/ProductResultInfoRetriever.java index e5944a2..4f2bcdd 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/result/supplement/ProductResultInfoRetriever.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/result/supplement/ProductResultInfoRetriever.java @@ -19,6 +19,7 @@ package com.google.zxing.client.android.result.supplement; import android.content.Context; import android.text.Html; import android.widget.TextView; +import com.google.zxing.FakeR; import com.google.zxing.client.android.HttpHelper; import com.google.zxing.client.android.R; import com.google.zxing.client.android.history.HistoryManager; @@ -43,7 +44,7 @@ final class ProductResultInfoRetriever extends SupplementalInfoRetriever { ProductResultInfoRetriever(TextView textView, String productID, HistoryManager historyManager, Context context) { super(textView, historyManager); this.productID = productID; - this.source = context.getString(R.string.msg_google_product); + this.source = context.getString(FakeR.getId(context, "string", "msg_google_product")); this.context = context; } diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/result/supplement/URIResultInfoRetriever.java b/src/android/LibraryProject/src/com/google/zxing/client/android/result/supplement/URIResultInfoRetriever.java index 6e360ac..74d69fd 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/result/supplement/URIResultInfoRetriever.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/result/supplement/URIResultInfoRetriever.java @@ -18,6 +18,7 @@ package com.google.zxing.client.android.result.supplement; import android.content.Context; import android.widget.TextView; +import com.google.zxing.FakeR; import com.google.zxing.client.android.HttpHelper; import com.google.zxing.client.android.history.HistoryManager; import com.google.zxing.client.android.R; @@ -36,7 +37,7 @@ final class URIResultInfoRetriever extends SupplementalInfoRetriever { URIResultInfoRetriever(TextView textView, URIParsedResult result, HistoryManager historyManager, Context context) { super(textView, historyManager); - redirectString = context.getString(R.string.msg_redirect); + redirectString = context.getString(FakeR.getId(context, "string", "msg_redirect")); this.result = result; } diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/share/BookmarkAdapter.java b/src/android/LibraryProject/src/com/google/zxing/client/android/share/BookmarkAdapter.java index 44b6747..e47fe28 100644 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/share/BookmarkAdapter.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/share/BookmarkAdapter.java @@ -26,6 +26,7 @@ import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.LinearLayout; import android.widget.TextView; +import com.google.zxing.FakeR; /** * A custom adapter designed to fetch bookmarks from a cursor. Before Honeycomb we used @@ -39,7 +40,9 @@ final class BookmarkAdapter extends BaseAdapter { private final Context context; private final Cursor cursor; + private static FakeR fakeR; BookmarkAdapter(Context context, Cursor cursor) { + fakeR = new FakeR(context); this.context = context; this.cursor = cursor; } @@ -67,15 +70,15 @@ final class BookmarkAdapter extends BaseAdapter { layout = (LinearLayout) view; } else { LayoutInflater factory = LayoutInflater.from(context); - layout = (LinearLayout) factory.inflate(R.layout.bookmark_picker_list_item, viewGroup, false); + layout = (LinearLayout) factory.inflate(fakeR.getId("layout", "bookmark_picker_list_item"), viewGroup, false); } if (!cursor.isClosed()) { cursor.moveToPosition(index); String title = cursor.getString(BookmarkPickerActivity.TITLE_COLUMN); - ((TextView) layout.findViewById(R.id.bookmark_title)).setText(title); + ((TextView) layout.findViewById(fakeR.getId("id", "bookmark_title"))).setText(title); String url = cursor.getString(BookmarkPickerActivity.URL_COLUMN); - ((TextView) layout.findViewById(R.id.bookmark_url)).setText(url); + ((TextView) layout.findViewById(fakeR.getId("id", "bookmark_url"))).setText(url); } // Otherwise... just don't update as the object is shutting down return layout; } diff --git a/src/android/LibraryProject/src/com/google/zxing/client/android/share/ShareActivity.java b/src/android/LibraryProject/src/com/google/zxing/client/android/share/ShareActivity.java index 67f10a1..ca7a9f6 100755 --- a/src/android/LibraryProject/src/com/google/zxing/client/android/share/ShareActivity.java +++ b/src/android/LibraryProject/src/com/google/zxing/client/android/share/ShareActivity.java @@ -36,6 +36,7 @@ import android.view.KeyEvent; import android.view.View; import android.widget.Button; import android.widget.TextView; +import com.google.zxing.FakeR; /** * Barcode Scanner can share data like contacts and bookmarks by displaying a QR Code on screen, @@ -53,6 +54,8 @@ public final class ShareActivity extends Activity { private Button clipboardButton; + private static FakeR fakeR; + private final Button.OnClickListener contactListener = new Button.OnClickListener() { @Override public void onClick(View v) { @@ -119,14 +122,15 @@ public final class ShareActivity extends Activity { @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); - setContentView(R.layout.share); + fakeR = new FakeR(this); + setContentView(fakeR.getId("layout", "share")); - findViewById(R.id.share_contact_button).setOnClickListener(contactListener); - findViewById(R.id.share_bookmark_button).setOnClickListener(bookmarkListener); - findViewById(R.id.share_app_button).setOnClickListener(appListener); - clipboardButton = (Button) findViewById(R.id.share_clipboard_button); + findViewById(fakeR.getId("id", "share_contact_button")).setOnClickListener(contactListener); + findViewById(fakeR.getId("id", "share_bookmark_button")).setOnClickListener(bookmarkListener); + findViewById(fakeR.getId("id", "share_app_button")).setOnClickListener(appListener); + clipboardButton = (Button) findViewById(fakeR.getId("id", "share_clipboard_button")); clipboardButton.setOnClickListener(clipboardListener); - findViewById(R.id.share_text_view).setOnKeyListener(textListener); + findViewById(fakeR.getId("id", "share_text_view")).setOnKeyListener(textListener); } @Override diff --git a/src/android/README.md b/src/android/README.md new file mode 100644 index 0000000..59c16fa --- /dev/null +++ b/src/android/README.md @@ -0,0 +1,74 @@ +Building Android +================ + +## Building localy ## + +Steps if you have Netbeans setup for Android or want to do that. + +1. Setup Netbeans for Android development. + 1. Download and install JDK (be sure to set JAVA_HOME - it will be important for the SDK). + 2. Download and install Netebeans. + 3. Download and install Android SDK (do NOT use ADT boundle). + 4. Download and install NBAndroid: http://www.nbandroid.org/p/installation.html + 5. Set path of Android SDK in Netbeans (for installation for all users this is: ```c:\Program Files (x86)\Android\android-sdk\```). + +2. Install Phonegap: + + 1. Add to Windows PATH Android SDK tools: ```;C:\...[android-sdk]\platform-tools;C:\...[android-sdk]\tools``` + 2. Copy ANT home from Netbeans and add it your PATH too. + 3. Add Java bin to PATH: ```;%JAVA_HOME%\bin;%ANT_HOME%\bin``` + +3. Install cordova command line + 1. Install node.js. + 2. Install cordova command line: + ``` + npm install -g cordova + ``` + +4. Create and build test project to check command line tools: + ``` + cordova create hello com.example.hello "Hello World" + cd hello + cordova platform add android + cordova build + ``` + +5. To open project in Netbeans just use Open Project and in the folder you created the project navigate to platforms\android. + +6. Add the plugin following instructions from this page: https://github.com/phonegap/phonegap-plugins/tree/master/Android/BarcodeScanner + +## Preparing for PhoneGap Build ## + +The process may vary depending on version of Zxing project, but base steps should be the same. + +1. Get latest zxing-android project and create a LibraryProject from that: + 1. Checked out zxing-android from SVN (http://zxing.googlecode.com/svn/trunk/). + 2. Overlayed the source from zxing-core. + 3. Set to library project. + 4. Change intent names to avoid conflict with ZXing app. + 5. Remove two lines from AndroidManifest.xml to avoid shortcuts being created. +2. Update plugin.xml with any needed resources (you can use ```plugin.xml.generate.php``` to generate some stuff for Android). +3. Refactor LibraryProject for usage with PGB: + 1. Commented out call to showHelpOnFirstLaunch (it will probably not work anyway). + 2. Replace R class with FakeR class calls (this is needed beacuse R class will be in a different namespace). + 3. Add FakeR initialization in each class it was added (note that if some classes extened other then you might want to add a protected fakeR variable to their parent - see e.g. ResultHandler class and it's children). +4. Build LibraryProject, rename and copy it. + +## Building with plugman ## + +[Plugman](https://github.com/apache/cordova-plugman) is a Node.js tool used by PG Build. + +Workflow for creating and building example project with the plugin: +1. Create and build example project: +``` +cordova create hello com.example.hello "Hello World" +cd hello +cordova platform add android +cordova build +``` +2. Copy plugin files to "hello\plugins\barcodescanner\". + +3. Install the plugin (current dir. being "hello"): +plugman --plugins_dir plugins --plugin barcodescanner --platform android --project platforms\android + +4. Build & deploy Android project with whatever Android IDE (or ANT + ADK tools). diff --git a/src/android/com.google.zxing.client.android.captureactivity.jar b/src/android/com.google.zxing.client.android.captureactivity.jar index 0aebef69830bb29d3917c071873e4aed246d2238..ec06ea61791d9622df7a7081e15c1c21e46f07c0 100644 GIT binary patch delta 111365 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 E0eib&H~;_u delta 110016 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

    kV7yh4{gJuos|n2BDIi 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∨4|p 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

    lcJR1;^w$Nxf1P3OSM{~=L`SHKbf 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

    ur zmGyUS4s3I@uQzGVXsa4ORoGprga7tDTxzoXx*2U|A?@B5$IsRaHg;=WlV@3Ij?~`u zO>jo`vjK60JnMPm zKUY7Ty1{NQ-P5=)jvD&6NXZ7F`AM2PI-Cj~b56L7)1LpA82g{3GG8OibG&;9M^BWvt z-ny`3Ie&VlF;6|YG^;r@l%Tn*?~}UMfefjOW0|e1o-d6rV~=lrT6OW6yy)sqH~U)Y z;+%xh6z21d<1O_)>7V^qt#V&CjI3CNdwkWo>OemtyrN$9ysuEUUNq%wTlI{xbE#}f zS6lV;2*)bb$3G(C%cAOOG3=!IT^9{z-}jGOw+}b)HohA;aco|CDn^9Ug0t@26uZI) z$rp=G;rb_c|41#=uh&lzjD47@P?5mqK6Y!qOvd2TpUy^n5bI);*OExglIV>`(oW|b z@;RAz@*8vw{9#yK@?@A`rjL%&j_j&}QkK7ae<_Ld8A^Qf?tM00@@o81M$%BdruVjB zQ&TR%L&d#T$M%pWbtfFSHV>yTw~TF%mTXBMGpvPzs|z4q{SX_M2O z{x4-O(}awPPsaZg=9Cz5pZ1aXEvm<= zH#@q{CTp2qs~LVee7~{7Ls(V+9%I|Q(f0Gv%uE@E89mGU!~^PIcJH-XU%teA4%sdbH0@FH+tAVeS>$u zS!%StoP+iUn+KX>``&)vH|83;H;iQS^M=s4)AQ#$Z)?9778Q*;HTS&jccv{rvN_>ljdQ_(yjTJAq3QuIu(e+H�%|ORLp6uTcUe# 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