Browse Source

init app

tags/0.0.5
Robin Thoni 9 years ago
parent
commit
d7c9b9b5e1
40 changed files with 770 additions and 31 deletions
  1. 6
    31
      .gitignore
  2. 1
    0
      app/.gitignore
  3. 27
    0
      app/build.gradle
  4. 17
    0
      app/proguard-rules.pro
  5. 13
    0
      app/src/androidTest/java/com/rthoni/camotion/ApplicationTest.java
  6. 23
    0
      app/src/main/AndroidManifest.xml
  7. 99
    0
      app/src/main/java/com/rthoni/camotion/MainActivity.java
  8. 12
    0
      app/src/main/res/drawable-v21/ic_menu_camera.xml
  9. 9
    0
      app/src/main/res/drawable-v21/ic_menu_gallery.xml
  10. 9
    0
      app/src/main/res/drawable-v21/ic_menu_manage.xml
  11. 9
    0
      app/src/main/res/drawable-v21/ic_menu_send.xml
  12. 9
    0
      app/src/main/res/drawable-v21/ic_menu_share.xml
  13. 9
    0
      app/src/main/res/drawable-v21/ic_menu_slideshow.xml
  14. 8
    0
      app/src/main/res/drawable/side_nav_bar.xml
  15. 25
    0
      app/src/main/res/layout/activity_main.xml
  16. 34
    0
      app/src/main/res/layout/app_bar_main.xml
  17. 19
    0
      app/src/main/res/layout/content_main.xml
  18. 21
    0
      app/src/main/res/layout/nav_header_main.xml
  19. 32
    0
      app/src/main/res/menu/activity_main_drawer.xml
  20. 9
    0
      app/src/main/res/menu/menu_main.xml
  21. BIN
      app/src/main/res/mipmap-hdpi/ic_launcher.png
  22. BIN
      app/src/main/res/mipmap-mdpi/ic_launcher.png
  23. BIN
      app/src/main/res/mipmap-xhdpi/ic_launcher.png
  24. BIN
      app/src/main/res/mipmap-xxhdpi/ic_launcher.png
  25. BIN
      app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  26. 9
    0
      app/src/main/res/values-v21/styles.xml
  27. 6
    0
      app/src/main/res/values-w820dp/dimens.xml
  28. 6
    0
      app/src/main/res/values/colors.xml
  29. 9
    0
      app/src/main/res/values/dimens.xml
  30. 8
    0
      app/src/main/res/values/drawables.xml
  31. 8
    0
      app/src/main/res/values/strings.xml
  32. 20
    0
      app/src/main/res/values/styles.xml
  33. 15
    0
      app/src/test/java/com/rthoni/camotion/ExampleUnitTest.java
  34. 23
    0
      build.gradle
  35. 18
    0
      gradle.properties
  36. BIN
      gradle/wrapper/gradle-wrapper.jar
  37. 6
    0
      gradle/wrapper/gradle-wrapper.properties
  38. 160
    0
      gradlew
  39. 90
    0
      gradlew.bat
  40. 1
    0
      settings.gradle

+ 6
- 31
.gitignore View File

@@ -1,32 +1,7 @@
1
-#built application files
2
-*.apk
3
-*.ap_
4
-
5
-# files for the dex VM
6
-*.dex
7
-
8
-# Java class files
9
-*.class
10
-
11
-# generated files
12
-bin/
13
-gen/
14
-
15
-# Local configuration file (sdk path, etc)
16
-local.properties
17
-
18
-# Windows thumbnail db
19
-Thumbs.db
20
-
21
-# OSX files
22
-.DS_Store
23
-
24
-# Eclipse project files
25
-.classpath
26
-.project
27
-
28
-# Android Studio
29
-.idea
30
-#.idea/workspace.xml - remove # and delete .idea if it better suit your needs.
1
+*.iml
31 2
 .gradle
32
-build/
3
+/local.properties
4
+/.idea
5
+.DS_Store
6
+/build
7
+/captures

+ 1
- 0
app/.gitignore View File

@@ -0,0 +1 @@
1
+/build

+ 27
- 0
app/build.gradle View File

@@ -0,0 +1,27 @@
1
+apply plugin: 'com.android.application'
2
+
3
+android {
4
+    compileSdkVersion 22
5
+    buildToolsVersion "22.0.1"
6
+
7
+    defaultConfig {
8
+        applicationId "com.rthoni.camotion"
9
+        minSdkVersion 14
10
+        targetSdkVersion 22
11
+        versionCode 1
12
+        versionName "1.0"
13
+    }
14
+    buildTypes {
15
+        release {
16
+            minifyEnabled false
17
+            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18
+        }
19
+    }
20
+}
21
+
22
+dependencies {
23
+    compile fileTree(dir: 'libs', include: ['*.jar'])
24
+    testCompile 'junit:junit:4.12'
25
+    compile 'com.android.support:appcompat-v7:22.2.1'
26
+    compile 'com.android.support:design:22.2.1'
27
+}

+ 17
- 0
app/proguard-rules.pro View File

@@ -0,0 +1,17 @@
1
+# Add project specific ProGuard rules here.
2
+# By default, the flags in this file are appended to flags specified
3
+# in /home/robin/Android/Sdk/tools/proguard/proguard-android.txt
4
+# You can edit the include path and order by changing the proguardFiles
5
+# directive in build.gradle.
6
+#
7
+# For more details, see
8
+#   http://developer.android.com/guide/developing/tools/proguard.html
9
+
10
+# Add any project specific keep options here:
11
+
12
+# If your project uses WebView with JS, uncomment the following
13
+# and specify the fully qualified class name to the JavaScript interface
14
+# class:
15
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16
+#   public *;
17
+#}

+ 13
- 0
app/src/androidTest/java/com/rthoni/camotion/ApplicationTest.java View File

@@ -0,0 +1,13 @@
1
+package com.rthoni.camotion;
2
+
3
+import android.app.Application;
4
+import android.test.ApplicationTestCase;
5
+
6
+/**
7
+ * <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
8
+ */
9
+public class ApplicationTest extends ApplicationTestCase<Application> {
10
+    public ApplicationTest() {
11
+        super(Application.class);
12
+    }
13
+}

+ 23
- 0
app/src/main/AndroidManifest.xml View File

@@ -0,0 +1,23 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3
+    package="com.rthoni.camotion">
4
+
5
+    <application
6
+        android:allowBackup="true"
7
+        android:icon="@mipmap/ic_launcher"
8
+        android:label="@string/app_name"
9
+        android:supportsRtl="true"
10
+        android:theme="@style/AppTheme">
11
+        <activity
12
+            android:name=".MainActivity"
13
+            android:label="@string/app_name"
14
+            android:theme="@style/AppTheme.NoActionBar">
15
+            <intent-filter>
16
+                <action android:name="android.intent.action.MAIN" />
17
+
18
+                <category android:name="android.intent.category.LAUNCHER" />
19
+            </intent-filter>
20
+        </activity>
21
+    </application>
22
+
23
+</manifest>

+ 99
- 0
app/src/main/java/com/rthoni/camotion/MainActivity.java View File

@@ -0,0 +1,99 @@
1
+package com.rthoni.camotion;
2
+
3
+import android.os.Bundle;
4
+import android.support.design.widget.FloatingActionButton;
5
+import android.support.design.widget.Snackbar;
6
+import android.view.View;
7
+import android.support.design.widget.NavigationView;
8
+import android.support.v4.view.GravityCompat;
9
+import android.support.v4.widget.DrawerLayout;
10
+import android.support.v7.app.ActionBarDrawerToggle;
11
+import android.support.v7.app.AppCompatActivity;
12
+import android.support.v7.widget.Toolbar;
13
+import android.view.Menu;
14
+import android.view.MenuItem;
15
+
16
+public class MainActivity extends AppCompatActivity
17
+        implements NavigationView.OnNavigationItemSelectedListener {
18
+
19
+    @Override
20
+    protected void onCreate(Bundle savedInstanceState) {
21
+        super.onCreate(savedInstanceState);
22
+        setContentView(R.layout.activity_main);
23
+        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
24
+        setSupportActionBar(toolbar);
25
+
26
+        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
27
+        fab.setOnClickListener(new View.OnClickListener() {
28
+            @Override
29
+            public void onClick(View view) {
30
+                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
31
+                        .setAction("Action", null).show();
32
+            }
33
+        });
34
+
35
+        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
36
+        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
37
+                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
38
+        drawer.setDrawerListener(toggle);
39
+        toggle.syncState();
40
+
41
+        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
42
+        navigationView.setNavigationItemSelectedListener(this);
43
+    }
44
+
45
+    @Override
46
+    public void onBackPressed() {
47
+        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
48
+        if (drawer.isDrawerOpen(GravityCompat.START)) {
49
+            drawer.closeDrawer(GravityCompat.START);
50
+        } else {
51
+            super.onBackPressed();
52
+        }
53
+    }
54
+
55
+    @Override
56
+    public boolean onCreateOptionsMenu(Menu menu) {
57
+        // Inflate the menu; this adds items to the action bar if it is present.
58
+        getMenuInflater().inflate(R.menu.menu_main, menu);
59
+        return true;
60
+    }
61
+
62
+    @Override
63
+    public boolean onOptionsItemSelected(MenuItem item) {
64
+        // Handle action bar item clicks here. The action bar will
65
+        // automatically handle clicks on the Home/Up button, so long
66
+        // as you specify a parent activity in AndroidManifest.xml.
67
+        int id = item.getItemId();
68
+
69
+        //noinspection SimplifiableIfStatement
70
+        if (id == R.id.action_settings) {
71
+            return true;
72
+        }
73
+
74
+        return super.onOptionsItemSelected(item);
75
+    }
76
+
77
+    @SuppressWarnings("StatementWithEmptyBody")
78
+    @Override
79
+    public boolean onNavigationItemSelected(MenuItem item) {
80
+        // Handle navigation view item clicks here.
81
+        int id = item.getItemId();
82
+
83
+        if (id == R.id.nav_camera) {
84
+            // Handle the camera action
85
+        } else if (id == R.id.nav_gallery) {
86
+
87
+        } else if (id == R.id.nav_slideshow) {
88
+
89
+        } else if (id == R.id.nav_share) {
90
+
91
+        } else if (id == R.id.nav_send) {
92
+
93
+        }
94
+
95
+        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
96
+        drawer.closeDrawer(GravityCompat.START);
97
+        return true;
98
+    }
99
+}

+ 12
- 0
app/src/main/res/drawable-v21/ic_menu_camera.xml View File

@@ -0,0 +1,12 @@
1
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
2
+    android:width="24dp"
3
+    android:height="24dp"
4
+    android:viewportHeight="24.0"
5
+    android:viewportWidth="24.0">
6
+    <path
7
+        android:fillColor="#FF000000"
8
+        android:pathData="M12,12m-3.2,0a3.2,3.2 0,1 1,6.4 0a3.2,3.2 0,1 1,-6.4 0" />
9
+    <path
10
+        android:fillColor="#FF000000"
11
+        android:pathData="M9,2L7.17,4H4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2V6c0,-1.1 -0.9,-2 -2,-2h-3.17L15,2H9zm3,15c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5z" />
12
+</vector>

+ 9
- 0
app/src/main/res/drawable-v21/ic_menu_gallery.xml View File

@@ -0,0 +1,9 @@
1
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
2
+    android:width="24dp"
3
+    android:height="24dp"
4
+    android:viewportHeight="24.0"
5
+    android:viewportWidth="24.0">
6
+    <path
7
+        android:fillColor="#FF000000"
8
+        android:pathData="M22,16V4c0,-1.1 -0.9,-2 -2,-2H8c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2zm-11,-4l2.03,2.71L16,11l4,5H8l3,-4zM2,6v14c0,1.1 0.9,2 2,2h14v-2H4V6H2z" />
9
+</vector>

+ 9
- 0
app/src/main/res/drawable-v21/ic_menu_manage.xml View File

@@ -0,0 +1,9 @@
1
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
2
+    android:width="24dp"
3
+    android:height="24dp"
4
+    android:viewportHeight="24.0"
5
+    android:viewportWidth="24.0">
6
+    <path
7
+        android:fillColor="#FF000000"
8
+        android:pathData="M22.7,19l-9.1,-9.1c0.9,-2.3 0.4,-5 -1.5,-6.9 -2,-2 -5,-2.4 -7.4,-1.3L9,6 6,9 1.6,4.7C0.4,7.1 0.9,10.1 2.9,12.1c1.9,1.9 4.6,2.4 6.9,1.5l9.1,9.1c0.4,0.4 1,0.4 1.4,0l2.3,-2.3c0.5,-0.4 0.5,-1.1 0.1,-1.4z" />
9
+</vector>

+ 9
- 0
app/src/main/res/drawable-v21/ic_menu_send.xml View File

@@ -0,0 +1,9 @@
1
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
2
+    android:width="24dp"
3
+    android:height="24dp"
4
+    android:viewportHeight="24.0"
5
+    android:viewportWidth="24.0">
6
+    <path
7
+        android:fillColor="#FF000000"
8
+        android:pathData="M2.01,21L23,12 2.01,3 2,10l15,2 -15,2z" />
9
+</vector>

+ 9
- 0
app/src/main/res/drawable-v21/ic_menu_share.xml View File

@@ -0,0 +1,9 @@
1
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
2
+    android:width="24dp"
3
+    android:height="24dp"
4
+    android:viewportHeight="24.0"
5
+    android:viewportWidth="24.0">
6
+    <path
7
+        android:fillColor="#FF000000"
8
+        android:pathData="M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92 1.61,0 2.92,-1.31 2.92,-2.92s-1.31,-2.92 -2.92,-2.92z" />
9
+</vector>

+ 9
- 0
app/src/main/res/drawable-v21/ic_menu_slideshow.xml View File

@@ -0,0 +1,9 @@
1
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
2
+    android:width="24dp"
3
+    android:height="24dp"
4
+    android:viewportHeight="24.0"
5
+    android:viewportWidth="24.0">
6
+    <path
7
+        android:fillColor="#FF000000"
8
+        android:pathData="M4,6H2v14c0,1.1 0.9,2 2,2h14v-2H4V6zm16,-4H8c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2V4c0,-1.1 -0.9,-2 -2,-2zm-8,12.5v-9l6,4.5 -6,4.5z" />
9
+</vector>

+ 8
- 0
app/src/main/res/drawable/side_nav_bar.xml View File

@@ -0,0 +1,8 @@
1
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
2
+    android:shape="rectangle">
3
+    <gradient
4
+        android:angle="135"
5
+        android:startColor="@color/colorPrimary"
6
+        android:endColor="@color/colorPrimaryDark"
7
+        android:type="linear" />
8
+</shape>

+ 25
- 0
app/src/main/res/layout/activity_main.xml View File

@@ -0,0 +1,25 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
+    xmlns:app="http://schemas.android.com/apk/res-auto"
4
+    xmlns:tools="http://schemas.android.com/tools"
5
+    android:id="@+id/drawer_layout"
6
+    android:layout_width="match_parent"
7
+    android:layout_height="match_parent"
8
+    android:fitsSystemWindows="true"
9
+    tools:openDrawer="start">
10
+
11
+    <include
12
+        layout="@layout/app_bar_main"
13
+        android:layout_width="match_parent"
14
+        android:layout_height="match_parent" />
15
+
16
+    <android.support.design.widget.NavigationView
17
+        android:id="@+id/nav_view"
18
+        android:layout_width="wrap_content"
19
+        android:layout_height="match_parent"
20
+        android:layout_gravity="start"
21
+        android:fitsSystemWindows="true"
22
+        app:headerLayout="@layout/nav_header_main"
23
+        app:menu="@menu/activity_main_drawer" />
24
+
25
+</android.support.v4.widget.DrawerLayout>

+ 34
- 0
app/src/main/res/layout/app_bar_main.xml View File

@@ -0,0 +1,34 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
+    xmlns:app="http://schemas.android.com/apk/res-auto"
4
+    xmlns:tools="http://schemas.android.com/tools"
5
+    android:layout_width="match_parent"
6
+    android:layout_height="match_parent"
7
+    android:fitsSystemWindows="true"
8
+    tools:context="com.rthoni.camotion.MainActivity">
9
+
10
+    <android.support.design.widget.AppBarLayout
11
+        android:layout_width="match_parent"
12
+        android:layout_height="wrap_content"
13
+        android:theme="@style/AppTheme.AppBarOverlay">
14
+
15
+        <android.support.v7.widget.Toolbar
16
+            android:id="@+id/toolbar"
17
+            android:layout_width="match_parent"
18
+            android:layout_height="?attr/actionBarSize"
19
+            android:background="?attr/colorPrimary"
20
+            app:popupTheme="@style/AppTheme.PopupOverlay" />
21
+
22
+    </android.support.design.widget.AppBarLayout>
23
+
24
+    <include layout="@layout/content_main" />
25
+
26
+    <android.support.design.widget.FloatingActionButton
27
+        android:id="@+id/fab"
28
+        android:layout_width="wrap_content"
29
+        android:layout_height="wrap_content"
30
+        android:layout_gravity="bottom|end"
31
+        android:layout_margin="@dimen/fab_margin"
32
+        android:src="@android:drawable/ic_dialog_email" />
33
+
34
+</android.support.design.widget.CoordinatorLayout>

+ 19
- 0
app/src/main/res/layout/content_main.xml View File

@@ -0,0 +1,19 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
+    xmlns:app="http://schemas.android.com/apk/res-auto"
4
+    xmlns:tools="http://schemas.android.com/tools"
5
+    android:layout_width="match_parent"
6
+    android:layout_height="match_parent"
7
+    android:paddingBottom="@dimen/activity_vertical_margin"
8
+    android:paddingLeft="@dimen/activity_horizontal_margin"
9
+    android:paddingRight="@dimen/activity_horizontal_margin"
10
+    android:paddingTop="@dimen/activity_vertical_margin"
11
+    app:layout_behavior="@string/appbar_scrolling_view_behavior"
12
+    tools:context="com.rthoni.camotion.MainActivity"
13
+    tools:showIn="@layout/app_bar_main">
14
+
15
+    <TextView
16
+        android:layout_width="wrap_content"
17
+        android:layout_height="wrap_content"
18
+        android:text="Hello World!" />
19
+</RelativeLayout>

+ 21
- 0
app/src/main/res/layout/nav_header_main.xml View File

@@ -0,0 +1,21 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
+    android:layout_width="match_parent"
4
+    android:layout_height="wrap_content"
5
+    android:background="@drawable/side_nav_bar"
6
+    android:gravity="bottom"
7
+    android:orientation="vertical"
8
+    android:paddingBottom="@dimen/activity_vertical_margin"
9
+    android:paddingLeft="@dimen/activity_horizontal_margin"
10
+    android:paddingRight="@dimen/activity_horizontal_margin"
11
+    android:paddingTop="@dimen/activity_vertical_margin"
12
+    android:theme="@style/ThemeOverlay.AppCompat.Dark">
13
+
14
+    <TextView
15
+        android:paddingTop="24dp"
16
+        android:layout_width="match_parent"
17
+        android:layout_height="wrap_content"
18
+        android:text="Location Name"
19
+        android:textAppearance="@style/TextAppearance.AppCompat.Title" />
20
+
21
+</LinearLayout>

+ 32
- 0
app/src/main/res/menu/activity_main_drawer.xml View File

@@ -0,0 +1,32 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
3
+
4
+    <group android:checkableBehavior="single">
5
+        <item
6
+            android:id="@+id/nav_camera"
7
+            android:icon="@drawable/ic_menu_camera"
8
+            android:title="Cameras" />
9
+        <item
10
+            android:id="@+id/nav_gallery"
11
+            android:icon="@drawable/ic_menu_gallery"
12
+            android:title="Sensors" />
13
+        <item
14
+            android:id="@+id/nav_slideshow"
15
+            android:icon="@drawable/ic_menu_slideshow"
16
+            android:title="Cammands" />
17
+    </group>
18
+
19
+    <item android:title="Locations">
20
+        <menu>
21
+            <item
22
+                android:id="@+id/nav_share"
23
+                android:icon="@drawable/ic_menu_share"
24
+                android:title="Select" />
25
+            <item
26
+                android:id="@+id/nav_send"
27
+                android:icon="@drawable/ic_menu_send"
28
+                android:title="Edit" />
29
+        </menu>
30
+    </item>
31
+
32
+</menu>

+ 9
- 0
app/src/main/res/menu/menu_main.xml View File

@@ -0,0 +1,9 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
3
+    xmlns:app="http://schemas.android.com/apk/res-auto">
4
+    <item
5
+        android:id="@+id/action_settings"
6
+        android:orderInCategory="100"
7
+        android:title="@string/action_settings"
8
+        app:showAsAction="never" />
9
+</menu>

BIN
app/src/main/res/mipmap-hdpi/ic_launcher.png View File


BIN
app/src/main/res/mipmap-mdpi/ic_launcher.png View File


BIN
app/src/main/res/mipmap-xhdpi/ic_launcher.png View File


BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher.png View File


BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher.png View File


+ 9
- 0
app/src/main/res/values-v21/styles.xml View File

@@ -0,0 +1,9 @@
1
+<resources>>
2
+
3
+    <style name="AppTheme.NoActionBar">
4
+        <item name="windowActionBar">false</item>
5
+        <item name="windowNoTitle">true</item>
6
+        <item name="android:windowDrawsSystemBarBackgrounds">true</item>
7
+        <item name="android:statusBarColor">@android:color/transparent</item>
8
+    </style>
9
+</resources>

+ 6
- 0
app/src/main/res/values-w820dp/dimens.xml View File

@@ -0,0 +1,6 @@
1
+<resources>
2
+    <!-- Example customization of dimensions originally defined in res/values/dimens.xml
3
+         (such as screen margins) for screens with more than 820dp of available width. This
4
+         would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). -->
5
+    <dimen name="activity_horizontal_margin">64dp</dimen>
6
+</resources>

+ 6
- 0
app/src/main/res/values/colors.xml View File

@@ -0,0 +1,6 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<resources>
3
+    <color name="colorPrimary">#34495e</color>
4
+    <color name="colorPrimaryDark">#1E2A35</color>
5
+    <color name="colorAccent">#1ABC9C</color>
6
+</resources>

+ 9
- 0
app/src/main/res/values/dimens.xml View File

@@ -0,0 +1,9 @@
1
+<resources>
2
+    <!-- Default screen margins, per the Android Design guidelines. -->
3
+    <dimen name="nav_header_vertical_spacing">16dp</dimen>
4
+    <dimen name="nav_header_height">160dp</dimen>
5
+    <!-- Default screen margins, per the Android Design guidelines. -->
6
+    <dimen name="activity_horizontal_margin">16dp</dimen>
7
+    <dimen name="activity_vertical_margin">16dp</dimen>
8
+    <dimen name="fab_margin">16dp</dimen>
9
+</resources>

+ 8
- 0
app/src/main/res/values/drawables.xml View File

@@ -0,0 +1,8 @@
1
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
2
+    <item name="ic_menu_camera" type="drawable">@android:drawable/ic_menu_camera</item>
3
+    <item name="ic_menu_gallery" type="drawable">@android:drawable/ic_menu_gallery</item>
4
+    <item name="ic_menu_slideshow" type="drawable">@android:drawable/ic_menu_slideshow</item>
5
+    <item name="ic_menu_manage" type="drawable">@android:drawable/ic_menu_manage</item>
6
+    <item name="ic_menu_share" type="drawable">@android:drawable/ic_menu_share</item>
7
+    <item name="ic_menu_send" type="drawable">@android:drawable/ic_menu_send</item>
8
+</resources>

+ 8
- 0
app/src/main/res/values/strings.xml View File

@@ -0,0 +1,8 @@
1
+<resources>
2
+    <string name="app_name">Camotion</string>
3
+
4
+    <string name="navigation_drawer_open">Open navigation drawer</string>
5
+    <string name="navigation_drawer_close">Close navigation drawer</string>
6
+
7
+    <string name="action_settings">Settings</string>
8
+</resources>

+ 20
- 0
app/src/main/res/values/styles.xml View File

@@ -0,0 +1,20 @@
1
+<resources>
2
+
3
+    <!-- Base application theme. -->
4
+    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
5
+        <!-- Customize your theme here. -->
6
+        <item name="colorPrimary">@color/colorPrimary</item>
7
+        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
8
+        <item name="colorAccent">@color/colorAccent</item>
9
+    </style>
10
+
11
+    <style name="AppTheme.NoActionBar">
12
+        <item name="windowActionBar">false</item>
13
+        <item name="windowNoTitle">true</item>
14
+    </style>
15
+
16
+    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
17
+
18
+    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
19
+
20
+</resources>

+ 15
- 0
app/src/test/java/com/rthoni/camotion/ExampleUnitTest.java View File

@@ -0,0 +1,15 @@
1
+package com.rthoni.camotion;
2
+
3
+import org.junit.Test;
4
+
5
+import static org.junit.Assert.*;
6
+
7
+/**
8
+ * To work on unit tests, switch the Test Artifact in the Build Variants view.
9
+ */
10
+public class ExampleUnitTest {
11
+    @Test
12
+    public void addition_isCorrect() throws Exception {
13
+        assertEquals(4, 2 + 2);
14
+    }
15
+}

+ 23
- 0
build.gradle View File

@@ -0,0 +1,23 @@
1
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
2
+
3
+buildscript {
4
+    repositories {
5
+        jcenter()
6
+    }
7
+    dependencies {
8
+        classpath 'com.android.tools.build:gradle:1.5.0'
9
+
10
+        // NOTE: Do not place your application dependencies here; they belong
11
+        // in the individual module build.gradle files
12
+    }
13
+}
14
+
15
+allprojects {
16
+    repositories {
17
+        jcenter()
18
+    }
19
+}
20
+
21
+task clean(type: Delete) {
22
+    delete rootProject.buildDir
23
+}

+ 18
- 0
gradle.properties View File

@@ -0,0 +1,18 @@
1
+# Project-wide Gradle settings.
2
+
3
+# IDE (e.g. Android Studio) users:
4
+# Gradle settings configured through the IDE *will override*
5
+# any settings specified in this file.
6
+
7
+# For more details on how to configure your build environment visit
8
+# http://www.gradle.org/docs/current/userguide/build_environment.html
9
+
10
+# Specifies the JVM arguments used for the daemon process.
11
+# The setting is particularly useful for tweaking memory settings.
12
+# Default value: -Xmx10248m -XX:MaxPermSize=256m
13
+# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
14
+
15
+# When configured, Gradle will run in incubating parallel mode.
16
+# This option should only be used with decoupled projects. More details, visit
17
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
18
+# org.gradle.parallel=true

BIN
gradle/wrapper/gradle-wrapper.jar View File


+ 6
- 0
gradle/wrapper/gradle-wrapper.properties View File

@@ -0,0 +1,6 @@
1
+#Wed Oct 21 11:34:03 PDT 2015
2
+distributionBase=GRADLE_USER_HOME
3
+distributionPath=wrapper/dists
4
+zipStoreBase=GRADLE_USER_HOME
5
+zipStorePath=wrapper/dists
6
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip

+ 160
- 0
gradlew View File

@@ -0,0 +1,160 @@
1
+#!/usr/bin/env bash
2
+
3
+##############################################################################
4
+##
5
+##  Gradle start up script for UN*X
6
+##
7
+##############################################################################
8
+
9
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10
+DEFAULT_JVM_OPTS=""
11
+
12
+APP_NAME="Gradle"
13
+APP_BASE_NAME=`basename "$0"`
14
+
15
+# Use the maximum available, or set MAX_FD != -1 to use that value.
16
+MAX_FD="maximum"
17
+
18
+warn ( ) {
19
+    echo "$*"
20
+}
21
+
22
+die ( ) {
23
+    echo
24
+    echo "$*"
25
+    echo
26
+    exit 1
27
+}
28
+
29
+# OS specific support (must be 'true' or 'false').
30
+cygwin=false
31
+msys=false
32
+darwin=false
33
+case "`uname`" in
34
+  CYGWIN* )
35
+    cygwin=true
36
+    ;;
37
+  Darwin* )
38
+    darwin=true
39
+    ;;
40
+  MINGW* )
41
+    msys=true
42
+    ;;
43
+esac
44
+
45
+# Attempt to set APP_HOME
46
+# Resolve links: $0 may be a link
47
+PRG="$0"
48
+# Need this for relative symlinks.
49
+while [ -h "$PRG" ] ; do
50
+    ls=`ls -ld "$PRG"`
51
+    link=`expr "$ls" : '.*-> \(.*\)$'`
52
+    if expr "$link" : '/.*' > /dev/null; then
53
+        PRG="$link"
54
+    else
55
+        PRG=`dirname "$PRG"`"/$link"
56
+    fi
57
+done
58
+SAVED="`pwd`"
59
+cd "`dirname \"$PRG\"`/" >/dev/null
60
+APP_HOME="`pwd -P`"
61
+cd "$SAVED" >/dev/null
62
+
63
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
64
+
65
+# Determine the Java command to use to start the JVM.
66
+if [ -n "$JAVA_HOME" ] ; then
67
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
68
+        # IBM's JDK on AIX uses strange locations for the executables
69
+        JAVACMD="$JAVA_HOME/jre/sh/java"
70
+    else
71
+        JAVACMD="$JAVA_HOME/bin/java"
72
+    fi
73
+    if [ ! -x "$JAVACMD" ] ; then
74
+        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
75
+
76
+Please set the JAVA_HOME variable in your environment to match the
77
+location of your Java installation."
78
+    fi
79
+else
80
+    JAVACMD="java"
81
+    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
82
+
83
+Please set the JAVA_HOME variable in your environment to match the
84
+location of your Java installation."
85
+fi
86
+
87
+# Increase the maximum file descriptors if we can.
88
+if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
89
+    MAX_FD_LIMIT=`ulimit -H -n`
90
+    if [ $? -eq 0 ] ; then
91
+        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
92
+            MAX_FD="$MAX_FD_LIMIT"
93
+        fi
94
+        ulimit -n $MAX_FD
95
+        if [ $? -ne 0 ] ; then
96
+            warn "Could not set maximum file descriptor limit: $MAX_FD"
97
+        fi
98
+    else
99
+        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
100
+    fi
101
+fi
102
+
103
+# For Darwin, add options to specify how the application appears in the dock
104
+if $darwin; then
105
+    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
106
+fi
107
+
108
+# For Cygwin, switch paths to Windows format before running java
109
+if $cygwin ; then
110
+    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
111
+    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
112
+    JAVACMD=`cygpath --unix "$JAVACMD"`
113
+
114
+    # We build the pattern for arguments to be converted via cygpath
115
+    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
116
+    SEP=""
117
+    for dir in $ROOTDIRSRAW ; do
118
+        ROOTDIRS="$ROOTDIRS$SEP$dir"
119
+        SEP="|"
120
+    done
121
+    OURCYGPATTERN="(^($ROOTDIRS))"
122
+    # Add a user-defined pattern to the cygpath arguments
123
+    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
124
+        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
125
+    fi
126
+    # Now convert the arguments - kludge to limit ourselves to /bin/sh
127
+    i=0
128
+    for arg in "$@" ; do
129
+        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
130
+        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
131
+
132
+        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
133
+            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
134
+        else
135
+            eval `echo args$i`="\"$arg\""
136
+        fi
137
+        i=$((i+1))
138
+    done
139
+    case $i in
140
+        (0) set -- ;;
141
+        (1) set -- "$args0" ;;
142
+        (2) set -- "$args0" "$args1" ;;
143
+        (3) set -- "$args0" "$args1" "$args2" ;;
144
+        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
145
+        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
146
+        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
147
+        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
148
+        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
149
+        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
150
+    esac
151
+fi
152
+
153
+# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
154
+function splitJvmOpts() {
155
+    JVM_OPTS=("$@")
156
+}
157
+eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
158
+JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
159
+
160
+exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"

+ 90
- 0
gradlew.bat View File

@@ -0,0 +1,90 @@
1
+@if "%DEBUG%" == "" @echo off
2
+@rem ##########################################################################
3
+@rem
4
+@rem  Gradle startup script for Windows
5
+@rem
6
+@rem ##########################################################################
7
+
8
+@rem Set local scope for the variables with windows NT shell
9
+if "%OS%"=="Windows_NT" setlocal
10
+
11
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12
+set DEFAULT_JVM_OPTS=
13
+
14
+set DIRNAME=%~dp0
15
+if "%DIRNAME%" == "" set DIRNAME=.
16
+set APP_BASE_NAME=%~n0
17
+set APP_HOME=%DIRNAME%
18
+
19
+@rem Find java.exe
20
+if defined JAVA_HOME goto findJavaFromJavaHome
21
+
22
+set JAVA_EXE=java.exe
23
+%JAVA_EXE% -version >NUL 2>&1
24
+if "%ERRORLEVEL%" == "0" goto init
25
+
26
+echo.
27
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28
+echo.
29
+echo Please set the JAVA_HOME variable in your environment to match the
30
+echo location of your Java installation.
31
+
32
+goto fail
33
+
34
+:findJavaFromJavaHome
35
+set JAVA_HOME=%JAVA_HOME:"=%
36
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37
+
38
+if exist "%JAVA_EXE%" goto init
39
+
40
+echo.
41
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42
+echo.
43
+echo Please set the JAVA_HOME variable in your environment to match the
44
+echo location of your Java installation.
45
+
46
+goto fail
47
+
48
+:init
49
+@rem Get command-line arguments, handling Windowz variants
50
+
51
+if not "%OS%" == "Windows_NT" goto win9xME_args
52
+if "%@eval[2+2]" == "4" goto 4NT_args
53
+
54
+:win9xME_args
55
+@rem Slurp the command line arguments.
56
+set CMD_LINE_ARGS=
57
+set _SKIP=2
58
+
59
+:win9xME_args_slurp
60
+if "x%~1" == "x" goto execute
61
+
62
+set CMD_LINE_ARGS=%*
63
+goto execute
64
+
65
+:4NT_args
66
+@rem Get arguments from the 4NT Shell from JP Software
67
+set CMD_LINE_ARGS=%$
68
+
69
+:execute
70
+@rem Setup the command line
71
+
72
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73
+
74
+@rem Execute Gradle
75
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76
+
77
+:end
78
+@rem End local scope for the variables with windows NT shell
79
+if "%ERRORLEVEL%"=="0" goto mainEnd
80
+
81
+:fail
82
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83
+rem the _cmd.exe /c_ return code!
84
+if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85
+exit /b 1
86
+
87
+:mainEnd
88
+if "%OS%"=="Windows_NT" endlocal
89
+
90
+:omega

+ 1
- 0
settings.gradle View File

@@ -0,0 +1 @@
1
+include ':app'

Loading…
Cancel
Save