<?xml version="1.0" encoding="utf-8"?>

<!--
   Copyright 2018 Google LLC

   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.
-->

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.google.ar.core.examples.java.helloskar">

  <uses-permission android:name="android.permission.CAMERA"/>
  <!-- This tag indicates that this application requires ARCore.  This results in the application
       only being visible in the Google Play Store on devices that support ARCore. -->
  <uses-feature android:name="android.hardware.camera.ar" android:required="true"/>
  <uses-feature android:glEsVersion="0x00020000" android:required="true" />

  <application
      android:allowBackup="false"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/Theme.AppCompat.Light.NoActionBar"
      android:usesCleartextTraffic="false"
      tools:ignore="GoogleAppIndexingWarning">

    <activity
        android:name="com.google.skar.examples.helloskar.app.HelloCanvasAR"
        android:configChanges="orientation|screenSize"
        android:exported="true"
        android:theme="@style/Theme.AppCompat.DayNight.NoActionBar"
        android:screenOrientation="locked">
      <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
      </intent-filter>
    </activity>
    <!-- This tag indicates that this application requires ARCore.  This results in the Google Play
         Store downloading and installing ARCore along with the application. -->
    <meta-data android:name="com.google.ar.core" android:value="required" />
    <meta-data
        android:name="com.google.ar.core.min_apk_version"
        tools:replace="android:value"
        android:value="180226000" />
  </application>
</manifest>
