* Added support for ODT and FODT file formats. * Improved `OdtParser` to support enhanced document formatting and external assets * Added support for viewing CSV, TSV, JSON, XML, logs, and source code files by dynamically converting them to HTML.
242 lines
No EOL
11 KiB
XML
242 lines
No EOL
11 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
|
|
|
<uses-permission android:name="android.permission.INTERNET" />
|
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
|
|
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
|
|
|
|
<queries>
|
|
<intent>
|
|
<action android:name="android.intent.action.TTS_SERVICE" />
|
|
</intent>
|
|
</queries>
|
|
|
|
<queries>
|
|
<intent>
|
|
<action android:name="android.intent.action.PROCESS_TEXT" />
|
|
<data android:mimeType="text/plain" />
|
|
</intent>
|
|
<intent>
|
|
<action android:name="colordict.intent.action.SEARCH" />
|
|
</intent>
|
|
<intent>
|
|
<action android:name="android.intent.action.SEND" />
|
|
<data android:mimeType="text/plain" />
|
|
</intent>
|
|
|
|
<package android:name="it.t_arn.aard2" />
|
|
<package android:name="io.github.mvasilev.dictionary" />
|
|
<package android:name="com.github.tngande.ossdict" />
|
|
<package android:name="com.gaurav.lookup" />
|
|
<package android:name="com.randallbaltazar.lookup" />
|
|
</queries>
|
|
|
|
<application
|
|
android:name=".MyApplication"
|
|
android:allowBackup="true"
|
|
android:dataExtractionRules="@xml/data_extraction_rules"
|
|
android:fullBackupContent="@xml/backup_rules"
|
|
android:icon="@mipmap/ic_launcher"
|
|
android:label="@string/app_name"
|
|
android:roundIcon="@mipmap/ic_launcher_round"
|
|
android:supportsRtl="true"
|
|
android:theme="@style/Theme.Reader"
|
|
android:networkSecurityConfig="@xml/network_security_config">
|
|
|
|
<activity
|
|
android:name=".MainActivity"
|
|
android:exported="true"
|
|
android:theme="@style/Theme.Reader"
|
|
android:configChanges="orientation|screenSize|screenLayout|keyboardHidden"
|
|
android:launchMode="singleTask">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN" />
|
|
<category android:name="android.intent.category.LAUNCHER" />
|
|
</intent-filter>
|
|
|
|
<!-- PDF -->
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
<data android:scheme="content" />
|
|
<data android:scheme="file" />
|
|
<data android:mimeType="application/pdf" />
|
|
</intent-filter>
|
|
|
|
<!-- EPUB -->
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
<data android:scheme="content" />
|
|
<data android:scheme="file" />
|
|
<data android:mimeType="application/epub+zip" />
|
|
</intent-filter>
|
|
|
|
<!-- MOBI/AZW3 known MIME types -->
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
<data android:scheme="content" />
|
|
<data android:scheme="file" />
|
|
<data android:mimeType="application/x-mobipocket-ebook" />
|
|
<data android:mimeType="application/vnd.amazon.mobi8-ebook" />
|
|
<data android:mimeType="application/vnd.amazon.ebook" />
|
|
</intent-filter>
|
|
|
|
<!-- FB2 known MIME types -->
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
<data android:scheme="content" />
|
|
<data android:scheme="file" />
|
|
<data android:mimeType="application/x-fictionbook+xml" />
|
|
<data android:mimeType="application/x-fictionbook" />
|
|
<data android:mimeType="application/x-fb2" />
|
|
</intent-filter>
|
|
|
|
<!-- FALLBACK: catches azw3/fb2/mobi when MIME type is unknown -->
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
<data android:scheme="content" />
|
|
<data android:scheme="file" />
|
|
<data android:mimeType="application/octet-stream" />
|
|
</intent-filter>
|
|
|
|
<!-- Markdown/Text -->
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
<data android:scheme="content" />
|
|
<data android:scheme="file" />
|
|
<data android:mimeType="text/plain" />
|
|
<data android:mimeType="text/markdown" />
|
|
<data android:mimeType="text/x-markdown" />
|
|
</intent-filter>
|
|
|
|
<!-- CBZ known MIME types -->
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
<data android:scheme="content" />
|
|
<data android:scheme="file" />
|
|
<data android:mimeType="application/x-cbz" />
|
|
<data android:mimeType="application/vnd.comicbook+zip" />
|
|
</intent-filter>
|
|
|
|
<!-- CBR known MIME types -->
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
<data android:scheme="content" />
|
|
<data android:scheme="file" />
|
|
<data android:mimeType="application/x-cbr" />
|
|
<data android:mimeType="application/vnd.comicbook-rar" />
|
|
</intent-filter>
|
|
|
|
<!-- CB7 known MIME types -->
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
<data android:scheme="content" />
|
|
<data android:scheme="file" />
|
|
<data android:mimeType="application/x-cb7" />
|
|
</intent-filter>
|
|
|
|
<!-- DOCX -->
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
<data android:scheme="content" />
|
|
<data android:scheme="file" />
|
|
<data android:mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" />
|
|
</intent-filter>
|
|
|
|
<!-- ODT & FODT -->
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
<data android:scheme="content" />
|
|
<data android:scheme="file" />
|
|
<data android:mimeType="application/vnd.oasis.opendocument.text" />
|
|
<data android:mimeType="application/x-vnd.oasis.opendocument.text-flat-xml" />
|
|
</intent-filter>
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
<data android:scheme="content" />
|
|
<data android:scheme="file" />
|
|
<data android:mimeType="text/csv" />
|
|
<data android:mimeType="text/comma-separated-values" />
|
|
<data android:mimeType="text/tab-separated-values" />
|
|
</intent-filter>
|
|
|
|
<!-- Structured Data (JSON / XML) -->
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
<data android:scheme="content" />
|
|
<data android:scheme="file" />
|
|
<data android:mimeType="application/json" />
|
|
<data android:mimeType="application/xml" />
|
|
<data android:mimeType="text/xml" />
|
|
</intent-filter>
|
|
|
|
<!-- Source Code & Logs -->
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
<data android:scheme="content" />
|
|
<data android:scheme="file" />
|
|
<data android:mimeType="text/x-java-source" />
|
|
<data android:mimeType="text/x-python" />
|
|
<data android:mimeType="text/x-kotlin" />
|
|
<data android:mimeType="text/javascript" />
|
|
<data android:mimeType="application/javascript" />
|
|
<data android:mimeType="text/x-c" />
|
|
<data android:mimeType="text/x-c++" />
|
|
<data android:mimeType="text/x-csharp" />
|
|
<data android:mimeType="text/x-ruby" />
|
|
<data android:mimeType="text/x-go" />
|
|
<data android:mimeType="text/x-log" />
|
|
</intent-filter>
|
|
|
|
</activity>
|
|
|
|
<service
|
|
android:name=".tts.TtsService"
|
|
android:exported="true"
|
|
android:foregroundServiceType="mediaPlayback">
|
|
<intent-filter>
|
|
<action android:name="androidx.media3.session.MediaSessionService"/>
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<provider
|
|
android:name="androidx.core.content.FileProvider"
|
|
android:authorities="${applicationId}.provider"
|
|
android:exported="false"
|
|
android:grantUriPermissions="true">
|
|
<meta-data
|
|
android:name="android.support.FILE_PROVIDER_PATHS"
|
|
android:resource="@xml/provider_paths" />
|
|
</provider>
|
|
</application>
|
|
|
|
</manifest> |