Initial draft for the Scoped folder Access API sample.
The sample demonstrates how to access to specific directories by creating an
intent using StorageVolume and lists the files/directories in that directory.
Change-Id: I61267cbff52ecba90cb0b135c71728a02eb58fbe
diff --git a/content/documentsUi/ScopedDirectoryAccess/template-params.xml b/content/documentsUi/ScopedDirectoryAccess/template-params.xml
new file mode 100644
index 0000000..066d902
--- /dev/null
+++ b/content/documentsUi/ScopedDirectoryAccess/template-params.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2016 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.
+-->
+
+<sample>
+ <name>ScopedDirectoryAccess</name>
+ <group>content</group> <!-- This field will be deprecated in the future
+ and replaced with the "categories" tags below. -->
+ <package>com.example.android.scopeddirectoryaccess</package>
+
+ <!-- change minSdk if needed-->
+ <minSdk>"N"</minSdk>
+ <targetSdkVersion>"N"</targetSdkVersion>
+ <compileSdkVersion>"android-N"</compileSdkVersion>
+
+ <!-- Include additional dependencies here.-->
+ <dependency>com.android.support:appcompat-v7:24.0.0-SNAPSHOT</dependency>
+ <dependency>com.android.support:recyclerview-v7:24.0.0-SNAPSHOT</dependency>
+ <dependency>com.android.support:support-v4:24.0.0-SNAPSHOT</dependency>
+
+ <template src="base" />
+
+ <strings>
+ <intro>
+<![CDATA[
+This sample demonstrates how to use the Scoped Directory Access API introduced in Android N
+to easily access to specific directories such as Pictures, Downloads instead of requesting
+READ_EXTERNAL_STORAGE or WRITE_EXTERNAL_STORAGE in your manifest.
+]]>
+ </intro>
+ </strings>
+
+ <metadata>
+ <status>DRAFT</status>
+ <categories>Android N Preview</categories>
+ <technologies>Android</technologies>
+ <languages>Java</languages>
+ <solutions>Mobile</solutions>
+ <level>BEGINNER</level>
+ <icon>screenshots/icon-web.png</icon>
+ <screenshots>
+ <img>screenshots/1.png</img>
+ <img>screenshots/2.png</img>
+ <img>screenshots/3.png</img>
+ </screenshots>
+ <api_refs>
+ <android>android.os.storage.StorageManager</android>
+ <android>android.os.storage.StorageVolume</android>
+ </api_refs>
+
+ <description>
+<![CDATA[
+This sample demonstrates how to use the Scoped Directory Access API introduced in Android N
+to easily access to specific directories such as Pictures, Downloads instead of requesting
+READ_EXTERNAL_STORAGE or WRITE_EXTERNAL_STORAGE in your manifest.
+]]>
+ </description>
+
+ <!-- Multi-paragraph introduction to sample, from an educational point-of-view.
+ Makrdown formatting allowed. This will be used to generate a mini-article for the
+ sample on DAC. -->
+ <intro>
+<![CDATA[
+This sample demonstrates how to use the Scoped Directory Access API that provides easy way to
+access specific directories instead of:
+ - Requesting READ_EXTERNAL_STORAGE or WRITE_EXTERNAL_STORAGE in your manifest, which allows
+ access to all public directories on external storage.
+ - Using the Storage Access Framework, where the user usually picks directories via a System UI,
+ which is unnecessary if you app always accesses to the same external directory.
+
+To access to a specific directory, use a new Intent created using the StorageVolume class like
+following:
+
+```
+StorageManager sm = getSystemService(StorageManager.class);
+StorageVolume volume = sm.getPrimaryVolume();
+Intent intent = volume.createAccessIntent(Environment.DIRECTORY_PICTURES);
+startActivityForResult(intent, request_code);
+```
+
+Note that the argument passed to StorageVolume.createAccessIntent needs to be one of the
+values of Environment.DIRECTORY_\*.
+
+Once the user grants the access, `onActivityResult` override will be called with a
+result code of `Activity.RESULT_OK` and an intent data that contains the URI representing
+the directory.
+]]>
+ </intro>
+ </metadata>
+</sample>