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

<!--
*********************************************************************************
BASIC! is an implementation of the Basic programming language for
Android devices.

Copyright (C) 2010 - 2017 Paul Laughton

This file is part of BASIC! for Android

	BASIC! is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	BASIC! is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with BASIC!.  If not, see <http://www.gnu.org/licenses/>.

	You may contact the author or current maintainers at http://rfobasic.freeforums.org

**********************************************************************************
-->

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
	xmlns:tools="http://schemas.android.com/tools"
	package="com.rfo.hbasic"
	android:versionCode="5630"
	android:versionName="5.63"
	android:installLocation="auto"
	tools:ignore="UnusedAttribute"> <!-- installLocation not available in API 7 -->

	<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
	<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
	<uses-permission android:name="android.permission.INTERNET" />
	<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
	<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
	<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
	<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
	<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
	<uses-permission android:name="android.permission.BLUETOOTH" />
	<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
	<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
	<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
	<uses-permission android:name="android.permission.CAMERA" />
	<uses-permission android:name="android.permission.RECORD_AUDIO" />
	<uses-permission android:name="android.permission.VIBRATE" />
	<uses-permission android:name="android.permission.WAKE_LOCK" />
	<uses-permission android:name="android.permission.CALL_PHONE" />
	<uses-permission android:name="android.permission.READ_PHONE_STATE" />
	<uses-permission android:name="android.permission.READ_PHONE_NUMBERS" />
	<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />

	<uses-feature android:name="android.hardware.bluetooth" android:required="false" />
	<uses-feature android:name="android.hardware.bluetooth_le" android:required="false"/>
	<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.location" android:required="false" />
	<uses-feature android:name="android.hardware.location.network" android:required="false" />
	<uses-feature android:name="android.hardware.location.gps" android:required="false" />
	<uses-feature android:name="android.hardware.microphone" android:required="false" />
	<uses-feature android:name="android.hardware.sensor.accelerometer" android:required="false" />
	<uses-feature android:name="android.hardware.telephony" android:required="false" />
	<uses-feature android:name="android.hardware.touchscreen" android:required="false" />

	<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="36" />

	<supports-screens android:xlargeScreens="true" />

	<application
		android:hardwareAccelerated="true"
		android:allowBackup="true"
		android:icon="@mipmap/icon"
		android:label="@string/app_name"
		android:usesCleartextTraffic="true"
		android:hasFragileUserData="true"
		android:theme="@style/App_Theme"
		android:requestLegacyExternalStorage="true"
	>
	<uses-library
			android:name="org.apache.http.legacy"
			android:required="false" />

		<receiver
			android:name=".BootUpReceiver"
			android:enabled="false"
			android:exported="true" >

			<intent-filter>
				<action android:name="android.intent.action.BOOT_COMPLETED" />
				<category android:name="android.intent.category.DEFAULT" />
			</intent-filter>
		</receiver>

		<activity
			android:id="@+id/basic_screen"
			android:name="Basic"
			android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
			android:label="@string/app_name"
			android:theme="@style/Hidden_Theme"
			android:exported="true" >

			<intent-filter>
				<action android:name="android.intent.action.MAIN" />
				<category android:name="android.intent.category.LAUNCHER" />
				<category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
			</intent-filter>

			<intent-filter>
				<action android:name="android.intent.action.VIEW" />
				<category android:name="android.intent.category.DEFAULT" />
				<data android:scheme="file" />
				<data android:scheme="content" />
				<data android:mimeType="*/*" />
				<data android:pathPattern=".*\\.bas" />
				<data android:pathPattern=".*\\..*\\.bas" />
				<data android:pathPattern=".*\\..*\\..*\\.bas" />
				<data android:pathPattern=".*\\..*\\..*\\..*\\.bas" />
				<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.bas" />
				<data android:host="*" />
			</intent-filter>

			<meta-data 
				android:name="android.app.shortcuts"
				android:resource="@xml/shortcuts"
			/>
		</activity>

		<activity
			android:name="LauncherShortcuts"
			android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
			android:label="@string/app_name"
			android:enabled="true"
			android:exported="true" >

			<intent-filter>
				<action android:name="android.intent.action.CREATE_SHORTCUT" />
				<category android:name="android.intent.category.DEFAULT" />
			</intent-filter>
		</activity>

		<activity
			android:id="@+id/editor_screen"
			android:name=".Editor"
			android:label="@string/editor_name"
			android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
			android:screenOrientation="locked"
			android:windowSoftInputMode="stateHidden"
			android:exported="true" >
		</activity>

		<activity
			android:id="@+id/settings_screen"
			android:name=".Settings"
			android:label="@string/settings_name"
			android:theme="@style/Prefs_Theme"
			android:exported="true" >
		</activity>

		<activity
			android:id="@+id/about_screen"
			android:name=".About"
			android:label="@string/about_name"
			android:exported="true" >
		</activity>

		<activity
			android:id="@+id/load_screen"
			android:name=".LoadFile"
			android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
			android:screenOrientation="locked"
			android:label="@string/load_name"
			android:exported="true" >
		</activity>

		<activity
			android:id="@+id/delete_screen"
			android:name=".Delete"
			android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
			android:screenOrientation="locked"
			android:label="@string/delete_name"
			android:exported="true" >
		</activity>

		<activity
			android:id="@+id/run_screen"
			android:name=".Run"
			android:configChanges="uiMode|keyboard|keyboardHidden|orientation|screenSize"
			android:screenOrientation="locked"
			android:label=""
			android:windowSoftInputMode="adjustResize"
			android:exported="true" >
		</activity>

		<activity
			android:id="@+id/search_screen"
			android:name=".Search"
			android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
			android:screenOrientation="locked"
			android:label="@string/search_name"
			android:windowSoftInputMode="adjustResize"
			android:theme="@style/Search_Theme"
			android:exported="true" >
		</activity>

		<activity
			android:id="@+id/format_screen"
			android:name=".Format"
			android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
			android:label="@string/format_name"
			android:exported="true" >
		</activity>

		<activity
			android:id="@+id/help_screen"
			android:name=".Help"
			android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
			android:screenOrientation="locked"
			android:label="@string/help_name"
			android:windowSoftInputMode="stateAlwaysVisible"
			android:exported="true" >
		</activity>

		<activity
			android:id="@+id/gr_screen"
			android:name=".GR"
			android:configChanges="uiMode|keyboard|keyboardHidden|orientation|screenSize"
			android:screenOrientation="locked"
			android:label="@string/gr_name"
			android:windowSoftInputMode="adjustResize"
			android:exported="true" >
		</activity>

		<activity
			android:id="@+id/select_screen"
			android:name=".Select"
			android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
			android:screenOrientation="locked"
			android:label="@string/select_name"
			android:exported="true" >
		</activity>

		<activity
			android:id="@+id/text_input_screen"
			android:name=".TextInput"
			android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
			android:screenOrientation="locked"
			android:label="@string/textinput_name"
			android:exported="true" >
		</activity>

		<activity
			android:id="@+id/filesel_screen"
			android:name=".FileSel"
			android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
			android:screenOrientation="locked"
			android:label="@string/filesel_name"
			android:exported="true" >
		</activity>

		<activity
			android:id="@+id/web_view_screen"
			android:name=".Web"
			android:configChanges="uiMode|keyboard|keyboardHidden|orientation|screenSize"
			android:label="@string/web_view_name"
			android:windowSoftInputMode="adjustResize"
			android:exported="true" >
		</activity>

		<activity
			android:id="@+id/camera_screen"
			android:name=".CameraView"
			android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
			android:label="Camera"
			android:theme="@android:style/Theme.Translucent.NoTitleBar"
			android:exported="true" >
		</activity>

		<activity
			android:id="@+id/notify_screen"
			android:name=".HandleNotify"
			android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
			android:label="Notify"
			android:theme="@android:style/Theme.Translucent.NoTitleBar"
			android:exported="true" >
		</activity>

		<activity
			android:id="@+id/device_list_screen"
			android:name=".DeviceListActivity"
			android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
			android:label="@string/select_device"
			android:theme="@style/Dialog_Theme"
			android:exported="true" >
		</activity>

		<activity
			android:name="Null"
			android:label="@string/select_name"
			android:exported="true" >
		</activity>

		<uses-library android:name="com.sec.android.app.multiwindow" android:required="false" />
		<meta-data android:name="com.sec.android.support.multiwindow" android:value="true" />
		<meta-data android:name="com.sec.android.multiwindow.DEFAULT_SIZE_W" android:value="632.0dip" />
		<meta-data android:name="com.sec.android.multiwindow.DEFAULT_SIZE_H" android:value="598.0dip" />
		<meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_W" android:value="632.0dip" />
		<meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_H" android:value="598.0dip" />
	</application>

</manifest>
