<?xml version="1.0" encoding="utf-8"?>
<!--
  No `package=` attribute: AGP 8 ignores it ("Setting the namespace via
  the package attribute in the source AndroidManifest.xml is no longer
  supported") and prints a removal recommendation on every build.  The
  namespace is declared once, in android/build.gradle.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

    <!--
      ── ARCore meta-data: deliberately NOT declared here ────────────

      This AAR has an unconditional `implementation
      "com.google.ar:core"` dependency, and ARCore refuses to start
      without

          <meta-data android:name="com.google.ar.core"
                     android:value="optional" />

      throwing `FatalException: Application manifest must contain
      meta-data com.google.ar.core` on its FIRST call — before any
      availability check, so a host cannot defend against it.

      v0.24.4 briefly declared it here so manifest merging would
      propagate it automatically.  That was reverted: an app that
      already declares the same key with a DIFFERENT value (e.g.
      `required`, for an AR-only product) would have its build stopped
      by the manifest merger, needing a `tools:replace` — a build
      break shipped in a patch release, for integrators who had
      already done the right thing.

      So it stays the HOST's declaration.  It is called out in
      docs/host-app-integration.md, in the website's host-integration
      page, and in the example app's manifest.
    -->

    <!--
      Hardware this SDK uses, all `required="false"` so nothing here
      restricts which devices can install the host app.  Declaring
      them documents the SDK's needs in the merged manifest without
      making distribution decisions on the host's behalf.

      Deliberately NOT declared here: `android.permission.CAMERA` and
      the other runtime permissions.  A library that merges a
      permission into its host changes what that app asks for and
      what its store listing shows — including for consumers that
      only use the offline `BatchStitcher` path and never open a
      camera.  Permissions stay the host's call; see
      docs/host-app-integration.md for the list to add.
    -->
    <uses-feature android:name="android.hardware.camera" android:required="false" />
    <uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
    <uses-feature android:name="android.hardware.sensor.gyroscope" android:required="false" />
    <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="false" />
</manifest>
