<?xml version="1.0" encoding="UTF-8"?>
<!--
 Copyright 2014 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>PermissionRequest</name>
    <group>Content</group>
    <package>com.example.android.permissionrequest</package>

    <minSdk>21</minSdk>

    <strings>
        <intro>
            <![CDATA[
            This sample shows how to handle PermissionRequest coming from web apps inside of a
            WebView.
            ]]>
        </intro>
    </strings>

    <template src="base"/>
    <template src="FragmentView"/>
    <common src="logger"/>
    <common src="activities"/>

    <metadata>
        <status>PUBLISHED</status>
        <categories>Content</categories>
        <technologies>Android</technologies>
        <languages>Java</languages>
        <solutions>Mobile</solutions>
        <level>INTERMEDIATE</level>
        <icon>screenshots/icon_web.png</icon>
        <screenshots>
            <img>screenshots/main.png</img>
        </screenshots>
        <api_refs>
            <android>android.webkit.PermissionRequest</android>
            <android>android.webkit.WebView</android>
            <android>android.webkit.WebChromeClient</android>
        </api_refs>

        <description>
<![CDATA[
This sample demonstrates how to use the PermissionRequest API to
securely provide access to restricted system features (such as a
camera or microphone) from within a WebView. In this example, a dialog
is created to allow users to explicitly approve or reject each
request.
]]>
        </description>

        <intro>
<![CDATA[
PermissionRequest can be used by setting up a custom WebChromeClient.

```java
mWebView.setWebChromeClient(mWebChromeClient);
```

In you WebChromeClient implementation, you need to override
[onPermissionRequest][1]. This method is called when the web content
is requesting permission to access some resources, providing an
opportunity to approve or reject the request. In this implementation,
we display a dialog to allow the user to approve or reject any
request. In other applications, you may want to implement a whitelist
of allowed APIs.  Also, override [onPermissionRequestCanceled][2] for
handling cancellation of the PermissionRequest by the web content.

When the user confirms or denies the request, you can respond back to
the web content by [grant][3] or [deny][4] respectively.

```java
mPermissionRequest.grant(mPermissionRequest.getResources());
```

This sample provides the web content from the assets folder in the
app. Since WebView is not allowed to use getUserMedia from a "file://"
URL, the app uses the SimpleWebServer class to provide the content via
"http://localhost".

[1]: http://developer.android.com/reference/android/webkit/WebChromeClient.html#onPermissionRequest(android.webkit.PermissionRequest)
[2]: http://developer.android.com/reference/android/webkit/WebChromeClient.html#onPermissionRequestCanceled(android.webkit.PermissionRequest)
[3]: http://developer.android.com/reference/android/webkit/PermissionRequest.html#grant(java.lang.String[])
[4]: http://developer.android.com/reference/android/webkit/PermissionRequest.html#deny()
]]>
        </intro>
    </metadata>

</sample>
