Fix keyboard selection result

This commit is contained in:
J-Jamet
2020-10-12 15:04:17 +02:00
parent 7047bcbb1e
commit 7825071f61
6 changed files with 23 additions and 21 deletions

View File

@@ -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,

View File

@@ -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)
}

View File

@@ -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)
}

View File

@@ -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()

View File

@@ -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)

View File

@@ -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)