<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<control xmlns="http://www.sap.com/sap.ui.library.xsd">
    <name>App</name>
    <derived/>
    <author>SAP SE</author>
    <documentation>The root element of a UI5 mobile app.

&lt;h3&gt;Overview&lt;/h3&gt;

The &lt;code&gt;App&lt;/code&gt; inherits from {@link sap.m.NavContainer} and thus provides its navigation capabilities.
It adds certain header tags to the HTML page which are considered useful for mobile apps.

&lt;h3&gt;Usage&lt;/h3&gt;

You can configure the home icon of the &lt;code&gt;App&lt;/code&gt;. For more information,
see the &lt;code&gt;homeIcon&lt;/code&gt; property.

There are options for setting the background color and a background image with the use of the
&lt;code&gt;backgroundColor&lt;/code&gt; and &lt;code&gt;backgroundImage&lt;/code&gt; properties.</documentation>
    <baseType>sap.m/NavContainer</baseType>
    <properties>
        <property name="homeIcon" type="sap.ui.core/any" group="Misc">
            <documentation>The icon to be displayed on the home screen of iOS devices after the user does "add to home screen".

Note that only the first attempt to set the homeIcon will be executed, subsequent settings are ignored.

This icon must be in PNG format. The property can either hold the URL of one single icon which is used for all devices (and possibly scaled, which looks not perfect), or an object holding icon URLs for the different required sizes.

A desktop icon (used for bookmarks and overriding the favicon) can also be configured. This requires an object to be given and the "icon" property of this object then defines the desktop bookmark icon. For this icon, PNG is not supported by Internet Explorer. The ICO format is supported by all browsers. ICO is also preferred for this desktop icon setting because the file can contain different images for different resolutions.

One example is:

app.setHomeIcon({
'phone':'phone-icon.png',
'phone@2':'phone-retina.png',
'tablet':'tablet-icon.png',
'tablet@2':'tablet-retina.png',
'icon':'desktop.ico'
});

The respective image sizes are 57/114 px for the phone and 72/144 px for the tablet.
If an object is given but one of the sizes is not given, the largest given icon will be used for this size.

On Android these icons may or may not be used by the device. Apparently chances can be improved by adding glare effect and rounded corners, setting the file name so it ends with "-precomposed.png" and setting the "homeIconPrecomposed" property to "true".</documentation>
        </property>
        <property name="backgroundColor" type="sap.ui.core/string" group="Appearance" since="1.11.2">
            <documentation>Background color of the App. If set, this color will override the default background defined by the theme. So this should only be set when really required.
Any configured background image will be placed above this colored background. But any theme adaptation in the Theme Designer will override this setting.
Use the "backgroundRepeat" property to define whether this image should be stretched to cover the complete App or whether it should be tiled.</documentation>
        </property>
        <property name="backgroundImage" type="sap.ui.core/URI" group="Appearance" since="1.11.2">
            <documentation>Background image of the App. If set, this image will override the default background defined by the theme. So this should only be set when really required.
This background image will be placed above any color set for the background. But any theme adaptation in the Theme Designer will override this image setting.
Use the "backgroundRepeat" property to define whether this image should be stretched to cover the complete App or whether it should be tiled.</documentation>
        </property>
        <property name="backgroundRepeat" type="sap.ui.core/boolean" defaultValue="false" group="Appearance" since="1.11.2">
            <documentation>Whether the background image (if configured) should be proportionally stretched to cover the whole App (false) or whether it should be tiled (true).</documentation>
        </property>
        <property name="backgroundOpacity" type="sap.ui.core/float" defaultValue="1" group="Appearance" since="1.11.2">
            <documentation>Opacity of the background image. The opacity can be set between 0 (fully transparent) and 1 fully opaque).
This can be used to make the application content better readable by making the background image partly transparent.</documentation>
        </property>
        <property name="mobileWebAppCapable" type="sap.ui.core/boolean" defaultValue="true" group="Appearance" since="1.58.0">
            <documentation>Determines whether the &lt;code&gt;App&lt;/code&gt; is displayed without address bar when
opened from an exported home screen icon on a mobile device.

Keep in mind that if enabled, there is no back button provided by the browser and the app
must provide own navigation on all displayed pages to avoid dead ends.

&lt;b&gt;Note&lt;/b&gt;
The property can be toggled, but it doesn't take effect in real time.
It takes the set value at the moment when the home screen icon is exported by the user.
For example, if the icon is exported while the property is set to &lt;code&gt;true&lt;/code&gt;,
the &lt;code&gt;App&lt;/code&gt; will have no address bar when opened from that same icon regardless
of a changed property value to &lt;code&gt;false&lt;/code&gt; at a later time.</documentation>
        </property>
    </properties>
    <events>
        <event name="orientationChange" allowPreventDefault="false">
            <documentation>Fired when the orientation (portrait/landscape) of the device is changed.</documentation>
            <deprecation since="1.20.0">use sap.ui.Device.orientation.attachHandler(...)</deprecation>
            <parameters>
                <parameter name="landscape" type="sap.ui.core/boolean">
                    <documentation>Whether the device is in landscape orientation.</documentation>
                </parameter>
            </parameters>
        </event>
    </events>
</control>
