From cc8238d6a9b5d321eec4d93c3a67d053b2e59797 Mon Sep 17 00:00:00 2001 From: Daniel Brunner <0xFEEDC0DE64@gmail.com> Date: Wed, 23 Nov 2016 18:42:22 +0100 Subject: [PATCH] Initial commit --- .gitignore | 9 + .idea/compiler.xml | 22 +++ .idea/copyright/profiles_settings.xml | 3 + .idea/gradle.xml | 20 +++ .idea/misc.xml | 46 +++++ .idea/modules.xml | 10 ++ .idea/runConfigurations.xml | 12 ++ build.gradle | 23 +++ gradle.properties | 17 ++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 53636 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 160 ++++++++++++++++++ gradlew.bat | 90 ++++++++++ mobile/.gitignore | 1 + mobile/build.gradle | 33 ++++ mobile/proguard-rules.pro | 17 ++ .../ExampleInstrumentedTest.java | 26 +++ mobile/src/main/AndroidManifest.xml | 23 +++ .../daniel/myapplication/MainActivity.java | 112 ++++++++++++ .../fragments/CameraFragment.java | 20 +++ .../fragments/GalleryFragment.java | 20 +++ .../myapplication/fragments/MainFragment.java | 20 +++ .../fragments/ManageFragment.java | 20 +++ .../fragments/SlideshowFragment.java | 20 +++ .../src/main/res/drawable/ic_menu_camera.xml | 12 ++ .../src/main/res/drawable/ic_menu_gallery.xml | 9 + .../src/main/res/drawable/ic_menu_manage.xml | 9 + mobile/src/main/res/drawable/ic_menu_send.xml | 9 + .../src/main/res/drawable/ic_menu_share.xml | 9 + .../main/res/drawable/ic_menu_slideshow.xml | 9 + mobile/src/main/res/drawable/side_nav_bar.xml | 9 + mobile/src/main/res/layout/activity_main.xml | 25 +++ mobile/src/main/res/layout/app_bar_main.xml | 34 ++++ mobile/src/main/res/layout/content_main.xml | 20 +++ .../src/main/res/layout/fragment_camera.xml | 10 ++ .../src/main/res/layout/fragment_gallery.xml | 10 ++ mobile/src/main/res/layout/fragment_main.xml | 10 ++ .../src/main/res/layout/fragment_manage.xml | 10 ++ .../main/res/layout/fragment_slideshow.xml | 10 ++ .../src/main/res/layout/nav_header_main.xml | 35 ++++ .../main/res/menu/activity_main_drawer.xml | 36 ++++ mobile/src/main/res/menu/menu_main.xml | 9 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3418 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2206 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4842 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7718 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 10486 bytes mobile/src/main/res/values-v21/styles.xml | 9 + mobile/src/main/res/values-w820dp/dimens.xml | 6 + mobile/src/main/res/values/colors.xml | 6 + mobile/src/main/res/values/dimens.xml | 9 + mobile/src/main/res/values/strings.xml | 8 + mobile/src/main/res/values/styles.xml | 20 +++ .../daniel/myapplication/ExampleUnitTest.java | 17 ++ settings.gradle | 1 + wear/.gitignore | 1 + wear/build.gradle | 25 +++ wear/proguard-rules.pro | 17 ++ wear/src/main/AndroidManifest.xml | 24 +++ .../daniel/myapplication/MainActivity.java | 24 +++ wear/src/main/res/layout/activity_main.xml | 11 ++ .../main/res/layout/rect_activity_main.xml | 15 ++ .../main/res/layout/round_activity_main.xml | 16 ++ wear/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3418 bytes wear/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2206 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4842 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7718 bytes wear/src/main/res/values/strings.xml | 5 + 68 files changed, 1219 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/copyright/profiles_settings.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/runConfigurations.xml create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 mobile/.gitignore create mode 100644 mobile/build.gradle create mode 100644 mobile/proguard-rules.pro create mode 100644 mobile/src/androidTest/java/com/example/daniel/myapplication/ExampleInstrumentedTest.java create mode 100644 mobile/src/main/AndroidManifest.xml create mode 100644 mobile/src/main/java/com/example/daniel/myapplication/MainActivity.java create mode 100644 mobile/src/main/java/com/example/daniel/myapplication/fragments/CameraFragment.java create mode 100644 mobile/src/main/java/com/example/daniel/myapplication/fragments/GalleryFragment.java create mode 100644 mobile/src/main/java/com/example/daniel/myapplication/fragments/MainFragment.java create mode 100644 mobile/src/main/java/com/example/daniel/myapplication/fragments/ManageFragment.java create mode 100644 mobile/src/main/java/com/example/daniel/myapplication/fragments/SlideshowFragment.java create mode 100644 mobile/src/main/res/drawable/ic_menu_camera.xml create mode 100644 mobile/src/main/res/drawable/ic_menu_gallery.xml create mode 100644 mobile/src/main/res/drawable/ic_menu_manage.xml create mode 100644 mobile/src/main/res/drawable/ic_menu_send.xml create mode 100644 mobile/src/main/res/drawable/ic_menu_share.xml create mode 100644 mobile/src/main/res/drawable/ic_menu_slideshow.xml create mode 100644 mobile/src/main/res/drawable/side_nav_bar.xml create mode 100644 mobile/src/main/res/layout/activity_main.xml create mode 100644 mobile/src/main/res/layout/app_bar_main.xml create mode 100644 mobile/src/main/res/layout/content_main.xml create mode 100644 mobile/src/main/res/layout/fragment_camera.xml create mode 100644 mobile/src/main/res/layout/fragment_gallery.xml create mode 100644 mobile/src/main/res/layout/fragment_main.xml create mode 100644 mobile/src/main/res/layout/fragment_manage.xml create mode 100644 mobile/src/main/res/layout/fragment_slideshow.xml create mode 100644 mobile/src/main/res/layout/nav_header_main.xml create mode 100644 mobile/src/main/res/menu/activity_main_drawer.xml create mode 100644 mobile/src/main/res/menu/menu_main.xml create mode 100644 mobile/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 mobile/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 mobile/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 mobile/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 mobile/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 mobile/src/main/res/values-v21/styles.xml create mode 100644 mobile/src/main/res/values-w820dp/dimens.xml create mode 100644 mobile/src/main/res/values/colors.xml create mode 100644 mobile/src/main/res/values/dimens.xml create mode 100644 mobile/src/main/res/values/strings.xml create mode 100644 mobile/src/main/res/values/styles.xml create mode 100644 mobile/src/test/java/com/example/daniel/myapplication/ExampleUnitTest.java create mode 100644 settings.gradle create mode 100644 wear/.gitignore create mode 100644 wear/build.gradle create mode 100644 wear/proguard-rules.pro create mode 100644 wear/src/main/AndroidManifest.xml create mode 100644 wear/src/main/java/com/example/daniel/myapplication/MainActivity.java create mode 100644 wear/src/main/res/layout/activity_main.xml create mode 100644 wear/src/main/res/layout/rect_activity_main.xml create mode 100644 wear/src/main/res/layout/round_activity_main.xml create mode 100644 wear/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 wear/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 wear/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 wear/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 wear/src/main/res/values/strings.xml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..39fb081 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +*.iml +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build +/captures +.externalNativeBuild diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..96cc43e --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..e7bedf3 --- /dev/null +++ b/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..4a3e473 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,20 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..5d19981 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..03860bb --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..c20bca1 --- /dev/null +++ b/build.gradle @@ -0,0 +1,23 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:2.2.2' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + jcenter() + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..aac7c9b --- /dev/null +++ b/gradle.properties @@ -0,0 +1,17 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx1536m + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..13372aef5e24af05341d49695ee84e5f9b594659 GIT binary patch literal 53636 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 literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..04e285f --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Mon Dec 28 10:00:20 PST 2015 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..9d82f78 --- /dev/null +++ b/gradlew @@ -0,0 +1,160 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..8a0b282 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/mobile/.gitignore b/mobile/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/mobile/.gitignore @@ -0,0 +1 @@ +/build diff --git a/mobile/build.gradle b/mobile/build.gradle new file mode 100644 index 0000000..b8e880f --- /dev/null +++ b/mobile/build.gradle @@ -0,0 +1,33 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 25 + buildToolsVersion "25.0.0" + defaultConfig { + applicationId "com.example.daniel.myapplication" + minSdkVersion 21 + targetSdkVersion 25 + versionCode 1 + versionName "1.0" + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + compile fileTree(dir: 'libs', include: ['*.jar']) + androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { + exclude group: 'com.android.support', module: 'support-annotations' + }) + wearApp project(':wear') + compile 'com.google.android.gms:play-services:10.0.0' + compile 'com.android.support:appcompat-v7:25.0.1' + compile 'com.android.support:support-v4:25.0.1' + compile 'com.android.support:design:25.0.1' + testCompile 'junit:junit:4.12' +} diff --git a/mobile/proguard-rules.pro b/mobile/proguard-rules.pro new file mode 100644 index 0000000..58198c3 --- /dev/null +++ b/mobile/proguard-rules.pro @@ -0,0 +1,17 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in C:\Users\Daniel\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/mobile/src/androidTest/java/com/example/daniel/myapplication/ExampleInstrumentedTest.java b/mobile/src/androidTest/java/com/example/daniel/myapplication/ExampleInstrumentedTest.java new file mode 100644 index 0000000..214e2e7 --- /dev/null +++ b/mobile/src/androidTest/java/com/example/daniel/myapplication/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.example.daniel.myapplication; + +import android.content.Context; +import android.support.test.InstrumentationRegistry; +import android.support.test.runner.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumentation test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() throws Exception { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getTargetContext(); + + assertEquals("com.example.daniel.myapplication", appContext.getPackageName()); + } +} diff --git a/mobile/src/main/AndroidManifest.xml b/mobile/src/main/AndroidManifest.xml new file mode 100644 index 0000000..5cf33c0 --- /dev/null +++ b/mobile/src/main/AndroidManifest.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mobile/src/main/java/com/example/daniel/myapplication/MainActivity.java b/mobile/src/main/java/com/example/daniel/myapplication/MainActivity.java new file mode 100644 index 0000000..efe2619 --- /dev/null +++ b/mobile/src/main/java/com/example/daniel/myapplication/MainActivity.java @@ -0,0 +1,112 @@ +package com.example.daniel.myapplication; + +import android.os.Bundle; +import android.support.design.widget.FloatingActionButton; +import android.support.design.widget.Snackbar; +import android.view.View; +import android.support.design.widget.NavigationView; +import android.support.v4.view.GravityCompat; +import android.support.v4.widget.DrawerLayout; +import android.support.v7.app.ActionBarDrawerToggle; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; +import android.view.Menu; +import android.view.MenuItem; +import android.app.FragmentManager; + +import com.example.daniel.myapplication.fragments.CameraFragment; +import com.example.daniel.myapplication.fragments.GalleryFragment; +import com.example.daniel.myapplication.fragments.MainFragment; +import com.example.daniel.myapplication.fragments.ManageFragment; +import com.example.daniel.myapplication.fragments.SlideshowFragment; + +public class MainActivity extends AppCompatActivity + implements NavigationView.OnNavigationItemSelectedListener { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + + FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) + .setAction("Action", null).show(); + } + }); + + DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); + ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( + this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); + drawer.setDrawerListener(toggle); + toggle.syncState(); + + NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); + navigationView.setNavigationItemSelectedListener(this); + + FragmentManager fm = getFragmentManager(); + fm.beginTransaction().replace(R.id.content_frame, new MainFragment()).commit(); + } + + @Override + public void onBackPressed() { + DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); + if (drawer.isDrawerOpen(GravityCompat.START)) { + drawer.closeDrawer(GravityCompat.START); + } else { + super.onBackPressed(); + } + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.menu_main, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + + //noinspection SimplifiableIfStatement + if (id == R.id.action_settings) { + return true; + } + + return super.onOptionsItemSelected(item); + } + + @SuppressWarnings("StatementWithEmptyBody") + @Override + public boolean onNavigationItemSelected(MenuItem item) { + // Handle navigation view item clicks here. + int id = item.getItemId(); + FragmentManager fm = getFragmentManager(); + + if (id == R.id.nav_camera) { + fm.beginTransaction().replace(R.id.content_frame, new CameraFragment()).commit(); + } else if (id == R.id.nav_gallery) { + fm.beginTransaction().replace(R.id.content_frame, new GalleryFragment()).commit(); + } else if (id == R.id.nav_slideshow) { + fm.beginTransaction().replace(R.id.content_frame, new SlideshowFragment()).commit(); + } else if (id == R.id.nav_manage) { + fm.beginTransaction().replace(R.id.content_frame, new ManageFragment()).commit(); + } else if (id == R.id.nav_share) { + + } else if (id == R.id.nav_send) { + + } + + DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); + drawer.closeDrawer(GravityCompat.START); + return true; + } +} diff --git a/mobile/src/main/java/com/example/daniel/myapplication/fragments/CameraFragment.java b/mobile/src/main/java/com/example/daniel/myapplication/fragments/CameraFragment.java new file mode 100644 index 0000000..af03f6b --- /dev/null +++ b/mobile/src/main/java/com/example/daniel/myapplication/fragments/CameraFragment.java @@ -0,0 +1,20 @@ +package com.example.daniel.myapplication.fragments; + +import android.app.Fragment; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.example.daniel.myapplication.R; + +public class CameraFragment extends Fragment { + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View rootView = inflater.inflate(R.layout.fragment_camera, container, false); + + return rootView; + } +} diff --git a/mobile/src/main/java/com/example/daniel/myapplication/fragments/GalleryFragment.java b/mobile/src/main/java/com/example/daniel/myapplication/fragments/GalleryFragment.java new file mode 100644 index 0000000..035ac53 --- /dev/null +++ b/mobile/src/main/java/com/example/daniel/myapplication/fragments/GalleryFragment.java @@ -0,0 +1,20 @@ +package com.example.daniel.myapplication.fragments; + +import android.app.Fragment; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.example.daniel.myapplication.R; + +public class GalleryFragment extends Fragment { + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View rootView = inflater.inflate(R.layout.fragment_gallery, container, false); + + return rootView; + } +} diff --git a/mobile/src/main/java/com/example/daniel/myapplication/fragments/MainFragment.java b/mobile/src/main/java/com/example/daniel/myapplication/fragments/MainFragment.java new file mode 100644 index 0000000..ea24827 --- /dev/null +++ b/mobile/src/main/java/com/example/daniel/myapplication/fragments/MainFragment.java @@ -0,0 +1,20 @@ +package com.example.daniel.myapplication.fragments; + +import android.app.Fragment; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.example.daniel.myapplication.R; + +public class MainFragment extends Fragment { + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View rootView = inflater.inflate(R.layout.fragment_main, container, false); + + return rootView; + } +} diff --git a/mobile/src/main/java/com/example/daniel/myapplication/fragments/ManageFragment.java b/mobile/src/main/java/com/example/daniel/myapplication/fragments/ManageFragment.java new file mode 100644 index 0000000..cba4eb3 --- /dev/null +++ b/mobile/src/main/java/com/example/daniel/myapplication/fragments/ManageFragment.java @@ -0,0 +1,20 @@ +package com.example.daniel.myapplication.fragments; + +import android.app.Fragment; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.example.daniel.myapplication.R; + +public class ManageFragment extends Fragment { + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View rootView = inflater.inflate(R.layout.fragment_manage, container, false); + + return rootView; + } +} diff --git a/mobile/src/main/java/com/example/daniel/myapplication/fragments/SlideshowFragment.java b/mobile/src/main/java/com/example/daniel/myapplication/fragments/SlideshowFragment.java new file mode 100644 index 0000000..67d998e --- /dev/null +++ b/mobile/src/main/java/com/example/daniel/myapplication/fragments/SlideshowFragment.java @@ -0,0 +1,20 @@ +package com.example.daniel.myapplication.fragments; + +import android.app.Fragment; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.example.daniel.myapplication.R; + +public class SlideshowFragment extends Fragment { + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View rootView = inflater.inflate(R.layout.fragment_slideshow, container, false); + + return rootView; + } +} diff --git a/mobile/src/main/res/drawable/ic_menu_camera.xml b/mobile/src/main/res/drawable/ic_menu_camera.xml new file mode 100644 index 0000000..0d9ea10 --- /dev/null +++ b/mobile/src/main/res/drawable/ic_menu_camera.xml @@ -0,0 +1,12 @@ + + + + diff --git a/mobile/src/main/res/drawable/ic_menu_gallery.xml b/mobile/src/main/res/drawable/ic_menu_gallery.xml new file mode 100644 index 0000000..f6872c4 --- /dev/null +++ b/mobile/src/main/res/drawable/ic_menu_gallery.xml @@ -0,0 +1,9 @@ + + + diff --git a/mobile/src/main/res/drawable/ic_menu_manage.xml b/mobile/src/main/res/drawable/ic_menu_manage.xml new file mode 100644 index 0000000..c1be60b --- /dev/null +++ b/mobile/src/main/res/drawable/ic_menu_manage.xml @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/mobile/src/main/res/drawable/ic_menu_send.xml b/mobile/src/main/res/drawable/ic_menu_send.xml new file mode 100644 index 0000000..00c668c --- /dev/null +++ b/mobile/src/main/res/drawable/ic_menu_send.xml @@ -0,0 +1,9 @@ + + + diff --git a/mobile/src/main/res/drawable/ic_menu_share.xml b/mobile/src/main/res/drawable/ic_menu_share.xml new file mode 100644 index 0000000..a28fb9e --- /dev/null +++ b/mobile/src/main/res/drawable/ic_menu_share.xml @@ -0,0 +1,9 @@ + + + diff --git a/mobile/src/main/res/drawable/ic_menu_slideshow.xml b/mobile/src/main/res/drawable/ic_menu_slideshow.xml new file mode 100644 index 0000000..209aa64 --- /dev/null +++ b/mobile/src/main/res/drawable/ic_menu_slideshow.xml @@ -0,0 +1,9 @@ + + + diff --git a/mobile/src/main/res/drawable/side_nav_bar.xml b/mobile/src/main/res/drawable/side_nav_bar.xml new file mode 100644 index 0000000..458b4b0 --- /dev/null +++ b/mobile/src/main/res/drawable/side_nav_bar.xml @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/mobile/src/main/res/layout/activity_main.xml b/mobile/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..a61d8a6 --- /dev/null +++ b/mobile/src/main/res/layout/activity_main.xml @@ -0,0 +1,25 @@ + + + + + + + + diff --git a/mobile/src/main/res/layout/app_bar_main.xml b/mobile/src/main/res/layout/app_bar_main.xml new file mode 100644 index 0000000..6af9879 --- /dev/null +++ b/mobile/src/main/res/layout/app_bar_main.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/mobile/src/main/res/layout/content_main.xml b/mobile/src/main/res/layout/content_main.xml new file mode 100644 index 0000000..f88d330 --- /dev/null +++ b/mobile/src/main/res/layout/content_main.xml @@ -0,0 +1,20 @@ + + + + + diff --git a/mobile/src/main/res/layout/fragment_camera.xml b/mobile/src/main/res/layout/fragment_camera.xml new file mode 100644 index 0000000..176fef7 --- /dev/null +++ b/mobile/src/main/res/layout/fragment_camera.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/mobile/src/main/res/layout/fragment_gallery.xml b/mobile/src/main/res/layout/fragment_gallery.xml new file mode 100644 index 0000000..e91fac9 --- /dev/null +++ b/mobile/src/main/res/layout/fragment_gallery.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/mobile/src/main/res/layout/fragment_main.xml b/mobile/src/main/res/layout/fragment_main.xml new file mode 100644 index 0000000..b00ac8f --- /dev/null +++ b/mobile/src/main/res/layout/fragment_main.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/mobile/src/main/res/layout/fragment_manage.xml b/mobile/src/main/res/layout/fragment_manage.xml new file mode 100644 index 0000000..9ea69e1 --- /dev/null +++ b/mobile/src/main/res/layout/fragment_manage.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/mobile/src/main/res/layout/fragment_slideshow.xml b/mobile/src/main/res/layout/fragment_slideshow.xml new file mode 100644 index 0000000..d0f82cb --- /dev/null +++ b/mobile/src/main/res/layout/fragment_slideshow.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/mobile/src/main/res/layout/nav_header_main.xml b/mobile/src/main/res/layout/nav_header_main.xml new file mode 100644 index 0000000..5eea9a6 --- /dev/null +++ b/mobile/src/main/res/layout/nav_header_main.xml @@ -0,0 +1,35 @@ + + + + + + + + + + diff --git a/mobile/src/main/res/menu/activity_main_drawer.xml b/mobile/src/main/res/menu/activity_main_drawer.xml new file mode 100644 index 0000000..2a7f467 --- /dev/null +++ b/mobile/src/main/res/menu/activity_main_drawer.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + diff --git a/mobile/src/main/res/menu/menu_main.xml b/mobile/src/main/res/menu/menu_main.xml new file mode 100644 index 0000000..a2411e3 --- /dev/null +++ b/mobile/src/main/res/menu/menu_main.xml @@ -0,0 +1,9 @@ + + + + diff --git a/mobile/src/main/res/mipmap-hdpi/ic_launcher.png b/mobile/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..cde69bcccec65160d92116f20ffce4fce0b5245c GIT binary patch literal 3418 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 O6N9I#pUXO@geCxi=Rj%z literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/mipmap-mdpi/ic_launcher.png b/mobile/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..c133a0cbd379f5af6dbf1a899a0293ca5eccfad0 GIT binary patch literal 2206 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4mJh`hH$2z?F!lvNA9* zC?tCX`7$t6sWC7#v@kIIVqjosc)`F>YQVtoDuIE)Y6b&?c)^@qfi?^b3~Wi>?k)^q z@Y8vBJp%&+XMsm#F#`j)FbFd;%$g&?z`(x1)5S3)o?RaSfnpWT~3HxIK{-!Xu$=cg)AFmYAb%8b=pyq1VH zd0f)UT|7l?>LiX|39gOHT(_8-@TnDk*i|Z?v%bEp?A^=5XWpE9|4xVT3Oip^S=qat z-|O!G-1+=o_Jg)N6J9GldbpSWIOB!V8Qo>??#yCPP-5&}^tsvIZp-4``OhwGpMUF8 zNw4Px=H1t8mgRPzc~}4TU%u->@y-Lk->0y7ELisU+$?d171t*;>{?X*PEoUWR{8xM z1_DPT0y$0`X1`bQesZz!@kgb59YA0xj|zP095(#@}TYF|IjT(kSb_s;P8>JNJ_ zGwcxBvErdXd`)!m^Tqc2Ut4GUWvfujRzoy65!WS*G?hOz2n)oA}0!hdWr9N=}`7 zc4a!(^qnRyN{4bdEZSZEGWIrqi99n0&r6puQ^w!*o4(Zjx^Z&f=J$MGnP+ry zd97?a@ad`V#d0)4_1%;gS)$X&e_Ge`@^#+`8!&Ee!>c6ZXl*XWV3C$T*U;B>D4)Ul0DRTC>0GA)krL zEd~bPld30PCQHn-c>DS2BkRfgnKno{*k#PwARu(#a>vea?*j1|wVk)7G$!=S2jOxkB{t}FiX_UAvenDca6iE^B#EzzSfnzil30< z!jNzG+Nl4(PyLHayJ!4PR}f%Z{L`#dol3x7$+9!#z4!XQmsjRnl#)iv6qm(S z@tO&9r-N-L=Io5h zS7Fi)E4h+YxGJ?E<$&LV#0Si$<7Qs?7*@U1ZOL@KT+a|ChqZIRuI%z~KF}Vy^VS8< z5cYuWix!H_dwS*hqzbRzr<+<6ohJ#T?3kje{V+1}PiBkuhRQmHq|YU64ox@iPp^&j zOuV_EsJFaIo-s}B@PcbIJwLB-eAaWclaa0EXBQ)fQp1iEF>mn{dm#^j13XHMN)ESX z%>65&uwq_;mMwSdfsHfH*V!?3Dec(Sw;;ozZkBIDfmNTwA;!KNyNWlQ;Ns?)najh* z8GYTXsZ>b0zOa;i-cwbx=fbUf^qKxduI11aQJAQ-VwOW)SL}2pmt{}q>_2(?-39G! zi@%&XBj%`Iaawua+;v&Dnq4b=76e?Fx#mir>KVzeH!t0s&Y|GAfw_mJ`G%7lU(>c$ zZ{M((jbHEi9$@j;GoMluP_oZoOD-d+&|&q)Vuo*=GDohJyy1{%(e3ohHoEaxGhV(g z%-qQ~L4A4fmK~Y8wbOF{gcTKkbUT=>sPs~*d1m*#V&~N*9$NeFxb0$OW7yiZ;Hax% ziNjJR_lCop&TU=Kaxb;$_0Oz1ADsA16i*onhbo?5s(NATkt(;1ldlS%O_|uqw(pag z{wDT0DqCh$u4OgazjMZxZ8uW|_gsFlZMwt7gW*Sn-!y!hD|*%?<%OC?b!JKBq6j;g zhlhpUc>K_K(46OBHq48pA`R-(z%P{IyF{x`iZT% z^6d$u=yc!P+GTbujQY&?lvcmqJe51rp;X`B$uPTV%F+vp)}AXxeyc3qyl86gcZCl* z{O<(gIbJgU?)6d%$=;lrYj|eq)-6pp9=r^0WdCw#&6l%pYd>zc=Z&3pweB-Oas||nTsUAC??kRQ4UaV}{{xw;L_Sfqw zr{vyv)7pMA=KD=StH8DIuAK6HHF^F2oCnhKd+J~6Fx<6W9xuZ1bynMKalP!kAd#nC z;aZ0^Vm`92Oq9r}@1OHG-|hNG!3G_MaEaEXYZwBWvwy2!U2(|Z|D7q{oAlikvVMP6 zDRlm)|Fm9NK7q+%$EIEe1_sp<*NBpo#FA92PsvQH#I51%te>D32!p4qpUXO@geCyMl>}-4 literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/mipmap-xhdpi/ic_launcher.png b/mobile/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..bfa42f0e7b91d006d22352c9ff2f134e504e3c1d GIT binary patch literal 4842 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 mm|GbbNNw3_*8t*cliYSkfJR9T^xl_H+M9WMyDr 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 literal 0 HcmV?d00001 diff --git a/mobile/src/main/res/values-v21/styles.xml b/mobile/src/main/res/values-v21/styles.xml new file mode 100644 index 0000000..dbbdd40 --- /dev/null +++ b/mobile/src/main/res/values-v21/styles.xml @@ -0,0 +1,9 @@ + + + + diff --git a/mobile/src/main/res/values-w820dp/dimens.xml b/mobile/src/main/res/values-w820dp/dimens.xml new file mode 100644 index 0000000..63fc816 --- /dev/null +++ b/mobile/src/main/res/values-w820dp/dimens.xml @@ -0,0 +1,6 @@ + + + 64dp + diff --git a/mobile/src/main/res/values/colors.xml b/mobile/src/main/res/values/colors.xml new file mode 100644 index 0000000..3ab3e9c --- /dev/null +++ b/mobile/src/main/res/values/colors.xml @@ -0,0 +1,6 @@ + + + #3F51B5 + #303F9F + #FF4081 + diff --git a/mobile/src/main/res/values/dimens.xml b/mobile/src/main/res/values/dimens.xml new file mode 100644 index 0000000..c2effc5 --- /dev/null +++ b/mobile/src/main/res/values/dimens.xml @@ -0,0 +1,9 @@ + + + 16dp + 160dp + + 16dp + 16dp + 16dp + diff --git a/mobile/src/main/res/values/strings.xml b/mobile/src/main/res/values/strings.xml new file mode 100644 index 0000000..d2ba045 --- /dev/null +++ b/mobile/src/main/res/values/strings.xml @@ -0,0 +1,8 @@ + + My Application + + Open navigation drawer + Close navigation drawer + + Settings + diff --git a/mobile/src/main/res/values/styles.xml b/mobile/src/main/res/values/styles.xml new file mode 100644 index 0000000..545b9c6 --- /dev/null +++ b/mobile/src/main/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + +