aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Android_Studio
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Android_Studio')
-rw-r--r--Software/Android_Studio/ColorCapture/app/build.gradle5
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragmentVM.java6
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/loading/LoadingActivityVM.java1
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/web/ITCCService.java4
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/web/TCCService.java52
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/web/messages/DetectionResponse.java11
6 files changed, 63 insertions, 16 deletions
diff --git a/Software/Android_Studio/ColorCapture/app/build.gradle b/Software/Android_Studio/ColorCapture/app/build.gradle
index 1fed98dc3..500c9cfce 100644
--- a/Software/Android_Studio/ColorCapture/app/build.gradle
+++ b/Software/Android_Studio/ColorCapture/app/build.gradle
@@ -6,8 +6,8 @@ android {
applicationId "com.twine.colorcapture"
minSdkVersion 22
targetSdkVersion 27
- versionCode 9
- versionName "1.9"
+ versionCode 10
+ versionName "2.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
@@ -160,6 +160,7 @@ dependencies {
implementation 'com.github.florent37:shapeofview:1.3.2'
compile 'com.google.android.gms:play-services-gcm:16.1.0'
compile 'com.google.android.gms:play-services-auth:16.0.1'
+ compile 'com.microsoft.azure.android:azure-storage-android:2.0.0@aar'
}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragmentVM.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragmentVM.java
index 6e5773e1b..5ce70e284 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragmentVM.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragmentVM.java
@@ -151,15 +151,13 @@ public class CaptureFragmentVM extends ViewModelBase<ICaptureFragment> implement
view.onFrameResult(frameBitmap, sampleBitmap, barcode);
view.stopCamera();
- ThreadingUtils.sleep(1000);
-
isDetecting.set(true);
AtomicBoolean abort = new AtomicBoolean(false);
notificationProvider.showDialog(new ProcessingDialog(), (vm) ->
{
- //TODO: Cancel and return to capture
+ //TODO: Cancel and return to capture.
abort.set(true);
});
@@ -168,7 +166,7 @@ public class CaptureFragmentVM extends ViewModelBase<ICaptureFragment> implement
try
{
- response = tccService.detect(sampleBitmap, barcode);
+ response = tccService.detect(sampleBitmap, frameBitmap, barcode);
success = true;
}
catch (Exception ex)
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/loading/LoadingActivityVM.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/loading/LoadingActivityVM.java
index f2bbd6413..02e2d8d15 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/loading/LoadingActivityVM.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/loading/LoadingActivityVM.java
@@ -60,7 +60,6 @@ public class LoadingActivityVM extends ViewModelBase<ILoadingActivity>
new Task.TaskBuilder().setAction(() ->
{
tccService.getDefinition();
- ThreadingUtils.sleep(1000);
}).setContinueWith(() ->
{
initialized = true;
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/web/ITCCService.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/web/ITCCService.java
index 9cca30b73..a386e51ba 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/web/ITCCService.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/web/ITCCService.java
@@ -16,9 +16,9 @@ public interface ITCCService
{
DefinitionResponse getDefinition() throws Exception;
- DetectionResponse detect(Bitmap bitmap, String barcode) throws Exception;
+ DetectionResponse detect(Bitmap sampleBitmap, Bitmap frameBitmap, String barcode) throws Exception;
MachineRegistrationResponse register(String serialNumber) throws Exception;
- ResultByEmailResponse sendResultByEmail(ResultByEmailRequest request) throws Exception;
+ ResultByEmailResponse sendResultByEmail(ResultByEmailRequest request) throws Exception;
}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/web/TCCService.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/web/TCCService.java
index 59fa6f3b5..ea1c8e0a9 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/web/TCCService.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/web/TCCService.java
@@ -6,7 +6,11 @@ import android.os.Build;
import android.provider.Settings;
import android.util.Base64;
+import com.microsoft.azure.storage.blob.CloudBlobClient;
+import com.microsoft.azure.storage.blob.CloudBlockBlob;
+import com.twine.colorcapture.App;
import com.twine.colorcapture.BuildConfig;
+import com.twine.colorcapture.core.Task;
import com.twine.colorcapture.logging.LogManager;
import com.twine.colorcapture.utils.BitmapUtils;
import com.twine.colorcapture.web.messages.DefinitionRequest;
@@ -21,6 +25,7 @@ import com.twine.colorcapture.web.messages.ResultByEmailRequest;
import com.twine.colorcapture.web.messages.ResultByEmailResponse;
import java.io.IOException;
+import java.net.URI;
import java.util.List;
import java.util.UUID;
@@ -72,7 +77,7 @@ public class TCCService implements ITCCService
}
@Override
- public DetectionResponse detect(Bitmap bitmap, String barcode) throws Exception
+ public DetectionResponse detect(Bitmap sampleBitmap, Bitmap frameBitmap, String barcode) throws Exception
{
LogManager.log("Sending detection request...");
@@ -80,7 +85,7 @@ public class TCCService implements ITCCService
DetectionRequest request = new DetectionRequest();
- request.setBitmapString(BitmapUtils.getBitmapBase64String(bitmap));
+ request.setBitmapString(BitmapUtils.getBitmapBase64String(sampleBitmap));
request.setBarcode(barcode);
LogManager.log("Detection Request:", request);
@@ -89,7 +94,28 @@ public class TCCService implements ITCCService
if (response.isSuccessful())
{
- LogManager.log("Detection Response:", response.body());
+ DetectionResponse r = response.body();
+
+ new Task.TaskBuilder().setAction(() ->
+ {
+
+ //Upload source bitmap.
+ try
+ {
+ LogManager.log("Uploading source image to storage blob at " + r.getSourceImageBlobAddress());
+ CloudBlockBlob blob = new CloudBlockBlob(new URI(r.getSourceImageBlobAddress()));
+ byte[] frameData = BitmapUtils.getBitmapBytes(frameBitmap);
+ blob.uploadFromByteArray(frameData, 0, frameData.length);
+ LogManager.log("Source image upload successfully");
+ }
+ catch (Exception ex)
+ {
+ LogManager.log(ex, "Error uploading source image to storage.");
+ }
+
+ }).build().start();
+
+ LogManager.log("Detection Response:", r);
return response.body();
}
else
@@ -167,12 +193,24 @@ public class TCCService implements ITCCService
LoginRequest request = new LoginRequest();
request.setAppId(BuildConfig.WEB_SERVICE_APP_ID);
- String deviceId;
+ String deviceId = null;
- LogManager.log("Getting device id from shared preferences...");
+ try
+ {
+ LogManager.log("Getting device id from phone factory...");
+ deviceId = Settings.Secure.getString(App.getContext().getContentResolver(), Settings.Secure.ANDROID_ID);
+ }
+ catch (Exception ex)
+ {
+ LogManager.log(ex,"Error getting unique device id.");
+ }
- SharedPreferences prefs = getContext().getSharedPreferences(DEVICE_ID_PREF_NAME, MODE_PRIVATE);
- deviceId = prefs.getString("DeviceId", null);
+ if (deviceId == null)
+ {
+ LogManager.log("Getting device id from shared preferences...");
+ SharedPreferences prefs = getContext().getSharedPreferences(DEVICE_ID_PREF_NAME, MODE_PRIVATE);
+ deviceId = prefs.getString("DeviceId", null);
+ }
if (deviceId == null)
{
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/web/messages/DetectionResponse.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/web/messages/DetectionResponse.java
index 2e33a04b5..674d49b50 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/web/messages/DetectionResponse.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/web/messages/DetectionResponse.java
@@ -4,6 +4,7 @@ public class DetectionResponse
{
private DetectionColor rawColor;
private DetectionColor processedColor;
+ private String sourceImageBlobAddress;
public DetectionColor getRawColor()
{
@@ -24,4 +25,14 @@ public class DetectionResponse
{
this.processedColor = processedColor;
}
+
+ public String getSourceImageBlobAddress()
+ {
+ return sourceImageBlobAddress;
+ }
+
+ public void setSourceImageBlobAddress(String sourceImageBlobAddress)
+ {
+ this.sourceImageBlobAddress = sourceImageBlobAddress;
+ }
}