aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Android_Studio
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2018-11-20 08:00:12 +0200
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2018-11-20 08:00:12 +0200
commitfa8459be63d8f76059d1e71ab86c01e0a13851b5 (patch)
tree4d027a75bd2167129f9b6e8f58bd7f75d7243ff0 /Software/Android_Studio
parenta6ef5ba92b4945254ac5697a3ac04b9e335a0f25 (diff)
downloadTango-fa8459be63d8f76059d1e71ab86c01e0a13851b5.tar.gz
Tango-fa8459be63d8f76059d1e71ab86c01e0a13851b5.zip
Working on mobile app...
Diffstat (limited to 'Software/Android_Studio')
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/core/Task.java63
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragment.java162
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/loading/LoadingFragmentVM.java29
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/main/MainActivity.java70
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/drawable/gradient_progressbar.xml35
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/drawable/ic_viewfinder.xml14
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/drawable/loading_background_brush.xml12
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/drawable/viewfinder.pngbin0 -> 658 bytes
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_capture.xml66
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/layout/fragment_loading.xml23
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/res/values/styles.xml2
11 files changed, 368 insertions, 108 deletions
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/core/Task.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/core/Task.java
new file mode 100644
index 000000000..2858fbc3c
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/core/Task.java
@@ -0,0 +1,63 @@
+package com.twine.colorcapture.core;
+
+import android.os.AsyncTask;
+
+public class Task extends AsyncTask<String, Integer, String> {
+
+ private IAction action;
+ private IAction continueWithAction;
+
+ public Task(IAction action) {
+ this.action = action;
+ }
+
+ public Task(IAction action, IAction continueWithAction) {
+ this.action = action;
+ this.continueWithAction = continueWithAction;
+ }
+
+ @Override
+ protected String doInBackground(String... strings) {
+ action.invoke();
+ return null;
+ }
+
+ @Override
+ protected void onPostExecute(String s) {
+ super.onPostExecute(s);
+
+ if (continueWithAction != null)
+ {
+ continueWithAction.invoke();
+ }
+ }
+
+ public void start()
+ {
+ execute("");
+ }
+
+ public static class TaskBuilder
+ {
+ private Task task;
+ private IAction action;
+ private IAction continueWithAction;
+
+ public TaskBuilder setAction(IAction action)
+ {
+ this.action = action;
+ return this;
+ }
+
+ public TaskBuilder setContinueWith(IAction action)
+ {
+ this.continueWithAction = action;
+ return this;
+ }
+
+ public Task build()
+ {
+ return new Task(action,continueWithAction);
+ }
+ }
+}
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 d068a2291..4da196dda 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
@@ -1,32 +1,28 @@
package com.twine.colorcapture.views.capture;
-import android.Manifest;
-import android.content.pm.PackageManager;
+import android.animation.ObjectAnimator;
+import android.animation.ValueAnimator;
import android.graphics.Bitmap;
import android.graphics.ImageFormat;
import android.hardware.Camera;
import android.hardware.Camera.CameraInfo;
import android.hardware.Camera.Size;
import android.os.Build;
-import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
-import android.support.annotation.NonNull;
-import android.support.v4.app.ActivityCompat;
-import android.support.v4.content.ContextCompat;
-import android.view.LayoutInflater;
import android.view.Surface;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
-import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
+import android.view.ViewTreeObserver;
+import android.view.animation.AccelerateDecelerateInterpolator;
import android.widget.FrameLayout;
import android.widget.ImageView;
-import android.widget.Toast;
import com.twine.colorcapture.App;
import com.twine.colorcapture.R;
+import com.twine.colorcapture.core.Task;
import com.twine.colorcapture.databinding.FragmentCaptureBinding;
import com.twine.colorcapture.mvvm.FragmentBase;
import com.twine.colorcapture.opencv.ImageProcessor;
@@ -53,50 +49,97 @@ public class CaptureFragment extends FragmentBase<FragmentCaptureBinding, Captur
private ImageProcessor processor;
private Handler mHandler;
private SurfaceView surfaceView;
-
+ ObjectAnimator animator;
+ View scannerLayout;
+ View scannerBar;
+
public CaptureFragment()
{
// Required empty public constructor
mHandler = new Handler(Looper.getMainLooper());
processor = new ImageProcessor();
}
-
+
@Override
protected void onCreated()
{
super.onCreated();
-
+
imagePreview = getView().findViewById(R.id.imagePreview);
imagewrappedPreview = getView().findViewById(R.id.imagePreviewWrapped);
-
+
surfaceView = new SurfaceView(this.getActivity());
-
+
SurfaceHolder camHolder = surfaceView.getHolder();
camHolder.addCallback(this);
camHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
-
+
FrameLayout surfraceFrame = (FrameLayout) getView().findViewById(R.id.surfaceViewFrame);
- surfraceFrame.addView(surfaceView, new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
+
+ startScanAnimation();
+
+ new Handler().postDelayed(() ->
+ {
+ surfraceFrame.addView(surfaceView, new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
+ },500);
+ }
+
+ private void startScanAnimation()
+ {
+ //Scanner overlay
+ scannerLayout = getView().findViewById(R.id.scannerLayout);
+ scannerBar = getView().findViewById(R.id.scannerBar);
+ animator = null;
+ ViewTreeObserver vto = scannerLayout.getViewTreeObserver();
+ vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
+ @Override
+ public void onGlobalLayout() {
+
+ scannerLayout.getViewTreeObserver().removeGlobalOnLayoutListener(this);
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
+ scannerLayout.getViewTreeObserver().
+ removeGlobalOnLayoutListener(this);
+
+ } else {
+ scannerLayout.getViewTreeObserver().
+ removeOnGlobalLayoutListener(this);
+ }
+
+ float destination = (float)(scannerLayout.getY() +
+ scannerLayout.getHeight());
+
+ animator = ObjectAnimator.ofFloat(scannerBar, "translationY",
+ scannerLayout.getY(),
+ destination);
+
+ animator.setRepeatMode(ValueAnimator.REVERSE);
+ animator.setRepeatCount(ValueAnimator.INFINITE);
+ animator.setInterpolator(new AccelerateDecelerateInterpolator());
+ animator.setDuration(2000);
+ animator.start();
+
+ }
+ });
}
-
+
@Override
protected int getLayoutId()
{
return R.layout.fragment_capture;
}
-
+
@Override
protected void inject()
{
App.getComponent().inject(this);
}
-
+
@Override
public String getTitle()
{
return "Capture";
}
-
+
@Override
public void onPreviewFrame(byte[] data, Camera camera)
{
@@ -106,11 +149,11 @@ public class CaptureFragment extends FragmentBase<FragmentCaptureBinding, Captur
if (!bProcessing)
{
frameData = data;
- mHandler.post(DoImageProcessing);
+ processImage();
}
}
}
-
+
@Override
public void surfaceCreated(SurfaceHolder surfaceHolder)
{
@@ -125,9 +168,9 @@ public class CaptureFragment extends FragmentBase<FragmentCaptureBinding, Captur
break;
}
}
-
+
camera = Camera.open(cameraId);
-
+
try
{
camera.setPreviewDisplay(surfaceHolder);
@@ -139,18 +182,18 @@ public class CaptureFragment extends FragmentBase<FragmentCaptureBinding, Captur
camera = null;
}
}
-
+
@Override
public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2)
{
Camera.Parameters parameters;
-
+
setCameraDisplayOrientation();
-
+
parameters = camera.getParameters();
-
+
List<Size> sizes = parameters.getSupportedPreviewSizes();
-
+
for (Camera.Size size : parameters.getSupportedPreviewSizes())
{
if (size.width >= 1200 & size.width <= 1280)
@@ -160,30 +203,30 @@ public class CaptureFragment extends FragmentBase<FragmentCaptureBinding, Captur
break;
}
}
-
+
int width = parameters.getPreviewSize().width;
int height = parameters.getPreviewSize().height;
-
+
imageFormat = parameters.getPreviewFormat();
-
+
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
-
+
camera.setParameters(parameters);
-
+
parameters = camera.getParameters();
-
+
previewWidth = parameters.getPreviewSize().width;
previewHeight = parameters.getPreviewSize().height;
-
+
bitmap = Bitmap.createBitmap(previewHeight, previewWidth, Bitmap.Config.ARGB_8888);
wrappedBitmap = Bitmap.createBitmap(300, 330, Bitmap.Config.ARGB_8888);
-
+
pixels = new int[previewWidth * previewHeight];
wrappedPixels = new int[330 * 300];
-
+
camera.startPreview();
}
-
+
@Override
public void surfaceDestroyed(SurfaceHolder surfaceHolder)
{
@@ -192,7 +235,7 @@ public class CaptureFragment extends FragmentBase<FragmentCaptureBinding, Captur
camera.release();
camera = null;
}
-
+
private void setCameraDisplayOrientation()
{
android.hardware.Camera.CameraInfo info =
@@ -215,7 +258,7 @@ public class CaptureFragment extends FragmentBase<FragmentCaptureBinding, Captur
degrees = 270;
break;
}
-
+
int result;
if (info.facing == CameraInfo.CAMERA_FACING_FRONT)
{
@@ -227,23 +270,26 @@ public class CaptureFragment extends FragmentBase<FragmentCaptureBinding, Captur
result = (info.orientation - degrees + 360) % 360;
}
camera.setDisplayOrientation(result);
-
+
}
-
- private Runnable DoImageProcessing = new Runnable()
+
+ private void processImage()
{
- public void run()
- {
- bProcessing = true;
- processor.ProcessImage(previewWidth, previewHeight, frameData, pixels, wrappedPixels);
-
- bitmap.setPixels(pixels, 0, previewHeight, 0, 0, previewHeight, previewWidth);
- imagePreview.setImageBitmap(bitmap);
-
- wrappedBitmap.setPixels(wrappedPixels, 0, 300, 0, 0, 300, 330);
- imagewrappedPreview.setImageBitmap(wrappedBitmap);
-
- bProcessing = false;
- }
- };
+ new Task.TaskBuilder()
+ .setAction(() ->
+ {
+ bProcessing = true;
+ processor.ProcessImage(previewWidth, previewHeight, frameData, pixels, wrappedPixels);
+ bitmap.setPixels(pixels, 0, previewHeight, 0, 0, previewHeight, previewWidth);
+ wrappedBitmap.setPixels(wrappedPixels, 0, 300, 0, 0, 300, 330);
+ })
+ .setContinueWith(() ->
+ {
+ imagePreview.setImageBitmap(bitmap);
+ imagewrappedPreview.setImageBitmap(wrappedBitmap);
+ bProcessing = false;
+ })
+ .build()
+ .start();
+ }
} \ No newline at end of file
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 fd80e792a..49b8c07f9 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,8 +1,10 @@
package com.twine.colorcapture.views.loading;
+import android.os.CountDownTimer;
import android.os.Handler;
import com.squareup.otto.Bus;
+import com.twine.colorcapture.mvvm.DependencyProperty;
import com.twine.colorcapture.mvvm.ViewModelBase;
import com.twine.colorcapture.navigation.INavigationProvider;
import com.twine.colorcapture.navigation.NavigationView;
@@ -13,25 +15,44 @@ import javax.inject.Inject;
public class LoadingFragmentVM extends ViewModelBase<ILoadingFragment>
{
private INavigationProvider navigationProvider;
+ public DependencyProperty<Integer> loadingProgress;
@Inject
public LoadingFragmentVM(Bus eventBus, INotificationProvider notificationProvider, INavigationProvider navigationProvider)
{
this.navigationProvider = navigationProvider;
-
+
+ loadingProgress = new DependencyProperty<>(0);
}
@Override
protected void onViewAttached(ILoadingFragment view)
{
super.onViewAttached(view);
+
+ new CountDownTimer(2000,50)
+ {
+
+ @Override
+ public void onTick(long l) {
+
+ loadingProgress.set(loadingProgress.get() + 50);
+ }
+
+ @Override
+ public void onFinish() {
+
+ loadingProgress.set(2000);
+ navigationProvider.navigateTo(NavigationView.Home, false);
+ }
+ }.start();
- new Handler().postDelayed(() ->
+/* new Handler().postDelayed(() ->
{
- navigationProvider.navigateTo(NavigationView.Home, false);
+
- }, 2000);
+ }, 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 6d8e4d5ca..46d3f1679 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
@@ -21,6 +21,8 @@ import javax.inject.Inject;
public class MainActivity extends ActivityBase<ActivityMainBinding, MainActivityVM> implements IMainActivity
{
+ private boolean displayOnboarding = false;
+
@Inject
public INavigationProvider navigationProvider;
@@ -36,40 +38,42 @@ public class MainActivity extends ActivityBase<ActivityMainBinding, MainActivity
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
-
- // Example of a call to a native method
- //TextView tv = (TextView) findViewById(R.id.sample_text);
- //tv.setText(stringFromJNI());
-
- PaperOnboardingPage scr1 = new PaperOnboardingPage("Welcome to true color capture",
- "All hotels and hostels are sorted by hospitality rating",
- Color.parseColor("#678FB4"), R.drawable.hand_fabric, 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.hand_phone, R.drawable.onboarding_pager_round_icon);
- PaperOnboardingPage scr3 = new PaperOnboardingPage("Stores",
- "All local stores are categorized for your convenience",
- Color.parseColor("#9B90BC"), R.drawable.take_picture, 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);
-
- onboardingFragment.setOnRightOutListener(() ->
- {
-
- navigationProvider.navigateTo(NavigationView.Loading, false);
-
- });
-
- 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");
+
+ if (displayOnboarding) {
+ PaperOnboardingPage scr1 = new PaperOnboardingPage("Welcome to true color capture",
+ "All hotels and hostels are sorted by hospitality rating",
+ Color.parseColor("#678FB4"), R.drawable.hand_fabric, 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.hand_phone, R.drawable.onboarding_pager_round_icon);
+ PaperOnboardingPage scr3 = new PaperOnboardingPage("Stores",
+ "All local stores are categorized for your convenience",
+ Color.parseColor("#9B90BC"), R.drawable.take_picture, 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);
+
+ onboardingFragment.setOnRightOutListener(() ->
+ {
+
+ navigationProvider.navigateTo(NavigationView.Loading, false);
+
+ });
+
+ FragmentTransaction fragmentTransaction = this.getFragmentManager().beginTransaction();
+ fragmentTransaction.add(R.id.fragment_container, onboardingFragment);
+ fragmentTransaction.commit();
+ }
+ else
+ {
+ navigationProvider.navigateTo(NavigationView.Loading, false);
+ }
}
@Override
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/gradient_progressbar.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/gradient_progressbar.xml
new file mode 100644
index 000000000..c60c24357
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/gradient_progressbar.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:id="@android:id/background">
+ <shape>
+ <solid android:color="#FFF" />
+ <size
+ android:height="15dp"
+ android:width="15dp" />
+ <corners android:radius="10dp" />
+ </shape>
+ </item>
+ <item android:id="@android:id/progress">
+ <clip>
+ <layer-list>
+ <item>
+ <color android:color="#00000000" />
+ </item>
+ <item
+ android:left="2dp"
+ android:top="2dp"
+ android:right="2dp"
+ android:bottom="2dp">
+ <shape>
+ <gradient
+ android:angle="45"
+ android:startColor="#00b2ff"
+ android:endColor="#b7ff00"
+ android:type="linear" />
+ <corners android:radius="10dp" />
+ </shape>
+ </item>
+ </layer-list>
+ </clip>
+ </item>
+</layer-list> \ No newline at end of file
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/ic_viewfinder.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/ic_viewfinder.xml
new file mode 100644
index 000000000..b4e83acad
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/ic_viewfinder.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector android:height="24dp" android:viewportHeight="75.6"
+ android:viewportWidth="75.6" android:width="24dp"
+ xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <path android:fillColor="#AAFFFFFF"
+ android:pathData="M1,17.8l-1,0l0,-17.8l17.8,0l0,1l-16.8,0z"/>
+ <path android:fillColor="#AAFFFFFF"
+ android:pathData="M57.8,1l0,-1l17.8,0l0,17.8l-1,0l0,-16.8z"/>
+ <path android:fillColor="#AAFFFFFF"
+ android:pathData="M74.6,57.8l1,0l0,17.8l-17.8,0l0,-1l16.8,0z"/>
+ <path android:fillColor="#AAFFFFFF"
+ android:pathData="M17.8,74.6l0,1l-17.8,0l0,-17.8l1,0l0,16.8z"/>
+</vector> \ No newline at end of file
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/loading_background_brush.xml b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/loading_background_brush.xml
new file mode 100644
index 000000000..ede18b1f8
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/loading_background_brush.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item>
+ <shape>
+ <gradient
+ android:angle="45"
+ android:startColor="#212121"
+ android:endColor="#313131"
+ android:type="linear" />
+ </shape>
+ </item>
+</selector> \ No newline at end of file
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/viewfinder.png b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/viewfinder.png
new file mode 100644
index 000000000..82127eac9
--- /dev/null
+++ b/Software/Android_Studio/ColorCapture/app/src/main/res/drawable/viewfinder.png
Binary files differ
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 f8725175a..7f8e470d0 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
@@ -30,7 +30,8 @@
android:id="@+id/imagePreview"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:scaleType="centerCrop" />
+ android:scaleType="centerCrop"
+ android:visibility="gone" />
<ImageView
android:id="@+id/imagePreviewWrapped"
@@ -42,5 +43,68 @@
android:layout_marginBottom="28dp"
app:srcCompat="@android:color/black" />
</RelativeLayout>
+
+ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="100dp"
+ android:background="#9A000000" />
+
+
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1">
+
+ <View
+ android:id="@+id/left"
+ android:layout_width="40dp"
+ android:layout_height="match_parent"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:background="#9A000000" />
+
+ <LinearLayout
+ android:id="@+id/scannerLayout"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_centerInParent="true"
+ android:layout_toEndOf="@+id/left"
+ android:layout_toLeftOf="@id/right"
+ android:layout_toRightOf="@id/left"
+ android:layout_toStartOf="@+id/right"
+ android:background="@drawable/ic_viewfinder"
+ android:orientation="horizontal">
+
+ <View
+ android:id="@+id/scannerBar"
+ android:layout_width="match_parent"
+ android:layout_height="5dp"
+ android:background="@color/colorPrimary" />
+
+
+ </LinearLayout>
+
+
+ <View
+ android:id="@+id/right"
+ android:layout_width="40dp"
+ android:layout_height="match_parent"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentRight="true"
+ android:background="#9A000000" />
+
+ </RelativeLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="100dp"
+ android:background="#9A000000" />
+
+ </LinearLayout>
</FrameLayout>
</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 0c914ce96..21fbf6485 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
@@ -11,6 +11,7 @@
</data>
<FrameLayout
+ android:background="#000000"
android:layout_width="match_parent"
android:layout_height="match_parent">
@@ -19,7 +20,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="fitXY"
- bind:srcCompat="@drawable/loading_background" />
+ bind:srcCompat="@drawable/loading_background_brush" />
<RelativeLayout
android:layout_width="match_parent"
@@ -36,22 +37,20 @@
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
- android:text="True Color Capture"
- android:textColor="@android:color/black"
- android:textSize="30sp" />
+ android:text="Loading..."
+ android:textSize="21sp" />
<ProgressBar
android:id="@+id/progressBar"
- style="?android:attr/progressBarStyle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
+ style="@android:style/Widget.ProgressBar.Horizontal"
+ android:layout_width="301dp"
+ android:layout_height="22dp"
android:layout_below="@+id/textView"
- android:layout_alignParentBottom="true"
+ android:layout_marginTop="15dp"
android:layout_centerHorizontal="true"
- android:layout_marginTop="41dp"
- android:layout_marginBottom="171dp"
- android:indeterminate="true"
- android:indeterminateTint="@android:color/black" />
+ android:max="2000"
+ android:progress="@{vm.loadingProgress}"
+ android:progressDrawable="@drawable/gradient_progressbar" />
</RelativeLayout>
</FrameLayout>
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 557a55831..743fe092c 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
@@ -5,6 +5,8 @@
<!--<item name="colorPrimary">@color/colorPrimary</item>-->
<!--<item name="colorPrimaryDark">@color/colorPrimaryDark</item>-->
<!--<item name="colorAccent">@color/colorAccent</item>-->
+
+
</style>
</resources>