Browse Source

1.修改Android RAImage 签名。
2.修改Android RAImage,删除ZXing。

Pen Li 7 năm trước cách đây
mục cha
commit
768c887ef3
47 tập tin đã thay đổi với 1061 bổ sung4565 xóa
  1. 3 1
      ApexDrivers/RAUtilsLibrary/src/main/AndroidManifest.xml
  2. 0 0
      ApexDrivers/RAUtilsLibrary/src/main/res/raw/license.txt
  3. 4 3
      ApexDrivers/raimage/build.gradle
  4. BIN
      ApexDrivers/raimage/libs/bcprov-jdk15on-157.jar
  5. BIN
      ApexDrivers/raimage/libs/core-2.3.0.jar
  6. BIN
      ApexDrivers/raimage/libs/httpmime-4.1.1.jar
  7. 12 21
      ApexDrivers/raimage/src/main/AndroidManifest.xml
  8. 0 112
      ApexDrivers/raimage/src/main/java/com/usai/redant/camera/AutoFocusManager.java
  9. 0 307
      ApexDrivers/raimage/src/main/java/com/usai/redant/camera/CameraConfigurationManager.java
  10. 0 311
      ApexDrivers/raimage/src/main/java/com/usai/redant/camera/CameraManager.java
  11. 0 43
      ApexDrivers/raimage/src/main/java/com/usai/redant/camera/FrontLightMode.java
  12. 0 56
      ApexDrivers/raimage/src/main/java/com/usai/redant/camera/PreviewCallback.java
  13. 0 62
      ApexDrivers/raimage/src/main/java/com/usai/redant/camera/open/OpenCameraInterface.java
  14. 0 87
      ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/AmbientLightManager.java
  15. 0 128
      ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/BeepManager.java
  16. 0 884
      ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/CaptureActivity.java
  17. 0 169
      ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/CaptureActivityHandler.java
  18. 0 101
      ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/DecodeFormatManager.java
  19. 0 121
      ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/DecodeHandler.java
  20. 0 236
      ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/DecodeHintManager.java
  21. 0 104
      ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/DecodeThread.java
  22. 0 49
      ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/FinishListener.java
  23. 0 243
      ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/HttpHelper.java
  24. 0 116
      ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/InactivityTimer.java
  25. 0 261
      ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/Intents.java
  26. 580 537
      ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/MainActivity.java
  27. 47 39
      ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/ModeActivity.java
  28. 100 0
      ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/POD/PodActivity.java
  29. 0 56
      ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/PreferencesActivity.java
  30. 0 71
      ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/PreferencesFragment.java
  31. 3 2
      ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/ServerSettingActivity.java
  32. 0 35
      ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/ViewfinderResultPointCallback.java
  33. 0 187
      ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/ViewfinderView.java
  34. 1 2
      ApexDrivers/raimage/src/main/java/com/usai/util/Network.java
  35. BIN
      ApexDrivers/raimage/src/main/res/drawable-hdpi/tap_signature.png
  36. BIN
      ApexDrivers/raimage/src/main/res/drawable-ldpi/tap_signature.png
  37. BIN
      ApexDrivers/raimage/src/main/res/drawable-mdpi/tap_signature.png
  38. BIN
      ApexDrivers/raimage/src/main/res/drawable-xhdpi/tap_signature.png
  39. BIN
      ApexDrivers/raimage/src/main/res/drawable-xxhdpi/tap_signature.png
  40. 156 0
      ApexDrivers/raimage/src/main/res/layout-land/activity_pod.xml
  41. 152 0
      ApexDrivers/raimage/src/main/res/layout/activity_pod.xml
  42. BIN
      ApexDrivers/raimage/src/main/res/raw/beep.ogg
  43. 0 47
      ApexDrivers/raimage/src/main/res/values/arrays.xml
  44. 3 15
      ApexDrivers/raimage/src/main/res/values/colors.xml
  45. 0 25
      ApexDrivers/raimage/src/main/res/values/ids.xml
  46. 0 24
      ApexDrivers/raimage/src/main/res/values/themes.xml
  47. 0 110
      ApexDrivers/raimage/src/main/res/xml/preferences.xml

+ 3 - 1
ApexDrivers/RAUtilsLibrary/src/main/AndroidManifest.xml

@@ -86,7 +86,9 @@
         <activity android:name=".InfinitePhoto.InfinitePhotoActivity"
             android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen"/>
 
-        <activity android:name=".signature.SignatureActivity"/>
+        <activity android:name=".signature.SignatureActivity"
+                  android:theme="@style/Theme.AppCompat.Light.DarkActionBar"
+            />
 
     </application>
 

+ 0 - 0
ApexDrivers/raimage/src/main/res/raw/license.txt → ApexDrivers/RAUtilsLibrary/src/main/res/raw/license.txt


+ 4 - 3
ApexDrivers/raimage/build.gradle

@@ -25,14 +25,15 @@ android {
 
 dependencies {
     //    compile 'com.android.support:support-v4:18.0.0'
-    api files('libs/core-2.3.0.jar')
-    api files('libs/httpmime-4.1.1.jar')
-    api files('libs/bcprov-jdk15on-157.jar')
     //    compile 'org.bouncycastle.bcprov-jdk15on.1.57.org.bouncycastle:bcprov-jdk15on:1.57'
     implementation 'com.android.support:appcompat-v7:26.1.0'
     api 'com.android.support:support-v4:26.1.0'
     api 'com.android.support.constraint:constraint-layout:1.1.3'
     api 'com.android.support:recyclerview-v7:26.1.0'
+    compile project(path: ':RAUtilsLibrary')
+    implementation files('/Users/macmini1/android project/ApexDrivers/RAUtilsLibrary/libs/core-2.3.0.jar')
+    implementation files('/Users/macmini1/android project/ApexDrivers/RAUtilsLibrary/libs/bcprov-jdk15on-157.jar')
+    implementation files('/Users/macmini1/android project/ApexDrivers/RAUtilsLibrary/libs/httpmime-4.1.1.jar')
 }
 android {
     useLibrary 'org.apache.http.legacy'

BIN
ApexDrivers/raimage/libs/bcprov-jdk15on-157.jar


BIN
ApexDrivers/raimage/libs/core-2.3.0.jar


BIN
ApexDrivers/raimage/libs/httpmime-4.1.1.jar


+ 12 - 21
ApexDrivers/raimage/src/main/AndroidManifest.xml

@@ -11,7 +11,7 @@
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
     <uses-permission android:name="android.permission.INTERNET"/>
     <!-- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> -->
-    <!--<uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/>-->
+    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/>
 
     <application
         android:name=".RedAntApplication"
@@ -53,32 +53,12 @@
             </intent-filter>
             -->
         </activity>
-        <activity
-            android:name=".CaptureActivity"
-            android:clearTaskOnLaunch="true"
-            android:label="Scan"
-            android:screenOrientation="sensorLandscape"
-            android:stateNotNeeded="true"
-            android:theme="@style/CaptureTheme"
-            android:windowSoftInputMode="stateAlwaysHidden">
 
-            <!--
-                 <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-
-                <category android:name="android.intent.category.LAUNCHER" />
-            </intent-filter>
-            -->
-        </activity>
         <activity
             android:name=".UploadQueueActivity"
             android:label="Upload queue"
             android:screenOrientation="sensorLandscape"
             android:theme="@style/CaptureTheme"/>
-        <activity
-            android:name=".PreferencesActivity"
-            android:label="@string/preferences_name"
-            android:stateNotNeeded="true"/>
         <activity
             android:name=".PhotoPreviewActivity"
             android:label="Photo preview"
@@ -173,6 +153,17 @@
                   android:stateNotNeeded="true"
                   android:theme="@style/Theme.AppCompat.Light">
         </activity>
+
+        <activity android:name=".POD.PodActivity"
+                  android:label="@string/app_name"
+                  android:stateNotNeeded="true"
+                  android:theme="@style/Theme.AppCompat.Light"
+                  android:windowSoftInputMode="stateHidden|adjustResize"
+            >
+
+        </activity>
+
+
     </application>
 
 </manifest>

+ 0 - 112
ApexDrivers/raimage/src/main/java/com/usai/redant/camera/AutoFocusManager.java

@@ -1,112 +0,0 @@
-/*
- * Copyright (C) 2012 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.camera;
-
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.hardware.Camera;
-import android.os.AsyncTask;
-import android.preference.PreferenceManager;
-import android.util.Log;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import com.usai.redant.raimage.PreferencesActivity;
-
-final class AutoFocusManager implements Camera.AutoFocusCallback {
-
-  private static final String TAG = AutoFocusManager.class.getSimpleName();
-
-  private static final long AUTO_FOCUS_INTERVAL_MS = 2000L;
-  private static final Collection<String> FOCUS_MODES_CALLING_AF;
-  static {
-    FOCUS_MODES_CALLING_AF = new ArrayList<String>(2);
-    FOCUS_MODES_CALLING_AF.add(Camera.Parameters.FOCUS_MODE_AUTO);
-    FOCUS_MODES_CALLING_AF.add(Camera.Parameters.FOCUS_MODE_MACRO);
-  }
-
-  private boolean active;
-  private final boolean useAutoFocus;
-  private final Camera camera;
-  private AsyncTask<?,?,?> outstandingTask;
-
-  AutoFocusManager(Context context, Camera camera) {
-    this.camera = camera;
-    SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
-    String currentFocusMode = camera.getParameters().getFocusMode();
-    useAutoFocus =
-        sharedPrefs.getBoolean(PreferencesActivity.KEY_AUTO_FOCUS, true) &&
-        FOCUS_MODES_CALLING_AF.contains(currentFocusMode);
-    Log.i(TAG, "Current focus mode '" + currentFocusMode + "'; use auto focus? " + useAutoFocus);
-    start();
-  }
-
-  @Override
-  public synchronized void onAutoFocus(boolean success, Camera theCamera) {
-    if (active) {
-      outstandingTask = new AutoFocusTask();
-      outstandingTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
-    }
-  }
-
-  synchronized void start() {
-    if (useAutoFocus) {
-      active = true;
-      try {
-        camera.autoFocus(this);
-      } catch (RuntimeException re) {
-        // Have heard RuntimeException reported in Android 4.0.x+; continue?
-        Log.w(TAG, "Unexpected exception while focusing", re);
-      }
-    }
-  }
-
-  synchronized void stop() {
-    if (useAutoFocus) {
-      try {
-        camera.cancelAutoFocus();
-      } catch (RuntimeException re) {
-        // Have heard RuntimeException reported in Android 4.0.x+; continue?
-        Log.w(TAG, "Unexpected exception while cancelling focusing", re);
-      }
-    }
-    if (outstandingTask != null) {
-      outstandingTask.cancel(true);
-      outstandingTask = null;
-    }
-    active = false;
-  }
-
-  private final class AutoFocusTask extends AsyncTask<Object,Object,Object> {
-    @Override
-    protected Object doInBackground(Object... voids) {
-      try {
-        Thread.sleep(AUTO_FOCUS_INTERVAL_MS);
-      } catch (InterruptedException e) {
-        // continue
-      }
-      synchronized (AutoFocusManager.this) {
-        if (active) {
-          start();
-        }
-      }
-      return null;
-    }
-  }
-
-}

+ 0 - 307
ApexDrivers/raimage/src/main/java/com/usai/redant/camera/CameraConfigurationManager.java

@@ -1,307 +0,0 @@
-/*
- * Copyright (C) 2010 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.camera;
-
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.graphics.Point;
-import android.hardware.Camera;
-import android.preference.PreferenceManager;
-import android.util.Log;
-import android.view.Display;
-import android.view.WindowManager;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-
-import com.usai.redant.raimage.PreferencesActivity;
-
-/**
- * A class which deals with reading, parsing, and setting the camera parameters which are used to
- * configure the camera hardware.
- */
-final class CameraConfigurationManager {
-
-  private static final String TAG = "CameraConfiguration";
-
-  // This is bigger than the size of a small screen, which is still supported. The routine
-  // below will still select the default (presumably 320x240) size for these. This prevents
-  // accidental selection of very low resolution on some devices.
-  private static final int MIN_PREVIEW_PIXELS = 480 * 320; // normal screen
-  //private static final float MAX_EXPOSURE_COMPENSATION = 1.5f;
-  //private static final float MIN_EXPOSURE_COMPENSATION = 0.0f;
-  private static final double MAX_ASPECT_DISTORTION = 0.15;
-
-  private final Context context;
-  private Point screenResolution;
-  private Point cameraResolution;
-
-  CameraConfigurationManager(Context context) {
-    this.context = context;
-  }
-
-  /**
-   * Reads, one time, values from the camera that are needed by the app.
-   */
-  void initFromCameraParameters(Camera camera) {
-    Camera.Parameters parameters = camera.getParameters();
-    WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
-    Display display = manager.getDefaultDisplay();
-    Point theScreenResolution = new Point();
-    display.getSize(theScreenResolution);
-    screenResolution = theScreenResolution;
-    Log.i(TAG, "Screen resolution: " + screenResolution);
-    cameraResolution = findBestPreviewSizeValue(parameters, screenResolution);
-    Log.i(TAG, "Camera resolution: " + cameraResolution);
-  }
-
-  void setDesiredCameraParameters(Camera camera, boolean safeMode) {
-    Camera.Parameters parameters = camera.getParameters();
-
-    if (parameters == null) {
-      Log.w(TAG, "Device error: no camera parameters are available. Proceeding without configuration.");
-      return;
-    }
-
-    Log.i(TAG, "Initial camera parameters: " + parameters.flatten());
-
-    if (safeMode) {
-      Log.w(TAG, "In camera config safe mode -- most settings will not be honored");
-    }
-
-    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
-
-    initializeTorch(parameters, prefs, safeMode);
-
-    String focusMode = null;
-    if (prefs.getBoolean(PreferencesActivity.KEY_AUTO_FOCUS, true)) {
-      if (safeMode || prefs.getBoolean(PreferencesActivity.KEY_DISABLE_CONTINUOUS_FOCUS, false)) {
-        focusMode = findSettableValue(parameters.getSupportedFocusModes(),
-                                      Camera.Parameters.FOCUS_MODE_AUTO);
-      } else {
-        focusMode = findSettableValue(parameters.getSupportedFocusModes(),
-                                      Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE,
-                                      Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO,
-                                      Camera.Parameters.FOCUS_MODE_AUTO);
-      }
-    }
-    // Maybe selected auto-focus but not available, so fall through here:
-    if (!safeMode && focusMode == null) {
-      focusMode = findSettableValue(parameters.getSupportedFocusModes(),
-                                    Camera.Parameters.FOCUS_MODE_MACRO,
-                                    Camera.Parameters.FOCUS_MODE_EDOF);
-    }
-    if (focusMode != null) {
-      parameters.setFocusMode(focusMode);
-    }
-
-    if (prefs.getBoolean(PreferencesActivity.KEY_INVERT_SCAN, false)) {
-      String colorMode = findSettableValue(parameters.getSupportedColorEffects(),
-                                           Camera.Parameters.EFFECT_NEGATIVE);
-      if (colorMode != null) {
-        parameters.setColorEffect(colorMode);
-      }
-    }
-
-    parameters.setPreviewSize(cameraResolution.x, cameraResolution.y);
-    camera.setParameters(parameters);
-
-    Camera.Parameters afterParameters = camera.getParameters();
-    Camera.Size afterSize = afterParameters.getPreviewSize();
-    if (afterSize!= null && (cameraResolution.x != afterSize.width || cameraResolution.y != afterSize.height)) {
-      Log.w(TAG, "Camera said it supported preview size " + cameraResolution.x + 'x' + cameraResolution.y +
-                 ", but after setting it, preview size is " + afterSize.width + 'x' + afterSize.height);
-      cameraResolution.x = afterSize.width;
-      cameraResolution.y = afterSize.height;
-    }
-  }
-
-  Point getCameraResolution() {
-    return cameraResolution;
-  }
-
-  Point getScreenResolution() {
-    return screenResolution;
-  }
-
-  boolean getTorchState(Camera camera) {
-    if (camera != null) {
-      Camera.Parameters parameters = camera.getParameters();
-      if (parameters != null) {
-        String flashMode = camera.getParameters().getFlashMode();
-        return flashMode != null &&
-            (Camera.Parameters.FLASH_MODE_ON.equals(flashMode) ||
-             Camera.Parameters.FLASH_MODE_TORCH.equals(flashMode));
-      }
-    }
-    return false;
-  }
-
-  void setTorch(Camera camera, boolean newSetting) {
-    Camera.Parameters parameters = camera.getParameters();
-    doSetTorch(parameters, newSetting, false);
-    camera.setParameters(parameters);
-  }
-
-  private void initializeTorch(Camera.Parameters parameters, SharedPreferences prefs, boolean safeMode) {
-    boolean currentSetting = FrontLightMode.readPref(prefs) == FrontLightMode.ON;
-    doSetTorch(parameters, currentSetting, safeMode);
-  }
-
-  private void doSetTorch(Camera.Parameters parameters, boolean newSetting, boolean safeMode) {
-    String flashMode;
-    if (newSetting) {
-      flashMode = findSettableValue(parameters.getSupportedFlashModes(),
-                                    Camera.Parameters.FLASH_MODE_TORCH,
-                                    Camera.Parameters.FLASH_MODE_ON);
-    } else {
-      flashMode = findSettableValue(parameters.getSupportedFlashModes(),
-                                    Camera.Parameters.FLASH_MODE_OFF);
-    }
-    if (flashMode != null) {
-      parameters.setFlashMode(flashMode);
-    }
-
-    /*
-    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
-    if (!prefs.getBoolean(PreferencesActivity.KEY_DISABLE_EXPOSURE, false)) {
-      if (!safeMode) {
-        int minExposure = parameters.getMinExposureCompensation();
-        int maxExposure = parameters.getMaxExposureCompensation();
-        if (minExposure != 0 || maxExposure != 0) {
-          float step = parameters.getExposureCompensationStep();
-          int desiredCompensation;
-          if (newSetting) {
-            // Light on; set low exposue compensation
-            desiredCompensation = Math.max((int) (MIN_EXPOSURE_COMPENSATION / step), minExposure);
-          } else {
-            // Light off; set high compensation
-            desiredCompensation = Math.min((int) (MAX_EXPOSURE_COMPENSATION / step), maxExposure);
-          }
-          Log.i(TAG, "Setting exposure compensation to " + desiredCompensation + " / " + (step * desiredCompensation));
-          parameters.setExposureCompensation(desiredCompensation);
-        } else {
-          Log.i(TAG, "Camera does not support exposure compensation");
-        }
-      }
-    }
-     */
-  }
-
-  private Point findBestPreviewSizeValue(Camera.Parameters parameters, Point screenResolution) {
-
-    List<Camera.Size> rawSupportedSizes = parameters.getSupportedPreviewSizes();
-    if (rawSupportedSizes == null) {
-      Log.w(TAG, "Device returned no supported preview sizes; using default");
-      Camera.Size defaultSize = parameters.getPreviewSize();
-      return new Point(defaultSize.width, defaultSize.height);
-    }
-
-    // Sort by size, descending
-    List<Camera.Size> supportedPreviewSizes = new ArrayList<Camera.Size>(rawSupportedSizes);
-    Collections.sort(supportedPreviewSizes, new Comparator<Camera.Size>() {
-      @Override
-      public int compare(Camera.Size a, Camera.Size b) {
-        int aPixels = a.height * a.width;
-        int bPixels = b.height * b.width;
-        if (bPixels < aPixels) {
-          return -1;
-        }
-        if (bPixels > aPixels) {
-          return 1;
-        }
-        return 0;
-      }
-    });
-
-    if (Log.isLoggable(TAG, Log.INFO)) {
-      StringBuilder previewSizesString = new StringBuilder();
-      for (Camera.Size supportedPreviewSize : supportedPreviewSizes) {
-        previewSizesString.append(supportedPreviewSize.width).append('x')
-            .append(supportedPreviewSize.height).append(' ');
-      }
-      Log.i(TAG, "Supported preview sizes: " + previewSizesString);
-    }
-
-    double screenAspectRatio = (double) screenResolution.x / (double) screenResolution.y;
-
-    // Remove sizes that are unsuitable
-    Iterator<Camera.Size> it = supportedPreviewSizes.iterator();
-    while (it.hasNext()) {
-      Camera.Size supportedPreviewSize = it.next();
-      int realWidth = supportedPreviewSize.width;
-      int realHeight = supportedPreviewSize.height;
-      if (realWidth * realHeight < MIN_PREVIEW_PIXELS) {
-        it.remove();
-        continue;
-      }
-
-      boolean isCandidatePortrait = realWidth < realHeight;
-      int maybeFlippedWidth = isCandidatePortrait ? realHeight : realWidth;
-      int maybeFlippedHeight = isCandidatePortrait ? realWidth : realHeight;
-      double aspectRatio = (double) maybeFlippedWidth / (double) maybeFlippedHeight;
-      double distortion = Math.abs(aspectRatio - screenAspectRatio);
-      if (distortion > MAX_ASPECT_DISTORTION) {
-        it.remove(); 
-        continue;
-      }
-
-      if (maybeFlippedWidth == screenResolution.x && maybeFlippedHeight == screenResolution.y) {
-        Point exactPoint = new Point(realWidth, realHeight);
-        Log.i(TAG, "Found preview size exactly matching screen size: " + exactPoint);
-        return exactPoint;
-      }
-    }
-
-    // If no exact match, use largest preview size. This was not a great idea on older devices because
-    // of the additional computation needed. We're likely to get here on newer Android 4+ devices, where
-    // the CPU is much more powerful.
-    if (!supportedPreviewSizes.isEmpty()) {
-      Camera.Size largestPreview = supportedPreviewSizes.get(0);
-      Point largestSize = new Point(largestPreview.width, largestPreview.height);
-      Log.i(TAG, "Using largest suitable preview size: " + largestSize);
-      return largestSize;
-    }
-
-    // If there is nothing at all suitable, return current preview size
-    Camera.Size defaultPreview = parameters.getPreviewSize();
-    Point defaultSize = new Point(defaultPreview.width, defaultPreview.height);
-    Log.i(TAG, "No suitable preview sizes, using default: " + defaultSize);
-    return defaultSize;
-  }
-
-  private static String findSettableValue(Collection<String> supportedValues,
-                                          String... desiredValues) {
-    Log.i(TAG, "Supported values: " + supportedValues);
-    String result = null;
-    if (supportedValues != null) {
-      for (String desiredValue : desiredValues) {
-        if (supportedValues.contains(desiredValue)) {
-          result = desiredValue;
-          break;
-        }
-      }
-    }
-    Log.i(TAG, "Settable value: " + result);
-    return result;
-  }
-
-}

+ 0 - 311
ApexDrivers/raimage/src/main/java/com/usai/redant/camera/CameraManager.java

@@ -1,311 +0,0 @@
-/*
- * Copyright (C) 2008 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.camera;
-
-import android.content.Context;
-import android.graphics.Point;
-import android.graphics.Rect;
-import android.hardware.Camera;
-
-import android.os.Handler;
-import android.util.Log;
-import android.view.SurfaceHolder;
-import com.google.zxing.PlanarYUVLuminanceSource;
-import com.usai.redant.camera.open.OpenCameraInterface;
-
-import java.io.IOException;
-
-/**
- * This object wraps the Camera service object and expects to be the only one talking to it. The
- * implementation encapsulates the steps needed to take preview-sized images, which are used for
- * both preview and decoding.
- *
- * @author dswitkin@google.com (Daniel Switkin)
- */
-public final class CameraManager {
-
-  private static final String TAG = CameraManager.class.getSimpleName();
-
-  private static final int MIN_FRAME_WIDTH = 240;
-  private static final int MIN_FRAME_HEIGHT = 240;
-  private static final int MAX_FRAME_WIDTH = 1200; // = 5/8 * 1920
-  private static final int MAX_FRAME_HEIGHT = 675; // = 5/8 * 1080
-
-  private final Context context;
-  private final CameraConfigurationManager configManager;
-  private Camera camera;
-  private AutoFocusManager autoFocusManager;
-  private Rect framingRect;
-  private Rect framingRectInPreview;
-  private boolean initialized;
-  private boolean previewing;
-  private int requestedFramingRectWidth;
-  private int requestedFramingRectHeight;
-  /**
-   * Preview frames are delivered here, which we pass on to the registered handler. Make sure to
-   * clear the handler so it will only receive one message.
-   */
-  private final PreviewCallback previewCallback;
-
-  public CameraManager(Context context) {
-    this.context = context;
-    this.configManager = new CameraConfigurationManager(context);
-    previewCallback = new PreviewCallback(configManager);
-  }
-
-  /**
-   * Opens the camera driver and initializes the hardware parameters.
-   *
-   * @param holder The surface object which the camera will draw preview frames into.
-   * @throws IOException Indicates the camera driver failed to open.
-   */
-  public synchronized void openDriver(SurfaceHolder holder) throws IOException {
-    Camera theCamera = camera;
-    if (theCamera == null) {
-      theCamera = OpenCameraInterface.open();
-      if (theCamera == null) {
-        throw new IOException();
-      }
-      camera = theCamera;
-    }
-    theCamera.setPreviewDisplay(holder);
-
-    if (!initialized) {
-      initialized = true;
-      configManager.initFromCameraParameters(theCamera);
-      if (requestedFramingRectWidth > 0 && requestedFramingRectHeight > 0) {
-        setManualFramingRect(requestedFramingRectWidth, requestedFramingRectHeight);
-        requestedFramingRectWidth = 0;
-        requestedFramingRectHeight = 0;
-      }
-    }
-
-    Camera.Parameters parameters = theCamera.getParameters();
-    String parametersFlattened = parameters == null ? null : parameters.flatten(); // Save these, temporarily
-    try {
-      configManager.setDesiredCameraParameters(theCamera, false);
-    } catch (RuntimeException re) {
-      // Driver failed
-      Log.w(TAG, "Camera rejected parameters. Setting only minimal safe-mode parameters");
-      Log.i(TAG, "Resetting to saved camera params: " + parametersFlattened);
-      // Reset:
-      if (parametersFlattened != null) {
-        parameters = theCamera.getParameters();
-        parameters.unflatten(parametersFlattened);
-        try {
-          theCamera.setParameters(parameters);
-          configManager.setDesiredCameraParameters(theCamera, true);
-        } catch (RuntimeException re2) {
-          // Well, darn. Give up
-          Log.w(TAG, "Camera rejected even safe-mode parameters! No configuration");
-        }
-      }
-    }
-
-  }
-
-  public synchronized boolean isOpen() {
-    return camera != null;
-  }
-
-  /**
-   * Closes the camera driver if still in use.
-   */
-  public synchronized void closeDriver() {
-    if (camera != null) {
-      camera.release();
-      camera = null;
-      // Make sure to clear these each time we close the camera, so that any scanning rect
-      // requested by intent is forgotten.
-      framingRect = null;
-      framingRectInPreview = null;
-    }
-  }
-
-  /**
-   * Asks the camera hardware to begin drawing preview frames to the screen.
-   */
-  public synchronized void startPreview() {
-    Camera theCamera = camera;
-    if (theCamera != null && !previewing) {
-      theCamera.startPreview();
-      previewing = true;
-      autoFocusManager = new AutoFocusManager(context, camera);
-    }
-  }
-
-  /**
-   * Tells the camera to stop drawing preview frames.
-   */
-  public synchronized void stopPreview() {
-    if (autoFocusManager != null) {
-      autoFocusManager.stop();
-      autoFocusManager = null;
-    }
-    if (camera != null && previewing) {
-      camera.stopPreview();
-      previewCallback.setHandler(null, 0);
-      previewing = false;
-    }
-  }
-
-  /**
-   * Convenience method for {@link com.usai.test1.android.CaptureActivity}
-   */
-  public synchronized void setTorch(boolean newSetting) {
-    if (newSetting != configManager.getTorchState(camera)) {
-      if (camera != null) {
-        if (autoFocusManager != null) {
-          autoFocusManager.stop();
-        }
-        configManager.setTorch(camera, newSetting);
-        if (autoFocusManager != null) {
-          autoFocusManager.start();
-        }
-      }
-    }
-  }
-
-  /**
-   * A single preview frame will be returned to the handler supplied. The data will arrive as byte[]
-   * in the message.obj field, with width and height encoded as message.arg1 and message.arg2,
-   * respectively.
-   *
-   * @param handler The handler to send the message to.
-   * @param message The what field of the message to be sent.
-   */
-  public synchronized void requestPreviewFrame(Handler handler, int message) {
-    Camera theCamera = camera;
-    if (theCamera != null && previewing) {
-      previewCallback.setHandler(handler, message);
-      theCamera.setOneShotPreviewCallback(previewCallback);
-    }
-  }
-
-  /**
-   * Calculates the framing rect which the UI should draw to show the user where to place the
-   * barcode. This target helps with alignment as well as forces the user to hold the device
-   * far enough away to ensure the image will be in focus.
-   *
-   * @return The rectangle to draw on screen in window coordinates.
-   */
-  public synchronized Rect getFramingRect() {
-    if (framingRect == null) {
-      if (camera == null) {
-        return null;
-      }
-      Point screenResolution = configManager.getScreenResolution();
-      if (screenResolution == null) {
-        // Called early, before init even finished
-        return null;
-      }
-
-      int width = findDesiredDimensionInRange(screenResolution.x, MIN_FRAME_WIDTH, MAX_FRAME_WIDTH);
-      int height = findDesiredDimensionInRange(screenResolution.y, MIN_FRAME_HEIGHT, MAX_FRAME_HEIGHT);
-
-      int leftOffset = (screenResolution.x - width) / 2;
-      int topOffset = (screenResolution.y - height) / 2;
-      framingRect = new Rect(leftOffset, topOffset, leftOffset + width, topOffset + height);
-      Log.d(TAG, "Calculated framing rect: " + framingRect);
-    }
-    return framingRect;
-  }
-  
-  private static int findDesiredDimensionInRange(int resolution, int hardMin, int hardMax) {
-    int dim = 5 * resolution / 8; // Target 5/8 of each dimension
-    if (dim < hardMin) {
-      return hardMin;
-    }
-    if (dim > hardMax) {
-      return hardMax;
-    }
-    return dim;
-  }
-
-  /**
-   * Like {@link #getFramingRect} but coordinates are in terms of the preview frame,
-   * not UI / screen.
-   */
-  public synchronized Rect getFramingRectInPreview() {
-    if (framingRectInPreview == null) {
-      Rect framingRect = getFramingRect();
-      if (framingRect == null) {
-        return null;
-      }
-      Rect rect = new Rect(framingRect);
-      Point cameraResolution = configManager.getCameraResolution();
-      Point screenResolution = configManager.getScreenResolution();
-      if (cameraResolution == null || screenResolution == null) {
-        // Called early, before init even finished
-        return null;
-      }
-      rect.left = rect.left * cameraResolution.x / screenResolution.x;
-      rect.right = rect.right * cameraResolution.x / screenResolution.x;
-      rect.top = rect.top * cameraResolution.y / screenResolution.y;
-      rect.bottom = rect.bottom * cameraResolution.y / screenResolution.y;
-      framingRectInPreview = rect;
-    }
-    return framingRectInPreview;
-  }
-
-  /**
-   * Allows third party apps to specify the scanning rectangle dimensions, rather than determine
-   * them automatically based on screen resolution.
-   *
-   * @param width The width in pixels to scan.
-   * @param height The height in pixels to scan.
-   */
-  public synchronized void setManualFramingRect(int width, int height) {
-    if (initialized) {
-      Point screenResolution = configManager.getScreenResolution();
-      if (width > screenResolution.x) {
-        width = screenResolution.x;
-      }
-      if (height > screenResolution.y) {
-        height = screenResolution.y;
-      }
-      int leftOffset = (screenResolution.x - width) / 2;
-      int topOffset = (screenResolution.y - height) / 2;
-      framingRect = new Rect(leftOffset, topOffset, leftOffset + width, topOffset + height);
-      Log.d(TAG, "Calculated manual framing rect: " + framingRect);
-      framingRectInPreview = null;
-    } else {
-      requestedFramingRectWidth = width;
-      requestedFramingRectHeight = height;
-    }
-  }
-
-  /**
-   * A factory method to build the appropriate LuminanceSource object based on the format
-   * of the preview buffers, as described by Camera.Parameters.
-   *
-   * @param data A preview frame.
-   * @param width The width of the image.
-   * @param height The height of the image.
-   * @return A PlanarYUVLuminanceSource instance.
-   */
-  public PlanarYUVLuminanceSource buildLuminanceSource(byte[] data, int width, int height) {
-    Rect rect = getFramingRectInPreview();
-    if (rect == null) {
-      return null;
-    }
-    // Go ahead and assume it's YUV rather than die.
-    return new PlanarYUVLuminanceSource(data, width, height, rect.left, rect.top,
-                                        rect.width(), rect.height(), false);
-  }
-
-}

+ 0 - 43
ApexDrivers/raimage/src/main/java/com/usai/redant/camera/FrontLightMode.java

@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2012 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.camera;
-
-import com.usai.redant.raimage.PreferencesActivity;
-
-import android.content.SharedPreferences;
-
-/**
- * Enumerates settings of the prefernce controlling the front light.
- */
-public enum FrontLightMode {
-
-  /** Always on. */
-  ON,
-  /** On only when ambient light is low. */
-  AUTO,
-  /** Always off. */
-  OFF;
-
-  private static FrontLightMode parse(String modeString) {
-    return modeString == null ? OFF : valueOf(modeString);
-  }
-
-  public static FrontLightMode readPref(SharedPreferences sharedPrefs) {
-    return parse(sharedPrefs.getString(PreferencesActivity.KEY_FRONT_LIGHT_MODE, null));
-  }
-
-}

+ 0 - 56
ApexDrivers/raimage/src/main/java/com/usai/redant/camera/PreviewCallback.java

@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2010 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.camera;
-
-import android.graphics.Point;
-import android.hardware.Camera;
-import android.os.Handler;
-import android.os.Message;
-import android.util.Log;
-
-final class PreviewCallback implements Camera.PreviewCallback {
-
-  private static final String TAG = PreviewCallback.class.getSimpleName();
-
-  private final CameraConfigurationManager configManager;
-  private Handler previewHandler;
-  private int previewMessage;
-
-  PreviewCallback(CameraConfigurationManager configManager) {
-    this.configManager = configManager;
-  }
-
-  void setHandler(Handler previewHandler, int previewMessage) {
-    this.previewHandler = previewHandler;
-    this.previewMessage = previewMessage;
-  }
-
-  @Override
-  public void onPreviewFrame(byte[] data, Camera camera) {
-    Point cameraResolution = configManager.getCameraResolution();
-    Handler thePreviewHandler = previewHandler;
-    if (cameraResolution != null && thePreviewHandler != null) {
-      Message message = thePreviewHandler.obtainMessage(previewMessage, cameraResolution.x,
-          cameraResolution.y, data);
-      message.sendToTarget();
-      previewHandler = null;
-    } else {
-      Log.d(TAG, "Got preview callback, but no handler or resolution available");
-    }
-  }
-
-}

+ 0 - 62
ApexDrivers/raimage/src/main/java/com/usai/redant/camera/open/OpenCameraInterface.java

@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2012 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.camera.open;
-
-import android.hardware.Camera;
-import android.util.Log;
-
-public final class OpenCameraInterface {
-
-  private static final String TAG = OpenCameraInterface.class.getName();
-
-  private OpenCameraInterface() {
-  }
-
-  /**
-   * Opens a rear-facing camera with {@link Camera#open(int)}, if one exists, or opens camera 0.
-   */
-  public static Camera open() {
-    
-    int numCameras = Camera.getNumberOfCameras();
-    if (numCameras == 0) {
-      Log.w(TAG, "No cameras!");
-      return null;
-    }
-
-    int index = 0;
-    while (index < numCameras) {
-      Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
-      Camera.getCameraInfo(index, cameraInfo);
-      if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_BACK) {
-        break;
-      }
-      index++;
-    }
-    
-    Camera camera;
-    if (index < numCameras) {
-      Log.i(TAG, "Opening camera #" + index);
-      camera = Camera.open(index);
-    } else {
-      Log.i(TAG, "No camera facing back; returning camera #0");
-      camera = Camera.open(0);
-    }
-
-    return camera;
-  }
-
-}

+ 0 - 87
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/AmbientLightManager.java

@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2012 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.raimage;
-
-import com.usai.redant.camera.CameraManager;
-import com.usai.redant.camera.FrontLightMode;
-
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.hardware.Sensor;
-import android.hardware.SensorEvent;
-import android.hardware.SensorEventListener;
-import android.hardware.SensorManager;
-import android.preference.PreferenceManager;
-
-/**
- * Detects ambient light and switches on the front light when very dark, and off again when sufficiently light.
- *
- * @author Sean Owen
- * @author Nikolaus Huber
- */
-final class AmbientLightManager implements SensorEventListener {
-
-  private static final float TOO_DARK_LUX = 45.0f;
-  private static final float BRIGHT_ENOUGH_LUX = 450.0f;
-
-  private final Context context;
-  private CameraManager cameraManager;
-  private Sensor lightSensor;
-
-  AmbientLightManager(Context context) {
-    this.context = context;
-  }
-
-  void start(CameraManager cameraManager) {
-    this.cameraManager = cameraManager;
-    SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
-    if (FrontLightMode.readPref(sharedPrefs) == FrontLightMode.AUTO) {
-      SensorManager sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
-      lightSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
-      if (lightSensor != null) {
-        sensorManager.registerListener(this, lightSensor, SensorManager.SENSOR_DELAY_NORMAL);
-      }
-    }
-  }
-
-  void stop() {
-    if (lightSensor != null) {
-      SensorManager sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
-      sensorManager.unregisterListener(this);
-      cameraManager = null;
-      lightSensor = null;
-    }
-  }
-
-  @Override
-  public void onSensorChanged(SensorEvent sensorEvent) {
-    float ambientLightLux = sensorEvent.values[0];
-    if (cameraManager != null) {
-      if (ambientLightLux <= TOO_DARK_LUX) {
-        cameraManager.setTorch(true);
-      } else if (ambientLightLux >= BRIGHT_ENOUGH_LUX) {
-        cameraManager.setTorch(false);
-      }
-    }
-  }
-
-  @Override
-  public void onAccuracyChanged(Sensor sensor, int accuracy) {
-    // do nothing
-  }
-
-}

+ 0 - 128
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/BeepManager.java

@@ -1,128 +0,0 @@
-/*
- * Copyright (C) 2010 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.raimage;
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.content.res.AssetFileDescriptor;
-import android.media.AudioManager;
-import android.media.MediaPlayer;
-import android.os.Vibrator;
-import android.preference.PreferenceManager;
-import android.util.Log;
-
-import java.io.IOException;
-
-/**
- * Manages beeps and vibrations for {@link CaptureActivity}.
- */
-final class BeepManager implements MediaPlayer.OnCompletionListener, MediaPlayer.OnErrorListener {
-
-  private static final String TAG = BeepManager.class.getSimpleName();
-
-  private static final float BEEP_VOLUME = 0.10f;
-  private static final long VIBRATE_DURATION = 200L;
-
-  private final Activity activity;
-  private MediaPlayer mediaPlayer;
-  private boolean playBeep;
-  private boolean vibrate;
-
-  BeepManager(Activity activity) {
-    this.activity = activity;
-    this.mediaPlayer = null;
-    updatePrefs();
-  }
-
-  synchronized void updatePrefs() {
-    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
-    playBeep = shouldBeep(prefs, activity);
-    vibrate = prefs.getBoolean(PreferencesActivity.KEY_VIBRATE, false);
-    if (playBeep && mediaPlayer == null) {
-      // The volume on STREAM_SYSTEM is not adjustable, and users found it too loud,
-      // so we now play on the music stream.
-      activity.setVolumeControlStream(AudioManager.STREAM_MUSIC);
-      mediaPlayer = buildMediaPlayer(activity);
-    }
-  }
-
-  synchronized void playBeepSoundAndVibrate() {
-	  Log.i(TAG,"playBeep=========>"+playBeep);
-	  Log.i(TAG,"mediaPlayer=========>"+mediaPlayer==null?"null":"ok");
-	  Log.i(TAG,"vibrate=========>"+vibrate);
-    if (playBeep && mediaPlayer != null) {
-      mediaPlayer.start();
-    }
-    if (vibrate) {
-      Vibrator vibrator = (Vibrator) activity.getSystemService(Context.VIBRATOR_SERVICE);
-      vibrator.vibrate(VIBRATE_DURATION);
-    }
-  }
-
-  private static boolean shouldBeep(SharedPreferences prefs, Context activity) {
-    boolean shouldPlayBeep = prefs.getBoolean(PreferencesActivity.KEY_PLAY_BEEP, true);
-    if (shouldPlayBeep) {
-      // See if sound settings overrides this
-      AudioManager audioService = (AudioManager) activity.getSystemService(Context.AUDIO_SERVICE);
-      if (audioService.getRingerMode() != AudioManager.RINGER_MODE_NORMAL) {
-        shouldPlayBeep = false;
-      }
-    }
-    return shouldPlayBeep;
-  }
-
-  private MediaPlayer buildMediaPlayer(Context activity) {
-    MediaPlayer mediaPlayer = new MediaPlayer();
-    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
-    mediaPlayer.setOnCompletionListener(this);
-    mediaPlayer.setOnErrorListener(this);
-
-    AssetFileDescriptor file = activity.getResources().openRawResourceFd(R.raw.beep);
-    try {
-      mediaPlayer.setDataSource(file.getFileDescriptor(), file.getStartOffset(), file.getLength());
-      file.close();
-      mediaPlayer.setVolume(BEEP_VOLUME, BEEP_VOLUME);
-      mediaPlayer.prepare();
-    } catch (IOException ioe) {
-      Log.w(TAG, ioe);
-      mediaPlayer = null;
-    }
-    return mediaPlayer;
-  }
-
-  @Override
-  public void onCompletion(MediaPlayer mp) {
-    // When the beep has finished playing, rewind to queue up another one.      
-    mp.seekTo(0);
-  }
-
-  @Override
-  public synchronized boolean onError(MediaPlayer mp, int what, int extra) {
-    if (what == MediaPlayer.MEDIA_ERROR_SERVER_DIED) {
-      // we are finished, so put up an appropriate error toast if required and finish
-      activity.finish();
-    } else {
-      // possibly media player error, so release and recreate
-      mp.release();
-      mediaPlayer = null;
-      updatePrefs();
-    }
-    return true;
-  }
-
-}

+ 0 - 884
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/CaptureActivity.java

@@ -1,884 +0,0 @@
-/*
- * Copyright (C) 2008 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.raimage;
-
-import com.google.zxing.BarcodeFormat;
-import com.google.zxing.DecodeHintType;
-import com.google.zxing.Result;
-import com.google.zxing.ResultPoint;
-import com.google.zxing.client.result.ResultParser;
-import com.usai.redant.camera.CameraManager;
-import com.usai.util.dbgUtil;
-
-import android.app.Activity;
-import android.app.AlertDialog;
-import android.content.Intent;
-//import android.content.SharedPreferences;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.util.Log;
-import android.view.KeyEvent;
-import android.view.SurfaceHolder;
-import android.view.SurfaceView;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.Window;
-import android.view.WindowManager;
-import android.widget.Button;
-import android.widget.TextView;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Map;
-
-/**
- * This activity opens the camera and does the actual scanning on a background
- * thread. It draws a viewfinder to help the user place the barcode correctly,
- * shows feedback as the image processing is happening, and then overlays the
- * results when a scan is successful.
- * 
- * @author dswitkin@google.com (Daniel Switkin)
- * @author Sean Owen
- */
-public final class CaptureActivity extends Activity implements
-		SurfaceHolder.Callback
-{
-
-	private static final String			TAG	= CaptureActivity.class
-													.getSimpleName();
-
-	// private static final long DEFAULT_INTENT_RESULT_DURATION_MS = 1500L;
-	// private static final long BULK_MODE_SCAN_DELAY_MS = 1000L;
-
-	// private static final String[] ZXING_URLS = {
-	// "http://zxing.appspot.com/scan", "zxing://scan/" };
-
-	// public static final int HISTORY_REQUEST_CODE = 0x0000bacc;
-
-	// private static final Collection<ResultMetadataType>
-	// DISPLAYABLE_METADATA_TYPES =
-	// EnumSet.of(ResultMetadataType.ISSUE_NUMBER,
-	// ResultMetadataType.SUGGESTED_PRICE,
-	// ResultMetadataType.ERROR_CORRECTION_LEVEL,
-	// ResultMetadataType.POSSIBLE_COUNTRY);
-
-	private CameraManager				cameraManager;
-	private CaptureActivityHandler		handler;
-	private Result						savedResultToShow;
-	private ViewfinderView				viewfinderView;
-	private TextView					statusView;
-	// private View resultView;
-	private Result						lastResult;
-	private boolean						hasSurface;
-	// private boolean copyToClipboard;
-	// private IntentSource source;
-	// private String sourceUrl;
-	// private ScanFromWebPageManager scanFromWebPageManager;
-	private Collection<BarcodeFormat>	decodeFormats;
-	private Map<DecodeHintType, ?>		decodeHints;
-	private String						characterSet;
-	// private HistoryManager historyManager;
-	private InactivityTimer				inactivityTimer;
-	private BeepManager					beepManager;
-	private AmbientLightManager			ambientLightManager;
-
-
-
-	ViewfinderView getViewfinderView()
-	{
-		return viewfinderView;
-	}
-
-	public Handler getHandler()
-	{
-		return handler;
-	}
-
-	CameraManager getCameraManager()
-	{
-		return cameraManager;
-	}
-
-	Button	swith_button;
-
-	@Override
-	public void onCreate(Bundle icicle)
-	{
-		dbgUtil.Logd(TAG, "==============>CaptureActivity created!");
-
-		super.onCreate(icicle);
-
-		Window window = getWindow();
-		window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
-
-		setContentView(R.layout.capture);
-
-		swith_button = (Button) findViewById(R.id.btn_switch);
-		swith_button.setTag("false");
-		swith_button.setBackgroundColor(getResources().getColor(
-				R.color.message_fail));
-		swith_button.setOnClickListener(new OnClickListener()
-		{
-
-			@Override
-			public void onClick(View v)
-			{
-
-				// inactivityTimer.onPause();
-
-				if (Boolean.parseBoolean(v.getTag().toString()) == false)
-				{
-					// inactivityTimer.onResume();
-					v.setTag("true");
-					v.setBackgroundColor(getResources().getColor(
-							R.color.message_success));
-				}
-				else
-				{
-
-					// inactivityTimer.onPause();
-					v.setTag("false");
-					v.setBackgroundColor(getResources().getColor(
-							R.color.message_fail));
-				}
-
-			}
-		});
-
-		// setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
-		hasSurface = false;
-		// historyManager = new HistoryManager(this);
-		// historyManager.trimHistory();
-		inactivityTimer = new InactivityTimer(this);
-		beepManager = new BeepManager(this);
-		ambientLightManager = new AmbientLightManager(this);
-
-		// PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
-
-
-		Log.d(TAG, "finish oncreate");
-	}
-	
-	@Override
-	protected void onResume()
-	{
-		super.onResume();
-
-		// CameraManager must be initialized here, not in onCreate(). This is
-		// necessary because we don't
-		// want to open the camera driver and measure the screen size if we're
-		// going to show the help on
-		// first launch. That led to bugs where the scanning rectangle was the
-		// wrong size and partially
-		// off screen.
-		cameraManager = new CameraManager(getApplication());
-
-		viewfinderView = (ViewfinderView) findViewById(R.id.viewfinder_view);
-		viewfinderView.setCameraManager(cameraManager);
-
-		// resultView = findViewById(R.id.result_view);
-		statusView = (TextView) findViewById(R.id.status_view);
-
-		handler = null;
-		lastResult = null;
-
-		resetStatusView();
-
-		SurfaceView surfaceView = (SurfaceView) findViewById(R.id.preview_view);
-		SurfaceHolder surfaceHolder = surfaceView.getHolder();
-		if (hasSurface)
-		{
-			// The activity was paused but not stopped, so the surface still
-			// exists. Therefore
-			// surfaceCreated() won't be called, so init the camera here.
-			initCamera(surfaceHolder);
-		}
-		else
-		{
-			// Install the callback and wait for surfaceCreated() to init the
-			// camera.
-			surfaceHolder.addCallback(this);
-		}
-
-		beepManager.updatePrefs();
-		ambientLightManager.start(cameraManager);
-
-		inactivityTimer.onResume();
-
-		Intent intent = getIntent();
-
-		// SharedPreferences prefs =
-		// PreferenceManager.getDefaultSharedPreferences(this);
-		// copyToClipboard =
-		// prefs.getBoolean(PreferencesActivity.KEY_COPY_TO_CLIPBOARD, true)
-		// && (intent == null ||
-		// intent.getBooleanExtra(Intents.Scan.SAVE_HISTORY, true));
-
-		// source = IntentSource.NONE;
-		decodeFormats = null;
-		characterSet = null;
-
-		if (intent != null)
-		{
-
-			String action = intent.getAction();
-			// String dataString = intent.getDataString();
-
-			if (Intents.Scan.ACTION.equals(action))
-			{
-
-				// Scan the formats the intent requested, and return the result
-				// to the calling activity.
-				// source = IntentSource.NATIVE_APP_INTENT;
-				decodeFormats = DecodeFormatManager.parseDecodeFormats(intent);
-				decodeHints = DecodeHintManager.parseDecodeHints(intent);
-
-				if (intent.hasExtra(Intents.Scan.WIDTH)
-						&& intent.hasExtra(Intents.Scan.HEIGHT))
-				{
-					int width = intent.getIntExtra(Intents.Scan.WIDTH, 0);
-					int height = intent.getIntExtra(Intents.Scan.HEIGHT, 0);
-					if (width > 0 && height > 0)
-					{
-						cameraManager.setManualFramingRect(width, height);
-					}
-				}
-
-				String customPromptMessage = intent
-						.getStringExtra(Intents.Scan.PROMPT_MESSAGE);
-				if (customPromptMessage != null)
-				{
-					statusView.setText(customPromptMessage);
-				}
-
-			}
-			// else if (dataString != null &&
-			// dataString.contains("http://www.google") &&
-			// dataString.contains("/m/products/scan")) {
-			//
-			// // Scan only products and send the result to mobile Product
-			// Search.
-			// // source = IntentSource.PRODUCT_SEARCH_LINK;
-			// sourceUrl = dataString;
-			// decodeFormats = DecodeFormatManager.PRODUCT_FORMATS;
-			//
-			// }
-			// else if (isZXingURL(dataString)) {
-			//
-			// // Scan formats requested in query string (all formats if none
-			// specified).
-			// // If a return URL is specified, send the results there.
-			// Otherwise, handle it ourselves.
-			// source = IntentSource.ZXING_LINK;
-			// sourceUrl = dataString;
-			// Uri inputUri = Uri.parse(dataString);
-			// scanFromWebPageManager = new ScanFromWebPageManager(inputUri);
-			// decodeFormats = DecodeFormatManager.parseDecodeFormats(inputUri);
-			// // Allow a sub-set of the hints to be specified by the caller.
-			// decodeHints = DecodeHintManager.parseDecodeHints(inputUri);
-			//
-			// }
-
-			characterSet = intent.getStringExtra(Intents.Scan.CHARACTER_SET);
-
-		}
-	}
-
-	// private static boolean isZXingURL(String dataString) {
-	// if (dataString == null) {
-	// return false;
-	// }
-	// for (String url : ZXING_URLS) {
-	// if (dataString.startsWith(url)) {
-	// return true;
-	// }
-	// }
-	// return false;
-	// }
-
-	@Override
-	protected void onPause()
-	{
-		if (handler != null)
-		{
-			handler.quitSynchronously();
-			handler = null;
-		}
-		inactivityTimer.onPause();
-		ambientLightManager.stop();
-		cameraManager.closeDriver();
-		if (!hasSurface)
-		{
-			SurfaceView surfaceView = (SurfaceView) findViewById(R.id.preview_view);
-			SurfaceHolder surfaceHolder = surfaceView.getHolder();
-			surfaceHolder.removeCallback(this);
-		}
-		super.onPause();
-	}
-
-	@Override
-	protected void onDestroy()
-	{
-		inactivityTimer.shutdown();
-		super.onDestroy();
-	}
-
-	@Override
-	public boolean onKeyDown(int keyCode, KeyEvent event)
-	{
-		switch (keyCode)
-		{
-		// case KeyEvent.KEYCODE_BACK:
-		// if (source == IntentSource.NATIVE_APP_INTENT) {
-		// setResult(RESULT_CANCELED);
-		// finish();
-		// return true;
-		// }
-		// if ((source == IntentSource.NONE || source ==
-		// IntentSource.ZXING_LINK) && lastResult != null) {
-		// restartPreviewAfterDelay(0L);
-		// return true;
-		// }
-		// break;
-			case KeyEvent.KEYCODE_FOCUS:
-			case KeyEvent.KEYCODE_CAMERA:
-				// Handle these events so they don't launch the Camera app
-				return true;
-				// Use volume up/down to turn on light
-			case KeyEvent.KEYCODE_VOLUME_DOWN:
-				cameraManager.setTorch(false);
-				return true;
-			case KeyEvent.KEYCODE_VOLUME_UP:
-				cameraManager.setTorch(true);
-				return true;
-		}
-		return super.onKeyDown(keyCode, event);
-	}
-
-//	@Override
-//	public boolean onCreateOptionsMenu(Menu menu)
-//	{
-//		MenuInflater menuInflater = getMenuInflater();
-//		menuInflater.inflate(R.menu.capture, menu);
-//		return super.onCreateOptionsMenu(menu);
-//	}
-//
-//	@Override
-//	public boolean onOptionsItemSelected(MenuItem item)
-//	{
-//		Intent intent = new Intent(Intent.ACTION_VIEW);
-//		intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
-//		switch (item.getItemId())
-//		{
-//		// case R.id.menu_share:
-//		// intent.setClassName(this, ShareActivity.class.getName());
-//		// startActivity(intent);
-//		// break;
-//		// case R.id.menu_history:
-//		// intent.setClassName(this, HistoryActivity.class.getName());
-//		// startActivityForResult(intent, HISTORY_REQUEST_CODE);
-//		// break;
-//			case R.id.menu_settings:
-//				intent.setClassName(this, PreferencesActivity.class.getName());
-//				startActivity(intent);
-//				break;
-//			// case R.id.menu_help:
-//			// intent.setClassName(this, HelpActivity.class.getName());
-//			// startActivity(intent);
-//			// break;
-//			default:
-//				return super.onOptionsItemSelected(item);
-//		}
-//		return true;
-//	}
-
-	// @Override
-	// public void onActivityResult(int requestCode, int resultCode, Intent
-	// intent) {
-	// if (resultCode == RESULT_OK) {
-	// // if (requestCode == HISTORY_REQUEST_CODE)
-	// // {
-	// // int itemNumber = intent.getIntExtra(Intents.History.ITEM_NUMBER, -1);
-	// // if (itemNumber >= 0) {
-	// // HistoryItem historyItem = historyManager.buildHistoryItem(itemNumber);
-	// // decodeOrStoreSavedBitmap(null, historyItem.getResult());
-	// // }
-	// // }
-	// }
-	// }
-
-	private void decodeOrStoreSavedBitmap(Bitmap bitmap, Result result)
-	{
-		// Bitmap isn't used yet -- will be used soon
-		if (handler == null)
-		{
-			savedResultToShow = result;
-		}
-		else
-		{
-			if (result != null)
-			{
-				savedResultToShow = result;
-			}
-			if (savedResultToShow != null)
-			{
-				Message message = Message.obtain(handler,
-						R.id.decode_succeeded, savedResultToShow);
-				handler.sendMessage(message);
-			}
-			savedResultToShow = null;
-		}
-	}
-
-	@Override
-	public void surfaceCreated(SurfaceHolder holder)
-	{
-		if (holder == null)
-		{
-			Log.d(TAG,
-					"*** WARNING *** surfaceCreated() gave us a null surface!");
-		}
-		if (!hasSurface)
-		{
-			hasSurface = true;
-			initCamera(holder);
-		}
-	}
-
-	@Override
-	public void surfaceDestroyed(SurfaceHolder holder)
-	{
-		hasSurface = false;
-	}
-
-	@Override
-	public void surfaceChanged(SurfaceHolder holder, int format, int width,
-			int height)
-	{
-
-	}
-
-	/**
-	 * A valid barcode has been found, so give an indication of success and show
-	 * the results.
-	 * 
-	 * @param rawResult
-	 *            The contents of the barcode.
-	 * @param scaleFactor
-	 *            amount by which thumbnail was scaled
-	 * @param barcode
-	 *            A greyscale bitmap of the camera data which was decoded.
-	 */
-	public void handleDecode(Result rawResult, Bitmap barcode, float scaleFactor)
-	{
-		String tag = swith_button.getTag().toString();
-		if (Boolean.parseBoolean(tag) == false)
-		{
-			restartPreviewAfterDelay(0L);
-			return;
-		}
-		inactivityTimer.onActivity();
-		lastResult = rawResult;
-		TextView debugTextView = (TextView) findViewById(R.id.textView1);
-		debugTextView.setText(rawResult.getText());
-		// ResultHandler resultHandler =
-		// ResultHandlerFactory.makeResultHandler(this, rawResult);
-		Log.i(TAG, "RESULT=========>" + rawResult.getText().toString());
-		// ParsedResult result = parseResult(rawResult);
-		Log.i(TAG, "HANDLER========>"
-				+ ResultParser.parseResult(rawResult).getType().toString());
-		boolean fromLiveScan = barcode != null;
-		if (fromLiveScan)
-		{
-			// historyManager.addHistoryItem(rawResult, resultHandler);
-			// Then not from history, so beep/vibrate and we have an image to
-			// draw on
-			beepManager.playBeepSoundAndVibrate();
-			// drawResultPoints(barcode, scaleFactor, rawResult);
-		}
-
-		Intent result = new Intent();
-		result.putExtra("pid", rawResult.getText());
-		setResult(Activity.RESULT_OK, result);
-		finish();
-		// restartPreviewAfterDelay(1000l);
-		// finish();
-		//
-		// switch (source) {
-		// case NATIVE_APP_INTENT:
-		// case PRODUCT_SEARCH_LINK:
-		// handleDecodeExternally(rawResult, resultHandler, barcode);
-		// break;
-		// case ZXING_LINK:
-		// if (scanFromWebPageManager == null ||
-		// !scanFromWebPageManager.isScanFromWebPage()) {
-		// handleDecodeInternally(rawResult, resultHandler, barcode);
-		// } else {
-		// handleDecodeExternally(rawResult, resultHandler, barcode);
-		// }
-		// break;
-		// case NONE:
-		// SharedPreferences prefs =
-		// PreferenceManager.getDefaultSharedPreferences(this);
-		// if (fromLiveScan &&
-		// prefs.getBoolean(PreferencesActivity.KEY_BULK_MODE, false)) {
-		// Toast.makeText(getApplicationContext(),
-		// getResources().getString(R.string.msg_bulk_mode_scanned) + " (" +
-		// rawResult.getText() + ')',
-		// Toast.LENGTH_SHORT).show();
-		// // Wait a moment or else it will scan the same barcode continuously
-		// about 3 times
-		// restartPreviewAfterDelay(BULK_MODE_SCAN_DELAY_MS);
-		// } else {
-		// handleDecodeInternally(rawResult, resultHandler, barcode);
-		// }
-		// break;
-		// }
-	}
-
-	/**
-	 * Superimpose a line for 1D or dots for 2D to highlight the key features of
-	 * the barcode.
-	 * 
-	 * @param barcode
-	 *            A bitmap of the captured image.
-	 * @param scaleFactor
-	 *            amount by which thumbnail was scaled
-	 * @param rawResult
-	 *            The decoded results which contains the points to draw.
-	 */
-	// private void drawResultPoints(Bitmap barcode, float scaleFactor,
-	// Result rawResult)
-	// {
-	// ResultPoint[] points = rawResult.getResultPoints();
-	// if (points != null && points.length > 0)
-	// {
-	// Canvas canvas = new Canvas(barcode);
-	// Paint paint = new Paint();
-	// paint.setColor(getResources().getColor(R.color.result_points));
-	// if (points.length == 2)
-	// {
-	// paint.setStrokeWidth(4.0f);
-	// drawLine(canvas, paint, points[0], points[1], scaleFactor);
-	// }
-	// else if (points.length == 4
-	// && (rawResult.getBarcodeFormat() == BarcodeFormat.UPC_A || rawResult
-	// .getBarcodeFormat() == BarcodeFormat.EAN_13))
-	// {
-	// // Hacky special case -- draw two lines, for the barcode and
-	// // metadata
-	// drawLine(canvas, paint, points[0], points[1], scaleFactor);
-	// drawLine(canvas, paint, points[2], points[3], scaleFactor);
-	// }
-	// else
-	// {
-	// paint.setStrokeWidth(10.0f);
-	// for (ResultPoint point : points)
-	// {
-	// if (point != null)
-	// {
-	// canvas.drawPoint(scaleFactor * point.getX(),
-	// scaleFactor * point.getY(), paint);
-	// }
-	// }
-	// }
-	// }
-	// }
-
-	private static void drawLine(Canvas canvas, Paint paint, ResultPoint a,
-			ResultPoint b, float scaleFactor)
-	{
-		if (a != null && b != null)
-		{
-			canvas.drawLine(scaleFactor * a.getX(), scaleFactor * a.getY(),
-					scaleFactor * b.getX(), scaleFactor * b.getY(), paint);
-		}
-	}
-
-	// Put up our own UI for how to handle the decoded contents.
-	// private void handleDecodeInternally(Result rawResult, ResultHandler
-	// resultHandler, Bitmap barcode) {
-	// statusView.setVisibility(View.GONE);
-	// viewfinderView.setVisibility(View.GONE);
-	// // resultView.setVisibility(View.VISIBLE);
-	// Log.i(TAG, "RESULT=========>"+rawResult.getText().toString());
-	// Log.i(TAG, "HANDLER========>"+resultHandler.getType().toString());
-
-	// ImageView barcodeImageView = (ImageView)
-	// findViewById(R.id.barcode_image_view);
-	// if (barcode == null) {
-	// barcodeImageView.setImageBitmap(BitmapFactory.decodeResource(getResources(),
-	// R.drawable.ic_launcher));
-	// } else {
-	// barcodeImageView.setImageBitmap(barcode);
-	// }
-	//
-	// TextView formatTextView = (TextView) findViewById(R.id.format_text_view);
-	// formatTextView.setText(rawResult.getBarcodeFormat().toString());
-	//
-	// TextView typeTextView = (TextView) findViewById(R.id.type_text_view);
-	// typeTextView.setText(resultHandler.getType().toString());
-	//
-	// DateFormat formatter = DateFormat.getDateTimeInstance(DateFormat.SHORT,
-	// DateFormat.SHORT);
-	// TextView timeTextView = (TextView) findViewById(R.id.time_text_view);
-	// timeTextView.setText(formatter.format(new
-	// Date(rawResult.getTimestamp())));
-	//
-	//
-	// TextView metaTextView = (TextView) findViewById(R.id.meta_text_view);
-	// View metaTextViewLabel = findViewById(R.id.meta_text_view_label);
-	// metaTextView.setVisibility(View.GONE);
-	// metaTextViewLabel.setVisibility(View.GONE);
-	// Map<ResultMetadataType,Object> metadata = rawResult.getResultMetadata();
-	// if (metadata != null) {
-	// StringBuilder metadataText = new StringBuilder(20);
-	// for (Map.Entry<ResultMetadataType,Object> entry : metadata.entrySet()) {
-	// if (DISPLAYABLE_METADATA_TYPES.contains(entry.getKey())) {
-	// metadataText.append(entry.getValue()).append('\n');
-	// }
-	// }
-	// if (metadataText.length() > 0) {
-	// metadataText.setLength(metadataText.length() - 1);
-	// metaTextView.setText(metadataText);
-	// metaTextView.setVisibility(View.VISIBLE);
-	// metaTextViewLabel.setVisibility(View.VISIBLE);
-	// }
-	// }
-	//
-	// TextView contentsTextView = (TextView)
-	// findViewById(R.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);
-	// supplementTextView.setText("");
-	// supplementTextView.setOnClickListener(null);
-	// // if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean(
-	// // PreferencesActivity.KEY_SUPPLEMENTAL, true)) {
-	// // SupplementalInfoRetriever.maybeInvokeRetrieval(supplementTextView,
-	// // resultHandler.getResult(),
-	// // historyManager,
-	// // this);
-	// // }
-	//
-	// int buttonCount = resultHandler.getButtonCount();
-	// ViewGroup buttonView = (ViewGroup) findViewById(R.id.result_button_view);
-	// buttonView.requestFocus();
-	// for (int x = 0; x < ResultHandler.MAX_BUTTON_COUNT; x++) {
-	// TextView button = (TextView) buttonView.getChildAt(x);
-	// if (x < buttonCount) {
-	// button.setVisibility(View.VISIBLE);
-	// button.setText(resultHandler.getButtonText(x));
-	// button.setOnClickListener(new ResultButtonListener(resultHandler, x));
-	// } else {
-	// button.setVisibility(View.GONE);
-	// }
-	// }
-	//
-	// if (copyToClipboard && !resultHandler.areContentsSecure()) {
-	// ClipboardInterface.setText(displayContents, this);
-	// }
-	// }
-
-	// // Briefly show the contents of the barcode, then handle the result
-	// outside Barcode Scanner.
-	// private void handleDecodeExternally(Result rawResult, ResultHandler
-	// resultHandler, Bitmap barcode) {
-	//
-	// if (barcode != null) {
-	// viewfinderView.drawResultBitmap(barcode);
-	// }
-	//
-	// long resultDurationMS;
-	// if (getIntent() == null) {
-	// resultDurationMS = DEFAULT_INTENT_RESULT_DURATION_MS;
-	// } else {
-	// resultDurationMS =
-	// getIntent().getLongExtra(Intents.Scan.RESULT_DISPLAY_DURATION_MS,
-	// DEFAULT_INTENT_RESULT_DURATION_MS);
-	// }
-	//
-	// if (resultDurationMS > 0) {
-	// String rawResultString = String.valueOf(rawResult);
-	// if (rawResultString.length() > 32) {
-	// rawResultString = rawResultString.substring(0, 32) + " ...";
-	// }
-	// statusView.setText(getString(resultHandler.getDisplayTitle()) + " : " +
-	// rawResultString);
-	// }
-	//
-	// if (copyToClipboard && !resultHandler.areContentsSecure()) {
-	// CharSequence text = resultHandler.getDisplayContents();
-	// ClipboardInterface.setText(text, this);
-	// }
-	//
-	// if (source == IntentSource.NATIVE_APP_INTENT) {
-	//
-	// // Hand back whatever action they requested - this can be changed to
-	// Intents.Scan.ACTION when
-	// // the deprecated intent is retired.
-	// Intent intent = new Intent(getIntent().getAction());
-	// intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
-	// intent.putExtra(Intents.Scan.RESULT, rawResult.toString());
-	// intent.putExtra(Intents.Scan.RESULT_FORMAT,
-	// rawResult.getBarcodeFormat().toString());
-	// byte[] rawBytes = rawResult.getRawBytes();
-	// if (rawBytes != null && rawBytes.length > 0) {
-	// intent.putExtra(Intents.Scan.RESULT_BYTES, rawBytes);
-	// }
-	// Map<ResultMetadataType,?> metadata = rawResult.getResultMetadata();
-	// if (metadata != null) {
-	// if (metadata.containsKey(ResultMetadataType.UPC_EAN_EXTENSION)) {
-	// intent.putExtra(Intents.Scan.RESULT_UPC_EAN_EXTENSION,
-	// metadata.get(ResultMetadataType.UPC_EAN_EXTENSION).toString());
-	// }
-	// Number orientation = (Number)
-	// metadata.get(ResultMetadataType.ORIENTATION);
-	// if (orientation != null) {
-	// intent.putExtra(Intents.Scan.RESULT_ORIENTATION, orientation.intValue());
-	// }
-	// String ecLevel = (String)
-	// metadata.get(ResultMetadataType.ERROR_CORRECTION_LEVEL);
-	// if (ecLevel != null) {
-	// intent.putExtra(Intents.Scan.RESULT_ERROR_CORRECTION_LEVEL, ecLevel);
-	// }
-	// @SuppressWarnings("unchecked")
-	// Iterable<byte[]> byteSegments = (Iterable<byte[]>)
-	// metadata.get(ResultMetadataType.BYTE_SEGMENTS);
-	// if (byteSegments != null) {
-	// int i = 0;
-	// for (byte[] byteSegment : byteSegments) {
-	// intent.putExtra(Intents.Scan.RESULT_BYTE_SEGMENTS_PREFIX + i,
-	// byteSegment);
-	// i++;
-	// }
-	// }
-	// }
-	// sendReplyMessage(R.id.return_scan_result, intent, resultDurationMS);
-	//
-	// } else if (source == IntentSource.PRODUCT_SEARCH_LINK) {
-	//
-	// // Reformulate the URL which triggered us into a query, so that the
-	// request goes to the same
-	// // 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);
-	//
-	// } else if (source == IntentSource.ZXING_LINK) {
-	//
-	// if (scanFromWebPageManager != null &&
-	// scanFromWebPageManager.isScanFromWebPage()) {
-	// String replyURL = scanFromWebPageManager.buildReplyURL(rawResult,
-	// resultHandler);
-	// sendReplyMessage(R.id.launch_product_query, replyURL, resultDurationMS);
-	// }
-	//
-	// }
-	// }
-
-	// private void sendReplyMessage(int id, Object arg, long delayMS) {
-	// if (handler != null) {
-	// Message message = Message.obtain(handler, id, arg);
-	// if (delayMS > 0L) {
-	// handler.sendMessageDelayed(message, delayMS);
-	// } else {
-	// handler.sendMessage(message);
-	// }
-	// }
-	// }
-
-	private void initCamera(SurfaceHolder surfaceHolder)
-	{
-		if (surfaceHolder == null)
-		{
-			throw new IllegalStateException("No SurfaceHolder provided");
-		}
-		if (cameraManager.isOpen())
-		{
-			Log.w(TAG,
-					"initCamera() while already open -- late SurfaceView callback?");
-			return;
-		}
-		try
-		{
-			cameraManager.openDriver(surfaceHolder);
-			// Creating the handler starts the preview, which can also throw a
-			// RuntimeException.
-			if (handler == null)
-			{
-				handler = new CaptureActivityHandler(this, decodeFormats,
-						decodeHints, characterSet, cameraManager);
-			}
-			decodeOrStoreSavedBitmap(null, null);
-		}
-		catch (IOException ioe)
-		{
-			Log.w(TAG, ioe);
-			displayFrameworkBugMessageAndExit();
-		}
-		catch (RuntimeException e)
-		{
-			// Barcode Scanner has seen crashes in the wild of this variety:
-			// java.?lang.?RuntimeException: Fail to connect to camera service
-			Log.w(TAG, "Unexpected error initializing camera", e);
-			displayFrameworkBugMessageAndExit();
-		}
-	}
-
-	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.setOnCancelListener(new FinishListener(this));
-		builder.show();
-	}
-
-	public void restartPreviewAfterDelay(long delayMS)
-	{
-		if (handler != null)
-		{
-			handler.sendEmptyMessageDelayed(R.id.decode_failed, delayMS);
-		}
-		resetStatusView();
-	}
-
-	private void resetStatusView()
-	{
-		// resultView.setVisibility(View.GONE);
-		statusView.setText(R.string.msg_default_status);
-		statusView.setVisibility(View.VISIBLE);
-		viewfinderView.setVisibility(View.VISIBLE);
-		lastResult = null;
-	}
-
-	public void drawViewfinder()
-	{
-		viewfinderView.drawViewfinder();
-	}
-}

+ 0 - 169
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/CaptureActivityHandler.java

@@ -1,169 +0,0 @@
-/*
- * Copyright (C) 2008 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.raimage;
-
-import android.content.ActivityNotFoundException;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
-import android.graphics.BitmapFactory;
-import android.provider.Browser;
-
-import com.google.zxing.BarcodeFormat;
-import com.google.zxing.DecodeHintType;
-import com.google.zxing.Result;
-import com.usai.redant.camera.CameraManager;
-import android.app.Activity;
-import android.content.Intent;
-import android.graphics.Bitmap;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.util.Log;
-
-import java.util.Collection;
-import java.util.Map;
-
-/**
- * This class handles all the messaging which comprises the state machine for capture.
- *
- * @author dswitkin@google.com (Daniel Switkin)
- */
-public final class CaptureActivityHandler extends Handler {
-
-  private static final String TAG = CaptureActivityHandler.class.getSimpleName();
-
-  private final CaptureActivity activity;
-  private final DecodeThread decodeThread;
-  private State state;
-  private final CameraManager cameraManager;
-
-  private enum State {
-    PREVIEW,
-    SUCCESS,
-    DONE
-  }
-
-  CaptureActivityHandler(CaptureActivity activity,
-                         Collection<BarcodeFormat> decodeFormats,
-                         Map<DecodeHintType,?> baseHints,
-                         String characterSet,
-                         CameraManager cameraManager) {
-    this.activity = activity;
-    decodeThread = new DecodeThread(activity, decodeFormats, baseHints, characterSet,
-        new ViewfinderResultPointCallback(activity.getViewfinderView()));
-    decodeThread.start();
-    state = State.SUCCESS;
-
-    // Start ourselves capturing previews and decoding.
-    this.cameraManager = cameraManager;
-    cameraManager.startPreview();
-    restartPreviewAndDecode();
-  }
-
-  @Override
-  public void handleMessage(Message message) {
-    switch (message.what) {
-      case R.id.restart_preview:
-        Log.d(TAG, "Got restart preview message");
-        restartPreviewAndDecode();
-        break;
-      case R.id.decode_succeeded:
-        Log.d(TAG, "Got decode succeeded message");
-        state = State.SUCCESS;
-        Bundle bundle = message.getData();
-        Bitmap barcode = null;
-        float scaleFactor = 1.0f;
-        if (bundle != null) {
-          byte[] compressedBitmap = bundle.getByteArray(DecodeThread.BARCODE_BITMAP);
-          if (compressedBitmap != null) {
-            barcode = BitmapFactory.decodeByteArray(compressedBitmap, 0, compressedBitmap.length, null);
-            // Mutable copy:
-            barcode = barcode.copy(Bitmap.Config.ARGB_8888, true);
-          }
-          scaleFactor = bundle.getFloat(DecodeThread.BARCODE_SCALED_FACTOR);          
-        }
-        activity.handleDecode((Result) message.obj, barcode, scaleFactor);
-        break;
-      case R.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);
-        break;
-      case R.id.return_scan_result:
-        Log.d(TAG, "Got return scan result message");
-        activity.setResult(Activity.RESULT_OK, (Intent) message.obj);
-        activity.finish();
-        break;
-      case R.id.launch_product_query:
-        Log.d(TAG, "Got product query message");
-        String url = (String) message.obj;
-
-        Intent intent = new Intent(Intent.ACTION_VIEW);
-        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
-        intent.setData(Uri.parse(url));
-
-        ResolveInfo resolveInfo =
-            activity.getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);
-        String browserPackageName = null;
-        if (resolveInfo != null && resolveInfo.activityInfo != null) {
-          browserPackageName = resolveInfo.activityInfo.packageName;
-          Log.d(TAG, "Using browser in package " + browserPackageName);
-        }
-
-        // Needed for default Android browser / Chrome only apparently
-        if ("com.android.browser".equals(browserPackageName) || "com.android.chrome".equals(browserPackageName)) {
-          intent.setPackage(browserPackageName);
-          intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-          intent.putExtra(Browser.EXTRA_APPLICATION_ID, browserPackageName);
-        }
-
-        try {
-          activity.startActivity(intent);
-        } catch (ActivityNotFoundException ignored) {
-          Log.w(TAG, "Can't find anything to handle VIEW of URI " + url);
-        }
-        break;
-    }
-  }
-
-  public void quitSynchronously() {
-    state = State.DONE;
-    cameraManager.stopPreview();
-    Message quit = Message.obtain(decodeThread.getHandler(), R.id.quit);
-    quit.sendToTarget();
-    try {
-      // Wait at most half a second; should be enough time, and onPause() will timeout quickly
-      decodeThread.join(500L);
-    } catch (InterruptedException e) {
-      // continue
-    }
-
-    // Be absolutely sure we don't send any queued up messages
-    removeMessages(R.id.decode_succeeded);
-    removeMessages(R.id.decode_failed);
-  }
-
-  private void restartPreviewAndDecode() {
-    if (state == State.SUCCESS) {
-      state = State.PREVIEW;
-      cameraManager.requestPreviewFrame(decodeThread.getHandler(), R.id.decode);
-      activity.drawViewfinder();
-    }
-  }
-
-}

+ 0 - 101
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/DecodeFormatManager.java

@@ -1,101 +0,0 @@
-/*
- * Copyright (C) 2010 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.raimage;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.EnumSet;
-import java.util.List;
-import java.util.regex.Pattern;
-
-import android.content.Intent;
-import android.net.Uri;
-import com.google.zxing.BarcodeFormat;
-
-final class DecodeFormatManager {
-
-  private static final Pattern COMMA_PATTERN = Pattern.compile(",");
-
-  static final Collection<BarcodeFormat> PRODUCT_FORMATS;
-  static final Collection<BarcodeFormat> ONE_D_FORMATS;
-  static final Collection<BarcodeFormat> QR_CODE_FORMATS = EnumSet.of(BarcodeFormat.QR_CODE);
-  static final Collection<BarcodeFormat> DATA_MATRIX_FORMATS = EnumSet.of(BarcodeFormat.DATA_MATRIX);
-  static {
-    PRODUCT_FORMATS = EnumSet.of(BarcodeFormat.UPC_A,
-                                 BarcodeFormat.UPC_E,
-                                 BarcodeFormat.EAN_13,
-                                 BarcodeFormat.EAN_8,
-                                 BarcodeFormat.RSS_14,
-                                 BarcodeFormat.RSS_EXPANDED);
-    ONE_D_FORMATS = EnumSet.of(BarcodeFormat.CODE_39,
-                               BarcodeFormat.CODE_93,
-                               BarcodeFormat.CODE_128,
-                               BarcodeFormat.ITF,
-                               BarcodeFormat.CODABAR);
-    ONE_D_FORMATS.addAll(PRODUCT_FORMATS);
-  }
-
-  private DecodeFormatManager() {}
-
-  static Collection<BarcodeFormat> parseDecodeFormats(Intent intent) {
-    Iterable<String> scanFormats = null;
-    CharSequence scanFormatsString = intent.getStringExtra(Intents.Scan.FORMATS);
-    if (scanFormatsString != null) {
-      scanFormats = Arrays.asList(COMMA_PATTERN.split(scanFormatsString));
-    }
-    return parseDecodeFormats(scanFormats, intent.getStringExtra(Intents.Scan.MODE));
-  }
-
-  static Collection<BarcodeFormat> parseDecodeFormats(Uri inputUri) {
-    List<String> formats = inputUri.getQueryParameters(Intents.Scan.FORMATS);
-    if (formats != null && formats.size() == 1 && formats.get(0) != null){
-      formats = Arrays.asList(COMMA_PATTERN.split(formats.get(0)));
-    }
-    return parseDecodeFormats(formats, inputUri.getQueryParameter(Intents.Scan.MODE));
-  }
-
-  private static Collection<BarcodeFormat> parseDecodeFormats(Iterable<String> scanFormats,
-                                                              String decodeMode) {
-    if (scanFormats != null) {
-      Collection<BarcodeFormat> formats = EnumSet.noneOf(BarcodeFormat.class);
-      try {
-        for (String format : scanFormats) {
-          formats.add(BarcodeFormat.valueOf(format));
-        }
-        return formats;
-      } catch (IllegalArgumentException iae) {
-        // ignore it then
-      }
-    }
-    if (decodeMode != null) {
-      if (Intents.Scan.PRODUCT_MODE.equals(decodeMode)) {
-        return PRODUCT_FORMATS;
-      }
-      if (Intents.Scan.QR_CODE_MODE.equals(decodeMode)) {
-        return QR_CODE_FORMATS;
-      }
-      if (Intents.Scan.DATA_MATRIX_MODE.equals(decodeMode)) {
-        return DATA_MATRIX_FORMATS;
-      }
-      if (Intents.Scan.ONE_D_MODE.equals(decodeMode)) {
-        return ONE_D_FORMATS;
-      }
-    }
-    return null;
-  }
-
-}

+ 0 - 121
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/DecodeHandler.java

@@ -1,121 +0,0 @@
-/*
- * Copyright (C) 2010 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.raimage;
-
-import android.graphics.Bitmap;
-
-import com.google.zxing.BinaryBitmap;
-import com.google.zxing.DecodeHintType;
-import com.google.zxing.MultiFormatReader;
-import com.google.zxing.PlanarYUVLuminanceSource;
-import com.google.zxing.ReaderException;
-import com.google.zxing.Result;
-import com.google.zxing.common.HybridBinarizer;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Looper;
-import android.os.Message;
-import android.util.Log;
-
-import java.io.ByteArrayOutputStream;
-import java.util.Map;
-
-final class DecodeHandler extends Handler {
-
-  private static final String TAG = DecodeHandler.class.getSimpleName();
-
-  private final CaptureActivity activity;
-  private final MultiFormatReader multiFormatReader;
-  private boolean running = true;
-
-  DecodeHandler(CaptureActivity activity, Map<DecodeHintType,Object> hints) {
-    multiFormatReader = new MultiFormatReader();
-    multiFormatReader.setHints(hints);
-    this.activity = activity;
-  }
-
-  @Override
-  public void handleMessage(Message message) {
-    if (!running) {
-      return;
-    }
-    switch (message.what) {
-      case R.id.decode:
-        decode((byte[]) message.obj, message.arg1, message.arg2);
-        break;
-      case R.id.quit:
-        running = false;
-        Looper.myLooper().quit();
-        break;
-    }
-  }
-
-  /**
-   * Decode the data within the viewfinder rectangle, and time how long it took. For efficiency,
-   * reuse the same reader objects from one decode to the next.
-   *
-   * @param data   The YUV preview frame.
-   * @param width  The width of the preview frame.
-   * @param height The height of the preview frame.
-   */
-  private void decode(byte[] data, int width, int height) {
-    long start = System.currentTimeMillis();
-    Result rawResult = null;
-    PlanarYUVLuminanceSource source = activity.getCameraManager().buildLuminanceSource(data, width, height);
-    if (source != null) {
-      BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
-      try {
-        rawResult = multiFormatReader.decodeWithState(bitmap);
-      } catch (ReaderException re) {
-        // continue
-      } finally {
-        multiFormatReader.reset();
-      }
-    }
-
-    Handler handler = activity.getHandler();
-    if (rawResult != null) {
-      // Don't log the barcode contents for security.
-      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);
-        Bundle bundle = new Bundle();
-        bundleThumbnail(source, bundle);        
-        message.setData(bundle);
-        message.sendToTarget();
-      }
-    } else {
-      if (handler != null) {
-        Message message = Message.obtain(handler, R.id.decode_failed);
-        message.sendToTarget();
-      }
-    }
-  }
-
-  private static void bundleThumbnail(PlanarYUVLuminanceSource source, Bundle bundle) {
-    int[] pixels = source.renderThumbnail();
-    int width = source.getThumbnailWidth();
-    int height = source.getThumbnailHeight();
-    Bitmap bitmap = Bitmap.createBitmap(pixels, 0, width, width, height, Bitmap.Config.ARGB_8888);
-    ByteArrayOutputStream out = new ByteArrayOutputStream();    
-    bitmap.compress(Bitmap.CompressFormat.JPEG, 50, out);
-    bundle.putByteArray(DecodeThread.BARCODE_BITMAP, out.toByteArray());
-    bundle.putFloat(DecodeThread.BARCODE_SCALED_FACTOR, (float) width / source.getWidth());
-  }
-
-}

+ 0 - 236
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/DecodeHintManager.java

@@ -1,236 +0,0 @@
-/*
- * Copyright (C) 2013 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.raimage;
-
-import java.util.EnumMap;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.regex.Pattern;
-
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-import android.util.Log;
-
-import com.google.zxing.DecodeHintType;
-
-/**
- * @author Lachezar Dobrev
- */
-final class DecodeHintManager {
-  
-  private static final String TAG = DecodeHintManager.class.getSimpleName();
-
-  // This pattern is used in decoding integer arrays.
-  private static final Pattern COMMA = Pattern.compile(",");
-
-  private DecodeHintManager() {}
-
-  /**
-   * <p>Split a query string into a list of name-value pairs.</p>
-   * 
-   * <p>This is an alternative to the {@link Uri#getQueryParameterNames()} and
-   * {@link Uri#getQueryParameters(String)}, which are quirky and not suitable
-   * for exist-only Uri parameters.</p>
-   * 
-   * <p>This method ignores multiple parameters with the same name and returns the
-   * first one only. This is technically incorrect, but should be acceptable due
-   * to the method of processing Hints: no multiple values for a hint.</p>
-   * 
-   * @param query query to split
-   * @return name-value pairs
-   */
-  private static Map<String,String> splitQuery(String query) {
-    Map<String,String> map = new HashMap<String,String>();
-    int pos = 0;
-    while (pos < query.length()) {
-      if (query.charAt(pos) == '&') {
-        // Skip consecutive ampersand separators.
-        pos ++;
-        continue;
-      }
-      int amp = query.indexOf('&', pos);
-      int equ = query.indexOf('=', pos);
-      if (amp < 0) {
-        // This is the last element in the query, no more ampersand elements.
-        String name;
-        String text;
-        if (equ < 0) {
-          // No equal sign
-          name = query.substring(pos);
-          name = name.replace('+', ' '); // Preemptively decode +
-          name = Uri.decode(name);
-          text = "";
-        } else {
-          // Split name and text.
-          name = query.substring(pos, equ);
-          name = name.replace('+', ' '); // Preemptively decode +
-          name = Uri.decode(name);
-          text = query.substring(equ + 1);
-          text = text.replace('+', ' '); // Preemptively decode +
-          text = Uri.decode(text);
-        }
-        if (!map.containsKey(name)) {
-          map.put(name, text);
-        }
-        break;
-      }
-      if (equ < 0 || equ > amp) {
-        // No equal sign until the &: this is a simple parameter with no value.
-        String name = query.substring(pos, amp);
-        name = name.replace('+', ' '); // Preemptively decode +
-        name = Uri.decode(name);
-        if (!map.containsKey(name)) {
-          map.put(name, "");
-        }
-        pos = amp + 1;
-        continue;
-      }
-      String name = query.substring(pos, equ);
-      name = name.replace('+', ' '); // Preemptively decode +
-      name = Uri.decode(name);
-      String text = query.substring(equ+1, amp);
-      text = text.replace('+', ' '); // Preemptively decode +
-      text = Uri.decode(text);
-      if (!map.containsKey(name)) {
-        map.put(name, text);
-      }
-      pos = amp + 1;
-    }
-    return map;
-  }
-
-  static Map<DecodeHintType,?> parseDecodeHints(Uri inputUri) {
-    String query = inputUri.getEncodedQuery();
-    if (query == null || query.isEmpty()) {
-      return null;
-    }
-
-    // Extract parameters
-    Map<String, String> parameters = splitQuery(query);
-
-    Map<DecodeHintType, Object> hints = new EnumMap<DecodeHintType, Object>(DecodeHintType.class);
-
-    for (DecodeHintType hintType: DecodeHintType.values()) {
-
-      if (hintType == DecodeHintType.CHARACTER_SET ||
-          hintType == DecodeHintType.NEED_RESULT_POINT_CALLBACK ||
-          hintType == DecodeHintType.POSSIBLE_FORMATS) {
-        continue; // This hint is specified in another way
-      }
-
-      String parameterName = hintType.name();
-      String parameterText = parameters.get(parameterName);
-      if (parameterText == null) {
-        continue;
-      }
-      if (hintType.getValueType().equals(Object.class)) {
-        // This is an unspecified type of hint content. Use the value as is.
-        // TODO: Can we make a different assumption on this?
-        hints.put(hintType, parameterText);
-        continue;
-      }
-      if (hintType.getValueType().equals(Void.class)) {
-        // Void hints are just flags: use the constant specified by DecodeHintType
-        hints.put(hintType, Boolean.TRUE);
-        continue;
-      }
-      if (hintType.getValueType().equals(String.class)) {
-        // A string hint: use the decoded value.
-        hints.put(hintType, parameterText);
-        continue;
-      }
-      if (hintType.getValueType().equals(Boolean.class)) {
-        // A boolean hint: a few values for false, everything else is true.
-        // An empty parameter is simply a flag-style parameter, assuming true
-        if (parameterText.isEmpty()) {
-          hints.put(hintType, Boolean.TRUE);
-        } else if ("0".equals(parameterText) || 
-                   "false".equalsIgnoreCase(parameterText) || 
-                   "no".equalsIgnoreCase(parameterText)) {
-          hints.put(hintType, Boolean.FALSE);
-        } else {
-          hints.put(hintType, Boolean.TRUE);
-        }
-
-        continue;
-      }
-      if (hintType.getValueType().equals(int[].class)) {
-        // An integer array. Used to specify valid lengths.
-        // Strip a trailing comma as in Java style array initialisers.
-        if (!parameterText.isEmpty() && parameterText.charAt(parameterText.length() - 1) == ',') {
-          parameterText = parameterText.substring(0, parameterText.length() - 1);
-        }
-        String[] values = COMMA.split(parameterText);
-        int[] array = new int[values.length];
-        for (int i = 0; i < values.length; i++) {
-          try {
-            array[i] = Integer.parseInt(values[i]);
-          } catch (NumberFormatException ignored) {
-            Log.w(TAG, "Skipping array of integers hint " + hintType + " due to invalid numeric value: '" + values[i] + '\'');
-            array = null;
-            break;
-          }
-        }
-        if (array != null) {
-          hints.put(hintType, array);
-        }
-        continue;
-      } 
-      Log.w(TAG, "Unsupported hint type '" + hintType + "' of type " + hintType.getValueType());
-    }
-
-    Log.i(TAG, "Hints from the URI: " + hints);
-    return hints;
-  }
-
-  static Map<DecodeHintType, Object> parseDecodeHints(Intent intent) {
-    Bundle extras = intent.getExtras();
-    if (extras == null || extras.isEmpty()) {
-      return null;
-    }
-    Map<DecodeHintType,Object> hints = new EnumMap<DecodeHintType,Object>(DecodeHintType.class);
-
-    for (DecodeHintType hintType: DecodeHintType.values()) {
-
-      if (hintType == DecodeHintType.CHARACTER_SET ||
-          hintType == DecodeHintType.NEED_RESULT_POINT_CALLBACK ||
-          hintType == DecodeHintType.POSSIBLE_FORMATS) {
-        continue; // This hint is specified in another way
-      }
-
-      String hintName = hintType.name();
-      if (extras.containsKey(hintName)) {
-        if (hintType.getValueType().equals(Void.class)) {
-          // Void hints are just flags: use the constant specified by the DecodeHintType
-          hints.put(hintType, Boolean.TRUE);
-        } else {
-          Object hintData = extras.get(hintName);
-          if (hintType.getValueType().isInstance(hintData)) {
-            hints.put(hintType, hintData);
-          } else {
-            Log.w(TAG, "Ignoring hint " + hintType + " because it is not assignable from " + hintData);
-          }
-        }
-      }
-    }
-
-    Log.i(TAG, "Hints from the Intent: " + hints);
-    return hints;
-  }
-
-}

+ 0 - 104
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/DecodeThread.java

@@ -1,104 +0,0 @@
-/*
- * Copyright (C) 2008 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.raimage;
-
-import com.google.zxing.BarcodeFormat;
-import com.google.zxing.DecodeHintType;
-import com.google.zxing.ResultPointCallback;
-
-import android.content.SharedPreferences;
-import android.os.Handler;
-import android.os.Looper;
-import android.preference.PreferenceManager;
-import android.util.Log;
-
-import java.util.Collection;
-import java.util.EnumMap;
-import java.util.EnumSet;
-import java.util.Map;
-import java.util.concurrent.CountDownLatch;
-
-/**
- * This thread does all the heavy lifting of decoding the images.
- *
- * @author dswitkin@google.com (Daniel Switkin)
- */
-final class DecodeThread extends Thread {
-
-  public static final String BARCODE_BITMAP = "barcode_bitmap";
-  public static final String BARCODE_SCALED_FACTOR = "barcode_scaled_factor";
-
-  private final CaptureActivity activity;
-  private final Map<DecodeHintType,Object> hints;
-  private Handler handler;
-  private final CountDownLatch handlerInitLatch;
-
-  DecodeThread(CaptureActivity activity,
-               Collection<BarcodeFormat> decodeFormats,
-               Map<DecodeHintType,?> baseHints,
-               String characterSet,
-               ResultPointCallback resultPointCallback) {
-
-    this.activity = activity;
-    handlerInitLatch = new CountDownLatch(1);
-
-    hints = new EnumMap<DecodeHintType,Object>(DecodeHintType.class);
-    if (baseHints != null) {
-      hints.putAll(baseHints);
-    }
-
-    // The prefs can't change while the thread is running, so pick them up once here.
-    if (decodeFormats == null || decodeFormats.isEmpty()) {
-      SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
-      decodeFormats = EnumSet.noneOf(BarcodeFormat.class);
-      if (prefs.getBoolean(PreferencesActivity.KEY_DECODE_1D, false)) {
-        decodeFormats.addAll(DecodeFormatManager.ONE_D_FORMATS);
-      }
-      if (prefs.getBoolean(PreferencesActivity.KEY_DECODE_QR, false)) {
-        decodeFormats.addAll(DecodeFormatManager.QR_CODE_FORMATS);
-      }
-      if (prefs.getBoolean(PreferencesActivity.KEY_DECODE_DATA_MATRIX, false)) {
-        decodeFormats.addAll(DecodeFormatManager.DATA_MATRIX_FORMATS);
-      }
-    }
-    hints.put(DecodeHintType.POSSIBLE_FORMATS, decodeFormats);
-
-    if (characterSet != null) {
-      hints.put(DecodeHintType.CHARACTER_SET, characterSet);
-    }
-    hints.put(DecodeHintType.NEED_RESULT_POINT_CALLBACK, resultPointCallback);
-    Log.i("DecodeThread", "Hints: " + hints);
-  }
-
-  Handler getHandler() {
-    try {
-      handlerInitLatch.await();
-    } catch (InterruptedException ie) {
-      // continue?
-    }
-    return handler;
-  }
-
-  @Override
-  public void run() {
-    Looper.prepare();
-    handler = new DecodeHandler(activity, hints);
-    handlerInitLatch.countDown();
-    Looper.loop();
-  }
-
-}

+ 0 - 49
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/FinishListener.java

@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2010 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.raimage;
-
-import android.app.Activity;
-import android.content.DialogInterface;
-
-/**
- * Simple listener used to exit the app in a few cases.
- *
- * @author Sean Owen
- */
-public final class FinishListener implements DialogInterface.OnClickListener, DialogInterface.OnCancelListener {
-
-  private final Activity activityToFinish;
-
-  public FinishListener(Activity activityToFinish) {
-    this.activityToFinish = activityToFinish;
-  }
-
-  @Override
-  public void onCancel(DialogInterface dialogInterface) {
-    run();
-  }
-
-  @Override
-  public void onClick(DialogInterface dialogInterface, int i) {
-    run();
-  }
-
-  private void run() {
-    activityToFinish.finish();
-  }
-
-}

+ 0 - 243
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/HttpHelper.java

@@ -1,243 +0,0 @@
-/*
- * Copyright 2011 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.raimage;
-
-import android.util.Log;
-
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.HttpURLConnection;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashSet;
-
-/**
- * Utility methods for retrieving content over HTTP using the more-supported {@code java.net} classes
- * in Android.
- */
-public final class HttpHelper {
-
-  private static final String TAG = HttpHelper.class.getSimpleName();
-
-  private static final Collection<String> REDIRECTOR_DOMAINS = new HashSet<String>(Arrays.asList(
-    "amzn.to", "bit.ly", "bitly.com", "fb.me", "goo.gl", "is.gd", "j.mp", "lnkd.in", "ow.ly",
-    "R.BEETAGG.COM", "r.beetagg.com", "SCN.BY", "su.pr", "t.co", "tinyurl.com", "tr.im"
-  ));
-
-  private HttpHelper() {
-  }
-  
-  public enum ContentType {
-    /** HTML-like content type, including HTML, XHTML, etc. */
-    HTML,
-    /** JSON content */
-    JSON,
-    /** XML */
-    XML,
-    /** Plain text content */
-    TEXT,
-  }
-
-  /**
-   * Downloads the entire resource instead of part.
-   *
-   * @see #downloadViaHttp(String, HttpHelper.ContentType, int)
-   */
-  public static CharSequence downloadViaHttp(String uri, ContentType type) throws IOException {
-    return downloadViaHttp(uri, type, Integer.MAX_VALUE);
-  }
-
-  /**
-   * @param uri URI to retrieve
-   * @param type expected text-like MIME type of that content
-   * @param maxChars approximate maximum characters to read from the source
-   * @return content as a {@code String}
-   * @throws IOException if the content can't be retrieved because of a bad URI, network problem, etc.
-   */
-  public static CharSequence downloadViaHttp(String uri, ContentType type, int maxChars) throws IOException {
-    String contentTypes;
-    switch (type) {
-      case HTML:
-        contentTypes = "application/xhtml+xml,text/html,text/*,*/*";
-        break;
-      case JSON:
-        contentTypes = "application/json,text/*,*/*";
-        break;
-      case XML:
-        contentTypes = "application/xml,text/*,*/*";
-        break;
-      case TEXT:
-      default:
-        contentTypes = "text/*,*/*";
-    }
-    return downloadViaHttp(uri, contentTypes, maxChars);
-  }
-
-  private static CharSequence downloadViaHttp(String uri, String contentTypes, int maxChars) throws IOException {
-    int redirects = 0;
-    while (redirects < 5) {
-      URL url = new URL(uri);
-      HttpURLConnection connection = safelyOpenConnection(url);
-      connection.setInstanceFollowRedirects(true); // Won't work HTTP -> HTTPS or vice versa
-      connection.setRequestProperty("Accept", contentTypes);
-      connection.setRequestProperty("Accept-Charset", "utf-8,*");
-      connection.setRequestProperty("User-Agent", "ZXing (Android)");
-      try {
-        int responseCode = safelyConnect(uri, connection);
-        switch (responseCode) {
-          case HttpURLConnection.HTTP_OK:
-            return consume(connection, maxChars);
-          case HttpURLConnection.HTTP_MOVED_TEMP:
-            String location = connection.getHeaderField("Location");
-            if (location != null) {
-              uri = location;
-              redirects++;
-              continue;
-            }
-            throw new IOException("No Location");
-          default:
-            throw new IOException("Bad HTTP response: " + responseCode);
-        }
-      } finally {
-        connection.disconnect();
-      }
-    }
-    throw new IOException("Too many redirects");
-  }
-
-  private static String getEncoding(URLConnection connection) {
-    String contentTypeHeader = connection.getHeaderField("Content-Type");
-    if (contentTypeHeader != null) {
-      int charsetStart = contentTypeHeader.indexOf("charset=");
-      if (charsetStart >= 0) {
-        return contentTypeHeader.substring(charsetStart + "charset=".length());
-      }
-    }
-    return "UTF-8";
-  }
-
-  private static CharSequence consume(URLConnection connection, int maxChars) throws IOException {
-    String encoding = getEncoding(connection);
-    StringBuilder out = new StringBuilder();
-    Reader in = null;
-    try {
-      in = new InputStreamReader(connection.getInputStream(), encoding);
-      char[] buffer = new char[1024];
-      int charsRead;
-      while (out.length() < maxChars && (charsRead = in.read(buffer)) > 0) {
-        out.append(buffer, 0, charsRead);
-      }
-    } finally {
-      if (in != null) {
-        try {
-          in.close();
-        } catch (IOException ioe) {
-          // continue
-        } catch (NullPointerException npe) {
-          // another apparent Android / Harmony bug; continue
-        }
-      }
-    }
-    return out;
-  }
-
-  public static URI unredirect(URI uri) throws IOException {
-    if (!REDIRECTOR_DOMAINS.contains(uri.getHost())) {
-      return uri;
-    }
-    URL url = uri.toURL();
-    HttpURLConnection connection = safelyOpenConnection(url);
-    connection.setInstanceFollowRedirects(false);
-    connection.setDoInput(false);
-    connection.setRequestMethod("HEAD");
-    connection.setRequestProperty("User-Agent", "ZXing (Android)");
-    try {
-      int responseCode = safelyConnect(uri.toString(), connection);
-      switch (responseCode) {
-        case HttpURLConnection.HTTP_MULT_CHOICE:
-        case HttpURLConnection.HTTP_MOVED_PERM:
-        case HttpURLConnection.HTTP_MOVED_TEMP:
-        case HttpURLConnection.HTTP_SEE_OTHER:
-        case 307: // No constant for 307 Temporary Redirect ?
-          String location = connection.getHeaderField("Location");
-          if (location != null) {
-            try {
-              return new URI(location);
-            } catch (URISyntaxException e) {
-              // nevermind
-            }
-          }
-      }
-      return uri;
-    } finally {
-      connection.disconnect();
-    }
-  }
-  
-  private static HttpURLConnection safelyOpenConnection(URL url) throws IOException {
-    URLConnection conn;
-    try {
-      conn = url.openConnection();
-    } catch (NullPointerException npe) {
-      // Another strange bug in Android?
-      Log.w(TAG, "Bad URI? " + url);
-      throw new IOException(npe);
-    }
-    if (!(conn instanceof HttpURLConnection)) {
-      throw new IOException();
-    }
-    return (HttpURLConnection) conn;
-  }
-
-  private static int safelyConnect(String uri, HttpURLConnection connection) throws IOException {
-    try {
-      connection.connect();
-    } catch (NullPointerException npe) {
-      // this is an Android bug: http://code.google.com/p/android/issues/detail?id=16895
-      throw new IOException(npe);
-    } catch (IllegalArgumentException iae) {
-      // Also seen this in the wild, not sure what to make of it. Probably a bad URL
-      throw new IOException(iae);
-    } catch (SecurityException se) {
-      // due to bad VPN settings?
-      Log.w(TAG, "Restricted URI? " + uri);
-      throw new IOException(se);
-    } catch (IndexOutOfBoundsException ioobe) {
-      // Another Android problem? https://groups.google.com/forum/?fromgroups#!topic/google-admob-ads-sdk/U-WfmYa9or0
-      throw new IOException(ioobe);
-    }
-    try {
-      return connection.getResponseCode();
-    } catch (NullPointerException npe) {
-      // this is maybe this Android bug: http://code.google.com/p/android/issues/detail?id=15554
-      throw new IOException(npe);
-    } catch (IllegalArgumentException iae) {
-      // Again seen this in the wild for bad header fields in the server response! or bad reads
-      Log.w(TAG, "Bad server status? " + uri);
-      throw new IOException(iae);
-    } catch (StringIndexOutOfBoundsException sioobe) {
-      // Another Android bug: https://code.google.com/p/android/issues/detail?id=18856
-      throw new IOException(sioobe);
-    }
-  }
-
-}

+ 0 - 116
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/InactivityTimer.java

@@ -1,116 +0,0 @@
-/*
- * Copyright (C) 2010 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.raimage;
-
-import android.app.Activity;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.os.AsyncTask;
-import android.os.BatteryManager;
-import android.util.Log;
-
-/**
- * Finishes an activity after a period of inactivity if the device is on battery power.
- */
-final class InactivityTimer {
-
-  private static final String TAG = InactivityTimer.class.getSimpleName();
-
-  private static final long INACTIVITY_DELAY_MS = 5 * 60 * 1000L;
-
-  private final Activity activity;
-  private final BroadcastReceiver powerStatusReceiver;
-  private boolean registered;
-  private AsyncTask<?,?,?> inactivityTask;
-
-  InactivityTimer(Activity activity) {
-    this.activity = activity;
-    powerStatusReceiver = new PowerStatusReceiver();
-    registered = false;
-    onActivity();
-  }
-
-  synchronized void onActivity() {
-    cancel();
-    inactivityTask = new InactivityAsyncTask();
-    inactivityTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
-  }
-
-  public synchronized void onPause() {
-    cancel();
-    if (registered) {
-      activity.unregisterReceiver(powerStatusReceiver);
-      registered = false;
-    } else {
-      Log.w(TAG, "PowerStatusReceiver was never registered?");
-    }
-  }
-
-  public synchronized void onResume() {
-    if (registered) {
-      Log.w(TAG, "PowerStatusReceiver was already registered?");
-    } else {
-      activity.registerReceiver(powerStatusReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
-      registered = true;
-    }
-    onActivity();
-  }
-
-  private synchronized void cancel() {
-    AsyncTask<?,?,?> task = inactivityTask;
-    if (task != null) {
-      task.cancel(true);
-      inactivityTask = null;
-    }
-  }
-
-  void shutdown() {
-    cancel();
-  }
-
-  private final class PowerStatusReceiver extends BroadcastReceiver {
-    @Override
-    public void onReceive(Context context, Intent intent){
-      if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) {
-        // 0 indicates that we're on battery
-        boolean onBatteryNow = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1) <= 0;
-        if (onBatteryNow) {
-          InactivityTimer.this.onActivity();
-        } else {
-          InactivityTimer.this.cancel();
-        }
-      }
-    }
-  }
-
-  private final class InactivityAsyncTask extends AsyncTask<Object,Object,Object> {
-    @Override
-    protected Object doInBackground(Object... objects) {
-      try {
-        Thread.sleep(INACTIVITY_DELAY_MS);
-        Log.i(TAG, "Finishing activity due to inactivity");
-        activity.finish();
-      } catch (InterruptedException e) {
-        // continue without killing
-      }
-      return null;
-    }
-  }
-
-}

+ 0 - 261
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/Intents.java

@@ -1,261 +0,0 @@
-/*
- * Copyright (C) 2008 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.raimage;
-
-/**
- * This class provides the constants to use when sending an Intent to Barcode Scanner.
- * These strings are effectively API and cannot be changed.
- *
- * @author dswitkin@google.com (Daniel Switkin)
- */
-public final class Intents {
-  private Intents() {
-  }
-
-  public static final class Scan {
-    /**
-     * Send this intent to open the Barcodes app in scanning mode, find a barcode, and return
-     * the results.
-     */
-    public static final String ACTION = "com.google.zxing.client.android.SCAN";
-
-    /**
-     * By default, sending this will decode all barcodes that we understand. However it
-     * may be useful to limit scanning to certain formats. Use
-     * {@link android.content.Intent#putExtra(String, String)} with one of the values below.
-     *
-     * Setting this is effectively shorthand for setting explicit formats with {@link #FORMATS}.
-     * It is overridden by that setting.
-     */
-    public static final String MODE = "SCAN_MODE";
-
-    /**
-     * Decode only UPC and EAN barcodes. This is the right choice for shopping apps which get
-     * prices, reviews, etc. for products.
-     */
-    public static final String PRODUCT_MODE = "PRODUCT_MODE";
-
-    /**
-     * Decode only 1D barcodes.
-     */
-    public static final String ONE_D_MODE = "ONE_D_MODE";
-
-    /**
-     * Decode only QR codes.
-     */
-    public static final String QR_CODE_MODE = "QR_CODE_MODE";
-
-    /**
-     * Decode only Data Matrix codes.
-     */
-    public static final String DATA_MATRIX_MODE = "DATA_MATRIX_MODE";
-
-    /**
-     * Comma-separated list of formats to scan for. The values must match the names of
-     * {@link com.google.zxing.BarcodeFormat}s, e.g. {@link com.google.zxing.BarcodeFormat#EAN_13}.
-     * Example: "EAN_13,EAN_8,QR_CODE". This overrides {@link #MODE}.
-     */
-    public static final String FORMATS = "SCAN_FORMATS";
-
-    /**
-     * @see com.google.zxing.DecodeHintType#CHARACTER_SET
-     */
-    public static final String CHARACTER_SET = "CHARACTER_SET";
-
-    /**
-     * Optional parameters to specify the width and height of the scanning rectangle in pixels.
-     * The app will try to honor these, but will clamp them to the size of the preview frame.
-     * You should specify both or neither, and pass the size as an int.
-     */
-    public static final String WIDTH = "SCAN_WIDTH";
-    public static final String HEIGHT = "SCAN_HEIGHT";
-
-    /**
-     * Desired duration in milliseconds for which to pause after a successful scan before
-     * returning to the calling intent. Specified as a long, not an integer!
-     * For example: 1000L, not 1000.
-     */
-    public static final String RESULT_DISPLAY_DURATION_MS = "RESULT_DISPLAY_DURATION_MS";
-
-    /**
-     * Prompt to show on-screen when scanning by intent. Specified as a {@link String}.
-     */
-    public static final String PROMPT_MESSAGE = "PROMPT_MESSAGE";
-
-    /**
-     * If a barcode is found, Barcodes returns {@link android.app.Activity#RESULT_OK} to
-     * {@link android.app.Activity#onActivityResult(int, int, android.content.Intent)}
-     * of the app which requested the scan via
-     * {@link android.app.Activity#startActivityForResult(android.content.Intent, int)}
-     * The barcodes contents can be retrieved with
-     * {@link android.content.Intent#getStringExtra(String)}. 
-     * If the user presses Back, the result code will be {@link android.app.Activity#RESULT_CANCELED}.
-     */
-    public static final String RESULT = "SCAN_RESULT";
-
-    /**
-     * Call {@link android.content.Intent#getStringExtra(String)} with {@link #RESULT_FORMAT}
-     * to determine which barcode format was found.
-     * See {@link com.google.zxing.BarcodeFormat} for possible values.
-     */
-    public static final String RESULT_FORMAT = "SCAN_RESULT_FORMAT";
-
-    /**
-     * Call {@link android.content.Intent#getStringExtra(String)} with {@link #RESULT_UPC_EAN_EXTENSION}
-     * to return the content of any UPC extension barcode that was also found. Only applicable
-     * to {@link com.google.zxing.BarcodeFormat#UPC_A} and {@link com.google.zxing.BarcodeFormat#EAN_13}
-     * formats.
-     */
-    public static final String RESULT_UPC_EAN_EXTENSION = "SCAN_RESULT_UPC_EAN_EXTENSION";
-
-    /**
-     * Call {@link android.content.Intent#getByteArrayExtra(String)} with {@link #RESULT_BYTES}
-     * to get a {@code byte[]} of raw bytes in the barcode, if available.
-     */
-    public static final String RESULT_BYTES = "SCAN_RESULT_BYTES";
-
-    /**
-     * Key for the value of {@link com.google.zxing.ResultMetadataType#ORIENTATION}, if available.
-     * Call {@link android.content.Intent#getIntArrayExtra(String)} with {@link #RESULT_ORIENTATION}.
-     */
-    public static final String RESULT_ORIENTATION = "SCAN_RESULT_ORIENTATION";
-
-    /**
-     * Key for the value of {@link com.google.zxing.ResultMetadataType#ERROR_CORRECTION_LEVEL}, if available.
-     * Call {@link android.content.Intent#getStringExtra(String)} with {@link #RESULT_ERROR_CORRECTION_LEVEL}.
-     */
-    public static final String RESULT_ERROR_CORRECTION_LEVEL = "SCAN_RESULT_ERROR_CORRECTION_LEVEL";
-
-    /**
-     * Prefix for keys that map to the values of {@link com.google.zxing.ResultMetadataType#BYTE_SEGMENTS},
-     * if available. The actual values will be set under a series of keys formed by adding 0, 1, 2, ...
-     * to this prefix. So the first byte segment is under key "SCAN_RESULT_BYTE_SEGMENTS_0" for example.
-     * Call {@link android.content.Intent#getByteArrayExtra(String)} with these keys.
-     */
-    public static final String RESULT_BYTE_SEGMENTS_PREFIX = "SCAN_RESULT_BYTE_SEGMENTS_";
-
-    /**
-     * Setting this to false will not save scanned codes in the history. Specified as a {@code boolean}.
-     */
-    public static final String SAVE_HISTORY = "SAVE_HISTORY";
-
-    private Scan() {
-    }
-  }
-
-  public static final class History {
-
-    public static final String ITEM_NUMBER = "ITEM_NUMBER";
-
-    private History() {
-    }
-  }
-
-  public static final class Encode {
-    /**
-     * Send this intent to encode a piece of data as a QR code and display it full screen, so
-     * that another person can scan the barcode from your screen.
-     */
-    public static final String ACTION = "com.google.zxing.client.android.ENCODE";
-
-    /**
-     * The data to encode. Use {@link android.content.Intent#putExtra(String, String)} or
-     * {@link android.content.Intent#putExtra(String, android.os.Bundle)}, 
-     * depending on the type and format specified. Non-QR Code formats should
-     * just use a String here. For QR Code, see Contents for details.
-     */
-    public static final String DATA = "ENCODE_DATA";
-
-    /**
-     * The type of data being supplied if the format is QR Code. Use
-     * {@link android.content.Intent#putExtra(String, String)} with one of {@link Contents.Type}.
-     */
-    public static final String TYPE = "ENCODE_TYPE";
-
-    /**
-     * The barcode format to be displayed. If this isn't specified or is blank,
-     * it defaults to QR Code. Use {@link android.content.Intent#putExtra(String, String)}, where
-     * format is one of {@link com.google.zxing.BarcodeFormat}.
-     */
-    public static final String FORMAT = "ENCODE_FORMAT";
-
-    /**
-     * Normally the contents of the barcode are displayed to the user in a TextView. Setting this
-     * boolean to false will hide that TextView, showing only the encode barcode.
-     */
-    public static final String SHOW_CONTENTS = "ENCODE_SHOW_CONTENTS";
-
-    private Encode() {
-    }
-  }
-
-  public static final class SearchBookContents {
-    /**
-     * Use Google Book Search to search the contents of the book provided.
-     */
-    public static final String ACTION = "com.google.zxing.client.android.SEARCH_BOOK_CONTENTS";
-
-    /**
-     * The book to search, identified by ISBN number.
-     */
-    public static final String ISBN = "ISBN";
-
-    /**
-     * An optional field which is the text to search for.
-     */
-    public static final String QUERY = "QUERY";
-
-    private SearchBookContents() {
-    }
-  }
-
-  public static final class WifiConnect {
-    /**
-     * Internal intent used to trigger connection to a wi-fi network.
-     */
-    public static final String ACTION = "com.google.zxing.client.android.WIFI_CONNECT";
-
-    /**
-     * The network to connect to, all the configuration provided here.
-     */
-    public static final String SSID = "SSID";
-
-    /**
-     * The network to connect to, all the configuration provided here.
-     */
-    public static final String TYPE = "TYPE";
-
-    /**
-     * The network to connect to, all the configuration provided here.
-     */
-    public static final String PASSWORD = "PASSWORD";
-
-    private WifiConnect() {
-    }
-  }
-
-  public static final class Share {
-    /**
-     * Give the user a choice of items to encode as a barcode, then render it as a QR Code and
-     * display onscreen for a friend to scan with their phone.
-     */
-    public static final String ACTION = "com.google.zxing.client.android.SHARE";
-
-    private Share() {
-    }
-  }
-}

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 580 - 537
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/MainActivity.java


+ 47 - 39
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/ModeActivity.java

@@ -29,6 +29,7 @@ import android.widget.ListView;
 import android.widget.TextView;
 
 import com.usai.redant.raimage.Model.ModelActivity;
+import com.usai.redant.raimage.POD.PodActivity;
 import com.usai.redant.raimage.POP.PopActivity;
 import com.usai.util.Network;
 
@@ -118,15 +119,15 @@ public class ModeActivity extends AppCompatActivity {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                 JSONObject mode = dataSource.get(position);
-               try {
-                   int enable = mode.getInt("enable");
-                   if (enable != 0) {
-                       showActivityMode(mode);
-                   }
+                try {
+                    int enable = mode.getInt("enable");
+                    if (enable != 0) {
+                        showActivityMode(mode);
+                    }
 
-               } catch (Exception e) {
-                   e.printStackTrace();
-               }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
 
             }
         });
@@ -154,7 +155,7 @@ public class ModeActivity extends AppCompatActivity {
 //                Log.d("Mode List", "Menu Item Click " + item.getTitle());
                 logout();
             }
-                break;
+            break;
         }
         return true;
     }
@@ -162,36 +163,43 @@ public class ModeActivity extends AppCompatActivity {
     /***/
     void showActivityMode(JSONObject mode) {
 
-       try {
-           String name = mode.getString("name");
-
-           String code_name = mode.getString("code_name");
-           if (name.equals("POP")) {
-               Intent intent = new Intent(this,PopActivity.class);
-               intent.putExtra("mode","POP");
-               intent.putExtra("name",code_name);
-               startActivity(intent);
-           } else if (name.equals("Model")) {
-               Intent intent = new Intent(this,ModelActivity.class);
-               intent.putExtra("mode","Model");
-               intent.putExtra("name",code_name);
-               startActivity(intent);
-           }
-           else  if (name.equals("Receiving")) {
-               Intent intent = new Intent(this,PopActivity.class);
-               intent.putExtra("mode","Receiving");
-               intent.putExtra("name",code_name);
-               startActivity(intent);
-           }
-           else  if (name.equals("Returns")) {
-               Intent intent = new Intent(this,PopActivity.class);
-               intent.putExtra("mode","Returns");
-               intent.putExtra("name",code_name);
-               startActivity(intent);
-           }
-       } catch (Exception e) {
-           e.printStackTrace();
-       }
+        try {
+            String name = mode.getString("name");
+
+            String code_name = mode.getString("code_name");
+            if (name.equals("POP")) {
+                Intent intent = new Intent(this,PopActivity.class);
+                intent.putExtra("mode","POP");
+                intent.putExtra("name",code_name);
+                startActivity(intent);
+            } else if (name.equals("Model")) {
+                Intent intent = new Intent(this,ModelActivity.class);
+                intent.putExtra("mode","Model");
+                intent.putExtra("name",code_name);
+                startActivity(intent);
+            }
+            else  if (name.equals("Receiving")) {
+                Intent intent = new Intent(this,PopActivity.class);
+                intent.putExtra("mode","Receiving");
+                intent.putExtra("name",code_name);
+                startActivity(intent);
+            }
+            else  if (name.equals("Returns")) {
+                Intent intent = new Intent(this,PopActivity.class);
+                intent.putExtra("mode","Returns");
+                intent.putExtra("name",code_name);
+                startActivity(intent);
+            }
+            else  if (name.equals("POD")) {
+                Intent intent = new Intent(this,PodActivity.class);
+                intent.putExtra("mode",name);
+                intent.putExtra("name",code_name);
+                startActivity(intent);
+            }
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
 
     }
 

+ 100 - 0
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/POD/PodActivity.java

@@ -0,0 +1,100 @@
+package com.usai.redant.raimage.POD;
+
+import android.graphics.Bitmap;
+import android.os.Bundle;
+import android.support.v7.app.ActionBar;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.usai.redant.raimage.MainActivity;
+import com.usai.redant.raimage.R;
+import com.usai.redant.rautils.utils.FileManager;
+import com.usai.redant.rautils.utils.ImageUtil;
+
+import java.io.File;
+import java.util.ArrayList;
+
+public class PodActivity extends MainActivity {
+
+    private static final String SignaturePathKey = "SignaturePathKey";
+
+    TextView barcode_tv = null;
+    private ImageView mSignatureIv;
+    private String mSignaturePath = null;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_pod);
+
+        ActionBar mActionBar = getSupportActionBar();
+        mActionBar.setHomeButtonEnabled(true);
+        mActionBar.setDisplayHomeAsUpEnabled(true);
+        mActionBar.setTitle(mode);
+
+        barcode_tv = findViewById(R.id.barcode_tv);
+        barcode_tv.setText(name + "#");
+        initView();
+
+        mSignatureIv = findViewById(R.id.signature_iv);
+        mSignatureIv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                startSignatureActivity();
+            }
+        });
+        mSignatureIv.setImageResource(R.drawable.tap_signature);
+
+        recovery(savedInstanceState);
+
+        if (savedInstanceState != null) {
+            String path = savedInstanceState.getString(SignaturePathKey);
+            receiveSignature(path);
+        }
+    }
+
+    @Override
+    protected void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+
+        if (mSignaturePath != null) {
+            outState.putString(SignaturePathKey,mSignaturePath);
+        }
+    }
+
+    @Override
+    public void receiveSignature(String signaturePath) {
+        super.receiveSignature(signaturePath);
+        mSignaturePath = signaturePath;
+
+        if (mSignaturePath != null) {
+
+            Bitmap bitmap = ImageUtil.loadImageFromFile(this, new File(mSignaturePath));
+
+            if (bitmap != null) {
+                mSignatureIv.setImageBitmap(bitmap);
+            } else {
+                mSignatureIv.setImageResource(R.drawable.tap_signature);
+            }
+
+        } else {
+            mSignatureIv.setImageResource(R.drawable.tap_signature);
+        }
+
+    }
+
+    @Override
+    public ArrayList<String> prepareSignature() {
+
+        if (mSignaturePath != null) {
+
+           ArrayList<String> signatures = new ArrayList<>();
+           signatures.add(mSignaturePath);
+
+           return signatures;
+        }
+        return null;
+
+    }
+}

+ 0 - 56
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/PreferencesActivity.java

@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2008 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.raimage;
-
-import android.app.Activity;
-import android.os.Bundle;
-
-/**
- * The main settings activity.
- *
- * @author dswitkin@google.com (Daniel Switkin)
- * @author Sean Owen
- */
-public final class PreferencesActivity extends Activity {
-
-  public static final String KEY_DECODE_1D = "preferences_decode_1D";
-  public static final String KEY_DECODE_QR = "preferences_decode_QR";
-  public static final String KEY_DECODE_DATA_MATRIX = "preferences_decode_Data_Matrix";
-  public static final String KEY_CUSTOM_PRODUCT_SEARCH = "preferences_custom_product_search";
-
-  public static final String KEY_PLAY_BEEP = "preferences_play_beep";
-  public static final String KEY_VIBRATE = "preferences_vibrate";
-  public static final String KEY_COPY_TO_CLIPBOARD = "preferences_copy_to_clipboard";
-  public static final String KEY_FRONT_LIGHT_MODE = "preferences_front_light_mode";
-  public static final String KEY_BULK_MODE = "preferences_bulk_mode";
-  public static final String KEY_REMEMBER_DUPLICATES = "preferences_remember_duplicates";
-  public static final String KEY_SUPPLEMENTAL = "preferences_supplemental";
-  public static final String KEY_AUTO_FOCUS = "preferences_auto_focus";
-  public static final String KEY_INVERT_SCAN = "preferences_invert_scan";  
-  public static final String KEY_SEARCH_COUNTRY = "preferences_search_country";
-
-  public static final String KEY_DISABLE_CONTINUOUS_FOCUS = "preferences_disable_continuous_focus";
-  //public static final String KEY_DISABLE_EXPOSURE = "preferences_disable_exposure";
-
-  @Override
-  protected void onCreate(Bundle icicle) {
-    super.onCreate(icicle);
-    getFragmentManager().beginTransaction().replace(android.R.id.content, new PreferencesFragment()).commit();
-
-  }
-
-}

+ 0 - 71
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/PreferencesFragment.java

@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2013 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.raimage;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import android.content.SharedPreferences;
-import android.os.Bundle;
-import android.preference.CheckBoxPreference;
-import android.preference.PreferenceFragment;
-import android.preference.PreferenceScreen;
-
-public final class PreferencesFragment 
-    extends PreferenceFragment 
-    implements SharedPreferences.OnSharedPreferenceChangeListener {
-  
-  private CheckBoxPreference decode1D;
-  private CheckBoxPreference decodeQR;
-  private CheckBoxPreference decodeDataMatrix;
-  
-  @Override
-  public void onCreate(Bundle icicle) {
-    super.onCreate(icicle);
-    addPreferencesFromResource(R.xml.preferences);
-    
-    PreferenceScreen preferences = getPreferenceScreen();
-    preferences.getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
-    decode1D = (CheckBoxPreference) preferences.findPreference(PreferencesActivity.KEY_DECODE_1D);
-    decodeQR = (CheckBoxPreference) preferences.findPreference(PreferencesActivity.KEY_DECODE_QR);
-    decodeDataMatrix = (CheckBoxPreference) preferences.findPreference(PreferencesActivity.KEY_DECODE_DATA_MATRIX);
-    disableLastCheckedPref();
-  }
-  
-  @Override
-  public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
-    disableLastCheckedPref();
-  }
-
-  private void disableLastCheckedPref() {
-    Collection<CheckBoxPreference> checked = new ArrayList<CheckBoxPreference>(3);
-    if (decode1D.isChecked()) {
-      checked.add(decode1D);
-    }
-    if (decodeQR.isChecked()) {
-      checked.add(decodeQR);
-    }
-    if (decodeDataMatrix.isChecked()) {
-      checked.add(decodeDataMatrix);
-    }
-    boolean disable = checked.size() < 2;
-    CheckBoxPreference[] checkBoxPreferences = {decode1D, decodeQR, decodeDataMatrix};
-    for (CheckBoxPreference pref : checkBoxPreferences) {
-      pref.setEnabled(!(disable && checked.contains(pref)));
-    }
-  }
-}

+ 3 - 2
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/ServerSettingActivity.java

@@ -16,6 +16,8 @@ import android.widget.EditText;
 import android.widget.ImageButton;
 import android.widget.Toast;
 
+import com.usai.redant.rautils.zxing.codescanner.CaptureActivity;
+
 public class ServerSettingActivity extends Activity
 {
 	static final int	REQUEST_SCAN_BARCODE	= 2;
@@ -91,8 +93,7 @@ public class ServerSettingActivity extends Activity
 
 				Intent intent = new Intent();
 
-				intent.setClass(ServerSettingActivity.this,
-						CaptureActivity.class);
+				intent.setClass(ServerSettingActivity.this, CaptureActivity.class);
 				startActivityForResult(intent, REQUEST_SCAN_BARCODE);
 
 			}

+ 0 - 35
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/ViewfinderResultPointCallback.java

@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2009 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.raimage;
-
-import com.google.zxing.ResultPoint;
-import com.google.zxing.ResultPointCallback;
-
-final class ViewfinderResultPointCallback implements ResultPointCallback {
-
-  private final ViewfinderView viewfinderView;
-
-  ViewfinderResultPointCallback(ViewfinderView viewfinderView) {
-    this.viewfinderView = viewfinderView;
-  }
-
-  @Override
-  public void foundPossibleResultPoint(ResultPoint point) {
-    viewfinderView.addPossibleResultPoint(point);
-  }
-
-}

+ 0 - 187
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/ViewfinderView.java

@@ -1,187 +0,0 @@
-/*
- * Copyright (C) 2008 ZXing authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.usai.redant.raimage;
-
-import com.google.zxing.ResultPoint;
-import com.usai.redant.camera.CameraManager;
-import android.content.Context;
-import android.content.res.Resources;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.graphics.Rect;
-import android.util.AttributeSet;
-import android.view.View;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * This view is overlaid on top of the camera preview. It adds the viewfinder rectangle and partial
- * transparency outside it, as well as the laser scanner animation and result points.
- *
- * @author dswitkin@google.com (Daniel Switkin)
- */
-public final class ViewfinderView extends View {
-
-  private static final int[] SCANNER_ALPHA = {0, 64, 128, 192, 255, 192, 128, 64};
-  private static final long ANIMATION_DELAY = 80L;
-  private static final int CURRENT_POINT_OPACITY = 0xA0;
-  private static final int MAX_RESULT_POINTS = 20;
-  private static final int POINT_SIZE = 6;
-
-  private CameraManager cameraManager;
-  private final Paint paint;
-  private Bitmap resultBitmap;
-  private final int maskColor;
-  private final int resultColor;
-  private final int laserColor;
-  private final int resultPointColor;
-  private int scannerAlpha;
-  private List<ResultPoint> possibleResultPoints;
-  private List<ResultPoint> lastPossibleResultPoints;
-
-  // This constructor is used when the class is built from an XML resource.
-  public ViewfinderView(Context context, AttributeSet attrs) {
-    super(context, attrs);
-
-    // 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);
-    scannerAlpha = 0;
-    possibleResultPoints = new ArrayList<ResultPoint>(5);
-    lastPossibleResultPoints = null;
-  }
-
-  public void setCameraManager(CameraManager cameraManager) {
-    this.cameraManager = cameraManager;
-  }
-
-  @Override
-  public void onDraw(Canvas canvas) {
-    if (cameraManager == null) {
-      return; // not ready yet, early draw before done configuring
-    }
-    Rect frame = cameraManager.getFramingRect();
-    Rect previewFrame = cameraManager.getFramingRectInPreview();    
-    if (frame == null || previewFrame == null) {
-      return;
-    }
-    int width = canvas.getWidth();
-    int height = canvas.getHeight();
-
-    // Draw the exterior (i.e. outside the framing rect) darkened
-    paint.setColor(resultBitmap != null ? resultColor : maskColor);
-    canvas.drawRect(0, 0, width, frame.top, paint);
-    canvas.drawRect(0, frame.top, frame.left, frame.bottom + 1, paint);
-    canvas.drawRect(frame.right + 1, frame.top, width, frame.bottom + 1, paint);
-    canvas.drawRect(0, frame.bottom + 1, width, height, paint);
-
-    if (resultBitmap != null) {
-      // Draw the opaque result bitmap over the scanning rectangle
-      paint.setAlpha(CURRENT_POINT_OPACITY);
-      canvas.drawBitmap(resultBitmap, null, frame, paint);
-    } else {
-
-      // Draw a red "laser scanner" line through the middle to show decoding is active
-      paint.setColor(laserColor);
-      paint.setAlpha(SCANNER_ALPHA[scannerAlpha]);
-      scannerAlpha = (scannerAlpha + 1) % SCANNER_ALPHA.length;
-      int middle = frame.height() / 2 + frame.top;
-      canvas.drawRect(frame.left + 2, middle - 1, frame.right - 1, middle + 2, paint);
-      
-      float scaleX = frame.width() / (float) previewFrame.width();
-      float scaleY = frame.height() / (float) previewFrame.height();
-
-      List<ResultPoint> currentPossible = possibleResultPoints;
-      List<ResultPoint> currentLast = lastPossibleResultPoints;
-      int frameLeft = frame.left;
-      int frameTop = frame.top;
-      if (currentPossible.isEmpty()) {
-        lastPossibleResultPoints = null;
-      } else {
-        possibleResultPoints = new ArrayList<ResultPoint>(5);
-        lastPossibleResultPoints = currentPossible;
-        paint.setAlpha(CURRENT_POINT_OPACITY);
-        paint.setColor(resultPointColor);
-        synchronized (currentPossible) {
-          for (ResultPoint point : currentPossible) {
-            canvas.drawCircle(frameLeft + (int) (point.getX() * scaleX),
-                              frameTop + (int) (point.getY() * scaleY),
-                              POINT_SIZE, paint);
-          }
-        }
-      }
-      if (currentLast != null) {
-        paint.setAlpha(CURRENT_POINT_OPACITY / 2);
-        paint.setColor(resultPointColor);
-        synchronized (currentLast) {
-          float radius = POINT_SIZE / 2.0f;
-          for (ResultPoint point : currentLast) {
-            canvas.drawCircle(frameLeft + (int) (point.getX() * scaleX),
-                              frameTop + (int) (point.getY() * scaleY),
-                              radius, paint);
-          }
-        }
-      }
-
-      // Request another update at the animation interval, but only repaint the laser line,
-      // not the entire viewfinder mask.
-      postInvalidateDelayed(ANIMATION_DELAY,
-                            frame.left - POINT_SIZE,
-                            frame.top - POINT_SIZE,
-                            frame.right + POINT_SIZE,
-                            frame.bottom + POINT_SIZE);
-    }
-  }
-
-  public void drawViewfinder() {
-    Bitmap resultBitmap = this.resultBitmap;
-    this.resultBitmap = null;
-    if (resultBitmap != null) {
-      resultBitmap.recycle();
-    }
-    invalidate();
-  }
-
-  /**
-   * Draw a bitmap with the result points highlighted instead of the live scanning display.
-   *
-   * @param barcode An image of the decoded barcode.
-   */
-  public void drawResultBitmap(Bitmap barcode) {
-    resultBitmap = barcode;
-    invalidate();
-  }
-
-  public void addPossibleResultPoint(ResultPoint point) {
-    List<ResultPoint> points = possibleResultPoints;
-    synchronized (points) {
-      points.add(point);
-      int size = points.size();
-      if (size > MAX_RESULT_POINTS) {
-        // trim it
-        points.subList(0, size - MAX_RESULT_POINTS / 2).clear();
-      }
-    }
-  }
-
-}

+ 1 - 2
ApexDrivers/raimage/src/main/java/com/usai/util/Network.java

@@ -618,8 +618,7 @@ public class Network
 		// .getSharedPreferences(name + "_Apex_auth", Context.MODE_PRIVATE)
 		// .getInt("AuthInfoVer", 0);
 		// parms.putString("auth_ver", ver + "");
-		String jstr = getJson(RedAntApplication.active_address
-				+ Network.URL_LOGIN, parms);
+		String jstr = getJson("http://192.168.0.130:8080/MyWeb/Test", parms);
 		/*
 		 * error occur while get authorization info from server. include can not
 		 * reach server , wrong parms ,server get wrong , etc.

BIN
ApexDrivers/raimage/src/main/res/drawable-hdpi/tap_signature.png


BIN
ApexDrivers/raimage/src/main/res/drawable-ldpi/tap_signature.png


BIN
ApexDrivers/raimage/src/main/res/drawable-mdpi/tap_signature.png


BIN
ApexDrivers/raimage/src/main/res/drawable-xhdpi/tap_signature.png


BIN
ApexDrivers/raimage/src/main/res/drawable-xxhdpi/tap_signature.png


+ 156 - 0
ApexDrivers/raimage/src/main/res/layout-land/activity_pod.xml

@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@color/white_color"
+    tools:context="com.usai.redant.raimage.POD.PodActivity">
+
+    <ImageView
+        android:id="@+id/photo_iv"
+        android:layout_width="0dp"
+        android:layout_height="0dp"
+        android:layout_alignParentStart="true"
+        android:layout_alignParentLeft="true"
+        android:layout_alignParentTop="true"
+        android:layout_marginLeft="32dp"
+        android:layout_marginTop="32dp"
+        android:layout_marginBottom="32dp"
+        android:background="@drawable/black_border"
+        android:padding="0.1dp"
+        android:scaleType="centerCrop"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintDimensionRatio="h,1:1"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        app:srcCompat="@drawable/no_pic"/>
+
+
+
+    <TextView
+        android:id="@+id/photo_count_lb"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignBottom="@+id/photo_iv"
+        android:layout_centerHorizontal="true"
+        android:gravity="center_horizontal|bottom"
+        android:text="No Photos"
+        android:textColor="@color/blue"
+        android:textSize="12sp"
+        android:layout_marginRight="8dp"
+        app:layout_constraintRight_toRightOf="@+id/photo_iv"
+        android:layout_marginLeft="8dp"
+        app:layout_constraintLeft_toLeftOf="@+id/photo_iv"
+        app:layout_constraintBottom_toBottomOf="@+id/photo_iv"
+        android:layout_marginBottom="8dp" />
+
+    <TextView
+        android:id="@+id/barcode_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="Model:"
+        android:textAllCaps="false"
+        android:textSize="17sp"
+        tools:layout_constraintRight_creator="1"
+        app:layout_constraintTop_toTopOf="@+id/photo_iv"
+        android:layout_marginTop="0dp"
+        android:layout_marginLeft="8dp"
+        app:layout_constraintLeft_toLeftOf="@+id/camera_btn" />
+
+    <EditText
+        android:id="@+id/barcode_et"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="0dp"
+        android:layout_marginEnd="21dp"
+        android:layout_marginLeft="8dp"
+        android:layout_marginRight="8dp"
+        android:layout_marginTop="0dp"
+        android:background="@null"
+        android:gravity="center_vertical"
+        android:inputType="none"
+        android:textSize="17sp"
+        android:editable="false"
+        app:layout_constraintBottom_toBottomOf="@+id/barcode_tv"
+        app:layout_constraintHorizontal_bias="0.0"
+        app:layout_constraintLeft_toRightOf="@+id/barcode_tv"
+        app:layout_constraintRight_toLeftOf="@+id/btn_type"
+        app:layout_constraintTop_toTopOf="@+id/barcode_tv"
+        tools:layout_constraintBaseline_creator="1"
+        tools:layout_constraintRight_creator="1" />
+
+
+    <ImageView
+        android:id="@+id/signature_iv"
+        android:layout_width="0dp"
+        android:layout_height="0dp"
+        android:layout_marginBottom="24dp"
+        android:layout_marginLeft="0dp"
+        android:layout_marginRight="0dp"
+        android:layout_marginTop="32dp"
+        app:layout_constraintBottom_toTopOf="@+id/scan_btn"
+        app:layout_constraintHorizontal_bias="0.0"
+        app:layout_constraintLeft_toLeftOf="@+id/camera_btn"
+        app:layout_constraintRight_toRightOf="@+id/upload_btn"
+        app:layout_constraintTop_toBottomOf="@+id/barcode_et"
+        android:scaleType="fitCenter"
+        />
+
+
+
+
+    <ImageButton
+        android:id="@+id/camera_btn"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="0dp"
+        android:layout_marginLeft="44dp"
+        android:layout_weight="1"
+        android:background="@color/clear_color"
+        app:layout_constraintBottom_toBottomOf="@+id/photo_iv"
+        app:layout_constraintLeft_toRightOf="@+id/photo_iv"
+        app:srcCompat="@drawable/ic_action_camera" />
+
+    <ImageButton
+        android:id="@+id/upload_btn"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="0dp"
+        android:layout_marginRight="48dp"
+        android:layout_weight="1"
+        android:background="@color/clear_color"
+        app:layout_constraintBottom_toBottomOf="@+id/photo_iv"
+        app:layout_constraintRight_toRightOf="parent"
+        app:srcCompat="@drawable/ic_action_upload" />
+
+    <ImageButton
+        android:id="@+id/scan_btn"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="1dp"
+        android:layout_marginLeft="8dp"
+        android:layout_marginRight="8dp"
+        android:layout_weight="1"
+        android:background="@color/clear_color"
+        app:layout_constraintBottom_toBottomOf="@+id/photo_iv"
+        app:layout_constraintLeft_toRightOf="@+id/camera_btn"
+        app:layout_constraintRight_toLeftOf="@+id/upload_btn"
+        app:srcCompat="@drawable/ic_action_scan" />
+
+    <Button
+        android:id="@+id/btn_type"
+        style="@style/ResultButton"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="0dp"
+        android:layout_marginRight="8dp"
+        android:layout_marginTop="8dp"
+        android:text="Type"
+        android:textColor="@color/blue"
+        app:layout_constraintBottom_toBottomOf="@+id/barcode_tv"
+        app:layout_constraintRight_toRightOf="@+id/upload_btn"
+        app:layout_constraintTop_toTopOf="@+id/barcode_tv" />
+
+
+</android.support.constraint.ConstraintLayout>

+ 152 - 0
ApexDrivers/raimage/src/main/res/layout/activity_pod.xml

@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+                                             xmlns:app="http://schemas.android.com/apk/res-auto"
+                                             xmlns:tools="http://schemas.android.com/tools"
+                                             android:layout_width="match_parent"
+                                             android:layout_height="match_parent"
+                                             android:background="@color/white_color"
+                                             tools:context="com.usai.redant.raimage.POD.PodActivity">
+
+    <ImageView
+        android:id="@+id/photo_iv"
+        android:layout_width="0dp"
+        android:layout_height="0dp"
+        android:layout_marginLeft="32dp"
+        android:layout_marginTop="20dp"
+        android:layout_marginRight="32dp"
+        android:layout_marginBottom="8dp"
+        android:background="@drawable/black_border"
+        android:padding="0.1dp"
+        android:scaleType="centerCrop"
+        app:layout_constraintBottom_toTopOf="@+id/barcode_et"
+        app:layout_constraintDimensionRatio="w,1:1"
+        app:layout_constraintHorizontal_bias="0.511"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        app:srcCompat="@drawable/no_pic"
+        tools:layout_constraintLeft_creator="1"
+        tools:layout_constraintRight_creator="1"/>
+
+    <TextView
+        android:id="@+id/photo_count_lb"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="2dp"
+        android:layout_marginLeft="8dp"
+        android:layout_marginRight="8dp"
+        android:layout_marginStart="6dp"
+        android:ems="10"
+        android:gravity="center_horizontal|bottom"
+        android:inputType="textPersonName"
+        android:text="No Photos"
+        android:textColor="@color/blue"
+        android:textSize="12sp"
+        app:layout_constraintBottom_toBottomOf="@+id/photo_iv"
+        app:layout_constraintLeft_toLeftOf="@+id/photo_iv"
+        app:layout_constraintRight_toRightOf="@+id/photo_iv"
+        tools:layout_constraintBottom_creator="1"
+        tools:layout_constraintLeft_creator="1" />
+
+    <TextView
+        android:id="@+id/barcode_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="24dp"
+        android:layout_marginLeft="8dp"
+        android:text="Model:"
+        android:textAllCaps="false"
+        android:textSize="17sp"
+        app:layout_constraintBottom_toTopOf="@+id/signature_iv"
+        app:layout_constraintLeft_toLeftOf="@+id/signature_iv" />
+
+    <EditText
+        android:id="@+id/barcode_et"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="0dp"
+        android:layout_marginLeft="8dp"
+        android:layout_marginRight="8dp"
+        android:layout_marginStart="1dp"
+        android:layout_marginTop="0dp"
+        android:background="@null"
+        android:gravity="center_vertical"
+        android:inputType="none"
+        android:editable="false"
+        android:textSize="17sp"
+        app:layout_constraintBottom_toBottomOf="@+id/barcode_tv"
+        app:layout_constraintHorizontal_bias="0.0"
+        app:layout_constraintLeft_toRightOf="@+id/barcode_tv"
+        app:layout_constraintRight_toLeftOf="@+id/btn_type"
+        app:layout_constraintTop_toTopOf="@+id/barcode_tv"
+        app:layout_constraintVertical_bias="0.482" />
+
+
+    <ImageView
+        android:id="@+id/signature_iv"
+        android:layout_width="0dp"
+        android:layout_height="120dp"
+        android:layout_marginBottom="16dp"
+        android:layout_marginLeft="32dp"
+        android:layout_marginRight="32dp"
+        app:layout_constraintBottom_toTopOf="@+id/camera_btn"
+        app:layout_constraintHorizontal_bias="0.0"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toRightOf="parent"
+        android:scaleType="fitCenter"
+        />
+
+    <ImageButton
+        android:id="@+id/upload_btn"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="32dp"
+        android:layout_marginRight="48dp"
+        android:layout_weight="1"
+        android:background="@color/clear_color"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintRight_toRightOf="parent"
+        app:srcCompat="@drawable/ic_action_upload" />
+
+    <ImageButton
+        android:id="@+id/scan_btn"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="32dp"
+        android:layout_marginLeft="48dp"
+        android:layout_weight="1"
+        android:background="@color/clear_color"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:srcCompat="@drawable/ic_action_scan" />
+
+    <ImageButton
+        android:id="@+id/camera_btn"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="32dp"
+        android:layout_marginLeft="8dp"
+        android:layout_marginRight="8dp"
+        android:layout_weight="1"
+        android:background="@color/clear_color"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintLeft_toRightOf="@+id/scan_btn"
+        app:layout_constraintRight_toLeftOf="@+id/upload_btn"
+        app:srcCompat="@drawable/ic_action_camera" />
+
+    <Button
+        android:id="@+id/btn_type"
+        style="@style/ResultButton"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="0dp"
+        android:layout_marginRight="0dp"
+        android:layout_marginTop="8dp"
+        android:text="Type"
+        android:textColor="@color/blue"
+        app:layout_constraintBottom_toBottomOf="@+id/barcode_tv"
+        app:layout_constraintRight_toRightOf="@+id/signature_iv"
+        app:layout_constraintTop_toTopOf="@+id/barcode_tv" />
+
+
+</android.support.constraint.ConstraintLayout>

BIN
ApexDrivers/raimage/src/main/res/raw/beep.ogg


+ 0 - 47
ApexDrivers/raimage/src/main/res/values/arrays.xml

@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-  <string-array name="country_codes">
-    <item>-</item>
-    <item>AR</item>
-    <item>AU</item>
-    <item>BR</item>
-    <item>BG</item>
-    <item>CA</item>
-    <item>CH</item>
-    <item>CN</item>
-    <item>CZ</item>
-    <item>DE</item>
-    <item>DK</item>
-    <item>ES</item>
-    <item>FI</item>
-    <item>FR</item>
-    <item>GB</item>
-    <item>GR</item>
-    <item>HU</item>
-    <item>ID</item>
-    <item>IT</item>
-    <item>JP</item>
-    <item>KR</item>
-    <item>NL</item>
-    <item>PL</item>
-    <item>PT</item>
-    <item>RO</item>    
-    <item>RU</item>
-    <item>SE</item>
-    <item>SK</item>
-    <item>SI</item>
-    <item>TR</item>
-    <item>TW</item>
-    <item>US</item>
-  </string-array>
-  <string-array name="preferences_front_light_values">
-    <item>ON</item>
-    <item>AUTO</item>
-    <item>OFF</item>
-  </string-array>
-  <string-array name="preferences_front_light_options">
-    <item>@string/preferences_front_light_on</item>
-    <item>@string/preferences_front_light_auto</item>
-    <item>@string/preferences_front_light_off</item>
-  </string-array>
-</resources>

+ 3 - 15
ApexDrivers/raimage/src/main/res/values/colors.xml

@@ -17,15 +17,12 @@
 
     <color name="transparent_background">#50000000</color>
 
-    <color name="message_success">#ee00ff00</color>
-    <color name="message_fail">#eeff0000</color>
+
     <!--
   <color name="contents_text">#ff000000</color>
   <color name="encode_view">#ffffffff</color>
 -->
-    <color name="possible_result_points">
-        #c0ffbd21
-    </color> <!-- Android standard ICS color -->
+
     <!-- <color name="result_minor_text">#ffc0c0c0</color> -->
     <color name="result_points">
         #c099cc00
@@ -34,16 +31,7 @@
     <color name="result_view">
         #b0000000
     </color>
-    <color name="status_text">
-        #ffffffff
-    </color>
-    <color name="transparent">#00000000</color>
-    <color name="viewfinder_laser">
-        #ffcc0000
-    </color> <!-- Android standard ICS color -->
-    <color name="viewfinder_mask">
-        #60000000
-    </color>
+
 
     <color name="black_overlay">#66000000</color>
 

+ 0 - 25
ApexDrivers/raimage/src/main/res/values/ids.xml

@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (C) 2008 ZXing authors
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-<resources>
-  <item type="id" name="decode"/>
-  <item type="id" name="decode_failed"/>
-  <item type="id" name="decode_succeeded"/>
-  <item type="id" name="launch_product_query"/>
-  <item type="id" name="quit"/>
-  <item type="id" name="restart_preview"/>
-  <item type="id" name="return_scan_result"/>
-</resources>

+ 0 - 24
ApexDrivers/raimage/src/main/res/values/themes.xml

@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (C) 2012 ZXing authors
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-<resources>
-  <style name="CaptureTheme" parent="android:Theme.Holo">
-    <item name="android:windowFullscreen">true</item>
-    <item name="android:windowContentOverlay">@null</item>
-    <item name="android:windowActionBarOverlay">true</item>
-    <item name="android:windowActionModeOverlay">true</item>
-  </style>
-</resources>

+ 0 - 110
ApexDrivers/raimage/src/main/res/xml/preferences.xml

@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (C) 2008 ZXing authors
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
-  <PreferenceCategory android:title="@string/preferences_scanning_title">
-    <CheckBoxPreference
-        android:key="preferences_decode_1D"
-        android:defaultValue="true"
-        android:title="@string/preferences_decode_1D_title"/>
-    <CheckBoxPreference
-        android:key="preferences_decode_QR"
-        android:defaultValue="true"
-        android:title="@string/preferences_decode_QR_title"/>
-    <CheckBoxPreference
-        android:key="preferences_decode_Data_Matrix"
-        android:defaultValue="true"
-        android:title="@string/preferences_decode_Data_Matrix_title"/>
-  </PreferenceCategory>
-  <PreferenceCategory android:title="@string/preferences_actions_title">
-    <CheckBoxPreference
-        android:key="preferences_play_beep"
-        android:defaultValue="true"
-        android:title="@string/preferences_play_beep_title"/>
-    <CheckBoxPreference
-        android:key="preferences_vibrate"
-        android:defaultValue="false"
-        android:title="@string/preferences_vibrate_title"/>
-    <CheckBoxPreference
-        android:key="preferences_copy_to_clipboard"
-        android:defaultValue="true"
-        android:title="@string/preferences_copy_to_clipboard_title"/>
-    <CheckBoxPreference
-        android:key="preferences_remember_duplicates"
-        android:defaultValue="false"
-        android:title="@string/preferences_remember_duplicates_title"
-        android:summary="@string/preferences_remember_duplicates_summary"/>
-    <CheckBoxPreference
-        android:key="preferences_supplemental"
-        android:defaultValue="true"
-        android:title="@string/preferences_supplemental_title"
-        android:summary="@string/preferences_supplemental_summary"/>
-  </PreferenceCategory>
-  <PreferenceCategory android:title="@string/preferences_result_title">
-    <EditTextPreference
-        android:key="preferences_custom_product_search"
-        android:title="@string/preferences_custom_product_search_title"
-        android:summary="@string/preferences_custom_product_search_summary"/>
-  </PreferenceCategory>
-  <PreferenceCategory android:title="@string/preferences_general_title">
-    <ListPreference
-        android:entries="@array/preferences_front_light_options"
-        android:entryValues="@array/preferences_front_light_values"
-        android:key="preferences_front_light_mode"
-        android:defaultValue="OFF"
-        android:title="@string/preferences_front_light_title"
-        android:summary="@string/preferences_front_light_summary"/>
-    <CheckBoxPreference
-        android:key="preferences_auto_focus"
-        android:defaultValue="true"
-        android:title="@string/preferences_auto_focus_title"/>
-    <CheckBoxPreference
-        android:key="preferences_invert_scan"
-        android:defaultValue="false"
-        android:title="@string/preferences_invert_scan_title"
-        android:summary="@string/preferences_invert_scan_summary"/>
-    <CheckBoxPreference
-        android:key="preferences_bulk_mode"
-        android:defaultValue="false"
-        android:title="@string/preferences_bulk_mode_title"
-        android:summary="@string/preferences_bulk_mode_summary"/>
-    <ListPreference
-        android:key="preferences_search_country"
-        android:defaultValue="-"
-        android:entries="@array/country_codes"
-        android:entryValues="@array/country_codes"
-        android:title="@string/preferences_search_country"/>
-  </PreferenceCategory>
-  <PreferenceCategory android:title="@string/preferences_device_bug_workarounds_title">
-    <CheckBoxPreference
-        android:key="preferences_disable_continuous_focus"
-        android:defaultValue="true"
-        android:title="@string/preferences_disable_continuous_focus_title"
-        android:summary="@string/preferences_disable_continuous_focus_summary"/>
-    <!--
-    <CheckBoxPreference
-        android:key="preferences_disable_exposure"
-        android:defaultValue="false"
-        android:title="@string/preferences_disable_exposure_title"/>
-     -->
-  </PreferenceCategory>
-  <PreferenceCategory android:title="@string/preferences_try_bsplus">
-    <Preference android:title="@string/preferences_try_bsplus"
-                android:summary="@string/preferences_try_bsplus_summary">
-      <intent android:action="android.intent.action.VIEW" android:data="market://details?id=com.srowen.bs.android" />
-    </Preference>
-  </PreferenceCategory>
-</PreferenceScreen>

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác