Jelajahi Sumber

Merge remote-tracking branch 'remotes/origin/master' into video_thumbnail

tobiasKaminsky 8 tahun lalu
induk
melakukan
1edc488995
100 mengubah file dengan 636 tambahan dan 274 penghapusan
  1. 1 0
      .tx/config
  2. 24 9
      AndroidManifest.xml
  3. 16 2
      CHANGELOG.md
  4. 153 14
      CONTRIBUTING.md
  5. 10 1
      README.md
  6. 2 2
      build.gradle
  7. TEMPAT SAMPAH
      res/drawable-hdpi/ic_account_plus.png
  8. TEMPAT SAMPAH
      res/drawable-hdpi/ic_action_refresh.png
  9. TEMPAT SAMPAH
      res/drawable-hdpi/ic_alert.png
  10. TEMPAT SAMPAH
      res/drawable-hdpi/ic_down.png
  11. TEMPAT SAMPAH
      res/drawable-hdpi/ic_hide.png
  12. TEMPAT SAMPAH
      res/drawable-hdpi/ic_key.png
  13. TEMPAT SAMPAH
      res/drawable-hdpi/ic_lock_open_white.png
  14. TEMPAT SAMPAH
      res/drawable-hdpi/ic_lock_white.png
  15. TEMPAT SAMPAH
      res/drawable-hdpi/ic_ok.png
  16. TEMPAT SAMPAH
      res/drawable-hdpi/ic_refresh.png
  17. TEMPAT SAMPAH
      res/drawable-hdpi/ic_select_all.png
  18. TEMPAT SAMPAH
      res/drawable-hdpi/ic_select_none.png
  19. TEMPAT SAMPAH
      res/drawable-hdpi/ic_up.png
  20. TEMPAT SAMPAH
      res/drawable-hdpi/ic_view.png
  21. TEMPAT SAMPAH
      res/drawable-hdpi/no_network.png
  22. TEMPAT SAMPAH
      res/drawable-mdpi/ic_account_plus.png
  23. TEMPAT SAMPAH
      res/drawable-mdpi/ic_action_refresh.png
  24. 0 0
      res/drawable-mdpi/ic_action_refresh_grey.png
  25. TEMPAT SAMPAH
      res/drawable-mdpi/ic_alert.png
  26. TEMPAT SAMPAH
      res/drawable-mdpi/ic_down.png
  27. TEMPAT SAMPAH
      res/drawable-mdpi/ic_hide.png
  28. TEMPAT SAMPAH
      res/drawable-mdpi/ic_key.png
  29. TEMPAT SAMPAH
      res/drawable-mdpi/ic_lock_open_white.png
  30. TEMPAT SAMPAH
      res/drawable-mdpi/ic_lock_white.png
  31. TEMPAT SAMPAH
      res/drawable-mdpi/ic_ok.png
  32. TEMPAT SAMPAH
      res/drawable-mdpi/ic_select_all.png
  33. TEMPAT SAMPAH
      res/drawable-mdpi/ic_select_none.png
  34. TEMPAT SAMPAH
      res/drawable-mdpi/ic_up.png
  35. TEMPAT SAMPAH
      res/drawable-mdpi/ic_view.png
  36. TEMPAT SAMPAH
      res/drawable-mdpi/no_network.png
  37. TEMPAT SAMPAH
      res/drawable-xhdpi/ic_account_plus.png
  38. TEMPAT SAMPAH
      res/drawable-xhdpi/ic_action_refresh.png
  39. TEMPAT SAMPAH
      res/drawable-xhdpi/ic_alert.png
  40. TEMPAT SAMPAH
      res/drawable-xhdpi/ic_down.png
  41. TEMPAT SAMPAH
      res/drawable-xhdpi/ic_hide.png
  42. TEMPAT SAMPAH
      res/drawable-xhdpi/ic_key.png
  43. TEMPAT SAMPAH
      res/drawable-xhdpi/ic_lock_open_white.png
  44. TEMPAT SAMPAH
      res/drawable-xhdpi/ic_lock_white.png
  45. TEMPAT SAMPAH
      res/drawable-xhdpi/ic_ok.png
  46. TEMPAT SAMPAH
      res/drawable-xhdpi/ic_select_all.png
  47. TEMPAT SAMPAH
      res/drawable-xhdpi/ic_select_none.png
  48. TEMPAT SAMPAH
      res/drawable-xhdpi/ic_up.png
  49. TEMPAT SAMPAH
      res/drawable-xhdpi/ic_view.png
  50. TEMPAT SAMPAH
      res/drawable-xhdpi/no_network.png
  51. TEMPAT SAMPAH
      res/drawable-xxhdpi/ic_account_plus.png
  52. TEMPAT SAMPAH
      res/drawable-xxhdpi/ic_action_refresh.png
  53. TEMPAT SAMPAH
      res/drawable-xxhdpi/ic_alert.png
  54. TEMPAT SAMPAH
      res/drawable-xxhdpi/ic_down.png
  55. TEMPAT SAMPAH
      res/drawable-xxhdpi/ic_hide.png
  56. TEMPAT SAMPAH
      res/drawable-xxhdpi/ic_key.png
  57. TEMPAT SAMPAH
      res/drawable-xxhdpi/ic_lock_open_white.png
  58. TEMPAT SAMPAH
      res/drawable-xxhdpi/ic_lock_white.png
  59. TEMPAT SAMPAH
      res/drawable-xxhdpi/ic_ok.png
  60. TEMPAT SAMPAH
      res/drawable-xxhdpi/ic_select_all.png
  61. TEMPAT SAMPAH
      res/drawable-xxhdpi/ic_select_none.png
  62. TEMPAT SAMPAH
      res/drawable-xxhdpi/ic_up.png
  63. TEMPAT SAMPAH
      res/drawable-xxhdpi/ic_view.png
  64. TEMPAT SAMPAH
      res/drawable-xxhdpi/no_network.png
  65. TEMPAT SAMPAH
      res/drawable-xxhdpi/owncloud_progressbar_indeterminate_1.png
  66. TEMPAT SAMPAH
      res/drawable-xxhdpi/owncloud_progressbar_indeterminate_2.png
  67. TEMPAT SAMPAH
      res/drawable-xxhdpi/owncloud_progressbar_indeterminate_3.png
  68. TEMPAT SAMPAH
      res/drawable-xxhdpi/owncloud_progressbar_indeterminate_4.png
  69. TEMPAT SAMPAH
      res/drawable-xxhdpi/owncloud_progressbar_indeterminate_5.png
  70. TEMPAT SAMPAH
      res/drawable-xxhdpi/owncloud_progressbar_indeterminate_6.png
  71. TEMPAT SAMPAH
      res/drawable-xxhdpi/owncloud_progressbar_indeterminate_7.png
  72. TEMPAT SAMPAH
      res/drawable-xxhdpi/owncloud_progressbar_indeterminate_8.png
  73. TEMPAT SAMPAH
      res/drawable-xxxhdpi/ic_action_refresh.png
  74. TEMPAT SAMPAH
      res/drawable-xxxhdpi/ic_alert.png
  75. TEMPAT SAMPAH
      res/drawable-xxxhdpi/ic_hide.png
  76. TEMPAT SAMPAH
      res/drawable-xxxhdpi/ic_lock_open_white.png
  77. TEMPAT SAMPAH
      res/drawable-xxxhdpi/ic_lock_white.png
  78. TEMPAT SAMPAH
      res/drawable-xxxhdpi/ic_ok.png
  79. TEMPAT SAMPAH
      res/drawable-xxxhdpi/ic_select_all.png
  80. TEMPAT SAMPAH
      res/drawable-xxxhdpi/ic_select_none.png
  81. TEMPAT SAMPAH
      res/drawable-xxxhdpi/ic_view.png
  82. TEMPAT SAMPAH
      res/drawable-xxxhdpi/no_network.png
  83. 3 3
      res/drawable/actionbar_progress_horizontal.xml
  84. 6 14
      res/layout-land/account_setup.xml
  85. 47 0
      res/layout/account_action.xml
  86. 68 0
      res/layout/account_item.xml
  87. 14 24
      res/layout/account_setup.xml
  88. 38 0
      res/layout/accounts_layout.xml
  89. 9 80
      res/layout/drawer.xml
  90. 0 22
      res/layout/drawer_account_group.xml
  91. 123 0
      res/layout/drawer_header.xml
  92. 0 52
      res/layout/drawer_list_item.xml
  93. 0 1
      res/layout/file_preview.xml
  94. 4 11
      res/layout/files.xml
  95. 2 12
      res/layout/files_folder_picker.xml
  96. 3 0
      res/layout/log_send_file.xml
  97. 48 0
      res/layout/toolbar_standard.xml
  98. 4 1
      res/layout/upload_files_layout.xml
  99. 30 6
      res/layout/upload_list_layout.xml
  100. 31 20
      res/layout/uploader_layout.xml

File diff ditekan karena terlalu besar
+ 1 - 0
.tx/config


+ 24 - 9
AndroidManifest.xml

@@ -3,7 +3,8 @@
   ownCloud Android client application
 
   Copyright (C) 2012  Bartek Przybylski
-  Copyright (C) 2012-2015 ownCloud Inc.
+  Copyright (C) 2012-2016 ownCloud Inc.
+  Copyright (C) 2016 Nextcloud
 
   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License version 2,
@@ -19,8 +20,8 @@
 -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.owncloud.android"
-    android:versionCode="10000000"
-    android:versionName="1.0.0" >
+    android:versionCode="10010001"
+    android:versionName="1.1.0" >
 
     <uses-sdk
         android:minSdkVersion="14"
@@ -59,22 +60,24 @@
         android:name=".MainApp"
         android:icon="@mipmap/ic_launcher"
         android:label="@string/app_name"
-        android:theme="@style/Theme.ownCloud"
+        android:theme="@style/Theme.ownCloud.Toolbar"
         android:manageSpaceActivity=".ui.activity.ManageSpaceActivity">
         <activity
             android:name=".ui.activity.FileDisplayActivity"
-            android:label="@string/app_name" >
+            android:label="@string/app_name"
+            android:theme="@style/Theme.ownCloud.Toolbar.Drawer">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
 
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
+        <activity android:name=".ui.activity.ManageAccountsActivity" />
         <activity android:name=".ui.activity.UploadFilesActivity" />
         <activity android:name=".ui.activity.ReceiveExternalFilesActivity"
                   android:taskAffinity=""
                   android:excludeFromRecents="true"
-                  android:theme="@style/Theme.ownCloud">
+                  android:theme="@style/Theme.ownCloud.NoActionBar">
             <intent-filter>
                 <action android:name="android.intent.action.SEND" />
 
@@ -129,22 +132,34 @@
             android:name=".providers.FileContentProvider"
             android:authorities="@string/authority"
             android:enabled="true"
-            android:exported="false"
+            android:exported="true"
             android:label="@string/sync_string_files"
             android:syncable="true" />
 
         <provider
             android:name=".providers.UsersAndGroupsSearchProvider"
-            android:authorities="com.nextcloud.android.providers.UsersAndGroupsSearchProvider"
+            android:authorities=".providers.UsersAndGroupsSearchProvider"
             android:enabled="true"
             android:exported="false"
             android:label="@string/search_users_and_groups_hint" />
 
+        <provider
+            android:authorities="@string/document_provider_authority"
+            android:name="org.nextcloud.providers.DocumentsStorageProvider"
+            android:exported="true"
+            android:grantUriPermissions="true"
+            android:permission="android.permission.MANAGE_DOCUMENTS"
+            android:enabled="@bool/atLeastKitKat">
+            <intent-filter>
+                <action android:name="android.content.action.DOCUMENTS_PROVIDER" />
+            </intent-filter>
+        </provider>
+
         <activity
             android:name=".authentication.AuthenticatorActivity"
             android:exported="true"
             android:launchMode="singleTask"
-            android:theme="@style/Theme.ownCloud.noActionBar" >
+            android:theme="@style/Theme.ownCloud.noActionBar.Login" >
             <intent-filter>
                 <action android:name="android.intent.action.VIEW" />
 

+ 16 - 2
CHANGELOG.md

@@ -1,3 +1,17 @@
-## 1.0.0 (June 2016)
+## 1.1.0 RC1 (June 27, 2016)
 
-- initial release of the Nextcloud Android app 
+- New main menu to switch accounts easily
+- Ability to open Nextcloud hosted files (read-only) from other apps that support the standard file chooser (requires Android 4.4 / KitKat or higher)
+- "Select all files" for upload within a folder
+- optional feature to auto-create monthly folders for your instant uploads
+- revamped login screen
+
+## 1.0.1 (June 20, 2016)
+
+- Fix thumbnail preview support for new files
+- Add support for animated GIFs
+- Optimized uploader layout
+
+## 1.0.0 (June 12, 2016)
+
+- initial release of the Nextcloud Android app 

+ 153 - 14
CONTRIBUTING.md

@@ -1,38 +1,102 @@
 # [Nextcloud](https://nextcloud.com) Android app
-[![irc](https://img.shields.io/badge/IRC-%23nextcloud%20on%20freenode-orange.svg)](https://webchat.freenode.net/?channels=nextcloud)
-[![irc](https://img.shields.io/badge/IRC-%23nextcloud-mobile%20on%20freenode-blue.svg)](https://webchat.freenode.net/?channels=nextcloud-mobile)
 
-### Guidelines
-* [Report the issue](https://github.com/nextcloud/android/issues/new) using our [template][template], it includes all the informations we need to track down the issue.
-* This repository is *only* for issues within the Nextcloud Android app code. Issues in other compontents should be reported in their own repositores, e.g. [Nextcloud core](https://github.com/nextcloud/core/issues)
+[![irc](https://img.shields.io/badge/IRC-%23nextcloud%20on%20freenode-orange.svg)](https://webchat.freenode.net/?channels=nextcloud)
+[![irc](https://img.shields.io/badge/IRC-%23nextcloud--mobile%20on%20freenode-blue.svg)](https://webchat.freenode.net/?channels=nextcloud-mobile)
+
+
+# Index
+1. Guidelines
+    1. Issue reporting
+    1. Labels
+        1. PR
+        1. Issue
+1. Contributing to Source Code
+    1. Developing process
+        1. Android Studio formatter setup
+    1. Contribution process
+        1. Fork and download android/master repository
+        1. Create pull request
+        1. Create another pull request
+    1. Translations
+1. Releases
+    1. Types
+        1. Stable
+        1. Release Candidate
+        1. Beta
+    1. Version Name and number
+    1. Release cycle
+    1. Release Process
+        1. Stable
+        1. Release Candidate
+        1. Development Beta
+
+
+# Guidelines
+
+## Issue reporting
+* [Report the issue](https://github.com/nextcloud/android/issues/new) using our [template][template], it includes all the information we need to track down the issue.
+* This repository is *only* for issues within the Nextcloud Android app code. Issues in other components should be reported in their own repositories, e.g. [Nextcloud core](https://github.com/nextcloud/core/issues)
 * Search the [existing issues](https://github.com/nextcloud/android/issues) first, it's likely that your issue was already reported.
-
 If your issue appears to be a bug, and hasn't been reported, open a new issue.
 
-## Contributing to Source Code
 
+## Labels
+
+
+### Pull request
+* 1 to develop
+* 2 developing
+* 3 to review
+* 4 to release
+
+
+### Issue
+* nothing
+* approved
+* PR exists (and then the PR# should be shown in first post)
+
+
+# Contributing to Source Code
 Thanks for wanting to contribute source code to Nextcloud. That's great!
 
 
-### Guidelines
+## Developing process
+We are all about quality while not sacrificing speed so we use a very pragmatic workflow.
+
+* create an issue with feature request
+    * discuss it with other developers 
+    * create mockup if necessary
+    * must be approved --> label approved
+    * after that no conceptual changes!
+* develop code
+* create [pull request](https://github.com/nextcloud/android/pulls)
+* to assure the quality of the app, any PR gets reviewed, approved and tested by [two developers](https://github.com/nextcloud/android/blob/master/MAINTAINERS) before it will be merged to master
+
+### Android Studio formatter setup
+
+Our formatter setup is rather simple:
+* Standard Android Studio
+* Line length 120 characters (Settings->Editor->Code Style->Right margin(columns): 120)
+* Auto optimize imports (Settings->Editor->Auto Import->Optimize imports on the fly)
+
+
+## Contribution process
 * Contribute your code in the branch 'master'. It will give us a better chance to test your code before merging it with stable code.
-* For your first contribution, start a pull request on master and mention @nextcloud/android in your pull request.
-* Keep on using pull requests for your next contributions although you own write permissions.
+* For your first contribution start a pull request on master.
 
-### 1. Fork and download android/master repository:
 
+### 1. Fork and download android/master repository:
 * Please follow [SETUP.md](https://github.com/nextcloud/android/blob/master/SETUP.md) to setup Nextcloud Android app work environment.
 
 
 ### 2. Create pull request:
-
 * Commit your changes locally: ```git commit -a```
 * Push your changes to your GitHub repo: ```git push```
 * Browse to https://github.com/YOURGITHUBNAME/android/pulls and issue pull request
 * Enter description and send pull request.
 
-### 3. Create another pull request:
 
+### 3. Create another pull request:
 To make sure your new pull request does not contain commits which are already contained in previous PRs, create a new branch which is a clone of upstream/master.
 
 * ```git fetch upstream```
@@ -41,6 +105,81 @@ To make sure your new pull request does not contain commits which are already co
 * Push branch to server: ```git push -u origin name_of_local_master_branch```
 * Use GitHub to issue PR
 
+
 ## Translations
-...are an open issue. Please stay with us until we have bootstrapped translations.
+We manage translations via [Transifex](https://www.transifex.com/nextcloud/nextcloud/android/). So just request joining the translation team for Android on the site and start translating. All translations will then be automatically pushed to this repository, there is no need for any pull request for translations.
+
+# Releases
+At the moment we are releasing the app in two app stores:
+
+* [Google Play Store](https://play.google.com/store/apps/details?id=com.nextcloud.client)
+* [f-droid](https://f-droid.org/repository/browse/?fdfilter=com.nextcloud)
+
+
+## Types
+We do differentiate between three different kinds of releases:
+
+### Stable
+Play store and f-droid releases for the masses
+stable: as described, PRs that have been tested and reviewed can go to master. After the last stable beta published PR is out in the wild for ~2 weeks and no errors get reported (by users or in the developer console) the master branch is ready for the stable release. So when we decide to go for a new release we freeze the master feature wise.
+
+### Release Candidate
+* _stable beta_ releases done via the Beta program of the Google Play store
+stable beta: whenever a PR is reviewed/approved we put it on master and do a stable beta release
+release candidate = tested PRs, merged to to master between stable releases, published on the Play store beta channel
+
+### Development Beta
+* _development beta_ releases done as a standalone app that can be installed in parallel to the stable app
+beta: anything that has a certain maturity as in a PR that can be used already but might lack some on top features or polishing
+beta = your awesome beta application that can be installed in parallel and contains PRs that are done in development but not necessarily to be considered stable enough for master or might even still have known bugs
+
+
+##Version Name and number
+For _stable_ and _release candidate_ the version name follows the [semantic versioning schema](http://semver.org/) and the version number has several digits reserved to parts of the versioning schema inspired by the [jayway version numbering](https://www.jayway.com/2015/03/11/automatic-versioncode-generation-in-android-gradle/), where:
+
+* 2 digits for beta code as in release candidates starting at '01'
+* 2 digits for hot fix code
+* 3 digits for minor version code
+* n digits for mayor version code
+
+![Version code schema](https://cloud.githubusercontent.com/assets/1315170/15992040/e4e05442-30c2-11e6-88e2-84e77fa1653d.png)
+
+Examples for different versions:
+* 1.0.0 ```10000099```
+* 8.12.2 ```80120200```
+* 9.8.4-rc18 ```90080418```
+
+beware, that beta releases for an upcoming version will always use the minor and hotfix version of the release they are targeting. So to make sure the version code of the upcoming stable release will always be higher stable releases set the 2 beta digits to '99' as seen above in the examples.
+
+
+## Release cycle
+* for each release we choose several PRs that will be included in the next release. Currently there are many open PRs from ownCloud, but after merging them, the intention is to choose the PRs that are ready (reviewed, tested) to get them merged very soon.
+* these will be merged into master, tested heavily, maybe automatic testing
+* after feature freeze a public play store beta is released
+* ~2 weeks testing, bug fixing
+* release final version on f-droid and play store
+
+To get an idea which PRs and issues will be part of the next release simply check our [milestone plan](https://github.com/nextcloud/android/milestones)
+
+##Release process
+
+
+###Stable Release
+Stable releases are based on the git [master](https://github.com/nextcloud/android).
+
+1. Bump the version name and version code in the [AndroidManifest.xml](https://github.com/nextcloud/android/blob/master/AndroidManifest.xml), see chapter 'Version Name and number'.
+2. Create a [release/tag](https://github.com/nextcloud/android/releases) in git. Tag name following the naming schema: ```stable-Mayor.Minor.Hotfix``` (e.g. stable-1.2.0) naming the version number following the [semantic versioning schema](http://semver.org/)
+
+
+###Release Candidate Release
+Release Candidate releases are based on the git [master](https://github.com/nextcloud/android) and are done between stable releases.
+
+1. Bump the version name and version code in the [AndroidManifest.xml](https://github.com/nextcloud/android/blob/master/AndroidManifest.xml), see below the version name and code concept.
+2. Create a [release/tag](https://github.com/nextcloud/android/releases) in git. Tag name following the naming schema: ```rc-Mayor.Minor.Hotfix-betaIncrement``` (e.g. rc-1.2.0-12) naming the version number following the [semantic versioning schema](http://semver.org/)
+
+
+###Development Beta Release
+Beta releases are based on the git [beta](https://github.com/nextcloud/android/tree/beta) and are done independently from stable releases and integrate open PRs that might not be production ready or heavily tested but being put out there for people willing to test new features and provide valuable feedback on new features to be incorporated before a feature gets released in the stable app.
 
+1. Bump the version name and version code in the [AndroidManifest.xml](https://github.com/nextcloud/android/blob/master/AndroidManifest.xml), see below the version name and code concept.
+2. Create a [release/tag](https://github.com/nextcloud/android/releases) in git. Tag name following the naming schema: ```beta-YYYYMMDD``` (e.g. beta-20160612)

+ 10 - 1
README.md

@@ -1,4 +1,13 @@
 # [Nextcloud](https://nextcloud.com) Android app
+
+[<img src="http://www.android.com/images/brand/android_app_on_play_large.png" 
+      alt="Download from Google Play" 
+      height="80">](https://play.google.com/store/apps/details?id=com.nextcloud.client)
+
+[<img src="https://f-droid.org/badge/get-it-on.png"
+      alt="Get it on F-Droid"
+      height="80">](https://f-droid.org/repository/browse/?fdfilter=com.nextcloud)
+
 **Build status:** master ![](https://api.travis-ci.org/nextcloud/android.svg?branch=master)
 
 [![irc](https://img.shields.io/badge/IRC-%23nextcloud%20on%20freenode-orange.svg)](https://webchat.freenode.net/?channels=nextcloud)
@@ -20,7 +29,7 @@ if you want to join the Github organization just let us know and we’ll add you
 *This is by the community, for the community. Everyone is welcome! :)*
 
 ## Start contributing
-Make sure you read [SETUP.md](https://github.com/nextcloud/android/blob/master/SETUP.md) when you start working on this project. Basically: Fork this repository and contribute back using pull requests to the master branch.
+Make sure you read [SETUP.md](https://github.com/nextcloud/android/blob/master/SETUP.md) and [CONTRIBUTING.md](https://github.com/nextcloud/android/blob/master/CONTRIBUTING.md) when you start working on this project. Basically: Fork this repository and contribute back using pull requests to the master branch.
 Easy starting points are also reviewing [pull requests](https://github.com/nextcloud/android/pulls) and working on [starter issue](https://github.com/nextcloud/android/issues?q=is%3Aopen+is%3Aissue+label%3A%22starter+issue%22).
 
 **Beta version** [beta version](https://github.com/nextcloud/android/raw/beta/apks/latest.apk)

+ 2 - 2
build.gradle

@@ -33,7 +33,7 @@ dependencies {
     /// dependencies for app building
     compile name: 'touch-image-view'
 
-    compile 'com.github.nextcloud:android-library:-SNAPSHOT'
+    compile 'com.github.nextcloud:android-library:1.0.1'
     compile "com.android.support:support-v4:${supportLibraryVersion}"
     compile "com.android.support:design:${supportLibraryVersion}"
     compile 'com.jakewharton:disklrucache:2.0.2'
@@ -128,4 +128,4 @@ android {
         exclude 'META-INF/LICENSE.txt'
     }
 
-}
+}

TEMPAT SAMPAH
res/drawable-hdpi/ic_account_plus.png


TEMPAT SAMPAH
res/drawable-hdpi/ic_action_refresh.png


TEMPAT SAMPAH
res/drawable-hdpi/ic_alert.png


TEMPAT SAMPAH
res/drawable-hdpi/ic_down.png


TEMPAT SAMPAH
res/drawable-hdpi/ic_hide.png


TEMPAT SAMPAH
res/drawable-hdpi/ic_key.png


TEMPAT SAMPAH
res/drawable-hdpi/ic_lock_open_white.png


TEMPAT SAMPAH
res/drawable-hdpi/ic_lock_white.png


TEMPAT SAMPAH
res/drawable-hdpi/ic_ok.png


TEMPAT SAMPAH
res/drawable-hdpi/ic_refresh.png


TEMPAT SAMPAH
res/drawable-hdpi/ic_select_all.png


TEMPAT SAMPAH
res/drawable-hdpi/ic_select_none.png


TEMPAT SAMPAH
res/drawable-hdpi/ic_up.png


TEMPAT SAMPAH
res/drawable-hdpi/ic_view.png


TEMPAT SAMPAH
res/drawable-hdpi/no_network.png


TEMPAT SAMPAH
res/drawable-mdpi/ic_account_plus.png


TEMPAT SAMPAH
res/drawable-mdpi/ic_action_refresh.png


+ 0 - 0
res/drawable-mdpi/ic_action_refresh_black.png → res/drawable-mdpi/ic_action_refresh_grey.png


TEMPAT SAMPAH
res/drawable-mdpi/ic_alert.png


TEMPAT SAMPAH
res/drawable-mdpi/ic_down.png


TEMPAT SAMPAH
res/drawable-mdpi/ic_hide.png


TEMPAT SAMPAH
res/drawable-mdpi/ic_key.png


TEMPAT SAMPAH
res/drawable-mdpi/ic_lock_open_white.png


TEMPAT SAMPAH
res/drawable-mdpi/ic_lock_white.png


TEMPAT SAMPAH
res/drawable-mdpi/ic_ok.png


TEMPAT SAMPAH
res/drawable-mdpi/ic_select_all.png


TEMPAT SAMPAH
res/drawable-mdpi/ic_select_none.png


TEMPAT SAMPAH
res/drawable-mdpi/ic_up.png


TEMPAT SAMPAH
res/drawable-mdpi/ic_view.png


TEMPAT SAMPAH
res/drawable-mdpi/no_network.png


TEMPAT SAMPAH
res/drawable-xhdpi/ic_account_plus.png


TEMPAT SAMPAH
res/drawable-xhdpi/ic_action_refresh.png


TEMPAT SAMPAH
res/drawable-xhdpi/ic_alert.png


TEMPAT SAMPAH
res/drawable-xhdpi/ic_down.png


TEMPAT SAMPAH
res/drawable-xhdpi/ic_hide.png


TEMPAT SAMPAH
res/drawable-xhdpi/ic_key.png


TEMPAT SAMPAH
res/drawable-xhdpi/ic_lock_open_white.png


TEMPAT SAMPAH
res/drawable-xhdpi/ic_lock_white.png


TEMPAT SAMPAH
res/drawable-xhdpi/ic_ok.png


TEMPAT SAMPAH
res/drawable-xhdpi/ic_select_all.png


TEMPAT SAMPAH
res/drawable-xhdpi/ic_select_none.png


TEMPAT SAMPAH
res/drawable-xhdpi/ic_up.png


TEMPAT SAMPAH
res/drawable-xhdpi/ic_view.png


TEMPAT SAMPAH
res/drawable-xhdpi/no_network.png


TEMPAT SAMPAH
res/drawable-xxhdpi/ic_account_plus.png


TEMPAT SAMPAH
res/drawable-xxhdpi/ic_action_refresh.png


TEMPAT SAMPAH
res/drawable-xxhdpi/ic_alert.png


TEMPAT SAMPAH
res/drawable-xxhdpi/ic_down.png


TEMPAT SAMPAH
res/drawable-xxhdpi/ic_hide.png


TEMPAT SAMPAH
res/drawable-xxhdpi/ic_key.png


TEMPAT SAMPAH
res/drawable-xxhdpi/ic_lock_open_white.png


TEMPAT SAMPAH
res/drawable-xxhdpi/ic_lock_white.png


TEMPAT SAMPAH
res/drawable-xxhdpi/ic_ok.png


TEMPAT SAMPAH
res/drawable-xxhdpi/ic_select_all.png


TEMPAT SAMPAH
res/drawable-xxhdpi/ic_select_none.png


TEMPAT SAMPAH
res/drawable-xxhdpi/ic_up.png


TEMPAT SAMPAH
res/drawable-xxhdpi/ic_view.png


TEMPAT SAMPAH
res/drawable-xxhdpi/no_network.png


TEMPAT SAMPAH
res/drawable-xxhdpi/owncloud_progressbar_indeterminate_1.png


TEMPAT SAMPAH
res/drawable-xxhdpi/owncloud_progressbar_indeterminate_2.png


TEMPAT SAMPAH
res/drawable-xxhdpi/owncloud_progressbar_indeterminate_3.png


TEMPAT SAMPAH
res/drawable-xxhdpi/owncloud_progressbar_indeterminate_4.png


TEMPAT SAMPAH
res/drawable-xxhdpi/owncloud_progressbar_indeterminate_5.png


TEMPAT SAMPAH
res/drawable-xxhdpi/owncloud_progressbar_indeterminate_6.png


TEMPAT SAMPAH
res/drawable-xxhdpi/owncloud_progressbar_indeterminate_7.png


TEMPAT SAMPAH
res/drawable-xxhdpi/owncloud_progressbar_indeterminate_8.png


TEMPAT SAMPAH
res/drawable-xxxhdpi/ic_action_refresh.png


TEMPAT SAMPAH
res/drawable-xxxhdpi/ic_alert.png


TEMPAT SAMPAH
res/drawable-xxxhdpi/ic_hide.png


TEMPAT SAMPAH
res/drawable-xxxhdpi/ic_lock_open_white.png


TEMPAT SAMPAH
res/drawable-xxxhdpi/ic_lock_white.png


TEMPAT SAMPAH
res/drawable-xxxhdpi/ic_ok.png


TEMPAT SAMPAH
res/drawable-xxxhdpi/ic_select_all.png


TEMPAT SAMPAH
res/drawable-xxxhdpi/ic_select_none.png


TEMPAT SAMPAH
res/drawable-xxxhdpi/ic_view.png


TEMPAT SAMPAH
res/drawable-xxxhdpi/no_network.png


+ 3 - 3
res/drawable/actionbar_progress_horizontal.xml

@@ -4,15 +4,15 @@
 
     <item
         android:id="@android:id/background"
-        android:drawable="@color/owncloud_blue" />
+        android:drawable="@color/primary" />
     <item android:id="@android:id/secondaryProgress">
         <scale
-            android:drawable="@color/owncloud_blue"
+            android:drawable="@color/primary"
             android:scaleWidth="100%" />
     </item>
     <item android:id="@android:id/progress">
         <scale
-            android:drawable="@color/owncloud_blue"
+            android:drawable="@color/primary"
             android:scaleWidth="100%" />
     </item>
 

+ 6 - 14
res/layout-land/account_setup.xml

@@ -21,7 +21,6 @@
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="@color/primary"
 	android:padding="@dimen/standard_padding"
     >
 
@@ -50,13 +49,6 @@
 		    android:fillViewport="true"
 		    android:orientation="vertical" >
 
-            <android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
-                android:id="@+id/card_view"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                card_view:cardBackgroundColor="@color/white"
-                card_view:cardCornerRadius="4dp">
-
 			<LinearLayout
 			    android:id="@+id/LinearLayout1"
 			    android:layout_width="match_parent"
@@ -125,7 +117,7 @@
 					    android:layout_marginRight="5dp"
 					    android:padding="0dp"
 					    android:scaleType="fitCenter"
-					    android:src="@drawable/ic_action_refresh_grey"
+					    android:src="@drawable/ic_action_refresh"
 					    android:visibility="gone"
 						android:background="@android:color/transparent"
                         android:contentDescription="@string/auth_refresh_button"
@@ -248,7 +240,6 @@
 					/>
 
 			</LinearLayout>
-		    </android.support.v7.widget.CardView>
 		</ScrollView>
 						           
 	</LinearLayout>
@@ -263,10 +254,11 @@
         
 		<android.support.v7.widget.AppCompatButton
 		    android:id="@+id/buttonOK"
-			android:theme="@style/Button.Primary"
-			style="@style/Button.Primary"
-		    android:layout_width="match_parent"
+			android:theme="@style/Button.Login"
+			style="@style/Button.Login"
+		    android:layout_width="wrap_content"
 		    android:layout_height="wrap_content"
+			android:padding="@dimen/standard_padding"
 		    android:layout_gravity="center_horizontal"
 		    android:enabled="false"
 		    android:text="@string/setup_btn_connect"
@@ -286,7 +278,7 @@
 				android:onClick="onRegisterClick"
 				android:paddingTop="5dp"
 				android:text="@string/auth_register"
-				android:textColor="@color/login_text_color"
+				android:textColor="@color/login_text_hint_color"
 				android:contentDescription="@string/auth_register"/>
 
 		</LinearLayout>

+ 47 - 0
res/layout/account_action.xml

@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ownCloud Android client application
+
+  Copyright (C) 2016 ownCloud Inc.
+  Copyright (C) 2016 Nextcloud
+
+  This program is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License version 2,
+  as published by the Free Software Foundation.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+-->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="fill_parent"
+    android:layout_height="72dp"
+    android:orientation="horizontal"
+    android:weightSum="1">
+
+    <ImageView
+        android:id="@+id/user_icon"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_vertical"
+        android:layout_marginLeft="@dimen/list_item_avatar_icon_margin"
+        android:src="@drawable/ic_account_plus"/>
+
+    <TextView
+        android:id="@+id/user_name"
+        android:layout_width="0dp"
+        android:layout_height="fill_parent"
+        android:layout_marginLeft="@dimen/list_item_avatar_text_margin"
+        android:layout_weight="1"
+        android:gravity="center_vertical"
+        android:paddingRight="@dimen/standard_padding"
+        android:text="@string/placeholder_sentence"
+        android:textColor="@color/primary"
+        android:textSize="@dimen/two_line_primary_text_size"/>
+
+</LinearLayout>         

+ 68 - 0
res/layout/account_item.xml

@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ownCloud Android client application
+
+  Copyright (C) 2016 ownCloud Inc.
+
+  This program is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License version 2,
+  as published by the Free Software Foundation.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+-->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="fill_parent"
+    android:layout_height="72dp"
+    android:orientation="horizontal"
+    android:weightSum="1">
+
+    <ImageView
+        android:id="@+id/user_icon"
+        android:layout_width="40dp"
+        android:layout_height="40dp"
+        android:layout_gravity="center_vertical"
+        android:layout_marginLeft="@dimen/standard_margin"
+        android:src="@drawable/ic_menu_archive"/>
+
+    <TextView
+        android:id="@+id/user_name"
+        android:layout_width="0dp"
+        android:layout_height="fill_parent"
+        android:layout_marginLeft="@dimen/standard_margin"
+        android:layout_weight="1"
+        android:gravity="center_vertical"
+        android:paddingRight="@dimen/standard_padding"
+        android:text="@string/placeholder_filename"
+        android:textColor="@color/textColor"
+        android:textSize="@dimen/two_line_primary_text_size"/>
+
+    <ImageView
+        android:id="@+id/passwordButton"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_vertical"
+        android:paddingLeft="@dimen/standard_half_padding"
+        android:paddingTop="@dimen/standard_padding"
+        android:paddingBottom="@dimen/standard_padding"
+        android:paddingRight="@dimen/standard_half_padding"
+        android:src="@drawable/ic_key"/>
+
+    <ImageView
+        android:id="@+id/removeButton"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_vertical"
+        android:paddingLeft="@dimen/standard_half_padding"
+        android:paddingTop="@dimen/standard_padding"
+        android:paddingBottom="@dimen/standard_padding"
+        android:paddingRight="@dimen/standard_padding"
+        android:src="@drawable/ic_close"/>
+
+</LinearLayout>         

+ 14 - 24
res/layout/account_setup.xml

@@ -19,7 +19,6 @@
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 -->
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-            xmlns:card_view="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:layout_gravity="center"
@@ -31,7 +30,6 @@
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:background="@color/primary"
         android:gravity="center"
         android:orientation="vertical"
         android:padding="@dimen/standard_padding" >
@@ -44,20 +42,12 @@
 			android:src="@drawable/logo"
 			android:contentDescription="@string/app_name"/>
 
-		<android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
-			android:id="@+id/card_view"
-			android:layout_gravity="center"
-			android:layout_width="match_parent"
-			android:layout_height="wrap_content"
-            card_view:cardBackgroundColor="@color/white"
-            card_view:cardCornerRadius="4dp">
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:gravity="center"
-                android:orientation="vertical"
-                android:padding="8dp">
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="center"
+            android:orientation="vertical"
+            android:padding="@dimen/standard_half_padding">
 
         <android.support.v7.widget.AppCompatButton
             android:id="@+id/centeredRefreshButton"
@@ -104,7 +94,7 @@
                     android:inputType="textUri"
                     android:paddingRight="55dp"
                     android:textColor="@color/login_text_color"
-                    android:textColorHint="@color/login_text_hint_color">
+                    android:textColorHint="@color/login_text_color">
 
                     <requestFocus/>
                 </EditText>
@@ -119,7 +109,7 @@
 			    android:layout_marginRight="5dp"
 			    android:padding="0dp"
 			    android:scaleType="fitCenter"
-			    android:src="@drawable/ic_action_refresh_grey"
+			    android:src="@drawable/ic_action_refresh"
 				android:visibility="gone"
 				android:background="@android:color/transparent"
                 android:contentDescription="@string/auth_refresh_button"
@@ -147,7 +137,7 @@
             android:onClick="onCheckClick"
             android:text="@string/oauth_check_onoff"
             android:textAppearance="?android:attr/textAppearanceSmall"
-            android:textColor="@color/primary"
+            android:textColor="@color/white"
             android:contentDescription="@string/oauth_check_onoff"
             />
 
@@ -242,11 +232,12 @@
 
         <android.support.v7.widget.AppCompatButton
             android:id="@+id/buttonOK"
-            android:theme="@style/Button.Primary"
-            style="@style/Button.Primary"
-            android:layout_width="match_parent"
+            android:theme="@style/Button.Login"
+            style="@style/Button.Login"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_gravity="center_horizontal"
+            android:padding="@dimen/standard_padding"
             android:enabled="false"
             android:text="@string/setup_btn_connect"
             android:contentDescription="@string/setup_btn_connect"/>
@@ -265,12 +256,11 @@
                 android:paddingBottom="5dp"
                 android:paddingTop="5dp"
                 android:text="@string/auth_register"
-                android:textColor="@color/login_text_color"
+                android:textColor="@color/login_text_hint_color"
                 android:contentDescription="@string/auth_register"/>
             
         </LinearLayout>
         </LinearLayout>
-		</android.support.v7.widget.CardView>
 
     </LinearLayout>
 

+ 38 - 0
res/layout/accounts_layout.xml

@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+  ownCloud Android client application
+
+  Copyright (C) 2016 ownCloud Inc.
+  Copyright (C) 2016 Nextcloud
+
+  This program is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License version 2,
+  as published by the Free Software Foundation.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ -->
+<LinearLayout
+	android:id="@+id/upload_files_layout"
+	xmlns:android="http://schemas.android.com/apk/res/android"
+	android:layout_width="fill_parent"
+	android:layout_height="fill_parent"
+	android:orientation="vertical">
+
+	<include
+		layout="@layout/toolbar_standard"/>
+
+	<ListView
+		android:id="@+id/account_list"
+		android:layout_width="fill_parent"
+		android:layout_height="fill_parent"
+		android:divider="@color/list_divider_background"
+		android:dividerHeight="1dip">
+	</ListView>
+
+</LinearLayout>

+ 9 - 80
res/layout/drawer.xml

@@ -16,88 +16,17 @@
   You should have received a copy of the GNU General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
   -->
-<merge xmlns:android="http://schemas.android.com/apk/res/android">
-    <RelativeLayout
-        android:id="@+id/left_drawer"
-        android:layout_width="240dp"
+<merge xmlns:android="http://schemas.android.com/apk/res/android"
+       xmlns:app="http://schemas.android.com/apk/res-auto">
+
+    <android.support.design.widget.NavigationView
+        android:id="@+id/nav_view"
+        android:layout_width="wrap_content"
         android:layout_height="match_parent"
         android:layout_gravity="start"
-        android:gravity="center"
-        android:orientation="vertical"
         android:fitsSystemWindows="true"
-        android:background="@color/background_color"
-        >
-
-        <!--TODO re-enable when "Accounts" is available in Navigation Drawer-->
-        <!--<LinearLayout-->
-            <!--android:layout_width="match_parent"-->
-            <!--android:layout_height="wrap_content"-->
-            <!--android:layout_margin="5dp">-->
-
-            <!--<ImageView-->
-                <!--android:id="@+id/drawer_userIcon"-->
-                <!--android:layout_width="40dp"-->
-                <!--android:layout_height="40dp"-->
-                <!--android:src="@drawable/abc_ab_bottom_solid_dark_holo" />-->
-
-            <!--<TextView-->
-                <!--android:id="@+id/drawer_username"-->
-                <!--android:layout_width="wrap_content"-->
-                <!--android:layout_height="wrap_content"-->
-                <!--android:layout_gravity="center_vertical"-->
-                <!--android:layout_marginLeft="5dp"-->
-                <!--android:layout_marginStart="5dp"-->
-                <!--android:textAppearance="?android:attr/textAppearanceLarge" />-->
-
-        <!--</LinearLayout>-->
-
-        <!--<TextView-->
-            <!--android:layout_width="fill_parent"-->
-            <!--android:layout_height="2dip"-->
-            <!--android:background="@color/list_item_lastmod_and_filesize_text" />-->
-
-        <ListView
-            android:id="@+id/drawer_list"
-            android:choiceMode="singleChoice"
-            android:layout_width="fill_parent"
-            android:layout_height="match_parent"
-            android:background="@color/background_color"
-            android:divider="@null"
-            android:dividerHeight="0dp"
-            android:paddingTop="100dp" />
-
-        <LinearLayout
-            android:layout_width="fill_parent"
-            android:layout_height="100dp"
-            android:paddingTop="@dimen/standard_padding"
-            android:paddingBottom="@dimen/standard_padding"
-            android:background="@color/drawer_header_color">
-
-            <ImageView
-                android:id="@+id/itemIcon"
-                android:layout_width="24dp"
-                android:layout_height="24dp"
-                android:layout_marginLeft="@dimen/standard_padding"
-                android:layout_marginBottom="3dp"
-                android:layout_gravity="bottom"
-                android:src="@drawable/ic_account_circle"
-                />
+        app:theme="@style/NavigationView_ItemTextAppearance"
+        app:headerLayout="@layout/drawer_header"
+        app:menu="@menu/drawer_menu"/>
 
-            <TextView
-                android:id="@+id/drawer_username"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="bottom"
-                android:gravity="bottom"
-                android:orientation="vertical"
-                android:text="@string/app_name"
-                android:textColor="#FFF"
-                android:paddingLeft="22dp"
-                android:paddingRight="@dimen/standard_padding"
-                android:textSize="24sp"
-                android:ellipsize="end"
-                android:singleLine="true"
-                />
-        </LinearLayout>
-    </RelativeLayout>
 </merge>

+ 0 - 22
res/layout/drawer_account_group.xml

@@ -1,22 +0,0 @@
-<!--
-  Copyright 2013 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-  <RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
-        android:id="@+id/drawer_radio_group"
-        android:layout_width="fill_parent"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_horizontal"
-        android:orientation="vertical" >
-    </RadioGroup>

+ 123 - 0
res/layout/drawer_header.xml

@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ownCloud Android client application
+
+  Copyright (C) 2016 ownCloud Inc.
+
+  This program is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License version 2,
+  as published by the Free Software Foundation.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+  -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+              android:layout_width="match_parent"
+              android:layout_height="@dimen/nav_drawer_header_height"
+              android:background="@color/drawer_header_color">
+
+    <RelativeLayout
+        android:id="@+id/drawer_active_user"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_gravity="bottom"
+        android:padding="@dimen/standard_padding"
+        >
+
+        <FrameLayout
+            android:id="@+id/drawer_user_avatars"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_gravity="top"
+            android:layout_marginBottom="@dimen/standard_half_margin">
+
+            <ImageView
+                android:id="@+id/drawer_current_account"
+                android:layout_width="@dimen/nav_drawer_header_avatar"
+                android:layout_height="@dimen/nav_drawer_header_avatar"
+                android:src="@drawable/ic_account_circle"/>
+
+            <ImageView
+                android:id="@+id/drawer_account_middle"
+                android:layout_width="@dimen/nav_drawer_header_avatar_other_accounts_size"
+                android:layout_height="@dimen/nav_drawer_header_avatar_other_accounts_size"
+                android:layout_gravity="right"
+                android:layout_marginEnd="@dimen/nav_drawer_header_avatar_second_account_margin"
+                android:layout_marginRight="@dimen/nav_drawer_header_avatar_second_account_margin"
+                android:src="@drawable/ic_account_circle"
+                android:onClick="onAccountDrawerClick"/>
+
+            <ImageView
+                android:id="@+id/drawer_account_end"
+                android:layout_width="@dimen/nav_drawer_header_avatar_other_accounts_size"
+                android:layout_height="@dimen/nav_drawer_header_avatar_other_accounts_size"
+                android:layout_gravity="right"
+                android:src="@drawable/ic_account_circle"
+                android:onClick="onAccountDrawerClick"/>
+
+        </FrameLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_below="@+id/drawer_user_avatars"
+            >
+
+            <LinearLayout
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center_vertical"
+                android:layout_weight="1"
+                android:orientation="vertical"
+                android:paddingRight="@dimen/standard_half_padding">
+
+                <TextView
+                    android:id="@+id/drawer_username"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:ellipsize="end"
+                    android:shadowColor="@color/black"
+                    android:shadowDx="0.5"
+                    android:shadowDy="0"
+                    android:shadowRadius="2"
+                    android:singleLine="true"
+                    android:text="@string/app_name"
+                    android:textColor="@android:color/white"
+                    android:textSize="14sp"
+                    android:textStyle="bold"/>
+
+                <TextView
+                    android:id="@+id/drawer_username_full"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:ellipsize="end"
+                    android:lines="1"
+                    android:maxLines="1"
+                    android:shadowColor="@color/black"
+                    android:shadowDx="0.5"
+                    android:shadowDy="0"
+                    android:shadowRadius="2"
+                    android:text="@string/app_name"
+                    android:textColor="@android:color/white"
+                    android:textSize="12sp"/>
+
+            </LinearLayout>
+
+            <ImageView
+                android:id="@+id/drawer_account_chooser_toogle"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="bottom"
+                android:contentDescription="@string/drawer_manage_accounts"
+                android:src="@drawable/ic_down"/>
+
+        </LinearLayout>
+
+    </RelativeLayout>
+
+</LinearLayout>

+ 0 - 52
res/layout/drawer_list_item.xml

@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ownCloud Android client application
-
-  Copyright (C) 2015 ownCloud Inc.
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License version 2,
-  as published by the Free Software Foundation.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/itemLayout"
-    android:layout_width="fill_parent"
-    android:layout_height="wrap_content"
-    android:layout_alignParentLeft="true"
-    android:orientation="horizontal"
-    android:background="@color/background_color"
-    android:layout_marginTop="@dimen/standard_margin"
-    android:layout_marginBottom="@dimen/standard_margin"
-    android:minHeight="?android:attr/listPreferredItemHeight">
-
-    <ImageView
-        android:id="@+id/itemIcon"
-        android:layout_width="24sp"
-        android:layout_height="24sp"
-        android:layout_marginLeft="@dimen/standard_margin"
-        android:layout_gravity="center_vertical"
-        />
-
-    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
-        android:id="@+id/itemTitle"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:paddingLeft="22dp"
-        android:paddingRight="@dimen/standard_margin"
-        android:textColor="@color/drawerMenuTextColor"
-        android:text="@string/app_name"
-        android:textStyle="normal"
-        android:layout_gravity="center_vertical"
-        android:textSize="14sp"
-        />
-</LinearLayout>
-

+ 0 - 1
res/layout/file_preview.xml

@@ -23,7 +23,6 @@
     android:id="@+id/top"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="@color/background_color"
     android:gravity="center"
     tools:context=".ui.fragment.FilePreviewFragment">
 

+ 4 - 11
res/layout/files.xml

@@ -18,9 +18,11 @@
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
   -->
 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
+                                        xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/drawer_layout"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:fitsSystemWindows="true"
     android:clickable="true" >
 
     <!-- The main content view -->
@@ -29,17 +31,8 @@
         android:layout_height="match_parent"
         android:orientation="vertical">
 
-        <ProgressBar android:id="@+id/progressBar"
-            android:layout_width="match_parent"
-            android:layout_height="4dp"
-            android:padding="0dp"
-            android:layout_margin="0dp"
-            style="@style/Widget.ownCloud.TopProgressBar"
-            android:indeterminate="false"
-            android:indeterminateOnly="false"
-            android:background="@color/background_color"
-            android:visibility="visible"
-            />
+        <include
+            layout="@layout/toolbar_standard" />
 
         <LinearLayout
             xmlns:android="http://schemas.android.com/apk/res/android"

+ 2 - 12
res/layout/files_folder_picker.xml

@@ -19,20 +19,10 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="@color/background_color"
     android:orientation="vertical" >
 
-    <ProgressBar android:id="@+id/progressBar"
-        android:layout_width="match_parent"
-        android:layout_height="4dp"
-        android:padding="0dp"
-        android:layout_margin="0dp"
-        style="@style/Widget.ownCloud.TopProgressBar"
-        android:indeterminate="false"
-        android:indeterminateOnly="false"
-        android:background="@color/background_color"
-        android:visibility="visible"
-        />
+    <include
+        layout="@layout/toolbar_standard" />
 
 	<FrameLayout 
 		android:layout_width="match_parent"

+ 3 - 0
res/layout/log_send_file.xml

@@ -22,6 +22,9 @@
     android:orientation="vertical"
     android:weightSum="1" >
 
+    <include
+        layout="@layout/toolbar_standard" />
+
     <ScrollView
         android:id="@+id/scrollView1"
         android:layout_width="match_parent"

+ 48 - 0
res/layout/toolbar_standard.xml

@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ownCloud Android client application
+
+  Copyright (C) 2016 ownCloud Inc.
+
+  This program is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License version 2,
+  as published by the Free Software Foundation.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+-->
+<android.support.design.widget.AppBarLayout
+    android:id="@+id/appbar"
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
+
+    <android.support.v7.widget.Toolbar
+        android:id="@+id/toolbar"
+        android:layout_width="match_parent"
+        android:layout_height="?attr/actionBarSize"
+        android:background="?attr/colorPrimary"
+        app:layout_scrollFlags="scroll|enterAlways|snap"
+        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
+
+    <ProgressBar
+        android:id="@+id/progressBar"
+        style="@style/Widget.ownCloud.TopProgressBar"
+        android:layout_width="match_parent"
+        android:layout_height="4dp"
+        android:layout_margin="0dp"
+        android:background="@color/primary"
+        android:indeterminate="false"
+        android:indeterminateOnly="false"
+        android:padding="0dp"
+        android:visibility="visible"
+        />
+
+</android.support.design.widget.AppBarLayout>

+ 4 - 1
res/layout/upload_files_layout.xml

@@ -17,12 +17,15 @@
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
  -->
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+              xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/upload_files_layout"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
-    android:background="@color/background_color"
     android:orientation="vertical" >
 
+    <include
+        layout="@layout/toolbar_standard" />
+
     <fragment
         android:id="@+id/local_files_list"
         android:layout_width="match_parent"

+ 30 - 6
res/layout/upload_list_layout.xml

@@ -1,18 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ownCloud Android client application
+
+  Copyright (C) 2016 ownCloud Inc.
+
+  This program is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License version 2,
+  as published by the Free Software Foundation.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+  -->
 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
-        android:id="@+id/drawer_layout"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:clickable="true" >
+    android:id="@+id/drawer_layout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:clickable="true"
+    android:fitsSystemWindows="true">
 
+    <!-- The main content view -->
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:background="@color/background_color">
+        android:orientation="vertical">
+
+        <include
+            layout="@layout/toolbar_standard"/>
 
         <FrameLayout
             android:id="@+id/upload_list_fragment"
             android:layout_width="match_parent"
-            android:layout_height="match_parent"/>
+            android:layout_height="match_parent"
+            android:background="@color/background_color"/>
     </LinearLayout>
 
     <include

+ 31 - 20
res/layout/uploader_layout.xml

@@ -17,21 +17,21 @@
   You should have received a copy of the GNU General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
  -->
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-	android:layout_height="wrap_content"
-	android:orientation="vertical"
-	android:layout_width="wrap_content"
-	android:background="@color/white"
-	android:gravity="center">
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/upload_files_layout"
+    android:layout_width="fill_parent"
+    android:layout_height="fill_parent"
+    android:orientation="vertical" >
 
-	<FrameLayout
-		android:layout_height="match_parent"
-		android:layout_width="match_parent"
-		android:id="@+id/upload_list"
-		android:layout_above="@+id/upload_actions">
+    <include
+        layout="@layout/toolbar_standard" />
+
+	<FrameLayout android:layout_height="0dp"
+		android:layout_width="fill_parent"
+		android:id="@+id/frameLayout1"
+		android:layout_weight="1">
 
-		<ListView
-			android:id="@android:id/list"
+		<ListView android:id="@android:id/list"
 			android:layout_width="fill_parent"
 			android:layout_height="fill_parent"
 			android:divider="@color/list_divider_background"
@@ -41,12 +41,23 @@
 	</FrameLayout>
 
 	<LinearLayout
-	    android:id="@+id/upload_actions"
-	    android:layout_width="fill_parent"
-	    android:layout_height="wrap_content"
-	    android:layout_alignParentBottom="true"
-	    android:orientation="horizontal"
-	    android:padding="@dimen/standard_padding">
+		android:layout_width="match_parent"
+		android:layout_height="wrap_content"
+		android:orientation="horizontal">
+
+		<ImageView
+			android:layout_width="match_parent"
+			android:layout_height="1dp"
+			android:src="@drawable/uploader_list_separator"/>
+
+	</LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:orientation="horizontal"
+        android:padding="@dimen/standard_padding">
 
 		<android.support.v7.widget.AppCompatButton
 			android:theme="@style/Button"
@@ -68,4 +79,4 @@
 		    android:text="@string/uploader_btn_upload_text" />
 
 	</LinearLayout>
-</RelativeLayout>
+</LinearLayout>

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini