aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-11-18 14:34:27 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-11-18 14:34:27 +0200
commit8a01668048f2a261dd0ede2cc63db6862c6217b8 (patch)
treec471907b1e0c3b7ce2420522d93753ac3677f669
parent76e5322b622e45d69261eef438c5ca47c1b20b29 (diff)
downloadTango-8a01668048f2a261dd0ede2cc63db6862c6217b8.tar.gz
Tango-8a01668048f2a261dd0ede2cc63db6862c6217b8.zip
Working on android app.
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/cpp/native-lib.cpp12
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dagger/ApplicationComponent.java3
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/dagger/ViewModelsModule.java13
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/mvvm/ViewModelBase.java1
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/AndroidNavigationProvider.java32
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/INavigationProvider.java8
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/NavigationView.java1
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/home/HomeFragment.java32
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/home/HomeFragmentVM.java15
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/home/IHomeFragment.java8
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/loading/LoadingFragmentVM.java24
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/main/MainActivity.java29
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_home.xml31
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_loading.xml12
-rw-r--r--Software/Android_Studio/ColorCapture/settings.gradle2
15 files changed, 195 insertions, 28 deletions
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/cpp/native-lib.cpp b/Software/Android_Studio/ColorCapture/app/src/main/cpp/native-lib.cpp
index 760cfec13..6da71fd81 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/cpp/native-lib.cpp
+++ b/Software/Android_Studio/ColorCapture/app/src/main/cpp/native-lib.cpp
@@ -1,10 +1,20 @@
#include <jni.h>
#include <string>
+#include <opencv2/core.hpp>
+#include <opencv2/imgproc/imgproc_c.h>
+#include <ColorCaptureLib.h>
+#include <android/log.h>
+
+using namespace cv;
extern "C" JNIEXPORT jstring JNICALL
Java_com_twine_colorcapture_views_main_MainActivity_stringFromJNI(
JNIEnv *env,
- jobject /* this */) {
+ jobject /* this */)
+{
+ ColorCaptureLib capture;
+ Mat rgb;
+
std::string hello = "Hello from C++";
return env->NewStringUTF(hello.c_str());
}
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 23a543fe3..1173c8751 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.views.home.HomeFragment;
import com.twine.colorcapture.views.loading.LoadingFragment;
import com.twine.colorcapture.views.main.MainActivity;
import com.twine.colorcapture.views.main.MainActivityVM;
@@ -20,6 +21,8 @@ public interface ApplicationComponent
void inject(MainActivity view);
void inject(LoadingFragment view);
+
+ void inject(HomeFragment view);
MainActivityVM provideMainActivityVM();
}
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 fbf1eaf7c..41786b2a5 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
@@ -3,8 +3,10 @@ package com.twine.colorcapture.dagger;
import com.squareup.otto.Bus;
import com.twine.colorcapture.navigation.INavigationProvider;
import com.twine.colorcapture.notification.INotificationProvider;
+import com.twine.colorcapture.views.home.HomeFragmentVM;
import com.twine.colorcapture.views.loading.LoadingFragmentVM;
import com.twine.colorcapture.views.main.MainActivityVM;
+
import javax.inject.Singleton;
import dagger.Module;
@@ -27,8 +29,15 @@ public class ViewModelsModule
@Provides
@Singleton
- public LoadingFragmentVM provideLoginFragmentVM(Bus eventBus, INotificationProvider notificationProvider)
+ public LoadingFragmentVM provideLoadingFragmentVM(Bus eventBus, INotificationProvider notificationProvider, INavigationProvider navigationProvider)
+ {
+ return new LoadingFragmentVM(eventBus, notificationProvider, navigationProvider);
+ }
+
+ @Provides
+ @Singleton
+ public HomeFragmentVM provideHomeFragmentVM(Bus eventBus, INotificationProvider notificationProvider, INavigationProvider navigationProvider)
{
- return new LoadingFragmentVM(eventBus, notificationProvider);
+ return new HomeFragmentVM();
}
}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/mvvm/ViewModelBase.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/mvvm/ViewModelBase.java
index 7e2edbb97..7edead907 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/mvvm/ViewModelBase.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/mvvm/ViewModelBase.java
@@ -11,7 +11,6 @@ import java.lang.reflect.Field;
*/
public abstract class ViewModelBase<T extends IView> extends ExtendedObject
{
-
/**
* The View.
*/
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 71d6ba18f..68a6a3068 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
@@ -18,6 +18,7 @@ public class AndroidNavigationProvider extends ExtendedObject implements INaviga
private FragmentBase currentFragment;
private int fragment_container;
private String basePackagePath;
+ private boolean isFirst = true;
@Override
public void registerNavigationActivity(AppCompatActivity activity, int fragmentContainerId, String basePackagePath)
@@ -29,25 +30,25 @@ public class AndroidNavigationProvider extends ExtendedObject implements INaviga
@Override
- public void navigateTo(Enum fragmentValue)
+ public void navigateTo(Enum fragmentValue, boolean addToHistory)
{
- navigateTo(fragmentValue.name());
+ navigateTo(fragmentValue.name(),addToHistory);
}
@Override
- public void navigateTo(Enum fragmentValue, IAction1<FragmentBase> onCreateListener)
+ public void navigateTo(Enum fragmentValue, IAction1<FragmentBase> onCreateListener, boolean addToHistory)
{
- navigateTo(fragmentValue.name(), onCreateListener);
+ navigateTo(fragmentValue.name(), onCreateListener,addToHistory);
}
@Override
- public void navigateTo(String fragmentName)
+ public void navigateTo(String fragmentName, boolean addToHistory)
{
- navigateTo(fragmentName, null);
+ navigateTo(fragmentName, null,addToHistory);
}
@Override
- public void navigateTo(String fragmentName, IAction1<FragmentBase> onCreateListener)
+ public void navigateTo(String fragmentName, IAction1<FragmentBase> onCreateListener, boolean addToHistory)
{
if (activity == null)
{
@@ -61,24 +62,21 @@ public class AndroidNavigationProvider extends ExtendedObject implements INaviga
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
FragmentBase fragment;
- boolean is_first = false;
-
fragment = (FragmentBase) fragmentManager.findFragmentByTag(fragmentName);
if (fragment == null)
{
- is_first = true;
-
try
{
fragment = (FragmentBase) Class.forName(fragmentName).newInstance();
- } catch (Exception ex)
+ }
+ catch (Exception ex)
{
//logManager.log(ex,"Fragment " + fragmentName + " not found.");
return;
}
}
-
+
// Slide enterSlide = new Slide();
// enterSlide.setSlideEdge(Gravity.END);
// enterSlide.setDuration(300);
@@ -106,20 +104,22 @@ public class AndroidNavigationProvider extends ExtendedObject implements INaviga
fragment.setOnCreateListener(onCreateListener);
- if (!is_first)
+ if (!isFirst)
{
fragmentTransaction.setCustomAnimations(R.animator.slide_in_left, R.animator.slide_out_left, R.animator.slide_out_right, R.animator.slide_in_right);
}
+ isFirst = false;
+
fragmentTransaction.replace(fragment_container, fragment);
- if (!is_first)
+ if (addToHistory)
{
fragmentTransaction.addToBackStack(fragmentName);
}
fragmentTransaction.commit();
-
+
// try
// {
// //noinspection ConstantConditions
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 4d787f102..a6567d576 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
@@ -24,7 +24,7 @@ public interface INavigationProvider
*
* @param fragmentName the fragment name
*/
- void navigateTo(String fragmentName);
+ void navigateTo(String fragmentName, boolean addToHistory);
/**
* Navigate to to the specified fragment name.
@@ -32,14 +32,14 @@ public interface INavigationProvider
* @param fragmentName the fragment name
* @param onCreateListener the on create listener
*/
- void navigateTo(String fragmentName, IAction1<FragmentBase> onCreateListener);
+ void navigateTo(String fragmentName, IAction1<FragmentBase> onCreateListener, boolean addToHistory);
/**
* Navigate to to the specified enum value fragment name.
*
* @param fragmentValue the fragment value
*/
- void navigateTo(Enum fragmentValue);
+ void navigateTo(Enum fragmentValue, boolean addToHistory);
/**
* Navigate to to the specified enum value fragment name.
@@ -47,5 +47,5 @@ public interface INavigationProvider
* @param fragmentValue the fragment value
* @param onCreateListener the on create listener
*/
- void navigateTo(Enum fragmentValue, IAction1<FragmentBase> onCreateListener);
+ void navigateTo(Enum fragmentValue, IAction1<FragmentBase> onCreateListener, boolean addToHistory);
}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/NavigationView.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/NavigationView.java
index 6e875e7c1..ed9cce00f 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/NavigationView.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/NavigationView.java
@@ -3,4 +3,5 @@ package com.twine.colorcapture.navigation;
public enum NavigationView
{
Loading,
+ Home,
}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/home/HomeFragment.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/home/HomeFragment.java
new file mode 100644
index 000000000..d0294533e
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/home/HomeFragment.java
@@ -0,0 +1,32 @@
+package com.twine.colorcapture.views.home;
+import com.twine.colorcapture.App;
+import com.twine.colorcapture.R;
+import com.twine.colorcapture.databinding.FragmentHomeBinding;
+import com.twine.colorcapture.mvvm.FragmentBase;
+
+public class HomeFragment extends FragmentBase<FragmentHomeBinding, HomeFragmentVM> implements IHomeFragment
+{
+
+ public HomeFragment()
+ {
+ // Required empty public constructor
+ }
+
+ @Override
+ protected int getLayoutId()
+ {
+ return R.layout.fragment_home;
+ }
+
+ @Override
+ protected void inject()
+ {
+ App.getComponent().inject(this);
+ }
+
+ @Override
+ public String getTitle()
+ {
+ return "Home";
+ }
+}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/home/HomeFragmentVM.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/home/HomeFragmentVM.java
new file mode 100644
index 000000000..048ea5265
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/home/HomeFragmentVM.java
@@ -0,0 +1,15 @@
+package com.twine.colorcapture.views.home;
+
+import com.twine.colorcapture.mvvm.ViewModelBase;
+
+import javax.inject.Inject;
+
+public class HomeFragmentVM extends ViewModelBase<IHomeFragment>
+{
+
+ @Inject
+ public HomeFragmentVM()
+ {
+
+ }
+}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/home/IHomeFragment.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/home/IHomeFragment.java
new file mode 100644
index 000000000..e4f94c04b
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/home/IHomeFragment.java
@@ -0,0 +1,8 @@
+package com.twine.colorcapture.views.home;
+
+import com.twine.colorcapture.mvvm.IView;
+
+public interface IHomeFragment extends IView
+{
+
+}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/loading/LoadingFragmentVM.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/loading/LoadingFragmentVM.java
index 4884cd07f..fd80e792a 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/loading/LoadingFragmentVM.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/loading/LoadingFragmentVM.java
@@ -1,15 +1,37 @@
package com.twine.colorcapture.views.loading;
+import android.os.Handler;
+
import com.squareup.otto.Bus;
import com.twine.colorcapture.mvvm.ViewModelBase;
+import com.twine.colorcapture.navigation.INavigationProvider;
+import com.twine.colorcapture.navigation.NavigationView;
import com.twine.colorcapture.notification.INotificationProvider;
import javax.inject.Inject;
public class LoadingFragmentVM extends ViewModelBase<ILoadingFragment>
{
+ private INavigationProvider navigationProvider;
+
@Inject
- public LoadingFragmentVM(Bus eventBus, INotificationProvider notificationProvider) {
+ public LoadingFragmentVM(Bus eventBus, INotificationProvider notificationProvider, INavigationProvider navigationProvider)
+ {
+
+ this.navigationProvider = navigationProvider;
+
+ }
+ @Override
+ protected void onViewAttached(ILoadingFragment view)
+ {
+ super.onViewAttached(view);
+
+ new Handler().postDelayed(() ->
+ {
+
+ navigationProvider.navigateTo(NavigationView.Home, false);
+
+ }, 2000);
}
}
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 1c6058755..9cebd1526 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,5 +1,7 @@
package com.twine.colorcapture.views.main;
+import android.graphics.Color;
+import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
@@ -11,6 +13,8 @@ import com.twine.colorcapture.mvvm.ActivityBase;
import com.twine.colorcapture.navigation.INavigationProvider;
import com.twine.colorcapture.navigation.NavigationView;
+import java.util.ArrayList;
+
import javax.inject.Inject;
public class MainActivity extends ActivityBase<ActivityMainBinding, MainActivityVM> implements IMainActivity
@@ -34,9 +38,30 @@ public class MainActivity extends ActivityBase<ActivityMainBinding, MainActivity
//TextView tv = (TextView) findViewById(R.id.sample_text);
//tv.setText(stringFromJNI());
- navigationProvider.registerNavigationActivity(this, R.id.fragment_container, "com.twine.colorcapture.views");
+/* PaperOnboardingPage scr1 = new PaperOnboardingPage("Hotels",
+ "All hotels and hostels are sorted by hospitality rating",
+ Color.parseColor("#678FB4"), R.drawable.onboarding_pager_round_icon, R.drawable.onboarding_pager_round_icon);
+ PaperOnboardingPage scr2 = new PaperOnboardingPage("Banks",
+ "We carefully verify all banks before add them into the app",
+ Color.parseColor("#65B0B4"), R.drawable.onboarding_pager_round_icon, R.drawable.onboarding_pager_round_icon);
+ PaperOnboardingPage scr3 = new PaperOnboardingPage("Stores",
+ "All local stores are categorized for your convenience",
+ Color.parseColor("#9B90BC"), R.drawable.onboarding_pager_round_icon, R.drawable.onboarding_pager_round_icon);
+
+ ArrayList<PaperOnboardingPage> elements = new ArrayList<>();
+ elements.add(scr1);
+ elements.add(scr2);
+ elements.add(scr3);
+
+ PaperOnboardingFragment onboardingFragment = PaperOnboardingFragment.newInstance(elements);*/
- navigationProvider.navigateTo(NavigationView.Loading);
+/* FragmentTransaction fragmentTransaction = this.getFragmentManager().beginTransaction();
+ fragmentTransaction.add(R.id.fragment_container, onboardingFragment);
+ fragmentTransaction.commit();*/
+
+ navigationProvider.registerNavigationActivity(this, R.id.fragment_container, "com.twine.colorcapture.views");
+
+ navigationProvider.navigateTo(NavigationView.Loading, false);
}
@Override
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_home.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_home.xml
new file mode 100644
index 000000000..b16bd7ebf
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_home.xml
@@ -0,0 +1,31 @@
+<layout xmlns:tools="http://schemas.android.com/tools"
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:bind="http://schemas.android.com/apk/res-auto">
+
+ <data>
+ <variable
+ name="vm"
+ type="com.twine.colorcapture.views.home.HomeFragmentVM" />
+ </data>
+
+ <RelativeLayout
+ android:layoutDirection="ltr"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:paddingLeft="40dp"
+ android:paddingRight="40dp"
+ tools:context="com.twine.colorcapture.views.home.HomeFragment">
+
+
+ <TextView
+ android:id="@+id/textView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerHorizontal="true"
+ android:layout_centerVertical="true"
+ android:text="Home View"
+ android:textSize="30sp"
+ tools:text="Home View" />
+ </RelativeLayout>
+</layout>
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_loading.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_loading.xml
index f3a2e57b8..be083149d 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_loading.xml
+++ b/Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_loading.xml
@@ -27,5 +27,17 @@
android:text="Loading View"
android:textSize="30sp"
tools:text="Loading View" />
+
+ <ProgressBar
+ android:id="@+id/progressBar"
+ style="?android:attr/progressBarStyle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@+id/textView"
+ android:layout_alignParentBottom="true"
+ android:layout_centerHorizontal="true"
+ android:layout_marginTop="41dp"
+ android:layout_marginBottom="171dp"
+ android:indeterminate="true" />
</RelativeLayout>
</layout>
diff --git a/Software/Android_Studio/ColorCapture/settings.gradle b/Software/Android_Studio/ColorCapture/settings.gradle
index bdf2d88b9..e7b4def49 100644
--- a/Software/Android_Studio/ColorCapture/settings.gradle
+++ b/Software/Android_Studio/ColorCapture/settings.gradle
@@ -1 +1 @@
-include ':app', ':core'
+include ':app'