rhodes 3.2.1 → 3.2.2.beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. data/CHANGELOG +7 -0
  2. data/Manifest.txt +36 -0
  3. data/lib/extensions/barcode/ext/barcode/platform/android/jni/src/barcode.cpp +24 -3
  4. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/android/CaptureActivity.java +11 -280
  5. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/android/camera/CameraManager.java +11 -4
  6. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/rhomobile/barcode/Barcode.java +2 -1
  7. data/lib/extensions/barcode/ext/barcode/platform/iphone/Barcode.xcodeproj/project.pbxproj +36 -0
  8. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeCallbackHelper.h +25 -0
  9. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeCallbackHelper.mm +195 -0
  10. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewController.h +59 -0
  11. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewController.m +346 -0
  12. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewFactory.h +7 -0
  13. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewFactory.mm +58 -0
  14. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewFactoryRegister.mm +18 -0
  15. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewManager.h +16 -0
  16. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewManager.mm +32 -0
  17. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/barcode.m +9 -2
  18. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarCameraSimulator.h +45 -0
  19. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarCaptureReader.h +7 -1
  20. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderView.h +21 -4
  21. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderViewController.h +32 -2
  22. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarSDK.h +1 -0
  23. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar.h +26 -5
  24. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Decoder.h +1 -0
  25. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Symbol.h +2 -3
  26. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/libzbar.a +0 -0
  27. data/lib/extensions/barcode/ext/barcode/shared/ruby/barcode.i +3 -2
  28. data/lib/extensions/barcode/ext/barcode/shared/ruby/barcode_wrap.c +7 -4
  29. data/lib/extensions/barcode/ext/barcode/shared/src/zbar.c +2 -2
  30. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +1 -1
  31. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraNewService.java +7 -2
  32. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraOldService.java +5 -1
  33. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraSemiService.java +8 -1
  34. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraService.java +4 -2
  35. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/ImageCapture.java +11 -6
  36. data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocation.java +21 -13
  37. data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocationImpl.java +33 -11
  38. data/platform/android/build/android.rake +63 -1
  39. data/platform/iphone/RhoLib/RhoLib.xcodeproj/project.pbxproj +4 -0
  40. data/platform/iphone/curl/curl.xcodeproj/project.pbxproj +4 -0
  41. data/platform/iphone/icon.png +0 -0
  42. data/platform/iphone/rbuild/iphone.rake +6 -4
  43. data/platform/iphone/rhoextlib/rhoextlib.xcodeproj/project.pbxproj +4 -1
  44. data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +4 -1
  45. data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +4 -0
  46. data/platform/iphone/rhosynclib/rhosynclib.xcodeproj/project.pbxproj +4 -0
  47. data/platform/wp7/IronRuby/bin/Silverlight3Release/IronRuby.Libraries.dll +0 -0
  48. data/platform/wp7/IronRuby/bin/Silverlight3Release/IronRuby.dll +0 -0
  49. data/platform/wp7/IronRuby/bin/Silverlight3Release/Microsoft.Dynamic.dll +0 -0
  50. data/platform/wp7/IronRuby/bin/Silverlight3Release/Microsoft.Scripting.Core.dll +0 -0
  51. data/platform/wp7/IronRuby/bin/Silverlight3Release/Microsoft.Scripting.dll +0 -0
  52. data/res/generators/rhogen.rb +191 -0
  53. data/res/generators/templates/extension/app/MontanaTest/controller.rb +20 -0
  54. data/res/generators/templates/extension/app/MontanaTest/index.erb +17 -0
  55. data/res/generators/templates/extension/extensions/montana/ext.yml +4 -0
  56. data/res/generators/templates/extension/extensions/montana/ext/build +17 -0
  57. data/res/generators/templates/extension/extensions/montana/ext/build.bat +36 -0
  58. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/android/Rakefile +77 -0
  59. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/android/ext_build.files +1 -0
  60. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/android/jni/src/montana.cpp +28 -0
  61. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/android/src/com/montana/Montana.java +10 -0
  62. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/bb/Montana.files +1 -0
  63. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/bb/Rakefile +97 -0
  64. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/bb/montana.jdp +48 -0
  65. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/bb/src/com/montana/Montana.java +118 -0
  66. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Classes/Montana.h +4 -0
  67. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Classes/Montana.m +24 -0
  68. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Montana.xcodeproj/project.pbxproj +300 -0
  69. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Montana_Prefix.pch +7 -0
  70. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Rakefile +74 -0
  71. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/wm/Montana.vcproj +331 -0
  72. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/wm/Rakefile +62 -0
  73. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/wm/src/montana_wm.cpp +40 -0
  74. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/wm/src/montana_wm.h +2 -0
  75. data/res/generators/templates/extension/extensions/montana/ext/montana/shared/ruby/montana.i +15 -0
  76. data/res/generators/templates/extension/extensions/montana/ext/montana/shared/ruby/montana_wrap.c +2287 -0
  77. data/res/generators/templates/extension/extensions/montana/ext/montana/shared/src/montana.c +20 -0
  78. data/res/generators/templates/extension/extensions/montana/montana.rb +13 -0
  79. data/spec/framework_spec/build.yml +1 -1
  80. data/spec/phone_spec/build.yml +1 -1
  81. data/version +1 -1
  82. metadata +42 -5
data/CHANGELOG CHANGED
@@ -1,3 +1,10 @@
1
+ ## 3.2.2
2
+ * Fix iPhone build for AppStore
3
+ * Fix Android infinite loop while using GPS
4
+ * Update IronRuby for Windows Phone 7 to log application stack while exception
5
+ * Add generator for native extensions
6
+ * Add real-time Barcode scanning for iPhone
7
+
1
8
  ## 3.2.1
2
9
  * Add migrate-rhodes-app command that updates build.yml to use latest Rhodes gem
3
10
  * Change set-rhodes-sdk command to set sdk path at build.yml only
data/Manifest.txt CHANGED
@@ -430,6 +430,15 @@ lib/extensions/barcode/ext/barcode/platform/bb/ZXing/README
430
430
  lib/extensions/barcode/ext/barcode/platform/iphone/Barcode.xcodeproj/project.pbxproj
431
431
  lib/extensions/barcode/ext/barcode/platform/iphone/Barcode_Prefix.pch
432
432
  lib/extensions/barcode/ext/barcode/platform/iphone/Classes/barcode.m
433
+ lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeCallbackHelper.h
434
+ lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeCallbackHelper.mm
435
+ lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewController.h
436
+ lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewController.m
437
+ lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewFactory.h
438
+ lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewFactory.mm
439
+ lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewFactoryRegister.mm
440
+ lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewManager.h
441
+ lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewManager.mm
433
442
  lib/extensions/barcode/ext/barcode/platform/iphone/Classes/ImageProvider.cpp
434
443
  lib/extensions/barcode/ext/barcode/platform/iphone/Classes/ImageProvider.h
435
444
  lib/extensions/barcode/ext/barcode/platform/iphone/Classes/ImageProvider.mm
@@ -445,6 +454,7 @@ lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/
445
454
  lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Video.h
446
455
  lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Window.h
447
456
  lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar.h
457
+ lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarCameraSimulator.h
448
458
  lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarCaptureReader.h
449
459
  lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarHelpController.h
450
460
  lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarImage.h
@@ -4710,6 +4720,32 @@ res/generators/templates/application/public/js/wp7.js
4710
4720
  res/generators/templates/application/Rakefile
4711
4721
  res/generators/templates/application/rhoconfig.txt
4712
4722
  res/generators/templates/bundle/db/syncdb.sqlite
4723
+ res/generators/templates/extension/app/MontanaTest/controller.rb
4724
+ res/generators/templates/extension/app/MontanaTest/index.erb
4725
+ res/generators/templates/extension/extensions/montana/ext/build
4726
+ res/generators/templates/extension/extensions/montana/ext/build.bat
4727
+ res/generators/templates/extension/extensions/montana/ext/montana/platform/android/ext_build.files
4728
+ res/generators/templates/extension/extensions/montana/ext/montana/platform/android/jni/src/montana.cpp
4729
+ res/generators/templates/extension/extensions/montana/ext/montana/platform/android/Rakefile
4730
+ res/generators/templates/extension/extensions/montana/ext/montana/platform/android/src/com/montana/Montana.java
4731
+ res/generators/templates/extension/extensions/montana/ext/montana/platform/bb/Montana.files
4732
+ res/generators/templates/extension/extensions/montana/ext/montana/platform/bb/montana.jdp
4733
+ res/generators/templates/extension/extensions/montana/ext/montana/platform/bb/Rakefile
4734
+ res/generators/templates/extension/extensions/montana/ext/montana/platform/bb/src/com/montana/Montana.java
4735
+ res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Classes/Montana.h
4736
+ res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Classes/Montana.m
4737
+ res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Montana.xcodeproj/project.pbxproj
4738
+ res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Montana_Prefix.pch
4739
+ res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Rakefile
4740
+ res/generators/templates/extension/extensions/montana/ext/montana/platform/wm/Montana.vcproj
4741
+ res/generators/templates/extension/extensions/montana/ext/montana/platform/wm/Rakefile
4742
+ res/generators/templates/extension/extensions/montana/ext/montana/platform/wm/src/montana_wm.cpp
4743
+ res/generators/templates/extension/extensions/montana/ext/montana/platform/wm/src/montana_wm.h
4744
+ res/generators/templates/extension/extensions/montana/ext/montana/shared/ruby/montana.i
4745
+ res/generators/templates/extension/extensions/montana/ext/montana/shared/ruby/montana_wrap.c
4746
+ res/generators/templates/extension/extensions/montana/ext/montana/shared/src/montana.c
4747
+ res/generators/templates/extension/extensions/montana/ext.yml
4748
+ res/generators/templates/extension/extensions/montana/montana.rb
4713
4749
  res/generators/templates/model/controller.rb
4714
4750
  res/generators/templates/model/edit.bb.erb
4715
4751
  res/generators/templates/model/edit.erb
@@ -5,6 +5,8 @@
5
5
  #include <logging/RhoLog.h>
6
6
  #include <stdlib.h>
7
7
 
8
+ #include "ruby/ext/rho/rhoruby.h"
9
+
8
10
  #undef DEFAULT_LOGCATEGORY
9
11
  #define DEFAULT_LOGCATEGORY "BarcodeJNI"
10
12
 
@@ -40,17 +42,36 @@ extern "C" const char* rho_barcode_barcode_recognize(const char* filename) {
40
42
  return barcode_result;
41
43
  }
42
44
 
43
- extern "C" void rho_barcode_take_barcode(const char* callback) {
45
+ extern "C" void rho_barcode_take_barcode(const char* callback, VALUE options) {
44
46
  JNIEnv *env = jnienv();
45
47
  jclass cls = rho_find_class(env, "com/rhomobile/barcode/Barcode");
46
48
  if (!cls) return;
47
- jmethodID mid = env->GetStaticMethodID( cls, "take", "(Ljava/lang/String;)V");
49
+ jmethodID mid = env->GetStaticMethodID( cls, "take", "(Ljava/lang/String;I)V");
48
50
  if (!mid) return;
51
+
52
+ int camera_index = 0;
53
+ if (!rho_ruby_is_NIL(options)) {
54
+ // parse options for camera index ( 0 - main, 1 - front)
55
+ rho_param *param = rho_param_fromvalue(options);
56
+ if (param->type == RHO_PARAM_HASH) {
57
+ int i;
58
+ for (i = 0; i < param->v.hash->size; i++) {
59
+ if (strcasecmp(param->v.hash->name[i], "camera") == 0) {
60
+ if (param->v.hash->value[i]->type == RHO_PARAM_STRING) {
61
+ if (strcasecmp(param->v.hash->value[i]->v.string, "front") == 0) {
62
+ camera_index = 1;
63
+ }
64
+ }
65
+ }
66
+ }
67
+ }
68
+ rho_param_free(param);
69
+ }
49
70
 
50
71
  jstring objCallback = env->NewStringUTF(callback);
51
72
  if(objCallback != NULL)
52
73
  {
53
- env->CallStaticObjectMethod(cls, mid, objCallback);
74
+ env->CallStaticObjectMethod(cls, mid, objCallback, camera_index);
54
75
  env->DeleteLocalRef(objCallback);
55
76
  } else
56
77
  {
@@ -82,6 +82,9 @@ import java.util.Vector;
82
82
  * @author Sean Owen
83
83
  */
84
84
  public final class CaptureActivity extends BaseActivity implements SurfaceHolder.Callback {
85
+
86
+ public static final String CAMERA_INDEX_EXTRA = "camera_index";
87
+
85
88
 
86
89
  private static final String TAG = CaptureActivity.class.getSimpleName();
87
90
 
@@ -153,16 +156,6 @@ public final class CaptureActivity extends BaseActivity implements SurfaceHolder
153
156
  }
154
157
  };
155
158
 
156
- /*
157
- private final DialogInterface.OnClickListener aboutListener =
158
- new DialogInterface.OnClickListener() {
159
- public void onClick(DialogInterface dialogInterface, int i) {
160
- Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(getString(R.string.zxing_url)));
161
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
162
- startActivity(intent);
163
- }
164
- };
165
- */
166
159
 
167
160
  ViewfinderView getViewfinderView() {
168
161
  return viewfinderView;
@@ -180,7 +173,13 @@ public final class CaptureActivity extends BaseActivity implements SurfaceHolder
180
173
  window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
181
174
  setContentView(R.layout.capture);
182
175
 
183
- CameraManager.init(getApplication());
176
+ int camera_index = 0;
177
+ Intent intent = getIntent();
178
+ if (intent != null) {
179
+ camera_index = intent.getIntExtra(CAMERA_INDEX_EXTRA, 0);
180
+ }
181
+
182
+ CameraManager.init(getApplication(), camera_index);
184
183
  viewfinderView = (ViewfinderView) findViewById(R.id.viewfinder_view);
185
184
  resultView = findViewById(R.id.result_view);
186
185
  //statusView = (TextView) findViewById(R.id.status_view);
@@ -258,39 +257,6 @@ public final class CaptureActivity extends BaseActivity implements SurfaceHolder
258
257
  surfaceHolder.addCallback(this);
259
258
  surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
260
259
  }
261
-
262
- /*
263
- Intent intent = getIntent();
264
- String action = intent == null ? null : intent.getAction();
265
- String dataString = intent == null ? null : intent.getDataString();
266
- if (intent != null && action != null) {
267
- if (action.equals(Intents.Scan.ACTION)) {
268
- // Scan the formats the intent requested, and return the result to the calling activity.
269
- source = Source.NATIVE_APP_INTENT;
270
- decodeFormats = DecodeFormatManager.parseDecodeFormats(intent);
271
- } else if (dataString != null && dataString.contains(PRODUCT_SEARCH_URL_PREFIX) &&
272
- dataString.contains(PRODUCT_SEARCH_URL_SUFFIX)) {
273
- // Scan only products and send the result to mobile Product Search.
274
- source = Source.PRODUCT_SEARCH_LINK;
275
- sourceUrl = dataString;
276
- decodeFormats = DecodeFormatManager.PRODUCT_FORMATS;
277
- } else if (dataString != null && dataString.startsWith(ZXING_URL)) {
278
- // Scan formats requested in query string (all formats if none specified).
279
- // If a return URL is specified, send the results there. Otherwise, handle it ourselves.
280
- source = Source.ZXING_LINK;
281
- sourceUrl = dataString;
282
- Uri inputUri = Uri.parse(sourceUrl);
283
- returnUrlTemplate = inputUri.getQueryParameter(RETURN_URL_PARAM);
284
- decodeFormats = DecodeFormatManager.parseDecodeFormats(inputUri);
285
- } else {
286
- // Scan all formats and handle the results ourselves (launched from Home).
287
- source = Source.NONE;
288
- decodeFormats = null;
289
- }
290
- characterSet = intent.getStringExtra(Intents.Scan.CHARACTER_SET);
291
- }
292
- else
293
- */
294
260
  {
295
261
  source = Source.NONE;
296
262
  decodeFormats = null;
@@ -346,77 +312,6 @@ public final class CaptureActivity extends BaseActivity implements SurfaceHolder
346
312
  return super.onKeyDown(keyCode, event);
347
313
  }
348
314
 
349
- /*
350
- @Override
351
- public boolean onCreateOptionsMenu(Menu menu) {
352
- super.onCreateOptionsMenu(menu);
353
- menu.add(0, SHARE_ID, 0, R.string.menu_share)
354
- .setIcon(android.R.drawable.ic_menu_share);
355
- menu.add(0, HISTORY_ID, 0, R.string.menu_history)
356
- .setIcon(android.R.drawable.ic_menu_recent_history);
357
- menu.add(0, SETTINGS_ID, 0, R.string.menu_settings)
358
- .setIcon(android.R.drawable.ic_menu_preferences);
359
- menu.add(0, HELP_ID, 0, R.string.menu_help)
360
- .setIcon(android.R.drawable.ic_menu_help);
361
- menu.add(0, ABOUT_ID, 0, R.string.menu_about)
362
- .setIcon(android.R.drawable.ic_menu_info_details);
363
- return true;
364
- }
365
- */
366
-
367
- // Don't display the share menu item if the result overlay is showing.
368
- /*
369
- @Override
370
- public boolean onPrepareOptionsMenu(Menu menu) {
371
- super.onPrepareOptionsMenu(menu);
372
- menu.findItem(SHARE_ID).setVisible(lastResult == null);
373
- return true;
374
- }
375
- */
376
-
377
- /*
378
- @Override
379
- public boolean onOptionsItemSelected(MenuItem item) {
380
- switch (item.getItemId()) {
381
- case SHARE_ID: {
382
- Intent intent = new Intent(Intent.ACTION_VIEW);
383
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
384
- intent.setClassName(this, ShareActivity.class.getName());
385
- startActivity(intent);
386
- break;
387
- }
388
- case HISTORY_ID: {
389
- AlertDialog historyAlert = historyManager.buildAlert();
390
- historyAlert.show();
391
- break;
392
- }
393
- case SETTINGS_ID: {
394
- Intent intent = new Intent(Intent.ACTION_VIEW);
395
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
396
- intent.setClassName(this, PreferencesActivity.class.getName());
397
- startActivity(intent);
398
- break;
399
- }
400
- case HELP_ID: {
401
- Intent intent = new Intent(Intent.ACTION_VIEW);
402
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
403
- intent.setClassName(this, HelpActivity.class.getName());
404
- startActivity(intent);
405
- break;
406
- }
407
- case ABOUT_ID:
408
- AlertDialog.Builder builder = new AlertDialog.Builder(this);
409
- builder.setTitle(getString(R.string.title_about) + versionName);
410
- builder.setMessage(getString(R.string.msg_about) + "\n\n" + getString(R.string.zxing_url));
411
- builder.setIcon(R.drawable.launcher_icon);
412
- builder.setPositiveButton(R.string.button_open_browser, aboutListener);
413
- builder.setNegativeButton(R.string.button_cancel, null);
414
- builder.show();
415
- break;
416
- }
417
- return super.onOptionsItemSelected(item);
418
- }
419
- */
420
315
 
421
316
  @Override
422
317
  public void onConfigurationChanged(Configuration config) {
@@ -457,34 +352,6 @@ public final class CaptureActivity extends BaseActivity implements SurfaceHolder
457
352
  drawResultPoints(barcode, rawResult);
458
353
  handleDecodeInternally(rawResult, barcode);
459
354
 
460
- /*
461
- switch (source) {
462
- case NATIVE_APP_INTENT:
463
- case PRODUCT_SEARCH_LINK:
464
- handleDecodeExternally(rawResult, barcode);
465
- break;
466
- case ZXING_LINK:
467
- if (returnUrlTemplate == null){
468
- handleDecodeInternally(rawResult, barcode);
469
- } else {
470
- handleDecodeExternally(rawResult, barcode);
471
- }
472
- break;
473
- case NONE:
474
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
475
- if (prefs.getBoolean(PreferencesActivity.KEY_BULK_MODE, false)) {
476
- Toast.makeText(this, R.string.msg_bulk_mode_scanned, Toast.LENGTH_SHORT).show();
477
- // Wait a moment or else it will scan the same barcode continuously about 3 times
478
- if (handler != null) {
479
- handler.sendEmptyMessageDelayed(R.id.restart_preview, BULK_MODE_SCAN_DELAY_MS);
480
- }
481
- resetStatusView();
482
- } else {
483
- handleDecodeInternally(rawResult, barcode);
484
- }
485
- break;
486
- }
487
- */
488
355
  }
489
356
  }
490
357
 
@@ -535,53 +402,10 @@ public final class CaptureActivity extends BaseActivity implements SurfaceHolder
535
402
  resultView.setVisibility(View.VISIBLE);
536
403
 
537
404
  ImageView barcodeImageView = (ImageView) findViewById(R.id.barcode_image_view);
538
- if (barcode == null) {
539
- //barcodeImageView.setImageBitmap(BitmapFactory.decodeResource(getResources(),
540
- // R.drawable.launcher_icon));
541
- } else {
405
+ if (barcode != null) {
542
406
  barcodeImageView.setImageBitmap(barcode);
543
407
  }
544
408
 
545
- //ResultHandler resultHandler = ResultHandlerFactory.makeResultHandler(this, rawResult);
546
-
547
- /*
548
- TextView formatTextView = (TextView) findViewById(R.id.format_text_view);
549
- formatTextView.setText(rawResult.getBarcodeFormat().toString());
550
-
551
- TextView typeTextView = (TextView) findViewById(R.id.type_text_view);
552
- typeTextView.setText(resultHandler.getType().toString());
553
-
554
- DateFormat formatter = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
555
- String formattedTime = formatter.format(new Date(rawResult.getTimestamp()));
556
- TextView timeTextView = (TextView) findViewById(R.id.time_text_view);
557
- timeTextView.setText(formattedTime);
558
-
559
-
560
- TextView metaTextView = (TextView) findViewById(R.id.meta_text_view);
561
- View metaTextViewLabel = findViewById(R.id.meta_text_view_label);
562
- metaTextView.setVisibility(View.GONE);
563
- metaTextViewLabel.setVisibility(View.GONE);
564
- */
565
-
566
- /*
567
- Map<ResultMetadataType,Object> metadata =
568
- (Map<ResultMetadataType,Object>) rawResult.getResultMetadata();
569
- if (metadata != null) {
570
- StringBuilder metadataText = new StringBuilder(20);
571
- for (Map.Entry<ResultMetadataType,Object> entry : metadata.entrySet()) {
572
- if (DISPLAYABLE_METADATA_TYPES.contains(entry.getKey())) {
573
- metadataText.append(entry.getValue()).append('\n');
574
- }
575
- }
576
- if (metadataText.length() > 0) {
577
- metadataText.setLength(metadataText.length() - 1);
578
- metaTextView.setText(metadataText);
579
- metaTextView.setVisibility(View.VISIBLE);
580
- metaTextViewLabel.setVisibility(View.VISIBLE);
581
- }
582
- }
583
- */
584
-
585
409
  TextView contentsTextView = (TextView) findViewById(R.id.contents_text_view);
586
410
  CharSequence displayContents = rawResult.getText();// resultHandler.getDisplayContents();
587
411
  contentsTextView.setText(displayContents);
@@ -594,72 +418,10 @@ public final class CaptureActivity extends BaseActivity implements SurfaceHolder
594
418
  mRetakeButton.setVisibility(View.VISIBLE);
595
419
  mOKButton.setVisibility(View.VISIBLE);
596
420
 
597
-
598
- /*
599
- int buttonCount = resultHandler.getButtonCount();
600
- ViewGroup buttonView = (ViewGroup) findViewById(R.id.result_button_view);
601
- buttonView.requestFocus();
602
- for (int x = 0; x < ResultHandler.MAX_BUTTON_COUNT; x++) {
603
- TextView button = (TextView) buttonView.getChildAt(x);
604
- if (x < buttonCount) {
605
- button.setVisibility(View.VISIBLE);
606
- button.setText(resultHandler.getButtonText(x));
607
- button.setOnClickListener(new ResultButtonListener(resultHandler, x));
608
- } else {
609
- button.setVisibility(View.GONE);
610
- }
611
- }
612
-
613
- if (copyToClipboard) {
614
- ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
615
- clipboard.setText(displayContents);
616
- }
617
- */
618
421
  }
619
422
 
620
423
  // Briefly show the contents of the barcode, then handle the result outside Barcode Scanner.
621
424
  private void handleDecodeExternally(Result rawResult, Bitmap barcode) {
622
- /*
623
- viewfinderView.drawResultBitmap(barcode);
624
-
625
- // Since this message will only be shown for a second, just tell the user what kind of
626
- // barcode was found (e.g. contact info) rather than the full contents, which they won't
627
- // have time to read.
628
- ResultHandler resultHandler = ResultHandlerFactory.makeResultHandler(this, rawResult);
629
- //statusView.setText(getString(resultHandler.getDisplayTitle()));
630
-
631
- if (copyToClipboard) {
632
- ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
633
- clipboard.setText(resultHandler.getDisplayContents());
634
- }
635
-
636
- if (source == Source.NATIVE_APP_INTENT) {
637
- // Hand back whatever action they requested - this can be changed to Intents.Scan.ACTION when
638
- // the deprecated intent is retired.
639
- Intent intent = new Intent(getIntent().getAction());
640
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
641
- intent.putExtra(Intents.Scan.RESULT, rawResult.toString());
642
- intent.putExtra(Intents.Scan.RESULT_FORMAT, rawResult.getBarcodeFormat().toString());
643
- Message message = Message.obtain(handler, R.id.return_scan_result);
644
- message.obj = intent;
645
- handler.sendMessageDelayed(message, INTENT_RESULT_DURATION);
646
- } else if (source == Source.PRODUCT_SEARCH_LINK) {
647
- // Reformulate the URL which triggered us into a query, so that the request goes to the same
648
- // TLD as the scan URL.
649
- Message message = Message.obtain(handler, R.id.launch_product_query);
650
- int end = sourceUrl.lastIndexOf("/scan");
651
- message.obj = sourceUrl.substring(0, end) + "?q=" +
652
- resultHandler.getDisplayContents().toString() + "&source=zxing";
653
- handler.sendMessageDelayed(message, INTENT_RESULT_DURATION);
654
- } else if (source == Source.ZXING_LINK) {
655
- // Replace each occurrence of RETURN_CODE_PLACEHOLDER in the returnUrlTemplate
656
- // with the scanned code. This allows both queries and REST-style URLs to work.
657
- Message message = Message.obtain(handler, R.id.launch_product_query);
658
- message.obj = returnUrlTemplate.replace(RETURN_CODE_PLACEHOLDER,
659
- resultHandler.getDisplayContents().toString());
660
- handler.sendMessageDelayed(message, INTENT_RESULT_DURATION);
661
- }
662
- */
663
425
  }
664
426
 
665
427
  /**
@@ -668,29 +430,6 @@ public final class CaptureActivity extends BaseActivity implements SurfaceHolder
668
430
  * it to a value stored as a preference.
669
431
  */
670
432
  private boolean showHelpOnFirstLaunch() {
671
- /*
672
- try {
673
- PackageInfo info = getPackageManager().getPackageInfo(PACKAGE_NAME, 0);
674
- int currentVersion = info.versionCode;
675
- // Since we're paying to talk to the PackageManager anyway, it makes sense to cache the app
676
- // version name here for display in the about box later.
677
- this.versionName = info.versionName;
678
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
679
- int lastVersion = prefs.getInt(PreferencesActivity.KEY_HELP_VERSION_SHOWN, 0);
680
- if (currentVersion > lastVersion) {
681
- prefs.edit().putInt(PreferencesActivity.KEY_HELP_VERSION_SHOWN, currentVersion).commit();
682
- Intent intent = new Intent(this, HelpActivity.class);
683
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
684
- // Show the default page on a clean install, and the what's new page on an upgrade.
685
- String page = (lastVersion == 0) ? HelpActivity.DEFAULT_PAGE : HelpActivity.WHATS_NEW_PAGE;
686
- intent.putExtra(HelpActivity.REQUESTED_PAGE_KEY, page);
687
- startActivity(intent);
688
- return true;
689
- }
690
- } catch (PackageManager.NameNotFoundException e) {
691
- Log.w(TAG, e);
692
- }
693
- */
694
433
  return false;
695
434
  }
696
435
 
@@ -750,14 +489,6 @@ public final class CaptureActivity extends BaseActivity implements SurfaceHolder
750
489
  }
751
490
 
752
491
  private void displayFrameworkBugMessageAndExit() {
753
- /*
754
- AlertDialog.Builder builder = new AlertDialog.Builder(this);
755
- builder.setTitle(getString(R.string.app_name));
756
- builder.setMessage(getString(R.string.msg_camera_framework_bug));
757
- builder.setPositiveButton(R.string.button_ok, new FinishListener(this));
758
- builder.setOnCancelListener(new FinishListener(this));
759
- builder.show();
760
- */
761
492
  }
762
493
 
763
494
  private void resetStatusView() {