From e96ac0051590493eb23760aff71e3242fd88adf1 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Wed, 10 Apr 2019 14:37:31 +0300 Subject: Working on TCC... --- .../Android_Studio/ColorCapture/app/build.gradle | 1 - .../colorcapture/dagger/ApplicationComponent.java | 3 + .../colorcapture/dagger/ViewModelsModule.java | 8 ++ .../dialogs/welcome/WelcomeDialog.java | 22 +++++ .../dialogs/welcome/WelcomeDialogVM.java | 24 +++++ .../com/twine/colorcapture/mvvm/ActivityBase.java | 11 ++- .../com/twine/colorcapture/mvvm/DialogBase.java | 100 ++++++++++++++++++++ .../colorcapture/mvvm/DialogViewModelBase.java | 18 ++++ .../navigation/AndroidNavigationProvider.java | 5 +- .../navigation/INavigationProvider.java | 4 +- .../notification/AndroidNotificationProvider.java | 51 ++++++---- .../notification/INotificationProvider.java | 28 +++--- .../views/loading/LoadingActivity.java | 12 +-- .../views/loading/LoadingActivityVM.java | 38 ++++---- .../colorcapture/views/main/MainActivity.java | 14 ++- .../colorcapture/views/main/MainActivityVM.java | 10 ++ .../app/src/main/res/drawable-hdpi/darkening.png | Bin 0 -> 12656 bytes .../app/src/main/res/drawable-hdpi/twine_card.png | Bin 0 -> 4292 bytes .../app/src/main/res/drawable-mdpi/darkening.png | Bin 0 -> 5616 bytes .../app/src/main/res/drawable-mdpi/twine_card.png | Bin 0 -> 3305 bytes .../app/src/main/res/drawable-xhdpi/darkening.png | Bin 0 -> 19232 bytes .../app/src/main/res/drawable-xhdpi/twine_card.png | Bin 0 -> 5560 bytes .../app/src/main/res/drawable-xxhdpi/darkening.png | Bin 0 -> 43010 bytes .../src/main/res/drawable-xxhdpi/twine_card.png | Bin 0 -> 7547 bytes .../src/main/res/drawable-xxxhdpi/darkening.png | Bin 0 -> 73736 bytes .../src/main/res/drawable-xxxhdpi/twine_card.png | Bin 0 -> 9807 bytes .../app/src/main/res/drawable/accent_gradient.xml | 8 ++ .../src/main/res/drawable/button_gradient_fill.xml | 12 +++ .../res/drawable/button_gradient_fill_ripple.xml | 5 + .../src/main/res/drawable/dialog_background.xml | 8 ++ .../main/res/drawable/welcome_dialog_border.xml | 9 ++ .../app/src/main/res/font/flexo_black.otf | Bin 0 -> 112924 bytes .../app/src/main/res/font/flexo_bold.otf | Bin 0 -> 112436 bytes .../app/src/main/res/font/flexo_light.otf | Bin 0 -> 112116 bytes .../app/src/main/res/font/flexo_medium.otf | Bin 0 -> 112016 bytes .../app/src/main/res/font/flexo_regular.otf | Bin 0 -> 111924 bytes .../app/src/main/res/font/flexo_thin.otf | Bin 0 -> 112040 bytes .../app/src/main/res/layout/activity_loading.xml | 2 +- .../app/src/main/res/layout/dialog_welcome.xml | 104 +++++++++++++++++++++ .../app/src/main/res/layout/fragment_capture.xml | 3 +- .../app/src/main/res/layout/side_menu.xml | 2 +- .../app/src/main/res/values/colors.xml | 3 + .../app/src/main/res/values/strings.xml | 6 ++ Software/Android_Studio/ColorCapture/build.gradle | 3 + 44 files changed, 437 insertions(+), 77 deletions(-) create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/welcome/WelcomeDialog.java create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/welcome/WelcomeDialogVM.java create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/mvvm/DialogBase.java create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/mvvm/DialogViewModelBase.java create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/drawable-hdpi/darkening.png create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/drawable-hdpi/twine_card.png create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/drawable-mdpi/darkening.png create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/drawable-mdpi/twine_card.png create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xhdpi/darkening.png create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xhdpi/twine_card.png create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxhdpi/darkening.png create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxhdpi/twine_card.png create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxxhdpi/darkening.png create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxxhdpi/twine_card.png create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/drawable/accent_gradient.xml create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/drawable/button_gradient_fill.xml create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/drawable/button_gradient_fill_ripple.xml create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/drawable/dialog_background.xml create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/drawable/welcome_dialog_border.xml create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_black.otf create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_bold.otf create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_light.otf create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_medium.otf create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_regular.otf create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_thin.otf create mode 100644 Software/Android_Studio/ColorCapture/app/src/main/res/layout/dialog_welcome.xml (limited to 'Software/Android_Studio') diff --git a/Software/Android_Studio/ColorCapture/app/build.gradle b/Software/Android_Studio/ColorCapture/app/build.gradle index 9a9df5b1a..83ed47583 100644 --- a/Software/Android_Studio/ColorCapture/app/build.gradle +++ b/Software/Android_Studio/ColorCapture/app/build.gradle @@ -67,5 +67,4 @@ dependencies { annotationProcessor 'com.google.dagger:dagger-android-processor:2.11' annotationProcessor 'com.google.dagger:dagger-compiler:2.11' compile 'com.yanzhenjie.zbar:zbar:1.0.0' - implementation project(':onboarding') } 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 700cb74ca..7f97483b6 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,5 +1,6 @@ package com.twine.colorcapture.dagger; +import com.twine.colorcapture.dialogs.welcome.WelcomeDialog; import com.twine.colorcapture.views.capture.CaptureFragment; import com.twine.colorcapture.views.mycolors.MyColorsFragment; import com.twine.colorcapture.views.loading.LoadingActivity; @@ -25,4 +26,6 @@ public interface ApplicationComponent void inject(MyColorsFragment view); void inject(CaptureFragment view); + + void inject(WelcomeDialog welcomeDialog); } 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 5726fdb71..1a017a7fc 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,6 +1,7 @@ package com.twine.colorcapture.dagger; import com.squareup.otto.Bus; +import com.twine.colorcapture.dialogs.welcome.WelcomeDialogVM; import com.twine.colorcapture.navigation.INavigationProvider; import com.twine.colorcapture.notification.INotificationProvider; import com.twine.colorcapture.views.capture.CaptureFragmentVM; @@ -48,4 +49,11 @@ public class ViewModelsModule { return new CaptureFragmentVM(); } + + @Provides + @Singleton + public WelcomeDialogVM provideWelcomeDialogVM(INotificationProvider notificationProvider) + { + return new WelcomeDialogVM(notificationProvider); + } } diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/welcome/WelcomeDialog.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/welcome/WelcomeDialog.java new file mode 100644 index 000000000..5f92fff0e --- /dev/null +++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/welcome/WelcomeDialog.java @@ -0,0 +1,22 @@ +package com.twine.colorcapture.dialogs.welcome; + +import com.twine.colorcapture.App; +import com.twine.colorcapture.R; +import com.twine.colorcapture.mvvm.DialogBase; +import com.twine.colorcapture.databinding.DialogWelcomeBinding; + +public class WelcomeDialog extends DialogBase +{ + + @Override + public int getLayoutId() + { + return R.layout.dialog_welcome; + } + + @Override + public void inject() + { + App.getComponent().inject(this); + } +} diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/welcome/WelcomeDialogVM.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/welcome/WelcomeDialogVM.java new file mode 100644 index 000000000..f89ef2559 --- /dev/null +++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dialogs/welcome/WelcomeDialogVM.java @@ -0,0 +1,24 @@ +package com.twine.colorcapture.dialogs.welcome; + +import com.twine.colorcapture.mvvm.DialogViewModelBase; +import com.twine.colorcapture.mvvm.RelayCommand; +import com.twine.colorcapture.notification.INotificationProvider; + +import javax.inject.Inject; + +public class WelcomeDialogVM extends DialogViewModelBase +{ + public RelayCommand startCommand; + + @Inject + public WelcomeDialogVM(INotificationProvider notificationProvider) + { + super(notificationProvider); + startCommand = new RelayCommand(this::close); + } + + public String getText() + { + return "Hi Roy"; + } +} diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/mvvm/ActivityBase.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/mvvm/ActivityBase.java index 7878d1b81..7863cac80 100644 --- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/mvvm/ActivityBase.java +++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/mvvm/ActivityBase.java @@ -1,10 +1,10 @@ package com.twine.colorcapture.mvvm; +import android.app.Activity; import android.content.Intent; import android.databinding.DataBindingUtil; import android.databinding.ViewDataBinding; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.Window; import android.view.WindowManager; @@ -29,7 +29,7 @@ import io.reactivex.functions.Consumer; * @param the type parameter * @param the type parameter */ -public abstract class ActivityBase extends AppCompatActivity implements IView, Validator.ValidationListener { +public abstract class ActivityBase extends Activity implements IView, Validator.ValidationListener { /** * The constant ACTIVITY_CALLBACK_INTENT. @@ -68,8 +68,6 @@ public abstract class ActivityBase extends DialogFragment +{ + /** + * The Vm. + */ + @Inject + VM vm; + + + /** + * The Binding. + */ + BindingView binding; + + @Override + public void onCreate(@Nullable Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setStyle(DialogFragment.STYLE_NO_FRAME, R.style.AppTheme); + + + } + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) + { + + inject(); + + binding = DataBindingUtil.inflate(LayoutInflater.from(getActivity()),getLayoutId(), null, false); + + Method method = null; + try + { + method = binding.getClass().getDeclaredMethod("setVm", vm.getClass()); + method.invoke(binding, vm); + + ButterKnife.bind(this, binding.getRoot()); + + return binding.getRoot(); + } + catch (Exception ex) + { + ex.printStackTrace(); + return null; + } + } + + @Override + public void onStart() + { + super.onStart(); + + getDialog().getWindow().setBackgroundDrawable(getActivity().getDrawable(R.color.colorBlueMask)); + + +// Dialog dialog = getDialog(); +// if (dialog != null) +// { +// int width = ViewGroup.LayoutParams.WRAP_CONTENT; +// int height = ViewGroup.LayoutParams.WRAP_CONTENT; +// dialog.getWindow().setLayout(width, height); +// dialog.getWindow().setA +// } + } + + public abstract int getLayoutId(); + + public abstract void inject(); + + public VM getVM() + { + return vm; + } +} diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/mvvm/DialogViewModelBase.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/mvvm/DialogViewModelBase.java new file mode 100644 index 000000000..77c044178 --- /dev/null +++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/mvvm/DialogViewModelBase.java @@ -0,0 +1,18 @@ +package com.twine.colorcapture.mvvm; + +import com.twine.colorcapture.notification.INotificationProvider; + +public abstract class DialogViewModelBase extends ViewModelBase +{ + protected INotificationProvider notificationProvider; + + public DialogViewModelBase(INotificationProvider notificationProvider) + { + this.notificationProvider = notificationProvider; + } + + public void close() + { + notificationProvider.closeDialog(); + } +} diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/AndroidNavigationProvider.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/AndroidNavigationProvider.java index 88cee5a8f..70dd04372 100644 --- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/AndroidNavigationProvider.java +++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/AndroidNavigationProvider.java @@ -1,5 +1,6 @@ package com.twine.colorcapture.navigation; +import android.app.Activity; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.content.Context; @@ -23,7 +24,7 @@ import javax.inject.Inject; */ public class AndroidNavigationProvider extends ExtendedObject implements INavigationProvider { - private AppCompatActivity activity; + private Activity activity; private FragmentBase currentFragment; private String currentFragmentName; private int fragment_container; @@ -40,7 +41,7 @@ public class AndroidNavigationProvider extends ExtendedObject implements INaviga } @Override - public void registerNavigationActivity(AppCompatActivity activity, int fragmentContainerId) + public void registerNavigationActivity(Activity activity, int fragmentContainerId) { this.activity = activity; this.fragment_container = fragmentContainerId; diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/INavigationProvider.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/INavigationProvider.java index 60440d4e3..dc4bb83d4 100644 --- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/INavigationProvider.java +++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/INavigationProvider.java @@ -1,6 +1,6 @@ package com.twine.colorcapture.navigation; -import android.support.v7.app.AppCompatActivity; +import android.app.Activity; import com.twine.colorcapture.mvvm.FragmentBase; import com.twine.colorcapture.core.IAction1; @@ -21,7 +21,7 @@ public interface INavigationProvider * @param activity the activity * @param fragmentContainerId the fragment container id */ - void registerNavigationActivity(AppCompatActivity activity, int fragmentContainerId); + void registerNavigationActivity(Activity activity, int fragmentContainerId); /** * Navigate to the specified fragment name. 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 d07502af4..f3081754c 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 @@ -1,10 +1,15 @@ package com.twine.colorcapture.notification; +import android.app.Activity; +import android.app.Fragment; +import android.app.FragmentTransaction; import android.content.Context; import android.support.v7.app.AlertDialog; import android.widget.Toast; import com.twine.colorcapture.core.IAction; +import com.twine.colorcapture.dialogs.welcome.WelcomeDialog; +import com.twine.colorcapture.mvvm.DialogBase; import com.twine.colorcapture.mvvm.IView; @@ -15,6 +20,8 @@ public class AndroidNotificationProvider implements INotificationProvider { private Context context; + private Activity activity; + private DialogBase lastDialog; /** * Instantiates a new Android notification provider. @@ -25,33 +32,41 @@ public class AndroidNotificationProvider implements INotificationProvider { this.context = context; } - + + @Override + public void registerMainActivity(Activity activity) + { + this.activity = activity; + } + @Override public void toast(String message) { Toast.makeText(context, message, Toast.LENGTH_SHORT).show(); } - + @Override - public void showMessage(IView view, String message) + public void showDialog(DialogBase dialog) { - showMessage(view, message, null); + lastDialog = dialog; + FragmentTransaction ft = activity.getFragmentManager().beginTransaction(); + Fragment prev = activity.getFragmentManager().findFragmentByTag("dialog"); + if (prev != null) { + ft.remove(prev); + } + ft.addToBackStack(null); + + //show the dialog. + dialog.show(ft, "dialog"); } - + @Override - public void showMessage(IView view, String message, IAction action) + public void closeDialog() { - AlertDialog.Builder builder = new AlertDialog.Builder((Context) view); - builder.setMessage("Look at this dialog!") - .setCancelable(false) - .setTitle("Tango") - .setMessage(message) - .setIcon(android.R.drawable.ic_dialog_info) - .setPositiveButton("OK", (dialog, id) -> - { - if (action != null) action.invoke(); - }); - AlertDialog alert = builder.create(); - alert.show(); + if (lastDialog != null) + { + lastDialog.dismiss(); + 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 8103fff38..7f972f3a3 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 @@ -1,6 +1,9 @@ package com.twine.colorcapture.notification; +import android.app.Activity; + import com.twine.colorcapture.core.IAction; +import com.twine.colorcapture.mvvm.DialogBase; import com.twine.colorcapture.mvvm.IView; @@ -9,29 +12,24 @@ import com.twine.colorcapture.mvvm.IView; */ public interface INotificationProvider { - + + void registerMainActivity(Activity activity); + /** * Toast. * * @param message the message */ void toast(String message); - + /** - * Show message. - * - * @param view the view - * @param message the message + * Display the specified dialog. + * @param dialog */ - void showMessage(IView view, String message); - + void showDialog(DialogBase dialog); + /** - * Show message. - * - * @param view the view - * @param message the message - * @param action the action + * Closes the last dialog. */ - void showMessage(IView view, String message, IAction action); - + void closeDialog(); } diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/loading/LoadingActivity.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/loading/LoadingActivity.java index 1f14b0d0c..ae38d2368 100644 --- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/loading/LoadingActivity.java +++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/loading/LoadingActivity.java @@ -29,19 +29,9 @@ public class LoadingActivity extends ActivityBase - { -// Intent intent = new Intent(getApplicationContext(), MainActivity.class); -// intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_NO_HISTORY); -// startActivity(intent); - - navigationProvider.navigateTo(NavigationActivity.Main,true); - - },5000); } @Override 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 fcf4aaac7..a7a3affff 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 @@ -1,11 +1,14 @@ package com.twine.colorcapture.views.loading; import android.os.CountDownTimer; +import android.os.Handler; import com.squareup.otto.Bus; +import com.twine.colorcapture.core.Task; import com.twine.colorcapture.mvvm.DependencyProperty; import com.twine.colorcapture.mvvm.ViewModelBase; import com.twine.colorcapture.navigation.INavigationProvider; +import com.twine.colorcapture.navigation.NavigationActivity; import com.twine.colorcapture.navigation.NavigationFragment; import com.twine.colorcapture.notification.INotificationProvider; @@ -19,9 +22,7 @@ public class LoadingActivityVM extends ViewModelBase @Inject public LoadingActivityVM(Bus eventBus, INotificationProvider notificationProvider, INavigationProvider navigationProvider) { - this.navigationProvider = navigationProvider; - loadingProgress = new DependencyProperty<>(0); } @@ -30,21 +31,22 @@ public class LoadingActivityVM extends ViewModelBase { super.onViewAttached(view); -// new CountDownTimer(5000,50) -// { -// -// @Override -// public void onTick(long l) { -// -// loadingProgress.set(loadingProgress.get() + 50); -// } -// -// @Override -// public void onFinish() { -// -// loadingProgress.set(2000); -// navigationProvider.navigateTo(NavigationFragment.MyColors, false); -// } -// }.start(); + new Task.TaskBuilder().setAction(() -> + { + try + { + Thread.sleep(5000); + } catch (InterruptedException e) + { + e.printStackTrace(); + } + + + }).setContinueWith(() -> + { + + navigationProvider.navigateTo(NavigationActivity.Main,true); + + }).build().start(); } } diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/main/MainActivity.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/main/MainActivity.java index 61bf052b1..f50d4a5c4 100644 --- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/main/MainActivity.java +++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/main/MainActivity.java @@ -1,19 +1,25 @@ package com.twine.colorcapture.views.main; +import android.app.Fragment; +import android.app.FragmentTransaction; +import android.graphics.drawable.Drawable; import android.os.Bundle; import android.support.v4.widget.DrawerLayout; import android.util.Log; import android.view.Gravity; import android.view.View; +import android.view.ViewGroup; import android.widget.LinearLayout; import com.twine.colorcapture.App; import com.twine.colorcapture.R; import com.twine.colorcapture.controls.ToggleImageButton; import com.twine.colorcapture.databinding.ActivityMainBinding; +import com.twine.colorcapture.dialogs.welcome.WelcomeDialog; import com.twine.colorcapture.mvvm.ActivityBase; import com.twine.colorcapture.navigation.INavigationProvider; import com.twine.colorcapture.navigation.NavigationFragment; +import com.twine.colorcapture.notification.INotificationProvider; import javax.inject.Inject; @@ -25,6 +31,9 @@ public class MainActivity extends ActivityBase } private INavigationProvider navigationProvider; + private INotificationProvider notificationProvider; private CurrentTab currentTab; public DependencyProperty isMoreToggled; @@ -29,6 +31,7 @@ public class MainActivityVM extends ViewModelBase public MainActivityVM(Bus eventBus, INotificationProvider notificationProvider, INavigationProvider navigationProvider) { this.navigationProvider = navigationProvider; + this.notificationProvider = notificationProvider; isMoreToggled = new DependencyProperty(false,this::onMoreToggled); isCaptureToggled = new DependencyProperty(false,this::onCaptureToggled); isMyColorsToggled = new DependencyProperty(false,this::onMyColorsToggled); @@ -47,6 +50,13 @@ public class MainActivityVM extends ViewModelBase } } + @Override + protected void onViewAttached(IMainActivity view) + { + super.onViewAttached(view); + notificationProvider.showDialog(new WelcomeDialog()); + } + private void onMyColorsToggled(DependencyProperty booleanDependencyProperty, Boolean value) { setCurrentTab(CurrentTab.MyColors); diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-hdpi/darkening.png b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-hdpi/darkening.png new file mode 100644 index 000000000..a18946b8e Binary files /dev/null and b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-hdpi/darkening.png differ diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-hdpi/twine_card.png b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-hdpi/twine_card.png new file mode 100644 index 000000000..33849c970 Binary files /dev/null and b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-hdpi/twine_card.png differ diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-mdpi/darkening.png b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-mdpi/darkening.png new file mode 100644 index 000000000..58cf40d6a Binary files /dev/null and b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-mdpi/darkening.png differ diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-mdpi/twine_card.png b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-mdpi/twine_card.png new file mode 100644 index 000000000..1b77e264e Binary files /dev/null and b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-mdpi/twine_card.png differ diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xhdpi/darkening.png b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xhdpi/darkening.png new file mode 100644 index 000000000..f50441f22 Binary files /dev/null and b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xhdpi/darkening.png differ diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xhdpi/twine_card.png b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xhdpi/twine_card.png new file mode 100644 index 000000000..4eb5dc787 Binary files /dev/null and b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xhdpi/twine_card.png differ diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxhdpi/darkening.png b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxhdpi/darkening.png new file mode 100644 index 000000000..ff47c2bd1 Binary files /dev/null and b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxhdpi/darkening.png differ diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxhdpi/twine_card.png b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxhdpi/twine_card.png new file mode 100644 index 000000000..d095059bb Binary files /dev/null and b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxhdpi/twine_card.png differ diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxxhdpi/darkening.png b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxxhdpi/darkening.png new file mode 100644 index 000000000..d55bc070d Binary files /dev/null and b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxxhdpi/darkening.png differ diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxxhdpi/twine_card.png b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxxhdpi/twine_card.png new file mode 100644 index 000000000..857f83930 Binary files /dev/null and b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable-xxxhdpi/twine_card.png differ diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/accent_gradient.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/accent_gradient.xml new file mode 100644 index 000000000..3af99e137 --- /dev/null +++ b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/accent_gradient.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/button_gradient_fill.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/button_gradient_fill.xml new file mode 100644 index 000000000..479e0a5ab --- /dev/null +++ b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/button_gradient_fill.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/button_gradient_fill_ripple.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/button_gradient_fill_ripple.xml new file mode 100644 index 000000000..7cafa1d09 --- /dev/null +++ b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/button_gradient_fill_ripple.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/dialog_background.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/dialog_background.xml new file mode 100644 index 000000000..d05e8d3d2 --- /dev/null +++ b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/dialog_background.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/welcome_dialog_border.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/welcome_dialog_border.xml new file mode 100644 index 000000000..524641801 --- /dev/null +++ b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/welcome_dialog_border.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_black.otf b/Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_black.otf new file mode 100644 index 000000000..0341d05db Binary files /dev/null and b/Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_black.otf differ diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_bold.otf b/Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_bold.otf new file mode 100644 index 000000000..2b9144e5c Binary files /dev/null and b/Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_bold.otf differ diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_light.otf b/Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_light.otf new file mode 100644 index 000000000..27af39094 Binary files /dev/null and b/Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_light.otf differ diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_medium.otf b/Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_medium.otf new file mode 100644 index 000000000..04b2a8853 Binary files /dev/null and b/Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_medium.otf differ diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_regular.otf b/Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_regular.otf new file mode 100644 index 000000000..2703ba3f3 Binary files /dev/null and b/Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_regular.otf differ diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_thin.otf b/Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_thin.otf new file mode 100644 index 000000000..666c69931 Binary files /dev/null and b/Software/Android_Studio/ColorCapture/app/src/main/res/font/flexo_thin.otf differ diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/layout/activity_loading.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/activity_loading.xml index 9fb6a6d0e..8ab79ffe2 100644 --- a/Software/Android_Studio/ColorCapture/app/src/main/res/layout/activity_loading.xml +++ b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/activity_loading.xml @@ -51,7 +51,7 @@ android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_centerHorizontal="true" - bind:srcCompat="@drawable/twine_logo" /> + android:src="@drawable/twine_logo" /> diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/layout/dialog_welcome.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/dialog_welcome.xml new file mode 100644 index 000000000..cacc97715 --- /dev/null +++ b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/dialog_welcome.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_capture.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_capture.xml index 0dd8ed653..a175b87d2 100644 --- a/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_capture.xml +++ b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_capture.xml @@ -109,11 +109,12 @@ android:paddingLeft="40dp" android:paddingRight="40dp"> - diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/layout/side_menu.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/side_menu.xml index 07b373724..9921a92a5 100644 --- a/Software/Android_Studio/ColorCapture/app/src/main/res/layout/side_menu.xml +++ b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/side_menu.xml @@ -30,7 +30,7 @@ android:adjustViewBounds="true" android:background="@color/colorPrimaryDark" android:scaleType="fitXY" - app:srcCompat="@drawable/hand_phone" /> + android:src="@drawable/hand_phone" /> #00000000 #0e2340 + + #EB09172A + #B71D3150 diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/values/strings.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/values/strings.xml index 934bc49fb..841774671 100644 --- a/Software/Android_Studio/ColorCapture/app/src/main/res/values/strings.xml +++ b/Software/Android_Studio/ColorCapture/app/src/main/res/values/strings.xml @@ -5,4 +5,10 @@ Hello blank fragment Place your Twine TCC™ card on the object you want to color match + Welcome to twine + + + + Let\'s start! + Don’t have a Twine TCC™ card? diff --git a/Software/Android_Studio/ColorCapture/build.gradle b/Software/Android_Studio/ColorCapture/build.gradle index 8d3ef8e5c..23b43f134 100644 --- a/Software/Android_Studio/ColorCapture/build.gradle +++ b/Software/Android_Studio/ColorCapture/build.gradle @@ -19,6 +19,9 @@ allprojects { repositories { google() jcenter() + maven { + url "https://jitpack.io" + } } } -- cgit v1.3.1