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