cranpose 0.1.141

Cranpose runtime and UI facade
Documentation
<?xml version="1.0" encoding="utf-8"?>
<!--
    What every Cranpose application needs, contributed by the library so no
    application repeats it. Permissions are not in that set: the framework
    declares none, and an application writes the ones its services need in its
    own manifest.

    The activity is declared here in full, including the launcher intent filter:
    an application supplies its label, icon and theme through the manifest
    placeholders the Cranpose Gradle plugin sets, and declares no activity of
    its own. `android.app.lib_name` names the cdylib `NativeActivity` loads and
    must match the Cargo package's library name, which the plugin also supplies.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android">


    <application>
        <activity
            android:name="dev.cranpose.android.CranposeActivity"
            android:exported="true"
            android:launchMode="singleTask"
            android:label="${cranposeLabel}"
            android:theme="${cranposeTheme}"
            android:configChanges="orientation|keyboardHidden|screenSize|smallestScreenSize|screenLayout|uiMode|layoutDirection|fontScale|density">
            <meta-data
                android:name="android.app.lib_name"
                android:value="${cranposeLibName}" />
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!--
            Sharing a file out. `cranpose_services::share` stages the payload in
            the cache directory and hands the receiving application a content
            URI, which is only readable through a provider; the authority is
            derived from the application id so two Cranpose applications
            installed side by side do not collide.
        -->
        <provider
            android:name="dev.cranpose.android.CranposeShareProvider"
            android:authorities="${applicationId}.cranpose.share"
            android:exported="false"
            android:grantUriPermissions="true" />
    </application>
</manifest>