Merge branch 'v1.12'
This commit is contained in:
22
.github/workflows/release-net.yml
vendored
22
.github/workflows/release-net.yml
vendored
@@ -83,8 +83,6 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
make manifestlink Flavor=Net
|
make manifestlink Flavor=Net
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- name: Build APK (net)
|
- name: Build APK (net)
|
||||||
env:
|
env:
|
||||||
KeyStore: "${{ github.workspace }}/kp2a.keystore"
|
KeyStore: "${{ github.workspace }}/kp2a.keystore"
|
||||||
@@ -93,6 +91,22 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
make Configuration=Release Flavor=Net
|
make Configuration=Release Flavor=Net
|
||||||
|
|
||||||
|
|
||||||
|
- name: Install NuGet dependencies (nonet)
|
||||||
|
run: make nuget Flavor=NoNet
|
||||||
|
|
||||||
|
- name: Use the _nonet manifest
|
||||||
|
run: |
|
||||||
|
make manifestlink Flavor=NoNet
|
||||||
|
|
||||||
|
- name: Build APK (NoNet)
|
||||||
|
env:
|
||||||
|
KeyStore: "${{ github.workspace }}/kp2a.keystore"
|
||||||
|
MyAndroidSigningStorePass: ${{ secrets.KEY_STORE_PASSWORD }}
|
||||||
|
MyAndroidSigningKeyPass: ${{ secrets.KEY_PASSWORD }}
|
||||||
|
run: |
|
||||||
|
make Configuration=Release Flavor=NoNet
|
||||||
|
|
||||||
- name: List files
|
- name: List files
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
@@ -101,11 +115,11 @@ jobs:
|
|||||||
- name: Archive production artifacts (net)
|
- name: Archive production artifacts (net)
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: signed APK ('net' built on ${{ github.job }})
|
name: signed APKs (built on ${{ github.job }})
|
||||||
path: |
|
path: |
|
||||||
src/keepass2android-app/bin/Release/net8.0-android/*-Signed.apk
|
src/keepass2android-app/bin/Release/net8.0-android/*-Signed.apk
|
||||||
|
|
||||||
- name: Upload APK to GitHub Release
|
- name: Upload APKs to GitHub Release
|
||||||
uses: softprops/action-gh-release@v2
|
uses: softprops/action-gh-release@v2
|
||||||
if: github.ref_type == 'tag'
|
if: github.ref_type == 'tag'
|
||||||
with:
|
with:
|
||||||
|
|||||||
127
.github/workflows/release.yml
vendored
Normal file
127
.github/workflows/release.yml
vendored
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
name: Create keepass2android release
|
||||||
|
env:
|
||||||
|
NAME: 'Release'
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [published] # Trigger when a new GitHub release is published
|
||||||
|
workflow_dispatch: # For manual testing
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
build-release:
|
||||||
|
|
||||||
|
runs-on: windows-2022
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
|
||||||
|
- name: Extract key store
|
||||||
|
env:
|
||||||
|
KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }}
|
||||||
|
KeyStore: "${{ github.workspace }}/kp2a.keystore"
|
||||||
|
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo $KeyStore
|
||||||
|
echo $KEYSTORE_BASE64 | base64 --decode > $KeyStore
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- name: Setup Gradle
|
||||||
|
uses: gradle/actions/setup-gradle@v3
|
||||||
|
|
||||||
|
- name: Cache NuGet packages
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: ~/.nuget/packages
|
||||||
|
key: ${{ runner.os }}-nuget-${{ hashFiles('src/**/*.csproj', 'src/**/packages.config') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-nuget-
|
||||||
|
|
||||||
|
# Workaround an issue when building on windows-2022. Error was
|
||||||
|
# D8 : OpenJDK 64-Bit Server VM warning : INFO: os::commit_memory(0x00000000ae400000, 330301440, 0) failed; error='The paging file is too small for this operation to complete' (DOS error/errno=1455) [D:\a\keepass2android\keepass2android\src\keepass2android\keepass2android-app.csproj]
|
||||||
|
# C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.D8.targets(81,5): error MSB6006: "java.exe" exited with code 1. [D:\a\keepass2android\keepass2android\src\keepass2android\keepass2android-app.csproj]
|
||||||
|
- name: Configure Pagefile
|
||||||
|
uses: al-cheb/configure-pagefile-action@a3b6ebd6b634da88790d9c58d4b37a7f4a7b8708 # v1.4
|
||||||
|
with:
|
||||||
|
minimum-size: 8GB
|
||||||
|
|
||||||
|
- name: Add msbuild to PATH
|
||||||
|
uses: microsoft/setup-msbuild@v2
|
||||||
|
# If we want to also have nmake, use this instead
|
||||||
|
#uses: ilammy/msvc-dev-cmd@v1
|
||||||
|
|
||||||
|
- name: Switch to JDK-17
|
||||||
|
uses: actions/setup-java@v4
|
||||||
|
with:
|
||||||
|
java-version: '17'
|
||||||
|
distribution: 'temurin'
|
||||||
|
|
||||||
|
- name: Display java version
|
||||||
|
run: java -version
|
||||||
|
|
||||||
|
- name: Build native dependencies
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
make native
|
||||||
|
|
||||||
|
- name: Build java dependencies
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
make java
|
||||||
|
|
||||||
|
- name: Install NuGet dependencies (net)
|
||||||
|
run: make nuget Flavor=Net
|
||||||
|
|
||||||
|
- name: Use the _net manifest
|
||||||
|
run: |
|
||||||
|
make manifestlink Flavor=Net
|
||||||
|
|
||||||
|
- name: Build APK (net)
|
||||||
|
env:
|
||||||
|
KeyStore: "${{ github.workspace }}/kp2a.keystore"
|
||||||
|
MyAndroidSigningStorePass: ${{ secrets.KEY_STORE_PASSWORD }}
|
||||||
|
MyAndroidSigningKeyPass: ${{ secrets.KEY_PASSWORD }}
|
||||||
|
run: |
|
||||||
|
make Configuration=Release Flavor=Net
|
||||||
|
|
||||||
|
|
||||||
|
- name: Install NuGet dependencies (nonet)
|
||||||
|
run: make nuget Flavor=NoNet
|
||||||
|
|
||||||
|
- name: Use the _nonet manifest
|
||||||
|
run: |
|
||||||
|
make manifestlink Flavor=NoNet
|
||||||
|
|
||||||
|
- name: Build APK (NoNet)
|
||||||
|
env:
|
||||||
|
KeyStore: "${{ github.workspace }}/kp2a.keystore"
|
||||||
|
MyAndroidSigningStorePass: ${{ secrets.KEY_STORE_PASSWORD }}
|
||||||
|
MyAndroidSigningKeyPass: ${{ secrets.KEY_PASSWORD }}
|
||||||
|
run: |
|
||||||
|
make Configuration=Release Flavor=NoNet
|
||||||
|
|
||||||
|
- name: List files
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
ls src/keepass2android-app/bin/**/*.*
|
||||||
|
|
||||||
|
- name: Archive production artifacts
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: signed APK (built on ${{ github.job }})
|
||||||
|
path: |
|
||||||
|
src/keepass2android-app/bin/Release/net8.0-android/*-Signed.apk
|
||||||
|
|
||||||
|
- name: Upload APK to GitHub Release
|
||||||
|
uses: softprops/action-gh-release@v2
|
||||||
|
if: github.ref_type == 'tag'
|
||||||
|
with:
|
||||||
|
files: |
|
||||||
|
src/keepass2android-app/bin/Release/net8.0-android/*-Signed.apk
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:versionCode="211"
|
android:versionCode="212"
|
||||||
android:versionName="1.12-r7"
|
android:versionName="1.12-r8"
|
||||||
package="keepass2android.keepass2android"
|
package="keepass2android.keepass2android"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:installLocation="auto">
|
android:installLocation="auto">
|
||||||
|
|
||||||
|
|
||||||
<queries>
|
<queries>
|
||||||
@@ -46,13 +46,11 @@
|
|||||||
|
|
||||||
<permission android:description="@string/permission_desc2" android:icon="@drawable/ic_launcher" android:label="KP2A entry search" android:name="keepass2android.keepass2android.permission.KP2aInternalSearch" android:protectionLevel="signature" />
|
<permission android:description="@string/permission_desc2" android:icon="@drawable/ic_launcher" android:label="KP2A entry search" android:name="keepass2android.keepass2android.permission.KP2aInternalSearch" android:protectionLevel="signature" />
|
||||||
<permission android:description="@string/permission_desc3" android:icon="@drawable/ic_launcher" android:label="KP2A choose autofill dataset" android:name="keepass2android.keepass2android.permission.Kp2aChooseAutofill" android:protectionLevel="signature" />
|
<permission android:description="@string/permission_desc3" android:icon="@drawable/ic_launcher" android:label="KP2A choose autofill dataset" android:name="keepass2android.keepass2android.permission.Kp2aChooseAutofill" android:protectionLevel="signature" />
|
||||||
|
|
||||||
<application android:label="keepass2android"
|
<application android:label="keepass2android"
|
||||||
android:icon="@mipmap/ic_launcher_online"
|
android:icon="@mipmap/ic_launcher_online"
|
||||||
android:roundIcon="@mipmap/ic_launcher_online_round"
|
android:roundIcon="@mipmap/ic_launcher_online_round"
|
||||||
android:networkSecurityConfig="@xml/network_security_config"
|
android:networkSecurityConfig="@xml/network_security_config"
|
||||||
|
>
|
||||||
>
|
|
||||||
|
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="com.google.mlkit.vision.DEPENDENCIES"
|
android:name="com.google.mlkit.vision.DEPENDENCIES"
|
||||||
@@ -107,16 +105,15 @@
|
|||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<activity android:name="keepass2android.softkeyboard.InputLanguageSelection"
|
<activity android:name="keepass2android.softkeyboard.InputLanguageSelection"
|
||||||
|
|
||||||
android:exported="true">
|
android:exported="true">
|
||||||
<!-- android:label="@string/language_selection_title" TODO -->
|
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN"/>
|
<action android:name="android.intent.action.MAIN"/>
|
||||||
<action android:name="keepass2android.softkeyboard.INPUT_LANGUAGE_SELECTION"/>
|
<action android:name="keepass2android.softkeyboard.INPUT_LANGUAGE_SELECTION"/>
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<activity android:configChanges="orientation|keyboard|keyboardHidden" android:label="@string/app_name" android:theme="@style/Kp2aTheme_BlueNoActionBar" android:name="keepass2android.SelectCurrentDbActivity" android:windowSoftInputMode="adjustResize" android:exported="true">
|
<activity android:configChanges="orientation|keyboard|keyboardHidden" android:label="@string/app_name" android:theme="@style/Kp2aTheme_BlueNoActionBar" android:name="keepass2android.SelectCurrentDbActivity" android:windowSoftInputMode="adjustResize"
|
||||||
|
android:exported="true">
|
||||||
<intent-filter android:label="@string/app_name">
|
<intent-filter android:label="@string/app_name">
|
||||||
<action android:name="android.intent.action.VIEW" />
|
<action android:name="android.intent.action.VIEW" />
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
|
|||||||
@@ -1,24 +1,27 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:versionCode="200"
|
android:versionCode="212"
|
||||||
android:versionName="1.11-r0"
|
android:versionName="1.12-r8"
|
||||||
package="keepass2android.keepass2android_nonet"
|
package="keepass2android.keepass2android_nonet"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:installLocation="auto">
|
android:installLocation="auto">
|
||||||
|
|
||||||
|
|
||||||
<queries>
|
<queries>
|
||||||
<!-- Specific intents and packages we query for (required since Android 11) -->
|
<!-- Specific intents and packages we query for (required since Android 11) -->
|
||||||
<package android:name="keepass2android.plugin.keyboardswap2" />
|
<package android:name="keepass2android.plugin.keyboardswap2" />
|
||||||
<package android:name="keepass2android.AncientIconSet" />
|
<package android:name="keepass2android.AncientIconSet" />
|
||||||
<package android:name="com.dropbox.android" />
|
<package android:name="keepass2android.plugin.qr" />
|
||||||
|
<package android:name="it.andreacioni.kp2a.plugin.keelink" />
|
||||||
|
<package android:name="com.inputstick.apps.kp2aplugin" />
|
||||||
|
<package android:name="com.dropbox.android" />
|
||||||
|
|
||||||
|
<intent>
|
||||||
|
<action android:name="android.intent.action.OPEN_DOCUMENT" />
|
||||||
|
<data android:mimeType="*/*" />
|
||||||
|
</intent>
|
||||||
|
|
||||||
<intent>
|
<intent>
|
||||||
<action android:name="android.intent.action.OPEN_DOCUMENT" />
|
|
||||||
<data android:mimeType="*/*" />
|
|
||||||
</intent>
|
|
||||||
|
|
||||||
<intent>
|
|
||||||
<action android:name="android.intent.action.GET_DOCUMENT" />
|
<action android:name="android.intent.action.GET_DOCUMENT" />
|
||||||
<data android:mimeType="*/*" />
|
<data android:mimeType="*/*" />
|
||||||
</intent>
|
</intent>
|
||||||
@@ -36,59 +39,57 @@
|
|||||||
</intent>
|
</intent>
|
||||||
|
|
||||||
<intent>
|
<intent>
|
||||||
<action android:name="android.intent.action.VIEW" />
|
<action android:name="android.intent.action.VIEW" />
|
||||||
</intent>
|
</intent>
|
||||||
</queries>
|
</queries>
|
||||||
|
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="34" />
|
||||||
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="34" />
|
|
||||||
<permission android:description="@string/permission_desc2" android:icon="@drawable/ic_launcher_offline" android:label="KP2A entry search" android:name="keepass2android.keepass2android_nonet.permission.KP2aInternalSearch" android:protectionLevel="signature" />
|
<permission android:description="@string/permission_desc2" android:icon="@drawable/ic_launcher_offline" android:label="KP2A entry search" android:name="keepass2android.keepass2android_nonet.permission.KP2aInternalSearch" android:protectionLevel="signature" />
|
||||||
<permission android:description="@string/permission_desc3" android:icon="@drawable/ic_launcher_offline" android:label="KP2A choose autofill dataset" android:name="keepass2android.keepass2android_nonet.permission.Kp2aChooseAutofill" android:protectionLevel="signature" />
|
<permission android:description="@string/permission_desc3" android:icon="@drawable/ic_launcher_offline" android:label="KP2A choose autofill dataset" android:name="keepass2android.keepass2android_nonet.permission.Kp2aChooseAutofill" android:protectionLevel="signature" />
|
||||||
<application
|
<application android:label="keepass2android"
|
||||||
android:label="keepass2android"
|
android:icon="@mipmap/ic_launcher_offline"
|
||||||
android:icon="@mipmap/ic_launcher_offline"
|
android:roundIcon="@mipmap/ic_launcher_offline_round"
|
||||||
android:networkSecurityConfig="@xml/network_security_config"
|
android:networkSecurityConfig="@xml/network_security_config"
|
||||||
>
|
>
|
||||||
|
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="com.google.mlkit.vision.DEPENDENCIES"
|
android:name="com.google.mlkit.vision.DEPENDENCIES"
|
||||||
android:value="barcode_ui"/>
|
android:value="barcode_ui"/>
|
||||||
|
|
||||||
<uses-library
|
<uses-library
|
||||||
android:name="org.apache.http.legacy"
|
android:name="org.apache.http.legacy"
|
||||||
android:required="false"/>
|
android:required="false"/>
|
||||||
|
|
||||||
<provider android:name="group.pals.android.lib.ui.filechooser.providers.localfile.LocalFileProvider" android:authorities="keepass2android.keepass2android_nonet.android-filechooser.localfile" android:exported="false" />
|
<provider android:name="group.pals.android.lib.ui.filechooser.providers.localfile.LocalFileProvider" android:authorities="keepass2android.keepass2android_nonet.android-filechooser.localfile" android:exported="false" />
|
||||||
<provider android:name="group.pals.android.lib.ui.filechooser.providers.history.HistoryProvider" android:authorities="keepass2android.keepass2android_nonet.android-filechooser.history" android:exported="false" />
|
<provider android:name="group.pals.android.lib.ui.filechooser.providers.history.HistoryProvider" android:authorities="keepass2android.keepass2android_nonet.android-filechooser.history" android:exported="false" />
|
||||||
<activity android:name="group.pals.android.lib.ui.filechooser.FileChooserActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenSize" android:screenOrientation="user" android:theme="@style/Afc.Theme.Light">
|
<activity android:name="group.pals.android.lib.ui.filechooser.FileChooserActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenSize" android:screenOrientation="user" android:theme="@style/Afc.Theme.Light">
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<service android:name="keepass2android.softkeyboard.KP2AKeyboard" android:permission="android.permission.BIND_INPUT_METHOD" android:exported="true">
|
<service android:name="keepass2android.softkeyboard.KP2AKeyboard" android:permission="android.permission.BIND_INPUT_METHOD" android:exported="true">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.view.InputMethod" />
|
<action android:name="android.view.InputMethod" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
<meta-data android:name="android.view.im" android:resource="@xml/method" />
|
<meta-data android:name="android.view.im" android:resource="@xml/method" />
|
||||||
</service>
|
</service>
|
||||||
<activity android:name="keepass2android.softkeyboard.LatinIMESettings" android:label="@string/english_ime_settings" android:exported="true">
|
<activity android:name="keepass2android.softkeyboard.LatinIMESettings" android:label="@string/english_ime_settings" android:exported="true">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="keepass2android.softkeyboard.LatinIMESettings" />
|
<action android:name="keepass2android.softkeyboard.LatinIMESettings" />
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<activity android:name="keepass2android.softkeyboard.InputLanguageSelection"
|
<activity android:name="keepass2android.softkeyboard.InputLanguageSelection"
|
||||||
android:label="@string/language_selection_title"
|
android:exported="true">
|
||||||
android:exported="true">
|
<intent-filter>
|
||||||
<intent-filter>
|
<action android:name="android.intent.action.MAIN"/>
|
||||||
<action android:name="android.intent.action.MAIN"/>
|
<action android:name="keepass2android.softkeyboard.INPUT_LANGUAGE_SELECTION"/>
|
||||||
<action android:name="keepass2android.softkeyboard.INPUT_LANGUAGE_SELECTION"/>
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
</intent-filter>
|
||||||
</intent-filter>
|
</activity>
|
||||||
</activity>
|
<activity android:configChanges="orientation|keyboard|keyboardHidden" android:label="@string/app_name" android:theme="@style/Kp2aTheme_BlueNoActionBar" android:name="keepass2android.SelectCurrentDbActivity" android:windowSoftInputMode="adjustResize"
|
||||||
|
android:exported="true">
|
||||||
<activity android:configChanges="orientation|keyboard|keyboardHidden" android:label="@string/app_name" android:theme="@style/Kp2aTheme_BlueNoActionBar" android:name="keepass2android.SelectCurrentDbActivity" android:windowSoftInputMode="adjustResize"
|
|
||||||
android:exported="true">
|
|
||||||
<intent-filter android:label="@string/app_name">
|
<intent-filter android:label="@string/app_name">
|
||||||
<action android:name="android.intent.action.VIEW" />
|
<action android:name="android.intent.action.VIEW" />
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
@@ -98,11 +99,11 @@
|
|||||||
<data android:host="*" />
|
<data android:host="*" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="kp2a.action.SelectCurrentDbActivity" />
|
<action android:name="kp2a.action.SelectCurrentDbActivity" />
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
|
||||||
<intent-filter android:label="@string/app_name">
|
<intent-filter android:label="@string/app_name">
|
||||||
<action android:name="android.intent.action.SEND" />
|
<action android:name="android.intent.action.SEND" />
|
||||||
<action android:name="android.intent.action.SEND_MULTIPLE" />
|
<action android:name="android.intent.action.SEND_MULTIPLE" />
|
||||||
@@ -112,7 +113,7 @@
|
|||||||
<data android:mimeType="application/*" />
|
<data android:mimeType="application/*" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
|
||||||
<!-- intent filter for opening database files
|
<!-- intent filter for opening database files
|
||||||
Note that this stopped working nicely with Android 7, see e.g. https://stackoverflow.com/a/26635162/292233
|
Note that this stopped working nicely with Android 7, see e.g. https://stackoverflow.com/a/26635162/292233
|
||||||
KP2A was using
|
KP2A was using
|
||||||
<data android:scheme="content" />
|
<data android:scheme="content" />
|
||||||
@@ -126,7 +127,7 @@ The scheme=file is still there for old OS devices. It's also queried by apps lik
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
|
|
||||||
<!-- This intent filter is for apps which use content with a URI containing the extension but no specific mimeType, e.g. ASTRO file manager -->
|
<!-- This intent filter is for apps which use content with a URI containing the extension but no specific mimeType, e.g. ASTRO file manager -->
|
||||||
|
|
||||||
<intent-filter android:label="@string/app_name">
|
<intent-filter android:label="@string/app_name">
|
||||||
<action android:name="android.intent.action.VIEW" />
|
<action android:name="android.intent.action.VIEW" />
|
||||||
@@ -168,7 +169,7 @@ The scheme=file is still there for old OS devices. It's also queried by apps lik
|
|||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
|
||||||
<!-- This intent filter is for apps which use content with a URI not containing the extension but at least specify mimeType=application/octet-stream, e.g. GoogleDrive or FolderSync -->
|
<!-- This intent filter is for apps which use content with a URI not containing the extension but at least specify mimeType=application/octet-stream, e.g. GoogleDrive or FolderSync -->
|
||||||
<intent-filter android:label="@string/app_name">
|
<intent-filter android:label="@string/app_name">
|
||||||
<action android:name="android.intent.action.VIEW" />
|
<action android:name="android.intent.action.VIEW" />
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
<category android:name="android.intent.category.BROWSABLE" />
|
<category android:name="android.intent.category.BROWSABLE" />
|
||||||
@@ -218,24 +219,15 @@ The scheme=file is still there for old OS devices. It's also queried by apps lik
|
|||||||
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.kdb" />
|
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\..*\\.kdb" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
|
||||||
<intent-filter>
|
<intent-filter android:label="@string/kp2a_findUrl">
|
||||||
<action android:name="android.intent.action.VIEW"/>
|
<action android:name="android.intent.action.SEND" />
|
||||||
<category android:name="android.intent.category.BROWSABLE"/>
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
<data
|
<data android:mimeType="text/plain" />
|
||||||
android:scheme="https"
|
</intent-filter>
|
||||||
android:host="my.yubico.com"
|
<intent-filter>
|
||||||
android:pathPrefix="/neo"/>
|
<action android:name="keepass2android.ACTION_START_WITH_TASK" />
|
||||||
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
|
||||||
<intent-filter android:label="@string/kp2a_findUrl">
|
|
||||||
<action android:name="android.intent.action.SEND" />
|
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
|
||||||
<data android:mimeType="text/plain" />
|
|
||||||
</intent-filter>
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="keepass2android.ACTION_START_WITH_TASK" />
|
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
|
||||||
</intent-filter>
|
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.VIEW" />
|
<action android:name="android.intent.action.VIEW" />
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
@@ -244,24 +236,28 @@ The scheme=file is still there for old OS devices. It's also queried by apps lik
|
|||||||
<data android:host="totp"/>
|
<data android:host="totp"/>
|
||||||
<data android:host="hotp"/>
|
<data android:host="hotp"/>
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<uses-library android:required="false" android:name="com.sec.android.app.multiwindow" />
|
<uses-library android:required="false" android:name="com.sec.android.app.multiwindow" />
|
||||||
<meta-data android:name="com.sec.android.support.multiwindow" android:value="true" />
|
<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_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.DEFAULT_SIZE_H" android:value="598.0dip" />
|
||||||
<meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_W" android:value="426.0dip" />
|
<meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_W" android:value="426.0dip" />
|
||||||
<meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_H" android:value="360.0dip" />
|
<meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_H" android:value="360.0dip" />
|
||||||
</application>
|
</application>
|
||||||
<uses-permission android:name="android.permission.VIBRATE" />
|
<uses-permission android:name="android.permission.VIBRATE" />
|
||||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||||
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||||
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
|
||||||
|
|
||||||
<uses-feature android:name="android.hardware.camera" android:required="false" />
|
|
||||||
|
|
||||||
<uses-permission android:name="keepass2android.keepass2android_nonet.permission.KP2aInternalFileBrowsing" />
|
<uses-permission android:name="keepass2android.keepass2android_nonet.permission.KP2aInternalFileBrowsing" />
|
||||||
<uses-permission android:name="keepass2android.keepass2android_nonet.permission.KP2aInternalSearch" />
|
<uses-permission android:name="keepass2android.keepass2android_nonet.permission.KP2aInternalSearch" />
|
||||||
|
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
|
||||||
|
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
|
||||||
|
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||||
|
|
||||||
|
<uses-feature android:name="android.hardware.camera" android:required="false" />
|
||||||
|
|
||||||
|
<!-- Samsung Pass permission -->
|
||||||
|
<uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY" />
|
||||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
|
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
|
||||||
|
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|||||||
Reference in New Issue
Block a user