Files
zapstore/android/app/src/main/AndroidManifest.xml
T
2026-05-01 15:57:05 -03:00

116 lines
5.7 KiB
XML

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="QueryAllPackagesPermission">
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<uses-feature android:name="android.software.leanback" android:required="false" />
<uses-permission android:name="android.permission.ENFORCE_UPDATE_OWNERSHIP" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application
android:label="Zapstore"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher"
android:enableOnBackInvokedCallback="true"
android:requestLegacyExternalStorage="true">
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.APP_MARKET"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<!-- App Links for https://zapstore.dev/{apps,stacks}/...
Scoped narrowly so unrelated paths (e.g. /about, /blog,
/applications) are NOT claimed and stay in the browser.
NOTE: Android intent filters cannot match query strings;
anything matching these paths is delivered to the app
regardless of `?…`, and resolved at runtime by
`resolveDeepLinkPath`. -->
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- /apps (exact, for /apps?q=… search deep links) -->
<data
android:scheme="https"
android:host="zapstore.dev"
android:path="/apps" />
<!-- /apps/<id> (trailing slash avoids the /applications footgun) -->
<data
android:scheme="https"
android:host="zapstore.dev"
android:pathPrefix="/apps/" />
<!-- /stacks (exact, browse all stacks) -->
<data
android:scheme="https"
android:host="zapstore.dev"
android:path="/stacks" />
<!-- /stacks/<id> -->
<data
android:scheme="https"
android:host="zapstore.dev"
android:pathPrefix="/stacks/" />
<!-- /profile/<npub> (user profile pages) -->
<data
android:scheme="https"
android:host="zapstore.dev"
android:pathPrefix="/profile/" />
</intent-filter>
<!-- Handle market:// URIs (e.g., market://details?id=com.example.app) -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="market" />
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
<receiver
android:name="dev.zapstore.app.plugins.InstallResultReceiver"
android:exported="false" />
</application>
<!-- Required to query activities that can process text, see:
https://developer.android.com/training/package-visibility and
https://developer.android.com/reference/android/content/Intent#ACTION_PROCESS_TEXT.
In particular, this is used by the Flutter engine in io.flutter.plugin.text.ProcessTextPlugin. -->
<queries>
<intent>
<action android:name="android.intent.action.PROCESS_TEXT"/>
<data android:mimeType="text/plain"/>
</intent>
</queries>
</manifest>