aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-04-14 16:16:29 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-04-14 16:16:29 +0300
commit5ed60ca1b49fd67ccca9e80be02924050c2ae87a (patch)
tree1bd0d6f22bec3702d7d6e86f67837c6c0f07f817
parent19ed724ce02b7e35d58228dc06fa6a51fb3dad84 (diff)
downloadTango-5ed60ca1b49fd67ccca9e80be02924050c2ae87a.tar.gz
Tango-5ed60ca1b49fd67ccca9e80be02924050c2ae87a.zip
Working on TCC...
-rw-r--r--Software/Android_Studio/ColorCapture/app/build.gradle2
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/controls/CircleActionButton.java1
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dagger/ApplicationComponent.java13
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dagger/ViewModelsModule.java35
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/error/ErrorDialog.java (renamed from Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/registering/RegisteringDialog.java)8
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/error/ErrorDialogVM.java26
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/progress/ProgressDialog.java21
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/progress/ProgressDialogVM.java26
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/registering/RegisteringDialogVM.java9
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/success/SuccessDialog.java23
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/success/SuccessDialogVM.java26
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/messages/ColorDetectedMessage.java18
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/messages/MachineRegisteredMessage.java18
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/mvvm/DialogBase.java23
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/NavigationFragment.java2
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/notification/AndroidNotificationProvider.java87
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/notification/INotificationProvider.java27
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragment.java3
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragmentVM.java2
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/register/RegisterFragment.java2
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/register/RegisterFragmentVM.java35
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/result/ResultFragmentVM.java11
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/sendtomachine/ISendToMachineFragment.java7
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/sendtomachine/SendToMachineFragment.java28
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/sendtomachine/SendToMachineFragmentVM.java24
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/drawable-hdpi/success.pngbin0 -> 6471 bytes
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/drawable-mdpi/success.pngbin0 -> 3836 bytes
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xhdpi/success.pngbin0 -> 9419 bytes
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxhdpi/success.pngbin0 -> 15971 bytes
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxxhdpi/success.pngbin0 -> 23794 bytes
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/drawable/error.pngbin0 -> 6291 bytes
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/layout/dialog_error.xml63
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/layout/dialog_progress.xml (renamed from Software/Android_Studio/ColorCapture/app/src/main/res/layout/dialog_registering.xml)8
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/layout/dialog_success.xml63
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_result.xml15
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_send_to_machine.xml40
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/values/styles.xml2
-rw-r--r--Software/DB/TCC/TCC.mdfbin8388608 -> 8388608 bytes
-rw-r--r--Software/DB/TCC/TCC_log.ldfbin8388608 -> 8388608 bytes
-rw-r--r--Software/Graphics/Mobile/zeplin/drawable-hdpi/success.pngbin0 -> 6471 bytes
-rw-r--r--Software/Graphics/Mobile/zeplin/drawable-mdpi/success.pngbin0 -> 3836 bytes
-rw-r--r--Software/Graphics/Mobile/zeplin/drawable-xhdpi/success.pngbin0 -> 9419 bytes
-rw-r--r--Software/Graphics/Mobile/zeplin/drawable-xxhdpi/success.pngbin0 -> 15971 bytes
-rw-r--r--Software/Graphics/Mobile/zeplin/drawable-xxxhdpi/success.pngbin0 -> 23794 bytes
-rw-r--r--Software/Graphics/Mobile/zeplin/drawable/error.pngbin0 -> 6291 bytes
45 files changed, 622 insertions, 46 deletions
diff --git a/Software/Android_Studio/ColorCapture/app/build.gradle b/Software/Android_Studio/ColorCapture/app/build.gradle
index 7cfa48485..aac081d1c 100644
--- a/Software/Android_Studio/ColorCapture/app/build.gradle
+++ b/Software/Android_Studio/ColorCapture/app/build.gradle
@@ -23,7 +23,7 @@ android {
buildTypes {
debug {
- buildConfigField "String", "WEB_SERVICE_ADDRESS", "\"http://10.100.102.43:45455/api/\""
+ buildConfigField "String", "WEB_SERVICE_ADDRESS", "\"http://192.168.1.86:45455/api/\""
buildConfigField "String", "WEB_SERVICE_APP_ID", "\"Tdf793i4ughsiduf8749509237885ehgfdlkghlT\""
}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/controls/CircleActionButton.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/controls/CircleActionButton.java
index 424671341..242702fe9 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/controls/CircleActionButton.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/controls/CircleActionButton.java
@@ -68,6 +68,7 @@ public class CircleActionButton extends FrameLayout implements View.OnTouchListe
else if (motionEvent.getAction() == MotionEvent.ACTION_UP)
{
animateUp();
+ performClick();
}
return true;
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dagger/ApplicationComponent.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dagger/ApplicationComponent.java
index a6216608f..498e3776d 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dagger/ApplicationComponent.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dagger/ApplicationComponent.java
@@ -1,7 +1,9 @@
package com.twine.colorcapture.dagger;
+import com.twine.colorcapture.dialogs.error.ErrorDialog;
import com.twine.colorcapture.dialogs.processing.ProcessingDialog;
-import com.twine.colorcapture.dialogs.registering.RegisteringDialog;
+import com.twine.colorcapture.dialogs.progress.ProgressDialog;
+import com.twine.colorcapture.dialogs.success.SuccessDialog;
import com.twine.colorcapture.dialogs.welcome.WelcomeDialog;
import com.twine.colorcapture.views.capture.CaptureFragment;
import com.twine.colorcapture.views.mycolors.MyColorsFragment;
@@ -9,6 +11,7 @@ import com.twine.colorcapture.views.loading.LoadingActivity;
import com.twine.colorcapture.views.main.MainActivity;
import com.twine.colorcapture.views.register.RegisterFragment;
import com.twine.colorcapture.views.result.ResultFragment;
+import com.twine.colorcapture.views.sendtomachine.SendToMachineFragment;
import javax.inject.Singleton;
@@ -38,5 +41,11 @@ public interface ApplicationComponent
void inject(RegisterFragment registerFragment);
- void inject(RegisteringDialog registeringDialog);
+ void inject(ProgressDialog progressDialog);
+
+ void inject(ErrorDialog errorDialog);
+
+ void inject(SuccessDialog successDialog);
+
+ void inject(SendToMachineFragment sendToMachineFragment);
}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dagger/ViewModelsModule.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dagger/ViewModelsModule.java
index cb8290bb0..40a49f021 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dagger/ViewModelsModule.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dagger/ViewModelsModule.java
@@ -1,8 +1,10 @@
package com.twine.colorcapture.dagger;
import com.squareup.otto.Bus;
+import com.twine.colorcapture.dialogs.error.ErrorDialogVM;
import com.twine.colorcapture.dialogs.processing.ProcessingDialogVM;
-import com.twine.colorcapture.dialogs.registering.RegisteringDialogVM;
+import com.twine.colorcapture.dialogs.progress.ProgressDialogVM;
+import com.twine.colorcapture.dialogs.success.SuccessDialogVM;
import com.twine.colorcapture.dialogs.welcome.WelcomeDialogVM;
import com.twine.colorcapture.navigation.INavigationProvider;
import com.twine.colorcapture.notification.INotificationProvider;
@@ -12,8 +14,8 @@ import com.twine.colorcapture.views.mycolors.MyColorsFragmentVM;
import com.twine.colorcapture.views.main.MainActivityVM;
import com.twine.colorcapture.views.register.RegisterFragmentVM;
import com.twine.colorcapture.views.result.ResultFragmentVM;
+import com.twine.colorcapture.views.sendtomachine.SendToMachineFragmentVM;
import com.twine.colorcapture.web.ITCCService;
-import com.twine.colorcapture.web.IWebServiceAPI;
import javax.inject.Singleton;
@@ -72,16 +74,37 @@ public class ViewModelsModule
@Provides
@Singleton
- public RegisterFragmentVM provideRegisterFragmentVM(INotificationProvider notificationProvider,ITCCService tccService)
+ public RegisterFragmentVM provideRegisterFragmentVM(INotificationProvider notificationProvider, INavigationProvider navigationProvider, ITCCService tccService,Bus eventBus)
{
- return new RegisterFragmentVM(notificationProvider,tccService);
+ return new RegisterFragmentVM(notificationProvider,navigationProvider,tccService,eventBus);
}
@Provides
@Singleton
- public RegisteringDialogVM provideRegisteringDialogVM()
+ public SendToMachineFragmentVM provideSendMachineFragmentVM(INotificationProvider notificationProvider, INavigationProvider navigationProvider)
{
- return new RegisteringDialogVM();
+ return new SendToMachineFragmentVM(notificationProvider,navigationProvider);
+ }
+
+ @Provides
+ @Singleton
+ public ProgressDialogVM provideProgressDialogVM()
+ {
+ return new ProgressDialogVM();
+ }
+
+ @Provides
+ @Singleton
+ public ErrorDialogVM provideErrorDialogVM()
+ {
+ return new ErrorDialogVM();
+ }
+
+ @Provides
+ @Singleton
+ public SuccessDialogVM provideSuccessDialogVM()
+ {
+ return new SuccessDialogVM();
}
@Provides
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/registering/RegisteringDialog.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/error/ErrorDialog.java
index fa18b2fe2..65bb346b3 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/registering/RegisteringDialog.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/error/ErrorDialog.java
@@ -1,17 +1,17 @@
-package com.twine.colorcapture.dialogs.registering;
+package com.twine.colorcapture.dialogs.error;
import com.twine.colorcapture.App;
import com.twine.colorcapture.R;
-import com.twine.colorcapture.databinding.DialogRegisteringBinding;
+import com.twine.colorcapture.databinding.DialogErrorBinding;
import com.twine.colorcapture.mvvm.DialogBase;
-public class RegisteringDialog extends DialogBase<DialogRegisteringBinding, RegisteringDialogVM>
+public class ErrorDialog extends DialogBase<DialogErrorBinding,ErrorDialogVM>
{
@Override
public int getLayoutId()
{
- return R.layout.dialog_registering;
+ return R.layout.dialog_error;
}
@Override
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/error/ErrorDialogVM.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/error/ErrorDialogVM.java
new file mode 100644
index 000000000..4bc2dbb36
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/error/ErrorDialogVM.java
@@ -0,0 +1,26 @@
+package com.twine.colorcapture.dialogs.error;
+
+import com.twine.colorcapture.mvvm.DependencyProperty;
+import com.twine.colorcapture.mvvm.DialogViewModelBase;
+
+public class ErrorDialogVM extends DialogViewModelBase
+{
+ public DependencyProperty<String> title;
+ public DependencyProperty<String> message;
+
+ public ErrorDialogVM()
+ {
+ title = new DependencyProperty<>("");
+ message = new DependencyProperty<>("");
+ }
+
+ public void setTitle(String title)
+ {
+ this.title.set(title);
+ }
+
+ public void setMessage(String message)
+ {
+ this.message.set(message);
+ }
+}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/progress/ProgressDialog.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/progress/ProgressDialog.java
new file mode 100644
index 000000000..865eb4d5b
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/progress/ProgressDialog.java
@@ -0,0 +1,21 @@
+package com.twine.colorcapture.dialogs.progress;
+
+import com.twine.colorcapture.App;
+import com.twine.colorcapture.R;
+import com.twine.colorcapture.databinding.DialogProgressBinding;
+import com.twine.colorcapture.mvvm.DialogBase;
+
+public class ProgressDialog extends DialogBase<DialogProgressBinding,ProgressDialogVM>
+{
+ @Override
+ public int getLayoutId()
+ {
+ return R.layout.dialog_progress;
+ }
+
+ @Override
+ public void inject()
+ {
+ App.getComponent().inject(this);
+ }
+}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/progress/ProgressDialogVM.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/progress/ProgressDialogVM.java
new file mode 100644
index 000000000..4b7dc1d34
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/progress/ProgressDialogVM.java
@@ -0,0 +1,26 @@
+package com.twine.colorcapture.dialogs.progress;
+
+import com.twine.colorcapture.mvvm.DependencyProperty;
+import com.twine.colorcapture.mvvm.DialogViewModelBase;
+
+public class ProgressDialogVM extends DialogViewModelBase
+{
+ public DependencyProperty<String> title;
+ public DependencyProperty<String> message;
+
+ public ProgressDialogVM()
+ {
+ title = new DependencyProperty<>("");
+ message = new DependencyProperty<>("");
+ }
+
+ public void setTitle(String title)
+ {
+ this.title.set(title);
+ }
+
+ public void setMessage(String message)
+ {
+ this.message.set(message);
+ }
+}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/registering/RegisteringDialogVM.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/registering/RegisteringDialogVM.java
deleted file mode 100644
index bae4b9bfb..000000000
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/registering/RegisteringDialogVM.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.twine.colorcapture.dialogs.registering;
-
-import com.twine.colorcapture.mvvm.DialogViewModelBase;
-import com.twine.colorcapture.web.ITCCService;
-
-public class RegisteringDialogVM extends DialogViewModelBase
-{
-
-}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/success/SuccessDialog.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/success/SuccessDialog.java
new file mode 100644
index 000000000..b15fcf9a0
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/success/SuccessDialog.java
@@ -0,0 +1,23 @@
+package com.twine.colorcapture.dialogs.success;
+
+import android.app.DialogFragment;
+
+import com.twine.colorcapture.App;
+import com.twine.colorcapture.R;
+import com.twine.colorcapture.databinding.DialogSuccessBinding;
+import com.twine.colorcapture.mvvm.DialogBase;
+
+public class SuccessDialog extends DialogBase<DialogSuccessBinding,SuccessDialogVM>
+{
+ @Override
+ public int getLayoutId()
+ {
+ return R.layout.dialog_success;
+ }
+
+ @Override
+ public void inject()
+ {
+ App.getComponent().inject(this);
+ }
+}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/success/SuccessDialogVM.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/success/SuccessDialogVM.java
new file mode 100644
index 000000000..b1fb00129
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/success/SuccessDialogVM.java
@@ -0,0 +1,26 @@
+package com.twine.colorcapture.dialogs.success;
+
+import com.twine.colorcapture.mvvm.DependencyProperty;
+import com.twine.colorcapture.mvvm.DialogViewModelBase;
+
+public class SuccessDialogVM extends DialogViewModelBase
+{
+ public DependencyProperty<String> title;
+ public DependencyProperty<String> message;
+
+ public SuccessDialogVM()
+ {
+ title = new DependencyProperty<>("");
+ message = new DependencyProperty<>("");
+ }
+
+ public void setTitle(String title)
+ {
+ this.title.set(title);
+ }
+
+ public void setMessage(String message)
+ {
+ this.message.set(message);
+ }
+}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/messages/ColorDetectedMessage.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/messages/ColorDetectedMessage.java
new file mode 100644
index 000000000..18316977e
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/messages/ColorDetectedMessage.java
@@ -0,0 +1,18 @@
+package com.twine.colorcapture.messages;
+
+import com.twine.colorcapture.web.messages.DetectionResponse;
+
+public class ColorDetectedMessage
+{
+ private DetectionResponse detectionResponse;
+
+ public DetectionResponse getDetectionResponse()
+ {
+ return detectionResponse;
+ }
+
+ public void setDetectionResponse(DetectionResponse detectionResponse)
+ {
+ this.detectionResponse = detectionResponse;
+ }
+}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/messages/MachineRegisteredMessage.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/messages/MachineRegisteredMessage.java
new file mode 100644
index 000000000..b2ba233f2
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/messages/MachineRegisteredMessage.java
@@ -0,0 +1,18 @@
+package com.twine.colorcapture.messages;
+
+import com.twine.colorcapture.web.messages.MachineRegistrationResponse;
+
+public class MachineRegisteredMessage
+{
+ private MachineRegistrationResponse machineRegistrationResponse;
+
+ public MachineRegistrationResponse getMachineRegistrationResponse()
+ {
+ return machineRegistrationResponse;
+ }
+
+ public void setMachineRegistrationResponse(MachineRegistrationResponse machineRegistrationResponse)
+ {
+ this.machineRegistrationResponse = machineRegistrationResponse;
+ }
+}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/mvvm/DialogBase.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/mvvm/DialogBase.java
index 7f6dfe042..cb7a558c5 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/mvvm/DialogBase.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/mvvm/DialogBase.java
@@ -14,6 +14,8 @@ import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.view.Window;
+import android.view.WindowManager;
import com.twine.colorcapture.R;
import com.twine.colorcapture.core.AnimationsHelper;
@@ -31,6 +33,7 @@ public abstract class DialogBase<BindingView extends ViewDataBinding, VM extends
private boolean isUserDismiss;
private IAction1<VM> onDismissListener;
private View rootView;
+ private boolean dismissed;
/**
@@ -50,8 +53,6 @@ public abstract class DialogBase<BindingView extends ViewDataBinding, VM extends
{
super.onCreate(savedInstanceState);
setStyle(DialogFragment.STYLE_NO_FRAME, R.style.AppTheme);
-
-
}
@Nullable
@@ -59,6 +60,10 @@ public abstract class DialogBase<BindingView extends ViewDataBinding, VM extends
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState)
{
+ Window window = getDialog().getWindow();
+ window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
+ window.setStatusBarColor(getResources().getColor(R.color.colorPrimaryBackground));
+
inject();
binding = DataBindingUtil.inflate(LayoutInflater.from(getActivity()), getLayoutId(), null, false);
@@ -76,6 +81,7 @@ public abstract class DialogBase<BindingView extends ViewDataBinding, VM extends
{
isUserDismiss = true;
dismiss();
+
});
ButterKnife.bind(this, binding.getRoot());
@@ -104,6 +110,19 @@ public abstract class DialogBase<BindingView extends ViewDataBinding, VM extends
{
onDismissListener.invoke(vm);
}
+
+ dismissed = true;
+ }
+
+ @Override
+ public void onResume()
+ {
+ super.onResume();
+
+ if (dismissed)
+ {
+ dismiss();
+ }
}
@Override
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/NavigationFragment.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/NavigationFragment.java
index 2aab6c0fc..07474ec3e 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/NavigationFragment.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/NavigationFragment.java
@@ -7,4 +7,6 @@ public enum NavigationFragment
Result,
@PreventHistory
Register,
+ @PreventHistory
+ SendToMachine
}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/notification/AndroidNotificationProvider.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/notification/AndroidNotificationProvider.java
index 47bf069fc..307fc5edf 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/notification/AndroidNotificationProvider.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/notification/AndroidNotificationProvider.java
@@ -9,6 +9,12 @@ import android.widget.Toast;
import com.twine.colorcapture.core.IAction;
import com.twine.colorcapture.core.IAction1;
+import com.twine.colorcapture.dialogs.error.ErrorDialog;
+import com.twine.colorcapture.dialogs.error.ErrorDialogVM;
+import com.twine.colorcapture.dialogs.progress.ProgressDialog;
+import com.twine.colorcapture.dialogs.progress.ProgressDialogVM;
+import com.twine.colorcapture.dialogs.success.SuccessDialog;
+import com.twine.colorcapture.dialogs.success.SuccessDialogVM;
import com.twine.colorcapture.dialogs.welcome.WelcomeDialog;
import com.twine.colorcapture.mvvm.DialogBase;
import com.twine.colorcapture.mvvm.DialogViewModelBase;
@@ -51,6 +57,7 @@ public class AndroidNotificationProvider implements INotificationProvider
@Override
public <VM extends DialogViewModelBase> void showDialog(DialogBase dialog, IAction1<VM> onDismiss)
{
+ closeDialog();
lastDialog = dialog;
FragmentTransaction ft = activity.getFragmentManager().beginTransaction();
Fragment prev = activity.getFragmentManager().findFragmentByTag("dialog");
@@ -66,6 +73,86 @@ public class AndroidNotificationProvider implements INotificationProvider
}
@Override
+ public ProgressDialogVM showProgress(String title, String message, IAction1<ProgressDialogVM> onDismiss)
+ {
+ closeDialog();
+ ProgressDialog dialog = new ProgressDialog();
+ dialog.inject();
+
+ lastDialog = dialog;
+ FragmentTransaction ft = activity.getFragmentManager().beginTransaction();
+ Fragment prev = activity.getFragmentManager().findFragmentByTag("dialog");
+ if (prev != null) {
+ ft.remove(prev);
+ }
+ ft.addToBackStack(null);
+
+ dialog.setOnDismissListener(onDismiss);
+
+ //show the dialog.
+ dialog.show(ft, "dialog");
+
+ ProgressDialogVM vm = dialog.getVM();
+
+ vm.setTitle(title);
+ vm.setMessage(message);
+
+ return vm;
+ }
+
+ @Override
+ public void showSuccess(String title, String message, IAction1<SuccessDialogVM> onDismiss)
+ {
+ closeDialog();
+ SuccessDialog dialog = new SuccessDialog();
+ dialog.inject();
+
+ lastDialog = dialog;
+ FragmentTransaction ft = activity.getFragmentManager().beginTransaction();
+ Fragment prev = activity.getFragmentManager().findFragmentByTag("dialog");
+ if (prev != null) {
+ ft.remove(prev);
+ }
+ ft.addToBackStack(null);
+
+ dialog.setOnDismissListener(onDismiss);
+
+ //show the dialog.
+ dialog.show(ft, "dialog");
+
+ SuccessDialogVM vm = dialog.getVM();
+
+ vm.setTitle(title);
+ vm.setMessage(message);
+ }
+
+ @Override
+ public void showError(String title, String message, IAction1<ErrorDialogVM> onDismiss)
+ {
+ closeDialog();
+ ErrorDialog dialog = new ErrorDialog();
+ dialog.inject();
+
+ lastDialog = dialog;
+ FragmentTransaction ft = activity.getFragmentManager().beginTransaction();
+ Fragment prev = activity.getFragmentManager().findFragmentByTag("dialog");
+ if (prev != null) {
+ ft.remove(prev);
+ }
+ ft.addToBackStack(null);
+
+ dialog.setOnDismissListener(onDismiss);
+
+ //show the dialog.
+ dialog.show(ft, "dialog");
+
+ ErrorDialogVM vm = dialog.getVM();
+
+ vm.setTitle(title);
+ vm.setMessage(message);
+ }
+
+ @Override
public void closeDialog()
{
if (lastDialog != null)
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/notification/INotificationProvider.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/notification/INotificationProvider.java
index a40aeaac4..b1295a8b4 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/notification/INotificationProvider.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/notification/INotificationProvider.java
@@ -4,6 +4,10 @@ import android.app.Activity;
import com.twine.colorcapture.core.IAction;
import com.twine.colorcapture.core.IAction1;
+import com.twine.colorcapture.dialogs.error.ErrorDialogVM;
+import com.twine.colorcapture.dialogs.progress.ProgressDialogVM;
+import com.twine.colorcapture.dialogs.success.SuccessDialog;
+import com.twine.colorcapture.dialogs.success.SuccessDialogVM;
import com.twine.colorcapture.mvvm.DialogBase;
import com.twine.colorcapture.mvvm.DialogViewModelBase;
import com.twine.colorcapture.mvvm.IView;
@@ -32,6 +36,29 @@ public interface INotificationProvider
<VM extends DialogViewModelBase> void showDialog(DialogBase dialog, IAction1<VM> onDismiss);
/**
+ * Displays a progress dialog...
+ * @param title
+ * @param message
+ */
+ ProgressDialogVM showProgress(String title, String message, IAction1<ProgressDialogVM> onDismiss);
+
+ /**
+ * Displays a success dialog.
+ * @param title
+ * @param message
+ * @param onDismiss
+ */
+ void showSuccess(String title, String message, IAction1<SuccessDialogVM> onDismiss);
+
+ /**
+ * Displays an error dialog.
+ * @param title
+ * @param message
+ * @param onDismiss
+ */
+ void showError(String title, String message, IAction1<ErrorDialogVM> onDismiss);
+
+ /**
* Closes the last dialog.
*/
void closeDialog();
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragment.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragment.java
index b9dddc6f2..4da73e988 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragment.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragment.java
@@ -336,8 +336,7 @@ public class CaptureFragment extends FragmentBase<FragmentCaptureBinding, Captur
{
if (ContextCompat.checkSelfPermission(this.getActivity(), Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED)
{
- ActivityCompat.requestPermissions(this.getActivity(),
- new String[]{Manifest.permission.CAMERA},
+ requestPermissions(new String[]{Manifest.permission.CAMERA},
1);
}
else
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 20ff070bf..e9c6c3878 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
@@ -5,7 +5,6 @@ import android.media.MediaActionSound;
import android.util.Log;
import com.squareup.otto.Bus;
-import com.twine.colorcapture.Messages.ColorDetectedMessage;
import com.twine.colorcapture.core.Task.TaskBuilder;
import com.twine.colorcapture.dialogs.processing.ProcessingDialog;
import com.twine.colorcapture.dialogs.welcome.WelcomeDialog;
@@ -25,7 +24,6 @@ import com.yanzhenjie.zbar.ImageScanner;
import com.yanzhenjie.zbar.Symbol;
import com.yanzhenjie.zbar.SymbolSet;
-import java.io.IOException;
import java.util.concurrent.atomic.AtomicBoolean;
public class CaptureFragmentVM extends ViewModelBase<ICaptureFragment> implements ICaptureFragmentListener
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/register/RegisterFragment.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/register/RegisterFragment.java
index afa551345..ffb2c44c4 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/register/RegisterFragment.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/register/RegisterFragment.java
@@ -1,7 +1,5 @@
package com.twine.colorcapture.views.register;
-import android.app.Fragment;
-
import com.twine.colorcapture.App;
import com.twine.colorcapture.R;
import com.twine.colorcapture.databinding.FragmentRegisterBinding;
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/register/RegisterFragmentVM.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/register/RegisterFragmentVM.java
index 79f02c866..3641e89ee 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/register/RegisterFragmentVM.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/register/RegisterFragmentVM.java
@@ -2,14 +2,19 @@ package com.twine.colorcapture.views.register;
import android.util.Log;
+import com.squareup.otto.Bus;
import com.twine.colorcapture.core.Task;
-import com.twine.colorcapture.dialogs.registering.RegisteringDialog;
+import com.twine.colorcapture.dialogs.progress.ProgressDialogVM;
+import com.twine.colorcapture.messages.MachineRegisteredMessage;
import com.twine.colorcapture.mvvm.DependencyProperty;
import com.twine.colorcapture.mvvm.RelayCommand;
import com.twine.colorcapture.mvvm.ViewModelBase;
+import com.twine.colorcapture.navigation.INavigationProvider;
import com.twine.colorcapture.notification.INotificationProvider;
+import com.twine.colorcapture.utils.ThreadingUtils;
import com.twine.colorcapture.views.result.IResultFragment;
import com.twine.colorcapture.web.ITCCService;
+import com.twine.colorcapture.web.messages.MachineRegistrationResponse;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -17,15 +22,20 @@ import javax.inject.Inject;
public class RegisterFragmentVM extends ViewModelBase<IResultFragment>
{
+ private Bus eventBus;
private INotificationProvider notificationProvider;
+ private INavigationProvider navigationProvider;
private ITCCService tccService;
public DependencyProperty<String> serialNumber;
public RelayCommand registerCommand;
@Inject
- public RegisterFragmentVM(INotificationProvider notificationProvider, ITCCService tccService)
+ public RegisterFragmentVM(INotificationProvider notificationProvider, INavigationProvider navigationProvider, ITCCService tccService, Bus eventBus)
{
+ this.eventBus = eventBus;
+ this.eventBus.register(this);
this.tccService = tccService;
+ this.navigationProvider = navigationProvider;
this.notificationProvider = notificationProvider;
serialNumber = new DependencyProperty<>("");
registerCommand = new RelayCommand(this::handleRegisterCommand);
@@ -35,7 +45,7 @@ public class RegisterFragmentVM extends ViewModelBase<IResultFragment>
{
AtomicBoolean abort = new AtomicBoolean(false);
- notificationProvider.showDialog(new RegisteringDialog(), (vm) ->
+ ProgressDialogVM pVM = notificationProvider.showProgress("Register your system","Please wait while we register\nyour system...", (vm) ->
{
abort.set(true);
});
@@ -45,11 +55,23 @@ public class RegisterFragmentVM extends ViewModelBase<IResultFragment>
try
{
- tccService.register(serialNumber.get());
+ ThreadingUtils.sleep(5000);
+
+ MachineRegistrationResponse response = tccService.register(serialNumber.get());
if (!abort.get())
{
+ pVM.close();
+
Log.i("REGISTER", "Registered !");
+
+ notificationProvider.showSuccess("Registering your system","Your device has been succesfully\nregistred.",(e) ->
+ {
+ MachineRegisteredMessage msg = new MachineRegisteredMessage();
+ msg.setMachineRegistrationResponse(response);
+ eventBus.post(msg);
+ navigationProvider.navigateBack();
+ });
}
else
{
@@ -58,13 +80,10 @@ public class RegisterFragmentVM extends ViewModelBase<IResultFragment>
}
catch (Exception ex)
{
+ pVM.close();
//TODO: display error message!
Log.i("REGISTER", ex.getMessage());
}
- finally
- {
- notificationProvider.closeDialog();
- }
}).build().start();
}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/result/ResultFragmentVM.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/result/ResultFragmentVM.java
index 63b0aa476..2e5639154 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/result/ResultFragmentVM.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/result/ResultFragmentVM.java
@@ -4,7 +4,7 @@ import android.util.Log;
import com.squareup.otto.Bus;
import com.squareup.otto.Subscribe;
-import com.twine.colorcapture.Messages.ColorDetectedMessage;
+import com.twine.colorcapture.messages.MachineRegisteredMessage;
import com.twine.colorcapture.mvvm.DependencyProperty;
import com.twine.colorcapture.mvvm.RelayCommand;
import com.twine.colorcapture.mvvm.ViewModelBase;
@@ -21,6 +21,7 @@ public class ResultFragmentVM extends ViewModelBase<IResultFragment> implements
public DependencyProperty<Boolean> isCameraColorToggled;
public DependencyProperty<DetectionResponse> detectionResponse;
+ public DependencyProperty<Boolean> isMachineRegistred;
public RelayCommand toggleCameraColorCommand;
public RelayCommand emailCommand;
public RelayCommand renameCommand;
@@ -33,6 +34,7 @@ public class ResultFragmentVM extends ViewModelBase<IResultFragment> implements
this.navigationProvider = navigationProvider;
isCameraColorToggled = new DependencyProperty<>(false);
+ isMachineRegistred = new DependencyProperty<>(false);
detectionResponse = new DependencyProperty<>(new DetectionResponse());
toggleCameraColorCommand = new RelayCommand(this::toggleCameraColor);
emailCommand = new RelayCommand(this::handleEmailCommand);
@@ -43,6 +45,12 @@ public class ResultFragmentVM extends ViewModelBase<IResultFragment> implements
eventBus.register(this);
}
+ @Subscribe
+ public void handleMachineRegisteredMessage(MachineRegisteredMessage msg)
+ {
+ isMachineRegistred.set(true);
+ }
+
private void handlerRegisterMachineCommand()
{
navigationProvider.navigateTo(NavigationFragment.Register, true, false);
@@ -50,6 +58,7 @@ public class ResultFragmentVM extends ViewModelBase<IResultFragment> implements
private void handleSendToMachineCommand()
{
+ navigationProvider.navigateWithObjectTo(NavigationFragment.SendToMachine, true, false, detectionResponse.get().getProcessedColor());
}
private void handleRenameCommand()
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/sendtomachine/ISendToMachineFragment.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/sendtomachine/ISendToMachineFragment.java
new file mode 100644
index 000000000..b9fbddac0
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/sendtomachine/ISendToMachineFragment.java
@@ -0,0 +1,7 @@
+package com.twine.colorcapture.views.sendtomachine;
+
+import com.twine.colorcapture.mvvm.IView;
+
+public interface ISendToMachineFragment extends IView
+{
+}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/sendtomachine/SendToMachineFragment.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/sendtomachine/SendToMachineFragment.java
new file mode 100644
index 000000000..848a760fe
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/sendtomachine/SendToMachineFragment.java
@@ -0,0 +1,28 @@
+package com.twine.colorcapture.views.sendtomachine;
+
+import com.twine.colorcapture.App;
+import com.twine.colorcapture.R;
+import com.twine.colorcapture.databinding.FragmentSendToMachineBinding;
+import com.twine.colorcapture.mvvm.FragmentBase;
+
+public class SendToMachineFragment extends FragmentBase<FragmentSendToMachineBinding, SendToMachineFragmentVM>
+{
+
+ @Override
+ protected int getLayoutId()
+ {
+ return R.layout.fragment_send_to_machine;
+ }
+
+ @Override
+ protected void inject()
+ {
+ App.getComponent().inject(this);
+ }
+
+ @Override
+ public String getTitle()
+ {
+ return "Send to Machine";
+ }
+}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/sendtomachine/SendToMachineFragmentVM.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/sendtomachine/SendToMachineFragmentVM.java
new file mode 100644
index 000000000..d6eb15d34
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/sendtomachine/SendToMachineFragmentVM.java
@@ -0,0 +1,24 @@
+package com.twine.colorcapture.views.sendtomachine;
+
+import com.twine.colorcapture.mvvm.ViewModelBase;
+import com.twine.colorcapture.navigation.INavigationObjectReceiver;
+import com.twine.colorcapture.navigation.INavigationProvider;
+import com.twine.colorcapture.notification.INotificationProvider;
+import com.twine.colorcapture.web.messages.DetectionColor;
+
+import javax.inject.Inject;
+
+public class SendToMachineFragmentVM extends ViewModelBase<ISendToMachineFragment> implements INavigationObjectReceiver<DetectionColor>
+{
+ @Inject
+ public SendToMachineFragmentVM(INotificationProvider notificationProvider, INavigationProvider navigationProvider)
+ {
+
+ }
+
+ @Override
+ public void onNavigationObjectReceived(DetectionColor detectionColor)
+ {
+ DetectionColor color = detectionColor;
+ }
+}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-hdpi/success.png b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-hdpi/success.png
new file mode 100644
index 000000000..fb413cb53
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-hdpi/success.png
Binary files differ
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-mdpi/success.png b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-mdpi/success.png
new file mode 100644
index 000000000..2677f90fc
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-mdpi/success.png
Binary files differ
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xhdpi/success.png b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xhdpi/success.png
new file mode 100644
index 000000000..50819ef94
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xhdpi/success.png
Binary files differ
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxhdpi/success.png b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxhdpi/success.png
new file mode 100644
index 000000000..4b888bef2
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxhdpi/success.png
Binary files differ
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxxhdpi/success.png b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxxhdpi/success.png
new file mode 100644
index 000000000..368d10b78
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxxhdpi/success.png
Binary files differ
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/error.png b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/error.png
new file mode 100644
index 000000000..9ca010730
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/error.png
Binary files differ
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/layout/dialog_error.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/dialog_error.xml
new file mode 100644
index 000000000..bd8dad40c
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/dialog_error.xml
@@ -0,0 +1,63 @@
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:bind="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools">
+
+ <data>
+
+ <variable
+ name="vm"
+ type="com.twine.colorcapture.dialogs.error.ErrorDialogVM" />
+ </data>
+
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/colorBlueMask">
+
+ <RelativeLayout
+ android:layout_width="313.9dp"
+ android:layout_height="202.6dp"
+ android:layout_centerVertical="true"
+ android:layout_centerHorizontal="true"
+ android:background="@drawable/border_primary_background">
+
+ <android.support.v7.widget.AppCompatTextView
+ android:id="@+id/txtTitle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerHorizontal="true"
+ android:layout_marginTop="15dp"
+ android:fontFamily="@font/flexo_bold"
+ android:gravity="center"
+ android:letterSpacing="0.07"
+ android:textSize="13.4sp"
+ tools:text="Error title"
+ android:text="@{vm.title}" />
+
+
+ <ImageView
+ android:id="@+id/progress"
+ android:layout_width="51dp"
+ android:layout_height="70dp"
+ android:layout_marginTop="10dp"
+ android:layout_below="@id/txtTitle"
+ android:layout_centerHorizontal="true"
+ android:src="@drawable/error"/>
+
+
+ <android.support.v7.widget.AppCompatTextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@id/progress"
+ android:layout_centerHorizontal="true"
+ android:layout_marginTop="20dp"
+ android:fontFamily="@font/flexo_light"
+ android:gravity="center"
+ android:letterSpacing="0.07"
+ android:textSize="13.4sp"
+ tools:text="Success message"
+ android:text="@{vm.message}"/>
+
+ </RelativeLayout>
+ </RelativeLayout>
+</layout>
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/layout/dialog_registering.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/dialog_progress.xml
index 4b4044bcf..34fe35210 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/res/layout/dialog_registering.xml
+++ b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/dialog_progress.xml
@@ -6,7 +6,7 @@
<variable
name="vm"
- type="com.twine.colorcapture.dialogs.registering.RegisteringDialogVM" />
+ type="com.twine.colorcapture.dialogs.progress.ProgressDialogVM" />
</data>
<RelativeLayout
@@ -31,7 +31,8 @@
android:gravity="center"
android:letterSpacing="0.07"
android:textSize="13.4sp"
- android:text="Register your system" />
+ tools:text="Progress title"
+ android:text="@{vm.title}" />
<ProgressBar
android:id="@+id/progress"
@@ -55,7 +56,8 @@
android:gravity="center"
android:letterSpacing="0.07"
android:textSize="13.4sp"
- android:text="Please wait while we register\nyour system..."/>
+ tools:text="Progress message please wait..."
+ android:text="@{vm.message}"/>
</RelativeLayout>
</RelativeLayout>
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/layout/dialog_success.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/dialog_success.xml
new file mode 100644
index 000000000..5cba917ec
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/dialog_success.xml
@@ -0,0 +1,63 @@
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:bind="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools">
+
+ <data>
+
+ <variable
+ name="vm"
+ type="com.twine.colorcapture.dialogs.success.SuccessDialogVM" />
+ </data>
+
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/colorBlueMask">
+
+ <RelativeLayout
+ android:layout_width="313.9dp"
+ android:layout_height="202.6dp"
+ android:layout_centerVertical="true"
+ android:layout_centerHorizontal="true"
+ android:background="@drawable/border_primary_background">
+
+ <android.support.v7.widget.AppCompatTextView
+ android:id="@+id/txtTitle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerHorizontal="true"
+ android:layout_marginTop="15dp"
+ android:fontFamily="@font/flexo_bold"
+ android:gravity="center"
+ android:letterSpacing="0.07"
+ android:textSize="13.4sp"
+ tools:text="Success Title"
+ android:text="@{vm.title}" />
+
+
+ <ImageView
+ android:id="@+id/progress"
+ android:layout_width="51dp"
+ android:layout_height="70dp"
+ android:layout_marginTop="10dp"
+ android:layout_below="@id/txtTitle"
+ android:layout_centerHorizontal="true"
+ android:src="@drawable/success"/>
+
+
+ <android.support.v7.widget.AppCompatTextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@id/progress"
+ android:layout_centerHorizontal="true"
+ android:layout_marginTop="20dp"
+ android:fontFamily="@font/flexo_light"
+ android:gravity="center"
+ android:letterSpacing="0.07"
+ android:textSize="13.4sp"
+ tools:text="Success message"
+ android:text="@{vm.message}"/>
+
+ </RelativeLayout>
+ </RelativeLayout>
+</layout>
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_result.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_result.xml
index 07091267b..1bf65d15b 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_result.xml
+++ b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_result.xml
@@ -200,17 +200,28 @@
android:clickable="true"
bind:command="@{vm.renameCommand}"/>
+ <com.twine.colorcapture.controls.CircleActionButton
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="15dp"
+ bind:src="@drawable/icon"
+ bind:text=" Send to Machine"
+ android:clickable="true"
+ bind:command="@{vm.sendToMachineCommand}"
+ android:visibility="@{vm.isMachineRegistred ? View.VISIBLE : View.GONE}"/>
+
<FrameLayout
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginTop="15dp">
+ android:layout_marginTop="15dp"
+ android:visibility="@{vm.isMachineRegistred ? View.GONE : View.VISIBLE}">
<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_gravity="right|bottom"
+ android:layout_gravity="right|center"
android:fontFamily="@font/flexo_bold"
android:letterSpacing="0.07"
android:textSize="15.4sp"
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_send_to_machine.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_send_to_machine.xml
new file mode 100644
index 000000000..82dc3d1df
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_send_to_machine.xml
@@ -0,0 +1,40 @@
+<layout xmlns:tools="http://schemas.android.com/tools"
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:bind="http://schemas.android.com/apk/res-auto">
+
+ <data>
+ <variable
+ name="vm"
+ type="com.twine.colorcapture.views.sendtomachine.SendToMachineFragmentVM" />
+ </data>
+
+ <RelativeLayout
+ android:layoutDirection="ltr"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:paddingLeft="20dp"
+ android:paddingRight="20dp"
+ android:background="@color/colorDarkBackground"
+ tools:context="com.twine.colorcapture.views.sendtomachine.SendToMachineFragment">
+
+
+ <FrameLayout
+ android:id="@+id/frameTitle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="15dp">
+
+ <android.support.v7.widget.AppCompatTextView
+ android:id="@+id/txtTitlef"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:fontFamily="@font/flexo_bold"
+ android:letterSpacing="0.07"
+ android:layout_gravity="center"
+ android:text="Send To Machine"
+ android:textSize="17.3sp" />
+
+ </FrameLayout>
+
+ </RelativeLayout>
+</layout>
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/values/styles.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/values/styles.xml
index 608b5ed13..cbf34a8c3 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/res/values/styles.xml
+++ b/Software/Android_Studio/ColorCapture/app/src/main/res/values/styles.xml
@@ -16,8 +16,6 @@
<!--<item name="colorPrimaryDark">@color/colorPrimaryDark</item>-->
<!--<item name="colorAccent">@color/colorAccent</item>-->
<item name="android:textColor">#ffffffff</item>
-
-
</style>
<declare-styleable name="ToggleImageButton">
diff --git a/Software/DB/TCC/TCC.mdf b/Software/DB/TCC/TCC.mdf
index afd2508ab..1df5bf533 100644
--- a/Software/DB/TCC/TCC.mdf
+++ b/Software/DB/TCC/TCC.mdf
Binary files differ
diff --git a/Software/DB/TCC/TCC_log.ldf b/Software/DB/TCC/TCC_log.ldf
index 6f82f9552..459aa43eb 100644
--- a/Software/DB/TCC/TCC_log.ldf
+++ b/Software/DB/TCC/TCC_log.ldf
Binary files differ
diff --git a/Software/Graphics/Mobile/zeplin/drawable-hdpi/success.png b/Software/Graphics/Mobile/zeplin/drawable-hdpi/success.png
new file mode 100644
index 000000000..fb413cb53
--- /dev/null
+++ b/Software/Graphics/Mobile/zeplin/drawable-hdpi/success.png
Binary files differ
diff --git a/Software/Graphics/Mobile/zeplin/drawable-mdpi/success.png b/Software/Graphics/Mobile/zeplin/drawable-mdpi/success.png
new file mode 100644
index 000000000..2677f90fc
--- /dev/null
+++ b/Software/Graphics/Mobile/zeplin/drawable-mdpi/success.png
Binary files differ
diff --git a/Software/Graphics/Mobile/zeplin/drawable-xhdpi/success.png b/Software/Graphics/Mobile/zeplin/drawable-xhdpi/success.png
new file mode 100644
index 000000000..50819ef94
--- /dev/null
+++ b/Software/Graphics/Mobile/zeplin/drawable-xhdpi/success.png
Binary files differ
diff --git a/Software/Graphics/Mobile/zeplin/drawable-xxhdpi/success.png b/Software/Graphics/Mobile/zeplin/drawable-xxhdpi/success.png
new file mode 100644
index 000000000..4b888bef2
--- /dev/null
+++ b/Software/Graphics/Mobile/zeplin/drawable-xxhdpi/success.png
Binary files differ
diff --git a/Software/Graphics/Mobile/zeplin/drawable-xxxhdpi/success.png b/Software/Graphics/Mobile/zeplin/drawable-xxxhdpi/success.png
new file mode 100644
index 000000000..368d10b78
--- /dev/null
+++ b/Software/Graphics/Mobile/zeplin/drawable-xxxhdpi/success.png
Binary files differ
diff --git a/Software/Graphics/Mobile/zeplin/drawable/error.png b/Software/Graphics/Mobile/zeplin/drawable/error.png
new file mode 100644
index 000000000..9ca010730
--- /dev/null
+++ b/Software/Graphics/Mobile/zeplin/drawable/error.png
Binary files differ