Merge branch 'develop' into feature/Passkeys

This commit is contained in:
J-Jamet
2025-09-09 11:51:41 +02:00
17 changed files with 143 additions and 117 deletions

View File

@@ -5,12 +5,12 @@ apply plugin: 'kotlin-kapt'
android {
namespace 'com.kunzisoft.keepass'
compileSdkVersion 34
compileSdkVersion 36
defaultConfig {
applicationId "com.kunzisoft.keepass"
minSdkVersion 19
targetSdkVersion 34
targetSdkVersion 35
versionCode = 139
versionName = "4.1.7"
multiDexEnabled true

View File

@@ -57,7 +57,7 @@ class AboutActivity : StylishActivity() {
var version: String
var build: String
try {
version = packageManager.getPackageInfoCompat(packageName).versionName
version = packageManager.getPackageInfoCompat(packageName).versionName ?: ""
build = BuildConfig.BUILD_VERSION
} catch (e: NameNotFoundException) {
Log.w(javaClass.simpleName, "Unable to get the app or the build version", e)

View File

@@ -1457,7 +1457,8 @@ class GroupActivity : DatabaseLockActivity(),
}
else -> {
// Load the previous group
loadMainGroup(mPreviousGroupsIds.removeLast())
loadMainGroup(mPreviousGroupsIds
.removeAt(mPreviousGroupsIds.lastIndex))
}
}
}

View File

@@ -12,6 +12,7 @@ import android.content.pm.ServiceInfo.FOREGROUND_SERVICE_TYPE_NONE
import android.content.pm.ServiceInfo.FOREGROUND_SERVICE_TYPE_SPECIAL_USE
import android.os.Build
import android.os.IBinder
import android.util.Log
import android.util.TypedValue
import android.widget.Toast
import androidx.core.app.NotificationCompat
@@ -156,11 +157,21 @@ abstract class NotificationService : Service() {
mReset = true
}
override fun onDestroy() {
override fun onTimeout(startId: Int, fgsType: Int) {
super.onTimeout(startId, fgsType)
Log.e(javaClass::class.simpleName, "The service took too long to execute")
cancelNotification()
stopSelf()
}
protected fun cancelNotification() {
mTimerJob?.cancel()
mTimerJob = null
notificationManager?.cancel(notificationId)
}
override fun onDestroy() {
cancelNotification()
super.onDestroy()
}

View File

@@ -19,10 +19,11 @@
-->
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
<include

View File

@@ -21,6 +21,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true"

View File

@@ -19,11 +19,12 @@
-->
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:fitsSystemWindows="true"
android:id="@+id/icon_picker_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true"
xmlns:app="http://schemas.android.com/apk/res-auto">
android:filterTouchesWhenObscured="true">
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/icon_picker_coordinator"

View File

@@ -19,11 +19,12 @@
-->
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:fitsSystemWindows="true"
android:id="@+id/key_generator_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true"
xmlns:app="http://schemas.android.com/apk/res-auto">
android:filterTouchesWhenObscured="true">
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/key_generator_coordinator"

View File

@@ -21,6 +21,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true"

View File

@@ -19,6 +19,7 @@
-->
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true"

View File

@@ -17,10 +17,12 @@
You should have received a copy of the GNU General Public License
along with KeePassDX. If not, see <http://www.gnu.org/licenses/>.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:layout_alignParentBottom="true"
android:paddingTop="4dp"
android:paddingBottom="8dp"

View File

@@ -28,269 +28,275 @@ Settings Activity. This is pointed to in the service's meta-data in the applicat
tools:ignore="UnusedAttribute">
<compatibility-package
android:name="alook.browser"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="alook.browser.google"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="app.vanadium.browser"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.amazon.cloud9"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.android.browser"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.android.chrome"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="711900039" />
<compatibility-package
android:name="com.android.htmlviewer"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.avast.android.secure.browser"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.avg.android.secure.browser"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.brave.browser"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="427912623" />
<compatibility-package
android:name="com.brave.browser_beta"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.brave.browser_default"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.brave.browser_dev"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.brave.browser_nightly"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.chrome.beta"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.chrome.canary"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.chrome.dev"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="711900039" />
<compatibility-package
android:name="com.cookiegames.smartcookie"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.cookiejarapps.android.smartcookieweb"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.ecosia.android"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.google.android.apps.chrome"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.google.android.apps.chrome_dev"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.google.android.captiveportallogin"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.iode.firefox"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.jamal2367.styx"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.kiwibrowser.browser"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.kiwibrowser.browser.dev"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.ktllq.play"
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.lemurbrowser.exts"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.microsoft.emmx"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.microsoft.emmx.beta"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.microsoft.emmx.canary"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.microsoft.emmx.dev"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.mmbox.browser"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.mmbox.xbrowser"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.mycompany.app.soulbrowser"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.naver.whale"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.neeva.app"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.opera.browser"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.opera.browser.beta"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.opera.gx"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.opera.mini.native"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.opera.mini.native.beta"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.opera.touch"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.qflair.browserq"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.qwant.liberty"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.rainsee.create"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.sec.android.app.sbrowser"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.sec.android.app.sbrowser.beta"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.stoutner.privacybrowser.free"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.stoutner.privacybrowser.standard"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.vivaldi.browser"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.vivaldi.browser.snapshot"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.vivaldi.browser.sopranos"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.yandex.browser"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.yjllq.chrome.beta"
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.yjllq.internet"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.yjllq.kito"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.yjllqint.kito"
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.yujian.ResideMenuDemo"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="com.z28j.feel"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="idm.internet.download.manager"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="idm.internet.download.manager.adm.lite"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="idm.internet.download.manager.plus"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="io.github.forkmaintainers.iceraven"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="mark.via"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="mark.via.gp"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="net.dezor.browser"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="net.slions.fulguris.full.download"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="net.slions.fulguris.full.download.debug"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="net.slions.fulguris.full.playstore"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="net.slions.fulguris.full.playstore.debug"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="org.adblockplus.browser"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="org.adblockplus.browser.beta"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="org.bromite.bromite"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="org.bromite.chromium"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="org.chromium.chrome"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="org.codeaurora.swe.browser"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="org.cromite.cromite"
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="org.gnu.icecat"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="org.ironfoxoss.ironfox"
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="org.mozilla.fenix"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="org.mozilla.fenix.nightly"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="org.mozilla.fennec_aurora"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="org.mozilla.fennec_fdroid"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="org.mozilla.firefox"
android:maxLongVersionCode="2015836711"/>
android:maxLongVersionCode="2015836711" />
<compatibility-package
android:name="org.mozilla.firefox_beta"
android:maxLongVersionCode="2015849447"/>
android:maxLongVersionCode="2015849447" />
<compatibility-package
android:name="org.mozilla.reference.browser"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="org.mozilla.rocket"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="org.torproject.torbrowser"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="org.torproject.torbrowser_alpha"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="org.ungoogled.chromium.extensions.stable"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
<compatibility-package
android:name="org.ungoogled.chromium.stable"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="us.spotco.fennec_dos"
android:maxLongVersionCode="10000000000"/>
android:maxLongVersionCode="10000000000" />
</autofill-service>

View File

@@ -5,12 +5,12 @@ plugins {
android {
namespace 'com.kunzisoft.encrypt'
compileSdkVersion 34
compileSdkVersion 36
ndkVersion "21.4.7075529"
defaultConfig {
minSdkVersion 19
targetSdkVersion 34
targetSdkVersion 35
multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

View File

@@ -4,11 +4,11 @@ apply plugin: 'kotlin-parcelize'
android {
namespace 'com.kunzisoft.keepass.database'
compileSdkVersion 34
compileSdkVersion 36
defaultConfig {
minSdkVersion 19
targetSdk 34
targetSdk 35
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

View File

@@ -3,11 +3,11 @@ apply plugin: 'kotlin-android'
android {
namespace 'com.kunzisoft.keepass.icon'
compileSdkVersion 34
compileSdkVersion 36
defaultConfig {
minSdkVersion 19
targetSdkVersion 34
targetSdkVersion 35
}
compileOptions {

View File

@@ -2,11 +2,11 @@ apply plugin: 'com.android.library'
android {
namespace 'com.kunzisoft.keepass.icon.classic'
compileSdkVersion 34
compileSdkVersion 36
defaultConfig {
minSdkVersion 19
targetSdkVersion 34
targetSdkVersion 35
}
resourcePrefix 'classic_'

View File

@@ -2,11 +2,11 @@ apply plugin: 'com.android.library'
android {
namespace 'com.kunzisoft.keepass.icon.material'
compileSdkVersion 34
compileSdkVersion 36
defaultConfig {
minSdkVersion 19
targetSdkVersion 34
targetSdkVersion 35
}
resourcePrefix 'material_'