mirror of
https://github.com/Kunzisoft/KeePassDX.git
synced 2025-12-04 15:49:33 +01:00
Fix keyboard selection result
This commit is contained in:
@@ -77,7 +77,7 @@ class EntrySelectionLauncherActivity : AppCompatActivity() {
|
||||
intent)
|
||||
} else {
|
||||
// Select the one we want
|
||||
GroupActivity.launchForEntrySelectionResult(this,
|
||||
GroupActivity.launchForKeyboardSelectionResult(this,
|
||||
true,
|
||||
searchInfo)
|
||||
}
|
||||
@@ -90,7 +90,7 @@ class EntrySelectionLauncherActivity : AppCompatActivity() {
|
||||
{
|
||||
// Show the database UI to select the entry
|
||||
if (searchShareForMagikeyboard) {
|
||||
GroupActivity.launchForEntrySelectionResult(this,
|
||||
GroupActivity.launchForKeyboardSelectionResult(this,
|
||||
false,
|
||||
searchInfo)
|
||||
} else {
|
||||
@@ -102,7 +102,7 @@ class EntrySelectionLauncherActivity : AppCompatActivity() {
|
||||
{
|
||||
// If database not open
|
||||
if (searchShareForMagikeyboard) {
|
||||
FileDatabaseSelectActivity.launchForEntrySelectionResult(this,
|
||||
FileDatabaseSelectActivity.launchForKeyboardSelectionResult(this,
|
||||
searchInfo)
|
||||
} else {
|
||||
FileDatabaseSelectActivity.launch(this,
|
||||
|
||||
@@ -283,7 +283,7 @@ class FileDatabaseSelectActivity : SpecialModeActivity(),
|
||||
readOnly)
|
||||
},
|
||||
{ searchInfo ->
|
||||
GroupActivity.launchForEntrySelectionResult(this@FileDatabaseSelectActivity,
|
||||
GroupActivity.launchForKeyboardSelectionResult(this@FileDatabaseSelectActivity,
|
||||
false,
|
||||
searchInfo,
|
||||
readOnly)
|
||||
@@ -502,9 +502,9 @@ class FileDatabaseSelectActivity : SpecialModeActivity(),
|
||||
* -------------------------
|
||||
*/
|
||||
|
||||
fun launchForEntrySelectionResult(activity: Activity,
|
||||
searchInfo: SearchInfo? = null) {
|
||||
EntrySelectionHelper.startActivityForSelectionModeResult(activity,
|
||||
fun launchForKeyboardSelectionResult(activity: Activity,
|
||||
searchInfo: SearchInfo? = null) {
|
||||
EntrySelectionHelper.startActivityForKeyboardSelectionModeResult(activity,
|
||||
Intent(activity, FileDatabaseSelectActivity::class.java),
|
||||
searchInfo)
|
||||
}
|
||||
|
||||
@@ -1126,13 +1126,13 @@ class GroupActivity : LockingActivity(),
|
||||
* Keyboard Launch
|
||||
* -------------------------
|
||||
*/
|
||||
fun launchForEntrySelectionResult(context: Context,
|
||||
autoSearch: Boolean = false,
|
||||
searchInfo: SearchInfo? = null,
|
||||
readOnly: Boolean = PreferencesUtil.enableReadOnlyDatabase(context)) {
|
||||
fun launchForKeyboardSelectionResult(context: Context,
|
||||
autoSearch: Boolean = false,
|
||||
searchInfo: SearchInfo? = null,
|
||||
readOnly: Boolean = PreferencesUtil.enableReadOnlyDatabase(context)) {
|
||||
checkTimeAndBuildIntent(context, null, readOnly) { intent ->
|
||||
intent.putExtra(AUTO_SEARCH_KEY, autoSearch)
|
||||
EntrySelectionHelper.startActivityForSelectionModeResult(context,
|
||||
EntrySelectionHelper.startActivityForKeyboardSelectionModeResult(context,
|
||||
intent,
|
||||
searchInfo)
|
||||
}
|
||||
|
||||
@@ -35,11 +35,11 @@ class MagikeyboardLauncherActivity : AppCompatActivity() {
|
||||
null,
|
||||
{},
|
||||
{
|
||||
GroupActivity.launchForEntrySelectionResult(this)
|
||||
GroupActivity.launchForKeyboardSelectionResult(this)
|
||||
},
|
||||
{
|
||||
// Pass extra to get entry
|
||||
FileDatabaseSelectActivity.launchForEntrySelectionResult(this)
|
||||
FileDatabaseSelectActivity.launchForKeyboardSelectionResult(this)
|
||||
}
|
||||
)
|
||||
finish()
|
||||
|
||||
@@ -309,14 +309,14 @@ open class PasswordActivity : SpecialModeActivity() {
|
||||
intent)
|
||||
} else {
|
||||
// Select the one we want
|
||||
GroupActivity.launchForEntrySelectionResult(this,
|
||||
GroupActivity.launchForKeyboardSelectionResult(this,
|
||||
true,
|
||||
searchInfo)
|
||||
}
|
||||
},
|
||||
{
|
||||
// Here no search info found, disable auto search
|
||||
GroupActivity.launchForEntrySelectionResult(this@PasswordActivity,
|
||||
GroupActivity.launchForKeyboardSelectionResult(this@PasswordActivity,
|
||||
false,
|
||||
searchInfo,
|
||||
readOnly)
|
||||
@@ -856,7 +856,7 @@ open class PasswordActivity : SpecialModeActivity() {
|
||||
keyFile: Uri?,
|
||||
searchInfo: SearchInfo?) {
|
||||
buildAndLaunchIntent(activity, databaseFile, keyFile) { intent ->
|
||||
EntrySelectionHelper.startActivityForSelectionModeResult(
|
||||
EntrySelectionHelper.startActivityForKeyboardSelectionModeResult(
|
||||
activity,
|
||||
intent,
|
||||
searchInfo)
|
||||
|
||||
@@ -35,10 +35,11 @@ object EntrySelectionHelper {
|
||||
private const val KEY_SEARCH_INFO = "com.kunzisoft.keepass.extra.SEARCH_INFO"
|
||||
private const val KEY_REGISTER_INFO = "com.kunzisoft.keepass.extra.REGISTER_INFO"
|
||||
|
||||
fun startActivityForSelectionModeResult(context: Context,
|
||||
intent: Intent,
|
||||
searchInfo: SearchInfo?) {
|
||||
fun startActivityForKeyboardSelectionModeResult(context: Context,
|
||||
intent: Intent,
|
||||
searchInfo: SearchInfo?) {
|
||||
addSpecialModeInIntent(intent, SpecialMode.SELECTION)
|
||||
addTypeModeInIntent(intent, TypeMode.MAGIKEYBOARD)
|
||||
addSearchInfoInIntent(intent, searchInfo)
|
||||
context.startActivity(intent)
|
||||
}
|
||||
@@ -130,8 +131,9 @@ object EntrySelectionHelper {
|
||||
}
|
||||
if (!assistStructureInit) {
|
||||
if (intent.getSerializableExtra(KEY_SPECIAL_MODE) != null) {
|
||||
val typeMode = retrieveTypeModeFromIntent(intent)
|
||||
removeModesFromIntent(intent)
|
||||
when (retrieveTypeModeFromIntent(intent)) {
|
||||
when (typeMode) {
|
||||
TypeMode.DEFAULT -> defaultAction.invoke(searchInfo)
|
||||
TypeMode.MAGIKEYBOARD -> keyboardSelectionAction.invoke(searchInfo)
|
||||
TypeMode.AUTOFILL -> autofillSelectionAction.invoke(searchInfo, null)
|
||||
|
||||
Reference in New Issue
Block a user