diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-11-18 14:34:27 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-11-18 14:34:27 +0200 |
| commit | 8a01668048f2a261dd0ede2cc63db6862c6217b8 (patch) | |
| tree | c471907b1e0c3b7ce2420522d93753ac3677f669 /Software/Android_Studio | |
| parent | 76e5322b622e45d69261eef438c5ca47c1b20b29 (diff) | |
| download | Tango-8a01668048f2a261dd0ede2cc63db6862c6217b8.tar.gz Tango-8a01668048f2a261dd0ede2cc63db6862c6217b8.zip | |
Working on android app.
Diffstat (limited to 'Software/Android_Studio')
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' |
