diff --git a/app/src/main/java/com/ray650128/gstreamer_demo_app/ui/HorizontalPager.java b/app/src/main/java/com/ray650128/gstreamer_demo_app/ui/HorizontalPager.java
new file mode 100644
index 0000000..5b7bcb8
--- /dev/null
+++ b/app/src/main/java/com/ray650128/gstreamer_demo_app/ui/HorizontalPager.java
@@ -0,0 +1,484 @@
+package com.ray650128.gstreamer_demo_app.ui;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.util.DisplayMetrics;
+import android.view.Display;
+import android.view.MotionEvent;
+import android.view.VelocityTracker;
+import android.view.View;
+import android.view.ViewConfiguration;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.widget.Scroller;
+
+/**
+ * A view group that allows users to switch between multiple screens (layouts) in the same way as
+ * the Android home screen (Launcher application).
+ *
+ * You can add and remove views using the normal methods {@link ViewGroup#addView(View)},
+ * {@link ViewGroup#removeView(View)} etc. You may want to listen for updates by calling
+ * {@link HorizontalPager#setOnScreenSwitchListener(OnScreenSwitchListener)} in order to perform
+ * operations once a new screen has been selected.
+ *
+ * Modifications from original version (ysamlan): Animate argument in setCurrentScreen and duration
+ * in snapToScreen; onInterceptTouchEvent handling to support nesting a vertical Scrollview inside
+ * the RealViewSwitcher; allowing snapping to a view even during an ongoing scroll; snap to
+ * next/prev view on 25% scroll change; density-independent swipe sensitivity; width-independent
+ * pager animation durations on scrolling to properly handle large screens without excessively
+ * long animations.
+ *
+ * Other modifications:
+ * (aveyD) Handle orientation changes properly and fully snap to the right position.
+ *
+ * @author Marc Reichelt, http://www.marcreichelt.de/
+ * @version 0.1.0
+ */
+public final class HorizontalPager extends ViewGroup {
+ /*
+ * How long to animate between screens when programmatically setting with setCurrentScreen using
+ * the animate parameter
+ */
+ private static final int ANIMATION_SCREEN_SET_DURATION_MILLIS = 500;
+ // What fraction (1/x) of the screen the user must swipe to indicate a page change
+ private static final int FRACTION_OF_SCREEN_WIDTH_FOR_SWIPE = 4;
+ private static final int INVALID_SCREEN = -1;
+ /*
+ * Velocity of a swipe (in density-independent pixels per second) to force a swipe to the
+ * next/previous screen. Adjusted into mDensityAdjustedSnapVelocity on init.
+ */
+ private static final int SNAP_VELOCITY_DIP_PER_SECOND = 600;
+ // Argument to getVelocity for units to give pixels per second (1 = pixels per millisecond).
+ private static final int VELOCITY_UNIT_PIXELS_PER_SECOND = 1000;
+
+ private static final int TOUCH_STATE_REST = 0;
+ private static final int TOUCH_STATE_HORIZONTAL_SCROLLING = 1;
+ private static final int TOUCH_STATE_VERTICAL_SCROLLING = -1;
+ private int mCurrentScreen;
+ private int mDensityAdjustedSnapVelocity;
+ private boolean mFirstLayout = true;
+ private float mLastMotionX;
+ private float mLastMotionY;
+ private OnScreenSwitchListener mOnScreenSwitchListener;
+ private int mMaximumVelocity;
+ private int mNextScreen = INVALID_SCREEN;
+ private Scroller mScroller;
+ private int mTouchSlop;
+ private int mTouchState = TOUCH_STATE_REST;
+ private VelocityTracker mVelocityTracker;
+ private int mLastSeenLayoutWidth = -1;
+
+ /**
+ * Simple constructor to use when creating a view from code.
+ *
+ * @param context The Context the view is running in, through which it can
+ * access the current theme, resources, etc.
+ */
+ public HorizontalPager(final Context context) {
+ super(context);
+ init();
+ }
+
+ /**
+ * Constructor that is called when inflating a view from XML. This is called
+ * when a view is being constructed from an XML file, supplying attributes
+ * that were specified in the XML file. This version uses a default style of
+ * 0, so the only attribute values applied are those in the Context's Theme
+ * and the given AttributeSet.
+ *
+ *
+ * The method onFinishInflate() will be called after all children have been
+ * added.
+ *
+ * @param context The Context the view is running in, through which it can
+ * access the current theme, resources, etc.
+ * @param attrs The attributes of the XML tag that is inflating the view.
+ * @see #View(Context, AttributeSet, int)
+ */
+ public HorizontalPager(final Context context, final AttributeSet attrs) {
+ super(context, attrs);
+ init();
+ }
+
+ /**
+ * Sets up the scroller and touch/fling sensitivity parameters for the pager.
+ */
+ private void init() {
+ mScroller = new Scroller(getContext());
+
+ // Calculate the density-dependent snap velocity in pixels
+ DisplayMetrics displayMetrics = new DisplayMetrics();
+ ((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay()
+ .getMetrics(displayMetrics);
+ mDensityAdjustedSnapVelocity =
+ (int) (displayMetrics.density * SNAP_VELOCITY_DIP_PER_SECOND);
+
+ final ViewConfiguration configuration = ViewConfiguration.get(getContext());
+ mTouchSlop = configuration.getScaledTouchSlop();
+ mMaximumVelocity = configuration.getScaledMaximumFlingVelocity();
+ }
+
+ @Override
+ protected void onMeasure(final int widthMeasureSpec, final int heightMeasureSpec) {
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+
+ final int width = MeasureSpec.getSize(widthMeasureSpec);
+ final int widthMode = MeasureSpec.getMode(widthMeasureSpec);
+ if (widthMode != MeasureSpec.EXACTLY) {
+ throw new IllegalStateException("ViewSwitcher can only be used in EXACTLY mode.");
+ }
+
+ final int heightMode = MeasureSpec.getMode(heightMeasureSpec);
+ if (heightMode != MeasureSpec.EXACTLY) {
+ throw new IllegalStateException("ViewSwitcher can only be used in EXACTLY mode.");
+ }
+
+ // The children are given the same width and height as the workspace
+ final int count = getChildCount();
+ for (int i = 0; i < count; i++) {
+ getChildAt(i).measure(widthMeasureSpec, heightMeasureSpec);
+ }
+
+ if (mFirstLayout) {
+ scrollTo(mCurrentScreen * width, 0);
+ mFirstLayout = false;
+ }
+
+ else if (width != mLastSeenLayoutWidth) { // Width has changed
+ /*
+ * Recalculate the width and scroll to the right position to be sure we're in the right
+ * place in the event that we had a rotation that didn't result in an activity restart
+ * (code by aveyD). Without this you can end up between two pages after a rotation.
+ */
+ Display display =
+ ((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE))
+ .getDefaultDisplay();
+ int displayWidth = display.getWidth();
+
+ mNextScreen = Math.max(0, Math.min(getCurrentScreen(), getChildCount() - 1));
+ final int newX = mNextScreen * displayWidth;
+ final int delta = newX - getScrollX();
+
+ mScroller.startScroll(getScrollX(), 0, delta, 0, 0);
+ }
+
+ mLastSeenLayoutWidth = width;
+ }
+
+ @Override
+ protected void onLayout(final boolean changed, final int l, final int t, final int r,
+ final int b) {
+ int childLeft = 0;
+ final int count = getChildCount();
+
+ for (int i = 0; i < count; i++) {
+ final View child = getChildAt(i);
+ if (child.getVisibility() != View.GONE) {
+ final int childWidth = child.getMeasuredWidth();
+ child.layout(childLeft, 0, childLeft + childWidth, child.getMeasuredHeight());
+ childLeft += childWidth;
+ }
+ }
+ }
+
+ @Override
+ public boolean onInterceptTouchEvent(final MotionEvent ev) {
+ /*
+ * By Yoni Samlan: Modified onInterceptTouchEvent based on standard ScrollView's
+ * onIntercept. The logic is designed to support a nested vertically scrolling view inside
+ * this one; once a scroll registers for X-wise scrolling, handle it in this view and don't
+ * let the children, but once a scroll registers for y-wise scrolling, let the children
+ * handle it exclusively.
+ */
+ final int action = ev.getAction();
+ boolean intercept = false;
+
+ switch (action) {
+ case MotionEvent.ACTION_MOVE:
+ /*
+ * If we're in a horizontal scroll event, take it (intercept further events). But if
+ * we're mid-vertical-scroll, don't even try; let the children deal with it. If we
+ * haven't found a scroll event yet, check for one.
+ */
+ if (mTouchState == TOUCH_STATE_HORIZONTAL_SCROLLING) {
+ /*
+ * We've already started a horizontal scroll; set intercept to true so we can
+ * take the remainder of all touch events in onTouchEvent.
+ */
+ intercept = true;
+ } else if (mTouchState == TOUCH_STATE_VERTICAL_SCROLLING) {
+ // Let children handle the events for the duration of the scroll event.
+ intercept = false;
+ } else { // We haven't picked up a scroll event yet; check for one.
+
+ /*
+ * If we detected a horizontal scroll event, start stealing touch events (mark
+ * as scrolling). Otherwise, see if we had a vertical scroll event -- if so, let
+ * the children handle it and don't look to intercept again until the motion is
+ * done.
+ */
+
+ final float x = ev.getX();
+ final int xDiff = (int) Math.abs(x - mLastMotionX);
+ boolean xMoved = xDiff > mTouchSlop;
+
+ if (xMoved) {
+ // Scroll if the user moved far enough along the X axis
+ mTouchState = TOUCH_STATE_HORIZONTAL_SCROLLING;
+ mLastMotionX = x;
+ }
+
+ final float y = ev.getY();
+ final int yDiff = (int) Math.abs(y - mLastMotionY);
+ boolean yMoved = yDiff > mTouchSlop;
+
+ if (yMoved) {
+ mTouchState = TOUCH_STATE_VERTICAL_SCROLLING;
+ }
+ }
+
+ break;
+ case MotionEvent.ACTION_CANCEL:
+ case MotionEvent.ACTION_UP:
+ // Release the drag.
+ mTouchState = TOUCH_STATE_REST;
+ break;
+ case MotionEvent.ACTION_DOWN:
+ /*
+ * No motion yet, but register the coordinates so we can check for intercept at the
+ * next MOVE event.
+ */
+ mLastMotionY = ev.getY();
+ mLastMotionX = ev.getX();
+ break;
+ default:
+ break;
+ }
+
+ return intercept;
+ }
+
+ @Override
+ public boolean onTouchEvent(final MotionEvent ev) {
+
+ if (mVelocityTracker == null) {
+ mVelocityTracker = VelocityTracker.obtain();
+ }
+ mVelocityTracker.addMovement(ev);
+
+ final int action = ev.getAction();
+ final float x = ev.getX();
+
+ switch (action) {
+ case MotionEvent.ACTION_DOWN:
+ /*
+ * If being flinged and user touches, stop the fling. isFinished will be false if
+ * being flinged.
+ */
+ if (!mScroller.isFinished()) {
+ mScroller.abortAnimation();
+ }
+
+ // Remember where the motion event started
+ mLastMotionX = x;
+
+ if (mScroller.isFinished()) {
+ mTouchState = TOUCH_STATE_REST;
+ } else {
+ mTouchState = TOUCH_STATE_HORIZONTAL_SCROLLING;
+ }
+
+ break;
+ case MotionEvent.ACTION_MOVE:
+ final int xDiff = (int) Math.abs(x - mLastMotionX);
+ boolean xMoved = xDiff > mTouchSlop;
+
+ if (xMoved) {
+ // Scroll if the user moved far enough along the X axis
+ mTouchState = TOUCH_STATE_HORIZONTAL_SCROLLING;
+ }
+
+ if (mTouchState == TOUCH_STATE_HORIZONTAL_SCROLLING) {
+ // Scroll to follow the motion event
+ final int deltaX = (int) (mLastMotionX - x);
+ mLastMotionX = x;
+ final int scrollX = getScrollX();
+
+ if (deltaX < 0) {
+ if (scrollX > 0) {
+ scrollBy(Math.max(-scrollX, deltaX), 0);
+ }
+ } else if (deltaX > 0) {
+ final int availableToScroll =
+ getChildAt(getChildCount() - 1).getRight() - scrollX - getWidth();
+
+ if (availableToScroll > 0) {
+ scrollBy(Math.min(availableToScroll, deltaX), 0);
+ }
+ }
+ }
+
+ break;
+
+ case MotionEvent.ACTION_UP:
+ if (mTouchState == TOUCH_STATE_HORIZONTAL_SCROLLING) {
+ final VelocityTracker velocityTracker = mVelocityTracker;
+ velocityTracker.computeCurrentVelocity(VELOCITY_UNIT_PIXELS_PER_SECOND,
+ mMaximumVelocity);
+ int velocityX = (int) velocityTracker.getXVelocity();
+
+ if (velocityX > mDensityAdjustedSnapVelocity && mCurrentScreen > 0) {
+ // Fling hard enough to move left
+ snapToScreen(mCurrentScreen - 1);
+ } else if (velocityX < -mDensityAdjustedSnapVelocity
+ && mCurrentScreen < getChildCount() - 1) {
+ // Fling hard enough to move right
+ snapToScreen(mCurrentScreen + 1);
+ } else {
+ snapToDestination();
+ }
+
+ if (mVelocityTracker != null) {
+ mVelocityTracker.recycle();
+ mVelocityTracker = null;
+ }
+ }
+
+ mTouchState = TOUCH_STATE_REST;
+
+ break;
+ case MotionEvent.ACTION_CANCEL:
+ mTouchState = TOUCH_STATE_REST;
+ break;
+ default:
+ break;
+ }
+
+ return true;
+ }
+
+ @Override
+ public void computeScroll() {
+ if (mScroller.computeScrollOffset()) {
+ scrollTo(mScroller.getCurrX(), mScroller.getCurrY());
+ postInvalidate();
+ } else if (mNextScreen != INVALID_SCREEN) {
+ mCurrentScreen = Math.max(0, Math.min(mNextScreen, getChildCount() - 1));
+
+ // Notify observer about screen change
+ if (mOnScreenSwitchListener != null) {
+ mOnScreenSwitchListener.onScreenSwitched(mCurrentScreen);
+ }
+
+ mNextScreen = INVALID_SCREEN;
+ }
+ }
+
+ /**
+ * Returns the index of the currently displayed screen.
+ *
+ * @return The index of the currently displayed screen.
+ */
+ public int getCurrentScreen() {
+ return mCurrentScreen;
+ }
+
+ /**
+ * Sets the current screen.
+ *
+ * @param currentScreen The new screen.
+ * @param animate True to smoothly scroll to the screen, false to snap instantly
+ */
+ public void setCurrentScreen(final int currentScreen, final boolean animate) {
+ mCurrentScreen = Math.max(0, Math.min(currentScreen, getChildCount() - 1));
+ if (animate) {
+ snapToScreen(currentScreen, ANIMATION_SCREEN_SET_DURATION_MILLIS);
+ } else {
+ scrollTo(mCurrentScreen * getWidth(), 0);
+ }
+ invalidate();
+ }
+
+ /**
+ * Sets the {@link OnScreenSwitchListener}.
+ *
+ * @param onScreenSwitchListener The listener for switch events.
+ */
+ public void setOnScreenSwitchListener(final OnScreenSwitchListener onScreenSwitchListener) {
+ mOnScreenSwitchListener = onScreenSwitchListener;
+ }
+
+ /**
+ * Snaps to the screen we think the user wants (the current screen for very small movements; the
+ * next/prev screen for bigger movements).
+ */
+ private void snapToDestination() {
+ final int screenWidth = getWidth();
+ int scrollX = getScrollX();
+ int whichScreen = mCurrentScreen;
+ int deltaX = scrollX - (screenWidth * mCurrentScreen);
+
+ // Check if they want to go to the prev. screen
+ if ((deltaX < 0) && mCurrentScreen != 0
+ && ((screenWidth / FRACTION_OF_SCREEN_WIDTH_FOR_SWIPE) < -deltaX)) {
+ whichScreen--;
+ // Check if they want to go to the next screen
+ } else if ((deltaX > 0) && (mCurrentScreen + 1 != getChildCount())
+ && ((screenWidth / FRACTION_OF_SCREEN_WIDTH_FOR_SWIPE) < deltaX)) {
+ whichScreen++;
+ }
+
+ snapToScreen(whichScreen);
+ }
+
+ /**
+ * Snap to a specific screen, animating automatically for a duration proportional to the
+ * distance left to scroll.
+ *
+ * @param whichScreen Screen to snap to
+ */
+ private void snapToScreen(final int whichScreen) {
+ snapToScreen(whichScreen, -1);
+ }
+
+ /**
+ * Snaps to a specific screen, animating for a specific amount of time to get there.
+ *
+ * @param whichScreen Screen to snap to
+ * @param duration -1 to automatically time it based on scroll distance; a positive number to
+ * make the scroll take an exact duration.
+ */
+ private void snapToScreen(final int whichScreen, final int duration) {
+ /*
+ * Modified by Yoni Samlan: Allow new snapping even during an ongoing scroll animation. This
+ * is intended to make HorizontalPager work as expected when used in conjunction with a
+ * RadioGroup used as "tabbed" controls. Also, make the animation take a percentage of our
+ * normal animation time, depending how far they've already scrolled.
+ */
+ mNextScreen = Math.max(0, Math.min(whichScreen, getChildCount() - 1));
+ final int newX = mNextScreen * getWidth();
+ final int delta = newX - getScrollX();
+
+ if (duration < 0) {
+ // E.g. if they've scrolled 80% of the way, only animation for 20% of the duration
+ mScroller.startScroll(getScrollX(), 0, delta, 0, (int) (Math.abs(delta)
+ / (float) getWidth() * ANIMATION_SCREEN_SET_DURATION_MILLIS));
+ } else {
+ mScroller.startScroll(getScrollX(), 0, delta, 0, duration);
+ }
+
+ invalidate();
+ }
+
+ /**
+ * Listener for the event that the HorizontalPager switches to a new view.
+ */
+ public static interface OnScreenSwitchListener {
+ /**
+ * Notifies listeners about the new screen. Runs after the animation completed.
+ *
+ * @param screen The new screen index.
+ */
+ void onScreenSwitched(int screen);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/ray650128/gstreamer_demo_app/ui/mainScreen/MainActivity.kt b/app/src/main/java/com/ray650128/gstreamer_demo_app/ui/mainScreen/MainActivity.kt
index 0324c2a..8dd5161 100644
--- a/app/src/main/java/com/ray650128/gstreamer_demo_app/ui/mainScreen/MainActivity.kt
+++ b/app/src/main/java/com/ray650128/gstreamer_demo_app/ui/mainScreen/MainActivity.kt
@@ -4,9 +4,12 @@ import android.content.Context
import android.graphics.Color
import android.os.Bundle
import android.util.Log
+import android.view.View
import android.view.WindowManager
+import android.widget.FrameLayout
import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity
+import androidx.fragment.app.commit
import androidx.viewpager2.widget.ViewPager2
import com.ray650128.gstreamer_demo_app.Constants
import com.ray650128.gstreamer_demo_app.R
@@ -16,24 +19,23 @@ import kotlinx.coroutines.MainScope
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
+/**
+ * MainActivity.kt
+ * 應用程式主畫面
+ */
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
private val viewModel: MainViewModel by viewModels()
- private val splitViewModel: SplitViewModel by viewModels()
-
private val mContext: Context by lazy { this }
private var splitMode = 1
- private var oldSplitMode = 1
-
- private lateinit var splitVideoViewAdapter: VideoViewAdapter
private var videos: List>? = null
- private var currentPage = 0
+ private var videoPageList: ArrayList = arrayListOf()
override fun onCreate(savedInstanceState: Bundle?) {
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
@@ -52,29 +54,8 @@ class MainActivity : AppCompatActivity() {
finish()
}
- override fun onDestroy() {
- splitVideoViewAdapter.destroy()
- super.onDestroy()
- }
-
private fun initContentView() = binding.apply {
//region Content area
- splitVideoViewAdapter = VideoViewAdapter(supportFragmentManager, lifecycle)
-
- viewPager.apply {
- adapter = splitVideoViewAdapter
- offscreenPageLimit = 100
- setPageTransformer(null)
- registerOnPageChangeCallback(object: ViewPager2.OnPageChangeCallback() {
- override fun onPageSelected(position: Int) {
- super.onPageSelected(position)
- currentPage = position
- splitViewModel.activePage.postValue(position)
- //Log.d("Split", "currentPage: $currentPage")
- }
- })
- }
-
button.setOnClickListener {
if (splitMode == MainViewModel.PAGE_MODE_ONE) return@setOnClickListener
viewModel.setSplitMode(MainViewModel.PAGE_MODE_ONE)
@@ -110,20 +91,22 @@ class MainActivity : AppCompatActivity() {
viewModel.cameraList.observe(this) { list ->
this.videos = list
reloadVideoViews(this.videos)
- currentPage = 0
}
}
private fun reloadVideoViews(list: List>?) = MainScope().launch {
- binding.viewPager.setCurrentItem(0, false)
- for (i in 0 until splitVideoViewAdapter.itemCount) {
- splitVideoViewAdapter.pause()
- splitVideoViewAdapter.destroy()
+ val oldListCount = videoPageList.size
+ for (videoPage in videoPageList) {
+ supportFragmentManager.commit {
+ remove(videoPage)
+ }
+ }
+ binding.viewPager.removeAllViews()
+ videoPageList.clear()
+
+ if (oldListCount > 0) {
+ delay(500L)
}
- //delay(oldSplitMode * Constants.CONF_DELAY_BASE_MILLIS)
- delay((oldSplitMode * 100) + Constants.CONF_DELAY_BASE_MILLIS)
- oldSplitMode = splitMode
- splitVideoViewAdapter.clear()
// 如果群組內沒有裝置,則顯示底圖
if (list.isNullOrEmpty()) {
binding.viewPager.setBackgroundResource(R.drawable.bg_not_in_playing)
@@ -135,10 +118,16 @@ class MainActivity : AppCompatActivity() {
splitMode = splitMode,
pageData = ArrayList(list[i])
)
- splitVideoViewAdapter.add(i, splitFragment)
+ videoPageList.add(i, splitFragment)
+
+ val frameLayout = FrameLayout(mContext).apply {
+ id = View.generateViewId()
+ }
+ binding.viewPager.addView(frameLayout)
+ supportFragmentManager.commit {
+ add(frameLayout.id, splitFragment, "$i")
+ }
}
- currentPage = 0
- //binding.viewPager.currentItem = 0
}
}
diff --git a/app/src/main/res/color/color_monitor_icon.xml b/app/src/main/res/color/color_monitor_icon.xml
new file mode 100644
index 0000000..da85a6d
--- /dev/null
+++ b/app/src/main/res/color/color_monitor_icon.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable-hdpi/ic_about.png b/app/src/main/res/drawable-hdpi/ic_about.png
new file mode 100644
index 0000000..565527c
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_about.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_message.png b/app/src/main/res/drawable-hdpi/ic_message.png
new file mode 100644
index 0000000..1584622
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_message.png differ
diff --git a/app/src/main/res/drawable-ldpi/bg_not_in_playing.png b/app/src/main/res/drawable-ldpi/bg_not_in_playing.png
deleted file mode 100644
index e4df282..0000000
Binary files a/app/src/main/res/drawable-ldpi/bg_not_in_playing.png and /dev/null differ
diff --git a/app/src/main/res/drawable-mdpi/bg_main_screen.png b/app/src/main/res/drawable-mdpi/bg_main_screen.png
new file mode 100644
index 0000000..54d3ea1
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/bg_main_screen.png differ
diff --git a/app/src/main/res/drawable-mdpi/bg_welcome_screen.png b/app/src/main/res/drawable-mdpi/bg_welcome_screen.png
new file mode 100644
index 0000000..61203d2
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/bg_welcome_screen.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_about.png b/app/src/main/res/drawable-mdpi/ic_about.png
new file mode 100644
index 0000000..05e59f4
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_about.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_add_camera.png b/app/src/main/res/drawable-mdpi/ic_add_camera.png
new file mode 100644
index 0000000..4c8abc0
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_add_camera.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_back_arrow.png b/app/src/main/res/drawable-mdpi/ic_back_arrow.png
new file mode 100644
index 0000000..14692b2
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_back_arrow.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_drawer_menu.png b/app/src/main/res/drawable-mdpi/ic_drawer_menu.png
new file mode 100644
index 0000000..320ea2e
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_drawer_menu.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_launcher.png b/app/src/main/res/drawable-mdpi/ic_launcher.png
new file mode 100644
index 0000000..79edd1a
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_launcher.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_launcher_adaptive_fore.png b/app/src/main/res/drawable-mdpi/ic_launcher_adaptive_fore.png
new file mode 100644
index 0000000..00c2975
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_launcher_adaptive_fore.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_light_off.png b/app/src/main/res/drawable-mdpi/ic_light_off.png
new file mode 100644
index 0000000..8450ac4
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_light_off.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_light_on.png b/app/src/main/res/drawable-mdpi/ic_light_on.png
new file mode 100644
index 0000000..d0384c3
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_light_on.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_message.png b/app/src/main/res/drawable-mdpi/ic_message.png
new file mode 100644
index 0000000..7908159
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_message.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_modify_device.png b/app/src/main/res/drawable-mdpi/ic_modify_device.png
new file mode 100644
index 0000000..c9c8dc1
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_modify_device.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_scan_camera.png b/app/src/main/res/drawable-mdpi/ic_scan_camera.png
new file mode 100644
index 0000000..bd56faa
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_scan_camera.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_split_four_views.png b/app/src/main/res/drawable-mdpi/ic_split_four_views.png
new file mode 100644
index 0000000..8008ab3
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_split_four_views.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_split_menu.png b/app/src/main/res/drawable-mdpi/ic_split_menu.png
new file mode 100644
index 0000000..5b44975
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_split_menu.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_split_menu_line.png b/app/src/main/res/drawable-mdpi/ic_split_menu_line.png
new file mode 100644
index 0000000..370d233
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_split_menu_line.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_split_nine_views.png b/app/src/main/res/drawable-mdpi/ic_split_nine_views.png
new file mode 100644
index 0000000..8e6f8e5
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_split_nine_views.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_split_one_view.png b/app/src/main/res/drawable-mdpi/ic_split_one_view.png
new file mode 100644
index 0000000..ec85a71
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_split_one_view.png differ
diff --git a/app/src/main/res/drawable-mdpi/img_btn_scan.png b/app/src/main/res/drawable-mdpi/img_btn_scan.png
new file mode 100644
index 0000000..7063a14
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/img_btn_scan.png differ
diff --git a/app/src/main/res/drawable-mdpi/img_logo.png b/app/src/main/res/drawable-mdpi/img_logo.png
new file mode 100644
index 0000000..1860a1d
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/img_logo.png differ
diff --git a/app/src/main/res/drawable-mdpi/loadingone.png b/app/src/main/res/drawable-mdpi/loadingone.png
new file mode 100644
index 0000000..bcf7f6a
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/loadingone.png differ
diff --git a/app/src/main/res/drawable-mdpi/loadingthree.png b/app/src/main/res/drawable-mdpi/loadingthree.png
new file mode 100644
index 0000000..5637aab
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/loadingthree.png differ
diff --git a/app/src/main/res/drawable-mdpi/loadingtwo.png b/app/src/main/res/drawable-mdpi/loadingtwo.png
new file mode 100644
index 0000000..c176aa0
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/loadingtwo.png differ
diff --git a/app/src/main/res/drawable-xhdpi/bg_main_screen.png b/app/src/main/res/drawable-xhdpi/bg_main_screen.png
new file mode 100644
index 0000000..687426b
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/bg_main_screen.png differ
diff --git a/app/src/main/res/drawable-xhdpi/bg_welcome_screen.png b/app/src/main/res/drawable-xhdpi/bg_welcome_screen.png
new file mode 100644
index 0000000..73611d3
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/bg_welcome_screen.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_about.png b/app/src/main/res/drawable-xhdpi/ic_about.png
new file mode 100644
index 0000000..75723ed
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_about.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_add_camera.png b/app/src/main/res/drawable-xhdpi/ic_add_camera.png
new file mode 100644
index 0000000..1a2c66b
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_add_camera.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_back_arrow.png b/app/src/main/res/drawable-xhdpi/ic_back_arrow.png
new file mode 100644
index 0000000..c4a1c51
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_back_arrow.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_drawer_menu.png b/app/src/main/res/drawable-xhdpi/ic_drawer_menu.png
new file mode 100644
index 0000000..cdbd308
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_drawer_menu.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_launcher.png b/app/src/main/res/drawable-xhdpi/ic_launcher.png
new file mode 100644
index 0000000..91be91b
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_launcher_adaptive_fore.png b/app/src/main/res/drawable-xhdpi/ic_launcher_adaptive_fore.png
new file mode 100644
index 0000000..c63fd4d
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_launcher_adaptive_fore.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_light_off.png b/app/src/main/res/drawable-xhdpi/ic_light_off.png
new file mode 100644
index 0000000..7d39c86
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_light_off.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_light_on.png b/app/src/main/res/drawable-xhdpi/ic_light_on.png
new file mode 100644
index 0000000..ba995e3
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_light_on.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_message.png b/app/src/main/res/drawable-xhdpi/ic_message.png
new file mode 100644
index 0000000..1b44dff
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_message.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_modify_device.png b/app/src/main/res/drawable-xhdpi/ic_modify_device.png
new file mode 100644
index 0000000..553f1f8
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_modify_device.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_scan_camera.png b/app/src/main/res/drawable-xhdpi/ic_scan_camera.png
new file mode 100644
index 0000000..77155d8
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_scan_camera.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_split_four_views.png b/app/src/main/res/drawable-xhdpi/ic_split_four_views.png
new file mode 100644
index 0000000..c34b3da
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_split_four_views.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_split_menu.png b/app/src/main/res/drawable-xhdpi/ic_split_menu.png
new file mode 100644
index 0000000..072a849
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_split_menu.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_split_menu_line.png b/app/src/main/res/drawable-xhdpi/ic_split_menu_line.png
new file mode 100644
index 0000000..c7a98dd
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_split_menu_line.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_split_nine_views.png b/app/src/main/res/drawable-xhdpi/ic_split_nine_views.png
new file mode 100644
index 0000000..79bf4e0
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_split_nine_views.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_split_one_view.png b/app/src/main/res/drawable-xhdpi/ic_split_one_view.png
new file mode 100644
index 0000000..d66957d
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_split_one_view.png differ
diff --git a/app/src/main/res/drawable-xhdpi/img_btn_scan.png b/app/src/main/res/drawable-xhdpi/img_btn_scan.png
new file mode 100644
index 0000000..27a340c
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/img_btn_scan.png differ
diff --git a/app/src/main/res/drawable-xhdpi/img_logo.png b/app/src/main/res/drawable-xhdpi/img_logo.png
new file mode 100644
index 0000000..c2a2878
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/img_logo.png differ
diff --git a/app/src/main/res/drawable-xhdpi/loadingone.png b/app/src/main/res/drawable-xhdpi/loadingone.png
new file mode 100644
index 0000000..013606d
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/loadingone.png differ
diff --git a/app/src/main/res/drawable-xhdpi/loadingthree.png b/app/src/main/res/drawable-xhdpi/loadingthree.png
new file mode 100644
index 0000000..3f7175e
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/loadingthree.png differ
diff --git a/app/src/main/res/drawable-xhdpi/loadingtwo.png b/app/src/main/res/drawable-xhdpi/loadingtwo.png
new file mode 100644
index 0000000..d90fa51
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/loadingtwo.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/bg_main_screen.png b/app/src/main/res/drawable-xxhdpi/bg_main_screen.png
new file mode 100644
index 0000000..bc23a22
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/bg_main_screen.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/bg_welcome_screen.png b/app/src/main/res/drawable-xxhdpi/bg_welcome_screen.png
new file mode 100644
index 0000000..3b35d88
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/bg_welcome_screen.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_about.png b/app/src/main/res/drawable-xxhdpi/ic_about.png
new file mode 100644
index 0000000..b3e8a14
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_about.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_add_camera.png b/app/src/main/res/drawable-xxhdpi/ic_add_camera.png
new file mode 100644
index 0000000..ffbe4fb
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_add_camera.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_back_arrow.png b/app/src/main/res/drawable-xxhdpi/ic_back_arrow.png
new file mode 100644
index 0000000..0c16ba3
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_back_arrow.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_drawer_menu.png b/app/src/main/res/drawable-xxhdpi/ic_drawer_menu.png
new file mode 100644
index 0000000..c1c87fb
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_drawer_menu.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_launcher.png b/app/src/main/res/drawable-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000..a564396
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_launcher_adaptive_fore.png b/app/src/main/res/drawable-xxhdpi/ic_launcher_adaptive_fore.png
new file mode 100644
index 0000000..dff58a4
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_launcher_adaptive_fore.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_light_off.png b/app/src/main/res/drawable-xxhdpi/ic_light_off.png
new file mode 100644
index 0000000..694dac3
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_light_off.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_light_on.png b/app/src/main/res/drawable-xxhdpi/ic_light_on.png
new file mode 100644
index 0000000..fe07da9
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_light_on.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_message.png b/app/src/main/res/drawable-xxhdpi/ic_message.png
new file mode 100644
index 0000000..1df7c70
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_message.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_modify_device.png b/app/src/main/res/drawable-xxhdpi/ic_modify_device.png
new file mode 100644
index 0000000..f517d70
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_modify_device.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_scan_camera.png b/app/src/main/res/drawable-xxhdpi/ic_scan_camera.png
new file mode 100644
index 0000000..8e717ae
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_scan_camera.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_split_four_views.png b/app/src/main/res/drawable-xxhdpi/ic_split_four_views.png
new file mode 100644
index 0000000..da2350d
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_split_four_views.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_split_menu.png b/app/src/main/res/drawable-xxhdpi/ic_split_menu.png
new file mode 100644
index 0000000..1a4b0c1
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_split_menu.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_split_menu_line.png b/app/src/main/res/drawable-xxhdpi/ic_split_menu_line.png
new file mode 100644
index 0000000..4252099
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_split_menu_line.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_split_nine_views.png b/app/src/main/res/drawable-xxhdpi/ic_split_nine_views.png
new file mode 100644
index 0000000..b91a7bc
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_split_nine_views.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_split_one_view.png b/app/src/main/res/drawable-xxhdpi/ic_split_one_view.png
new file mode 100644
index 0000000..d9f8662
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_split_one_view.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/img_btn_scan.png b/app/src/main/res/drawable-xxhdpi/img_btn_scan.png
new file mode 100644
index 0000000..8c6a5a1
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/img_btn_scan.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/img_logo.png b/app/src/main/res/drawable-xxhdpi/img_logo.png
new file mode 100644
index 0000000..fba002e
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/img_logo.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/loadingone.png b/app/src/main/res/drawable-xxhdpi/loadingone.png
new file mode 100644
index 0000000..f7e0939
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/loadingone.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/loadingthree.png b/app/src/main/res/drawable-xxhdpi/loadingthree.png
new file mode 100644
index 0000000..85d25d2
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/loadingthree.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/loadingtwo.png b/app/src/main/res/drawable-xxhdpi/loadingtwo.png
new file mode 100644
index 0000000..a3cd04a
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/loadingtwo.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/bg_main_screen.png b/app/src/main/res/drawable-xxxhdpi/bg_main_screen.png
new file mode 100644
index 0000000..5e52dc7
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/bg_main_screen.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/bg_welcome_screen.png b/app/src/main/res/drawable-xxxhdpi/bg_welcome_screen.png
new file mode 100644
index 0000000..eea5975
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/bg_welcome_screen.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_about.png b/app/src/main/res/drawable-xxxhdpi/ic_about.png
new file mode 100644
index 0000000..e195b88
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_about.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_add_camera.png b/app/src/main/res/drawable-xxxhdpi/ic_add_camera.png
new file mode 100644
index 0000000..4357c20
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_add_camera.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_back_arrow.png b/app/src/main/res/drawable-xxxhdpi/ic_back_arrow.png
new file mode 100644
index 0000000..4d45c17
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_back_arrow.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_drawer_menu.png b/app/src/main/res/drawable-xxxhdpi/ic_drawer_menu.png
new file mode 100644
index 0000000..e39d0b6
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_drawer_menu.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_launcher.png b/app/src/main/res/drawable-xxxhdpi/ic_launcher.png
new file mode 100644
index 0000000..df0624b
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_launcher_adaptive_fore.png b/app/src/main/res/drawable-xxxhdpi/ic_launcher_adaptive_fore.png
new file mode 100644
index 0000000..8e24799
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_launcher_adaptive_fore.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_light_off.png b/app/src/main/res/drawable-xxxhdpi/ic_light_off.png
new file mode 100644
index 0000000..9a51fd4
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_light_off.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_light_on.png b/app/src/main/res/drawable-xxxhdpi/ic_light_on.png
new file mode 100644
index 0000000..67d887a
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_light_on.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_message.png b/app/src/main/res/drawable-xxxhdpi/ic_message.png
new file mode 100644
index 0000000..81c669a
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_message.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_modify_device.png b/app/src/main/res/drawable-xxxhdpi/ic_modify_device.png
new file mode 100644
index 0000000..dd7f81f
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_modify_device.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_scan_camera.png b/app/src/main/res/drawable-xxxhdpi/ic_scan_camera.png
new file mode 100644
index 0000000..56a81d5
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_scan_camera.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_split_four_views.png b/app/src/main/res/drawable-xxxhdpi/ic_split_four_views.png
new file mode 100644
index 0000000..e76ac50
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_split_four_views.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_split_menu.png b/app/src/main/res/drawable-xxxhdpi/ic_split_menu.png
new file mode 100644
index 0000000..1a60f75
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_split_menu.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_split_menu_line.png b/app/src/main/res/drawable-xxxhdpi/ic_split_menu_line.png
new file mode 100644
index 0000000..19c62c8
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_split_menu_line.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_split_nine_views.png b/app/src/main/res/drawable-xxxhdpi/ic_split_nine_views.png
new file mode 100644
index 0000000..76e2a64
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_split_nine_views.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_split_one_view.png b/app/src/main/res/drawable-xxxhdpi/ic_split_one_view.png
new file mode 100644
index 0000000..5cc7687
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_split_one_view.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/img_btn_scan.png b/app/src/main/res/drawable-xxxhdpi/img_btn_scan.png
new file mode 100644
index 0000000..a72bc5a
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/img_btn_scan.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/img_logo.png b/app/src/main/res/drawable-xxxhdpi/img_logo.png
new file mode 100644
index 0000000..83dcbc2
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/img_logo.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/loadingone.png b/app/src/main/res/drawable-xxxhdpi/loadingone.png
new file mode 100644
index 0000000..32e3693
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/loadingone.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/loadingthree.png b/app/src/main/res/drawable-xxxhdpi/loadingthree.png
new file mode 100644
index 0000000..c0eed02
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/loadingthree.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/loadingtwo.png b/app/src/main/res/drawable-xxxhdpi/loadingtwo.png
new file mode 100644
index 0000000..6669b15
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/loadingtwo.png differ
diff --git a/app/src/main/res/drawable/bg_bottom_sheet_dialog_round.xml b/app/src/main/res/drawable/bg_bottom_sheet_dialog_round.xml
new file mode 100644
index 0000000..2f0c335
--- /dev/null
+++ b/app/src/main/res/drawable/bg_bottom_sheet_dialog_round.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_calendar_available_date.xml b/app/src/main/res/drawable/bg_calendar_available_date.xml
new file mode 100644
index 0000000..5f39e96
--- /dev/null
+++ b/app/src/main/res/drawable/bg_calendar_available_date.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_camera_information_card.xml b/app/src/main/res/drawable/bg_camera_information_card.xml
new file mode 100644
index 0000000..aae6e09
--- /dev/null
+++ b/app/src/main/res/drawable/bg_camera_information_card.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_dialog_window.xml b/app/src/main/res/drawable/bg_dialog_window.xml
new file mode 100644
index 0000000..ff5f846
--- /dev/null
+++ b/app/src/main/res/drawable/bg_dialog_window.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_fullscreen_button.xml b/app/src/main/res/drawable/bg_fullscreen_button.xml
new file mode 100644
index 0000000..0d0717e
--- /dev/null
+++ b/app/src/main/res/drawable/bg_fullscreen_button.xml
@@ -0,0 +1,13 @@
+
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_group_tab_normal.xml b/app/src/main/res/drawable/bg_group_tab_normal.xml
new file mode 100644
index 0000000..2290622
--- /dev/null
+++ b/app/src/main/res/drawable/bg_group_tab_normal.xml
@@ -0,0 +1,14 @@
+
+
+
+ -
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_group_tab_selected.xml b/app/src/main/res/drawable/bg_group_tab_selected.xml
new file mode 100644
index 0000000..4004c9d
--- /dev/null
+++ b/app/src/main/res/drawable/bg_group_tab_selected.xml
@@ -0,0 +1,14 @@
+
+
+
+ -
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_live.xml b/app/src/main/res/drawable/bg_live.xml
new file mode 100644
index 0000000..fa6bfb3
--- /dev/null
+++ b/app/src/main/res/drawable/bg_live.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/bg_main_screen.png b/app/src/main/res/drawable/bg_main_screen.png
new file mode 100644
index 0000000..afa6a34
Binary files /dev/null and b/app/src/main/res/drawable/bg_main_screen.png differ
diff --git a/app/src/main/res/drawable/bg_ripple_white.xml b/app/src/main/res/drawable/bg_ripple_white.xml
new file mode 100644
index 0000000..98738dd
--- /dev/null
+++ b/app/src/main/res/drawable/bg_ripple_white.xml
@@ -0,0 +1,11 @@
+
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_round_button.xml b/app/src/main/res/drawable/bg_round_button.xml
new file mode 100644
index 0000000..d3204f0
--- /dev/null
+++ b/app/src/main/res/drawable/bg_round_button.xml
@@ -0,0 +1,11 @@
+
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_round_button2.xml b/app/src/main/res/drawable/bg_round_button2.xml
new file mode 100644
index 0000000..3c03252
--- /dev/null
+++ b/app/src/main/res/drawable/bg_round_button2.xml
@@ -0,0 +1,11 @@
+
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_round_button5.xml b/app/src/main/res/drawable/bg_round_button5.xml
new file mode 100644
index 0000000..a3acc71
--- /dev/null
+++ b/app/src/main/res/drawable/bg_round_button5.xml
@@ -0,0 +1,11 @@
+
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_round_button6.xml b/app/src/main/res/drawable/bg_round_button6.xml
new file mode 100644
index 0000000..e9e79b5
--- /dev/null
+++ b/app/src/main/res/drawable/bg_round_button6.xml
@@ -0,0 +1,14 @@
+
+
+
+ -
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_round_button7.xml b/app/src/main/res/drawable/bg_round_button7.xml
new file mode 100644
index 0000000..9a3c4b3
--- /dev/null
+++ b/app/src/main/res/drawable/bg_round_button7.xml
@@ -0,0 +1,14 @@
+
+
+
+ -
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_round_button8.xml b/app/src/main/res/drawable/bg_round_button8.xml
new file mode 100644
index 0000000..b425a7a
--- /dev/null
+++ b/app/src/main/res/drawable/bg_round_button8.xml
@@ -0,0 +1,14 @@
+
+
+
+ -
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_round_pass_button.xml b/app/src/main/res/drawable/bg_round_pass_button.xml
new file mode 100644
index 0000000..9243979
--- /dev/null
+++ b/app/src/main/res/drawable/bg_round_pass_button.xml
@@ -0,0 +1,11 @@
+
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_sacn_device_btn.xml b/app/src/main/res/drawable/bg_sacn_device_btn.xml
new file mode 100644
index 0000000..147d799
--- /dev/null
+++ b/app/src/main/res/drawable/bg_sacn_device_btn.xml
@@ -0,0 +1,17 @@
+
+
+
+ -
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_welcome_screen.png b/app/src/main/res/drawable/bg_welcome_screen.png
new file mode 100644
index 0000000..610985c
Binary files /dev/null and b/app/src/main/res/drawable/bg_welcome_screen.png differ
diff --git a/app/src/main/res/drawable/ic_add_group.xml b/app/src/main/res/drawable/ic_add_group.xml
new file mode 100644
index 0000000..1ade3ef
--- /dev/null
+++ b/app/src/main/res/drawable/ic_add_group.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_alarm.xml b/app/src/main/res/drawable/ic_alarm.xml
new file mode 100644
index 0000000..75d7099
--- /dev/null
+++ b/app/src/main/res/drawable/ic_alarm.xml
@@ -0,0 +1,12 @@
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_alarm_disable.xml b/app/src/main/res/drawable/ic_alarm_disable.xml
new file mode 100644
index 0000000..9424981
--- /dev/null
+++ b/app/src/main/res/drawable/ic_alarm_disable.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_alarm_large.xml b/app/src/main/res/drawable/ic_alarm_large.xml
new file mode 100644
index 0000000..479d2a7
--- /dev/null
+++ b/app/src/main/res/drawable/ic_alarm_large.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_alarm_selector.xml b/app/src/main/res/drawable/ic_alarm_selector.xml
new file mode 100644
index 0000000..df066e7
--- /dev/null
+++ b/app/src/main/res/drawable/ic_alarm_selector.xml
@@ -0,0 +1,21 @@
+
+
+ -
+
+
-
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_arrow_down.xml b/app/src/main/res/drawable/ic_arrow_down.xml
new file mode 100644
index 0000000..9f9c472
--- /dev/null
+++ b/app/src/main/res/drawable/ic_arrow_down.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_arrow_down_gray.xml b/app/src/main/res/drawable/ic_arrow_down_gray.xml
new file mode 100644
index 0000000..aa19342
--- /dev/null
+++ b/app/src/main/res/drawable/ic_arrow_down_gray.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_arrow_r.xml b/app/src/main/res/drawable/ic_arrow_r.xml
new file mode 100644
index 0000000..bbc6165
--- /dev/null
+++ b/app/src/main/res/drawable/ic_arrow_r.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_back_arrow.png b/app/src/main/res/drawable/ic_back_arrow.png
new file mode 100644
index 0000000..71f91f2
Binary files /dev/null and b/app/src/main/res/drawable/ic_back_arrow.png differ
diff --git a/app/src/main/res/drawable/ic_calendar.xml b/app/src/main/res/drawable/ic_calendar.xml
new file mode 100644
index 0000000..42605aa
--- /dev/null
+++ b/app/src/main/res/drawable/ic_calendar.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_cam.xml b/app/src/main/res/drawable/ic_cam.xml
new file mode 100644
index 0000000..fb9fcac
--- /dev/null
+++ b/app/src/main/res/drawable/ic_cam.xml
@@ -0,0 +1,12 @@
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_cam_large.xml b/app/src/main/res/drawable/ic_cam_large.xml
new file mode 100644
index 0000000..800f9f4
--- /dev/null
+++ b/app/src/main/res/drawable/ic_cam_large.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_cam_selector.xml b/app/src/main/res/drawable/ic_cam_selector.xml
new file mode 100644
index 0000000..dff5813
--- /dev/null
+++ b/app/src/main/res/drawable/ic_cam_selector.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_divider_1dp.xml b/app/src/main/res/drawable/ic_divider_1dp.xml
new file mode 100644
index 0000000..6549c9a
--- /dev/null
+++ b/app/src/main/res/drawable/ic_divider_1dp.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_dot_normal.xml b/app/src/main/res/drawable/ic_dot_normal.xml
new file mode 100644
index 0000000..2c13875
--- /dev/null
+++ b/app/src/main/res/drawable/ic_dot_normal.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_dot_selected.xml b/app/src/main/res/drawable/ic_dot_selected.xml
new file mode 100644
index 0000000..0817c0f
--- /dev/null
+++ b/app/src/main/res/drawable/ic_dot_selected.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_flash_selected_selector.xml b/app/src/main/res/drawable/ic_flash_selected_selector.xml
new file mode 100644
index 0000000..8369636
--- /dev/null
+++ b/app/src/main/res/drawable/ic_flash_selected_selector.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_fullscreen_button.xml b/app/src/main/res/drawable/ic_fullscreen_button.xml
new file mode 100644
index 0000000..f3dac69
--- /dev/null
+++ b/app/src/main/res/drawable/ic_fullscreen_button.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_info.xml b/app/src/main/res/drawable/ic_info.xml
new file mode 100644
index 0000000..c9c617f
--- /dev/null
+++ b/app/src/main/res/drawable/ic_info.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_launcher.png b/app/src/main/res/drawable/ic_launcher.png
new file mode 100644
index 0000000..9b768a1
Binary files /dev/null and b/app/src/main/res/drawable/ic_launcher.png differ
diff --git a/app/src/main/res/drawable/ic_launcher_adaptive_fore.png b/app/src/main/res/drawable/ic_launcher_adaptive_fore.png
new file mode 100644
index 0000000..77d72df
Binary files /dev/null and b/app/src/main/res/drawable/ic_launcher_adaptive_fore.png differ
diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml
new file mode 100644
index 0000000..2b068d1
--- /dev/null
+++ b/app/src/main/res/drawable/ic_launcher_foreground.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_light_off.png b/app/src/main/res/drawable/ic_light_off.png
new file mode 100644
index 0000000..9db223a
Binary files /dev/null and b/app/src/main/res/drawable/ic_light_off.png differ
diff --git a/app/src/main/res/drawable/ic_light_on.png b/app/src/main/res/drawable/ic_light_on.png
new file mode 100644
index 0000000..353daed
Binary files /dev/null and b/app/src/main/res/drawable/ic_light_on.png differ
diff --git a/app/src/main/res/drawable/ic_live_dot.xml b/app/src/main/res/drawable/ic_live_dot.xml
new file mode 100644
index 0000000..3a68c12
--- /dev/null
+++ b/app/src/main/res/drawable/ic_live_dot.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_local_setting.xml b/app/src/main/res/drawable/ic_local_setting.xml
new file mode 100644
index 0000000..8abd2cf
--- /dev/null
+++ b/app/src/main/res/drawable/ic_local_setting.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_mic.xml b/app/src/main/res/drawable/ic_mic.xml
new file mode 100644
index 0000000..05b988d
--- /dev/null
+++ b/app/src/main/res/drawable/ic_mic.xml
@@ -0,0 +1,12 @@
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_mic_large.xml b/app/src/main/res/drawable/ic_mic_large.xml
new file mode 100644
index 0000000..eed7366
--- /dev/null
+++ b/app/src/main/res/drawable/ic_mic_large.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_mic_selector.xml b/app/src/main/res/drawable/ic_mic_selector.xml
new file mode 100644
index 0000000..5283854
--- /dev/null
+++ b/app/src/main/res/drawable/ic_mic_selector.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_modify_device.png b/app/src/main/res/drawable/ic_modify_device.png
new file mode 100644
index 0000000..b8c28b1
Binary files /dev/null and b/app/src/main/res/drawable/ic_modify_device.png differ
diff --git a/app/src/main/res/drawable/ic_other.xml b/app/src/main/res/drawable/ic_other.xml
new file mode 100644
index 0000000..b9716d0
--- /dev/null
+++ b/app/src/main/res/drawable/ic_other.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_phone.xml b/app/src/main/res/drawable/ic_phone.xml
new file mode 100644
index 0000000..6d99380
--- /dev/null
+++ b/app/src/main/res/drawable/ic_phone.xml
@@ -0,0 +1,12 @@
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_phone_large.xml b/app/src/main/res/drawable/ic_phone_large.xml
new file mode 100644
index 0000000..f3be64b
--- /dev/null
+++ b/app/src/main/res/drawable/ic_phone_large.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_phone_selector.xml b/app/src/main/res/drawable/ic_phone_selector.xml
new file mode 100644
index 0000000..331ca2d
--- /dev/null
+++ b/app/src/main/res/drawable/ic_phone_selector.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_playback.xml b/app/src/main/res/drawable/ic_playback.xml
new file mode 100644
index 0000000..bfcd39d
--- /dev/null
+++ b/app/src/main/res/drawable/ic_playback.xml
@@ -0,0 +1,12 @@
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_playback_disable.xml b/app/src/main/res/drawable/ic_playback_disable.xml
new file mode 100644
index 0000000..1d7c220
--- /dev/null
+++ b/app/src/main/res/drawable/ic_playback_disable.xml
@@ -0,0 +1,5 @@
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_playback_large.xml b/app/src/main/res/drawable/ic_playback_large.xml
new file mode 100644
index 0000000..c3fe3b0
--- /dev/null
+++ b/app/src/main/res/drawable/ic_playback_large.xml
@@ -0,0 +1,5 @@
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_playback_seek_thumb.xml b/app/src/main/res/drawable/ic_playback_seek_thumb.xml
new file mode 100644
index 0000000..a7e36ed
--- /dev/null
+++ b/app/src/main/res/drawable/ic_playback_seek_thumb.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_playback_seek_track.xml b/app/src/main/res/drawable/ic_playback_seek_track.xml
new file mode 100644
index 0000000..de621d6
--- /dev/null
+++ b/app/src/main/res/drawable/ic_playback_seek_track.xml
@@ -0,0 +1,16 @@
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_playback_selector.xml b/app/src/main/res/drawable/ic_playback_selector.xml
new file mode 100644
index 0000000..87a119c
--- /dev/null
+++ b/app/src/main/res/drawable/ic_playback_selector.xml
@@ -0,0 +1,21 @@
+
+
+ -
+
+
-
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_playback_title.xml b/app/src/main/res/drawable/ic_playback_title.xml
new file mode 100644
index 0000000..5159155
--- /dev/null
+++ b/app/src/main/res/drawable/ic_playback_title.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_qrcode.xml b/app/src/main/res/drawable/ic_qrcode.xml
new file mode 100644
index 0000000..bf601b8
--- /dev/null
+++ b/app/src/main/res/drawable/ic_qrcode.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_remove.xml b/app/src/main/res/drawable/ic_remove.xml
new file mode 100644
index 0000000..df7d59a
--- /dev/null
+++ b/app/src/main/res/drawable/ic_remove.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_round_checkbox.xml b/app/src/main/res/drawable/ic_round_checkbox.xml
new file mode 100644
index 0000000..c60a13d
--- /dev/null
+++ b/app/src/main/res/drawable/ic_round_checkbox.xml
@@ -0,0 +1,29 @@
+
+
+ -
+
+
-
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_scan.xml b/app/src/main/res/drawable/ic_scan.xml
new file mode 100644
index 0000000..f04041f
--- /dev/null
+++ b/app/src/main/res/drawable/ic_scan.xml
@@ -0,0 +1,14 @@
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_scan_camera.png b/app/src/main/res/drawable/ic_scan_camera.png
new file mode 100644
index 0000000..741ce6a
Binary files /dev/null and b/app/src/main/res/drawable/ic_scan_camera.png differ
diff --git a/app/src/main/res/drawable/ic_split_four_views.png b/app/src/main/res/drawable/ic_split_four_views.png
new file mode 100644
index 0000000..7b7980b
Binary files /dev/null and b/app/src/main/res/drawable/ic_split_four_views.png differ
diff --git a/app/src/main/res/drawable/ic_split_menu.png b/app/src/main/res/drawable/ic_split_menu.png
new file mode 100644
index 0000000..1af423a
Binary files /dev/null and b/app/src/main/res/drawable/ic_split_menu.png differ
diff --git a/app/src/main/res/drawable/ic_split_menu_line.png b/app/src/main/res/drawable/ic_split_menu_line.png
new file mode 100644
index 0000000..75ff71a
Binary files /dev/null and b/app/src/main/res/drawable/ic_split_menu_line.png differ
diff --git a/app/src/main/res/drawable/ic_split_menu_selector.xml b/app/src/main/res/drawable/ic_split_menu_selector.xml
new file mode 100644
index 0000000..45444b5
--- /dev/null
+++ b/app/src/main/res/drawable/ic_split_menu_selector.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_split_nine_views.png b/app/src/main/res/drawable/ic_split_nine_views.png
new file mode 100644
index 0000000..9d906e3
Binary files /dev/null and b/app/src/main/res/drawable/ic_split_nine_views.png differ
diff --git a/app/src/main/res/drawable/ic_split_one_view.png b/app/src/main/res/drawable/ic_split_one_view.png
new file mode 100644
index 0000000..9cada31
Binary files /dev/null and b/app/src/main/res/drawable/ic_split_one_view.png differ
diff --git a/app/src/main/res/drawable/ic_time.xml b/app/src/main/res/drawable/ic_time.xml
new file mode 100644
index 0000000..545a3cd
--- /dev/null
+++ b/app/src/main/res/drawable/ic_time.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/img_btn_scan.png b/app/src/main/res/drawable/img_btn_scan.png
new file mode 100644
index 0000000..0621864
Binary files /dev/null and b/app/src/main/res/drawable/img_btn_scan.png differ
diff --git a/app/src/main/res/drawable/img_switch_thumb_selector.xml b/app/src/main/res/drawable/img_switch_thumb_selector.xml
new file mode 100644
index 0000000..d67a0a4
--- /dev/null
+++ b/app/src/main/res/drawable/img_switch_thumb_selector.xml
@@ -0,0 +1,36 @@
+
+
+ -
+
+
-
+
+
+
+
+
+
+
+
+ -
+
+
-
+
+
+
+
+
+
+
+
+ -
+
+
-
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/img_switch_track_selector.xml b/app/src/main/res/drawable/img_switch_track_selector.xml
new file mode 100644
index 0000000..37b6307
--- /dev/null
+++ b/app/src/main/res/drawable/img_switch_track_selector.xml
@@ -0,0 +1,24 @@
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/loadingone.png b/app/src/main/res/drawable/loadingone.png
new file mode 100644
index 0000000..e6388b0
Binary files /dev/null and b/app/src/main/res/drawable/loadingone.png differ
diff --git a/app/src/main/res/drawable/loadingthree.png b/app/src/main/res/drawable/loadingthree.png
new file mode 100644
index 0000000..25c56dd
Binary files /dev/null and b/app/src/main/res/drawable/loadingthree.png differ
diff --git a/app/src/main/res/drawable/loadingtwo.png b/app/src/main/res/drawable/loadingtwo.png
new file mode 100644
index 0000000..9ec9de6
Binary files /dev/null and b/app/src/main/res/drawable/loadingtwo.png differ
diff --git a/app/src/main/res/font/arialbold.ttf b/app/src/main/res/font/arialbold.ttf
new file mode 100644
index 0000000..7491b64
Binary files /dev/null and b/app/src/main/res/font/arialbold.ttf differ
diff --git a/app/src/main/res/font/arialre.xml b/app/src/main/res/font/arialre.xml
new file mode 100644
index 0000000..a66c001
--- /dev/null
+++ b/app/src/main/res/font/arialre.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/font/arialregular.ttf b/app/src/main/res/font/arialregular.ttf
new file mode 100644
index 0000000..3b942a3
Binary files /dev/null and b/app/src/main/res/font/arialregular.ttf differ
diff --git a/app/src/main/res/font/robotomedium.ttf b/app/src/main/res/font/robotomedium.ttf
new file mode 100644
index 0000000..8798341
Binary files /dev/null and b/app/src/main/res/font/robotomedium.ttf differ
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index a6f542c..59eb892 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -8,7 +8,7 @@
android:gravity="center_vertical"
android:orientation="vertical">
-