<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.devicediagnostics">

  <uses-feature
      android:name="android.hardware.camera"
      android:required="false" />

  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.VIBRATE" />
  <uses-permission android:name="android.permission.CAMERA" />
  <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
  <uses-permission android:name="android.permission.BATTERY_STATS" />
  <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
  <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
  <uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
  <uses-permission android:name="android.permission.ENTER_TRADE_IN_MODE"/>
  <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

  <application
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:roundIcon="@mipmap/ic_launcher_round"
      android:supportsRtl="true"
      android:theme="@style/Theme.DeviceDiagnostics">
    <provider
        android:name="com.android.devicediagnostics.GetStatusContentProvider"
        android:authorities="com.android.devicediagnostics.GetStatusContentProvider"
        android:enabled="true"
        android:exported="true"
        android:permission="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
    <provider
        android:name="com.android.devicediagnostics.TradeInModeTestingContentProvider"
        android:authorities="com.android.devicediagnostics.TradeInModeTestingContentProvider"
        android:enabled="true"
        android:exported="true"
        android:permission="android.permission.ENTER_TRADE_IN_MODE"/>
    <provider
        android:name="com.android.devicediagnostics.EvaluateContentProvider"
        android:authorities="com.android.devicediagnostics.EvaluateContentProvider"
        android:enabled="true"
        android:exported="true"
        android:permission="android.permission.ENTER_TRADE_IN_MODE"/>
    <activity
        android:name="com.android.devicediagnostics.MainActivity"
        android:exported="true">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.DEFAULT" />
      </intent-filter>
    </activity>
    <activity android:name="com.android.devicediagnostics.DiagnosticsActivity" />
    <activity android:name="com.android.devicediagnostics.EvaluationModeActivity" />
    <activity android:name="com.android.devicediagnostics.trusted.QrCodeDisplayActivity" />
    <activity android:name="com.android.devicediagnostics.trusted.WaitForResultActivity" />
    <activity android:name="com.android.devicediagnostics.trusted.DisplayResultActivity" />
    <activity android:name="com.android.devicediagnostics.DisplayAttestationDetailsActivity" />

    <!-- Test tasks -->
    <activity android:name="com.android.devicediagnostics.evaluated.QrCodeScanActivity"
              android:taskAffinity="com.android.devicediagnostics.evaluated" />
    <activity android:name="com.android.devicediagnostics.evaluated.ScreenTestIntroActivity"
              android:taskAffinity="com.android.devicediagnostics.evaluated" />
    <activity android:name="com.android.devicediagnostics.evaluated.ScreenTestActivity"
              android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
              android:noHistory="true"
              android:excludeFromRecents="true"
              android:taskAffinity="com.android.devicediagnostics.evaluated" />
    <activity android:name="com.android.devicediagnostics.evaluated.ScreenTestFinalizeActivity"
              android:taskAffinity="com.android.devicediagnostics.evaluated" />
    <activity android:name="com.android.devicediagnostics.evaluated.TouchTestIntroActivity"
              android:taskAffinity="com.android.devicediagnostics.evaluated" />
    <activity android:name="com.android.devicediagnostics.evaluated.TouchTestActivity"
              android:taskAffinity="com.android.devicediagnostics.evaluated" />
    <activity android:name="com.android.devicediagnostics.evaluated.TouchTestFinalizeActivity"
              android:taskAffinity="com.android.devicediagnostics.evaluated" />
    <activity android:name="com.android.devicediagnostics.evaluated.EvaluationFinalizeActivity"
              android:taskAffinity="com.android.devicediagnostics.evaluated" />
    <activity android:name="com.android.devicediagnostics.BatteryActivity" />
    <activity android:name="com.android.devicediagnostics.StorageActivity" />
    <receiver android:name="com.android.devicediagnostics.BootCompleteReceiver"
        android:exported="true">
      <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
      </intent-filter>
    </receiver>
  </application>
</manifest>
