AndroidManifest.xml 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!--
  3. ~ Copyright (c) Milan Jurkulák 2024.
  4. ~ Contact:
  5. ~ e: mimoccc@gmail.com
  6. ~ e: mj@mjdev.org
  7. ~ w: https://mjdev.org
  8. -->
  9. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  10. xmlns:tools="http://schemas.android.com/tools">
  11. <uses-permission android:name="android.permission.INTERNET" />
  12. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  13. <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
  14. <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
  15. <uses-permission
  16. android:name="android.permission.READ_EXTERNAL_STORAGE"
  17. tools:ignore="ScopedStorage" />
  18. <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
  19. <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
  20. <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
  21. <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
  22. <uses-permission android:name="android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE" />
  23. <uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
  24. <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
  25. <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" />
  26. <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
  27. <uses-permission android:name="android.permission.GET_ACCOUNTS" />
  28. <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
  29. <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
  30. <uses-permission android:name="android.permission.USE_CREDENTIALS" />
  31. <uses-feature
  32. android:name="android.hardware.touchscreen"
  33. android:required="false" />
  34. <uses-feature
  35. android:name="android.software.leanback"
  36. android:required="false" />
  37. <application
  38. android:name=".app.Application"
  39. android:allowBackup="true"
  40. android:banner="@mipmap/ic_launcher"
  41. android:icon="@mipmap/ic_launcher"
  42. android:label="@string/app_name"
  43. android:largeHeap="true"
  44. android:requestLegacyExternalStorage="true"
  45. android:supportsRtl="true"
  46. android:theme="@style/Theme.TvApp"
  47. android:usesCleartextTraffic="true"
  48. tools:ignore="UnusedAttribute">
  49. <meta-data
  50. android:name="com.google.android.gms.wallet.api.enabled"
  51. android:value="true" />
  52. <meta-data
  53. android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
  54. android:value="org.mjdev.tvapp.cast.CastOptionsProvider" />
  55. <activity
  56. android:name=".activity.MainActivity"
  57. android:clearTaskOnLaunch="true"
  58. android:configChanges="orientation|screenSize|screenLayout|keyboardHidden"
  59. android:exported="true"
  60. android:finishOnTaskLaunch="true"
  61. android:launchMode="singleTask"
  62. android:screenOrientation="fullSensor"
  63. android:theme="@style/Theme.TvApp"
  64. android:windowLayoutInDisplayCutoutMode="default">
  65. <intent-filter>
  66. <action android:name="android.intent.action.MAIN" />
  67. <category android:name="android.intent.category.DEFAULT" />
  68. <category android:name="android.intent.category.LAUNCHER" />
  69. </intent-filter>
  70. <intent-filter>
  71. <action android:name="android.intent.action.MAIN" />
  72. <category android:name="android.intent.category.DEFAULT" />
  73. <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
  74. </intent-filter>
  75. <intent-filter>
  76. <action android:name="android.intent.action.MAIN" />
  77. <category android:name="android.intent.category.HOME" />
  78. <category android:name="android.intent.category.DEFAULT" />
  79. <category android:name="fireos.intent.category.MAIN_HOME" />
  80. </intent-filter>
  81. </activity>
  82. <activity
  83. android:name=".activity.IPTVActivity"
  84. android:clearTaskOnLaunch="true"
  85. android:configChanges="orientation|screenSize|screenLayout|keyboardHidden"
  86. android:exported="true"
  87. android:finishOnTaskLaunch="true"
  88. android:label="@string/title_iptv"
  89. android:launchMode="singleTask"
  90. android:screenOrientation="fullSensor"
  91. android:theme="@style/Theme.TvApp"
  92. android:windowLayoutInDisplayCutoutMode="default">
  93. <!--<intent-filter>-->
  94. <!--<action android:name="android.intent.action.MAIN" />-->
  95. <!--<category android:name="android.intent.category.LAUNCHER" />-->
  96. <!--</intent-filter>-->
  97. <intent-filter>
  98. <action android:name="android.intent.action.MAIN" />
  99. <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
  100. </intent-filter>
  101. </activity>
  102. <activity
  103. android:name=".activity.WebActivity"
  104. android:clearTaskOnLaunch="true"
  105. android:configChanges="orientation|screenSize|screenLayout|keyboardHidden"
  106. android:exported="true"
  107. android:finishOnTaskLaunch="true"
  108. android:label="@string/title_web"
  109. android:launchMode="singleTask"
  110. android:screenOrientation="fullSensor"
  111. android:theme="@style/Theme.TvApp"
  112. android:windowLayoutInDisplayCutoutMode="default">
  113. <intent-filter>
  114. <action android:name="android.intent.action.MAIN" />
  115. <category android:name="android.intent.category.APP_BROWSER" />
  116. <category android:name="android.intent.category.DEFAULT" />
  117. </intent-filter>
  118. <!--Debug-->
  119. <intent-filter>
  120. <action android:name="android.intent.action.MAIN" />
  121. <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
  122. </intent-filter>
  123. <intent-filter>
  124. <action android:name="android.intent.action.VIEW" />
  125. <category android:name="android.intent.category.DEFAULT" />
  126. <category android:name="android.intent.category.BROWSABLE" />
  127. <data android:scheme="http" />
  128. <data android:scheme="https" />
  129. </intent-filter>
  130. <intent-filter>
  131. <action android:name="android.intent.action.VIEW" />
  132. <category android:name="android.intent.category.BROWSABLE" />
  133. <category android:name="android.intent.category.DEFAULT" />
  134. <data android:scheme="http" />
  135. <data android:scheme="https" />
  136. <data android:mimeType="text/html" />
  137. <data android:mimeType="text/plain" />
  138. <data android:mimeType="application/xhtml+xml" />
  139. </intent-filter>
  140. <intent-filter>
  141. <action android:name="android.intent.action.SEND" />
  142. <category android:name="android.intent.category.DEFAULT" />
  143. <data android:mimeType="text/plain" />
  144. </intent-filter>
  145. </activity>
  146. <service
  147. android:name=".sync.SyncService"
  148. android:exported="false"
  149. tools:ignore="ExportedService">
  150. <intent-filter>
  151. <action android:name="android.content.SyncAdapter" />
  152. </intent-filter>
  153. <meta-data
  154. android:name="android.content.SyncAdapter"
  155. android:resource="@xml/sync_adapter" />
  156. </service>
  157. <service
  158. android:name=".sync.auth.AuthenticatorService"
  159. android:exported="false">
  160. <intent-filter>
  161. <action android:name="android.accounts.AccountAuthenticator" />
  162. </intent-filter>
  163. <meta-data
  164. android:name="android.accounts.AccountAuthenticator"
  165. android:resource="@xml/authenticator" />
  166. </service>
  167. <service
  168. android:name=".cast.CastService"
  169. android:exported="false" />
  170. <provider
  171. android:name=".sync.provider.DataProvider"
  172. android:authorities="@string/sync_auth"
  173. android:enabled="true"
  174. android:exported="true"
  175. android:syncable="true"
  176. tools:ignore="ExportedContentProvider" />
  177. <receiver
  178. android:name=".sync.SyncStarter"
  179. android:exported="true">
  180. <intent-filter>
  181. <action android:name="android.intent.action.BOOT_COMPLETED" />
  182. </intent-filter>
  183. </receiver>
  184. <receiver
  185. android:name=".widget.MyAppWidgetReceiver"
  186. android:exported="true">
  187. <intent-filter>
  188. <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
  189. </intent-filter>
  190. <meta-data
  191. android:name="android.appwidget.provider"
  192. android:resource="@xml/main_app_widget_info" />
  193. </receiver>
  194. <receiver
  195. android:name="androidx.mediarouter.media.MediaTransferReceiver"
  196. android:exported="true"
  197. tools:ignore="ExportedReceiver" />
  198. </application>
  199. </manifest>