aboutsummaryrefslogtreecommitdiffstats
path: root/Software
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2019-04-13 01:55:47 +0300
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2019-04-13 01:55:47 +0300
commitb8df604c464ffb43f1858377cbb08d8f622b9cd1 (patch)
tree9a0be4b46868049dea72d53b4f20ae3c6ca89a4c /Software
parente3cd087cbe1b6c62df2beac4f6351bc20013726c (diff)
downloadTango-b8df604c464ffb43f1858377cbb08d8f622b9cd1.tar.gz
Tango-b8df604c464ffb43f1858377cbb08d8f622b9cd1.zip
Working on TCC..
Diffstat (limited to 'Software')
-rw-r--r--Software/Android_Studio/ColorCapture/app/build.gradle2
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/AndroidNavigationProvider.java62
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/navigation/INavigationProvider.java27
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragment.java7
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/main/MainActivity.java51
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/main/MainActivityVM.java2
6 files changed, 138 insertions, 13 deletions
diff --git a/Software/Android_Studio/ColorCapture/app/build.gradle b/Software/Android_Studio/ColorCapture/app/build.gradle
index e9f386b96..abe425ac7 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://192.168.1.86:45455/api/\""
+ buildConfigField "String", "WEB_SERVICE_ADDRESS", "\"http://10.100.102.43:45455/api/\""
buildConfigField "String", "WEB_SERVICE_APP_ID", "\"Tdf793i4ughsiduf8749509237885ehgfdlkghlT\""
}
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 2518a3109..96531ab20 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
@@ -17,6 +17,7 @@ import com.twine.colorcapture.core.IAction1;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.Stack;
import javax.inject.Inject;
@@ -33,12 +34,14 @@ public class AndroidNavigationProvider extends ExtendedObject implements INaviga
private boolean isFirst = true;
private Context context;
private List<FragmentNavigatedListener> fragmentNavigatedListeners;
+ private Stack<NavigationFragment> history;
@Inject
public AndroidNavigationProvider(Context context)
{
this.context = context;
fragmentNavigatedListeners = new ArrayList<>();
+ history = new Stack<>();
}
@Override
@@ -67,9 +70,48 @@ public class AndroidNavigationProvider extends ExtendedObject implements INaviga
}
@Override
+ public void navigateBack()
+ {
+ if (canNavigateBack())
+ {
+ navigateTo(history.pop(), false);
+ }
+ }
+
+ @Override
+ public void notifyApplicationResume()
+ {
+ if (currentFragment != null)
+ {
+ currentFragment.getVM().notifyNavigatedTo();
+ }
+ }
+
+ @Override
+ public NavigationFragment getCurrentFragment()
+ {
+ return NavigationFragment.valueOf(currentFragmentName);
+ }
+
+ @Override
+ public boolean canNavigateBack()
+ {
+ return history.size() > 0 && history.peek() != NavigationFragment.valueOf(currentFragmentName);
+ }
+
+ @Override
+ public void reset()
+ {
+ history.clear();
+ currentFragment = null;
+ currentFragmentName = null;
+ isFirst = true;
+ }
+
+ @Override
public void navigateTo(String fragmentName, IAction1<FragmentBase> onCreateListener, boolean addToHistory)
{
- if (activity == null)
+ if (activity == null || fragmentName == currentFragmentName)
{
//logManager.log(new NullPointerException("No navigation activity registered."));
return;
@@ -80,6 +122,14 @@ public class AndroidNavigationProvider extends ExtendedObject implements INaviga
if (currentFragmentName != null)
{
+ if (addToHistory)
+ {
+ if (!history.contains(NavigationFragment.valueOf(currentFragmentName)))
+ {
+ history.push(NavigationFragment.valueOf(currentFragmentName));
+ }
+ }
+
List<NavigationFragment> values = Arrays.asList(NavigationFragment.values());
int newIndex = values.indexOf(NavigationFragment.valueOf(fragmentName));
@@ -130,10 +180,10 @@ public class AndroidNavigationProvider extends ExtendedObject implements INaviga
fragmentTransaction.replace(fragment_container, fragment);
- if (addToHistory)
- {
- fragmentTransaction.addToBackStack(fragmentName);
- }
+// if (addToHistory)
+// {
+// fragmentTransaction.addToBackStack(fragmentName);
+// }
fragmentTransaction.commit();
@@ -150,7 +200,7 @@ public class AndroidNavigationProvider extends ExtendedObject implements INaviga
fragmentFrom.getVM().notifyNavigatedFrom();
}
- },300);
+ }, 300);
// try
// {
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 dc4bb83d4..6f42cfcfb 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
@@ -29,6 +29,33 @@ public interface INavigationProvider
* @param fragmentName the fragment name
*/
void navigateTo(String fragmentName, boolean addToHistory);
+
+ /**
+ * Navigates to the previous fragment.
+ */
+ void navigateBack();
+
+ /**
+ * Sends navigation notification to the current fragment.
+ */
+ void notifyApplicationResume();
+
+ /**
+ * Gets the current navigation fragment.
+ * @return
+ */
+ NavigationFragment getCurrentFragment();
+
+ /**
+ * Gets a value determining whether there is any fragment to navigate back to in the history.
+ * @return
+ */
+ boolean canNavigateBack();
+
+ /**
+ * Resets the navigation manager. (call on navigation activity destroyed)
+ */
+ void reset();
/**
* Navigate to to the specified fragment name.
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 54af2c31a..bf5ff63a8 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
@@ -88,6 +88,13 @@ public class CaptureFragment extends FragmentBase<FragmentCaptureBinding, Captur
surfraceFrame.addView(surfaceView, new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
}
+ @Override
+ public void onPause()
+ {
+ super.onPause();
+ stopCamera();
+ }
+
private void startScanAnimation()
{
//Scanner overlay
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 a5d82de20..30b918f53 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
@@ -18,6 +18,7 @@ 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.mvvm.FragmentBase;
import com.twine.colorcapture.navigation.INavigationProvider;
import com.twine.colorcapture.navigation.NavigationFragment;
import com.twine.colorcapture.notification.INotificationProvider;
@@ -28,6 +29,7 @@ import butterknife.BindView;
public class MainActivity extends ActivityBase<ActivityMainBinding, MainActivityVM> implements IMainActivity
{
+ private boolean passOnCreate;
@Inject
public INavigationProvider navigationProvider;
@@ -45,7 +47,8 @@ public class MainActivity extends ActivityBase<ActivityMainBinding, MainActivity
DrawerLayout drawerLayout;
// Used to load the 'native-lib' library on application startup.
- static {
+ static
+ {
System.loadLibrary("opencv_java3");
System.loadLibrary("native-lib");
}
@@ -65,23 +68,61 @@ public class MainActivity extends ActivityBase<ActivityMainBinding, MainActivity
});
navigationProvider.navigateTo(NavigationFragment.Capture, false);
+ passOnCreate = true;
}
@Override
- protected int getLayoutId() {
+ protected int getLayoutId()
+ {
return R.layout.activity_main;
}
@Override
- protected void inject() {
+ protected void inject()
+ {
App.getComponent().inject(this);
}
- private void showHeader() {
+ private void showHeader()
+ {
frameHeader.setVisibility(View.VISIBLE);
}
- private void hideHeader() {
+ private void hideHeader()
+ {
frameHeader.setVisibility(View.GONE);
}
+
+ @Override
+ public void onBackPressed()
+ {
+ if (navigationProvider.canNavigateBack())
+ {
+ navigationProvider.navigateBack();
+ }
+ else
+ {
+ super.onBackPressed();
+ }
+ }
+
+ @Override
+ protected void onResume()
+ {
+ super.onResume();
+
+ if (!passOnCreate)
+ {
+ navigationProvider.notifyApplicationResume();
+ }
+
+ passOnCreate = false;
+ }
+
+ @Override
+ protected void onDestroy()
+ {
+ navigationProvider.reset();
+ super.onDestroy();
+ }
}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/main/MainActivityVM.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/main/MainActivityVM.java
index fb34e7edd..20905b94d 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/main/MainActivityVM.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/main/MainActivityVM.java
@@ -99,7 +99,7 @@ public class MainActivityVM extends ViewModelBase<IMainActivity>
if (isMyColorsToggled.get()) {
isMoreToggled.setNoCallback(false);
isCaptureToggled.setNoCallback(false);
- navigationProvider.navigateTo(NavigationFragment.MyColors,false);
+ navigationProvider.navigateTo(NavigationFragment.MyColors,true);
}
isMyColorsToggled.setNoCallback(true);
}