diff --git a/app/src/androidTest/java/com/kunzisoft/keepass/tests/stream/BinaryDataTest.kt b/app/src/androidTest/java/com/kunzisoft/keepass/tests/stream/BinaryDataTest.kt index 84ade243a..7fc79632d 100644 --- a/app/src/androidTest/java/com/kunzisoft/keepass/tests/stream/BinaryDataTest.kt +++ b/app/src/androidTest/java/com/kunzisoft/keepass/tests/stream/BinaryDataTest.kt @@ -2,10 +2,10 @@ package com.kunzisoft.keepass.tests.stream import android.content.Context import androidx.test.platform.app.InstrumentationRegistry -import com.kunzisoft.keepass.utils.readAllBytes import com.kunzisoft.keepass.database.element.binary.BinaryCache import com.kunzisoft.keepass.database.element.binary.BinaryFile -import com.kunzisoft.keepass.utils.UriUtil +import com.kunzisoft.keepass.utils.UriUtil.getBinaryDir +import com.kunzisoft.keepass.utils.readAllBytes import junit.framework.TestCase.assertEquals import org.junit.Test import java.io.DataInputStream @@ -19,7 +19,7 @@ class BinaryDataTest { InstrumentationRegistry.getInstrumentation().context } - private val cacheDirectory = UriUtil.getBinaryDir(InstrumentationRegistry.getInstrumentation().targetContext) + private val cacheDirectory = InstrumentationRegistry.getInstrumentation().targetContext.getBinaryDir() private val fileA = File(cacheDirectory, TEST_FILE_CACHE_A) private val fileB = File(cacheDirectory, TEST_FILE_CACHE_B) private val fileC = File(cacheDirectory, TEST_FILE_CACHE_C) diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/AboutActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/AboutActivity.kt index fe5e1e3e6..462f74276 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/AboutActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/AboutActivity.kt @@ -30,7 +30,7 @@ import androidx.core.text.HtmlCompat import com.kunzisoft.keepass.BuildConfig import com.kunzisoft.keepass.R import com.kunzisoft.keepass.activities.stylish.StylishActivity -import com.kunzisoft.keepass.utils.UriUtil +import com.kunzisoft.keepass.utils.UriUtil.isContributingUser import org.joda.time.DateTime class AboutActivity : StylishActivity() { @@ -46,7 +46,7 @@ class AboutActivity : StylishActivity() { supportActionBar?.setDisplayHomeAsUpEnabled(true) supportActionBar?.setDisplayShowHomeEnabled(true) - val appName = if (UriUtil.contributingUser(this)) + val appName = if (this.isContributingUser()) getString(R.string.app_name) + " " + getString(R.string.app_name_part3) else getString(R.string.app_name) diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/EntryActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/EntryActivity.kt index 73e63978b..e2dd76cc2 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/EntryActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/EntryActivity.kt @@ -36,11 +36,11 @@ import androidx.activity.result.ActivityResultLauncher import androidx.activity.viewModels import androidx.appcompat.widget.Toolbar import androidx.coordinatorlayout.widget.CoordinatorLayout -import androidx.recyclerview.widget.LinearLayoutManager -import androidx.recyclerview.widget.RecyclerView import androidx.core.graphics.BlendModeColorFilterCompat import androidx.core.graphics.BlendModeCompat import androidx.core.graphics.ColorUtils +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView import com.google.android.material.appbar.AppBarLayout import com.google.android.material.appbar.CollapsingToolbarLayout import com.google.android.material.progressindicator.LinearProgressIndicator @@ -67,7 +67,7 @@ import com.kunzisoft.keepass.settings.PreferencesUtil import com.kunzisoft.keepass.tasks.ActionRunnable import com.kunzisoft.keepass.tasks.AttachmentFileBinderManager import com.kunzisoft.keepass.timeout.TimeoutHelper -import com.kunzisoft.keepass.utils.UriUtil +import com.kunzisoft.keepass.utils.UriUtil.openUrl import com.kunzisoft.keepass.utils.UuidUtil import com.kunzisoft.keepass.view.changeControlColor import com.kunzisoft.keepass.view.changeTitleColor @@ -473,7 +473,7 @@ class EntryActivity : DatabaseLockActivity() { } R.id.menu_goto_url -> { mUrl?.let { url -> - UriUtil.gotoUrl(this, url) + this.openUrl(url) } return true } diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/EntryEditActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/EntryEditActivity.kt index 89e0252f5..2cf5d720e 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/EntryEditActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/EntryEditActivity.kt @@ -76,7 +76,7 @@ import com.kunzisoft.keepass.settings.PreferencesUtil import com.kunzisoft.keepass.tasks.ActionRunnable import com.kunzisoft.keepass.tasks.AttachmentFileBinderManager import com.kunzisoft.keepass.timeout.TimeoutHelper -import com.kunzisoft.keepass.utils.UriUtil +import com.kunzisoft.keepass.utils.UriUtil.getDocumentFile import com.kunzisoft.keepass.view.* import com.kunzisoft.keepass.viewmodels.ColorPickerViewModel import com.kunzisoft.keepass.viewmodels.EntryEditViewModel @@ -185,7 +185,7 @@ class EntryEditActivity : DatabaseLockActivity(), mExternalFileHelper = ExternalFileHelper(this) mExternalFileHelper?.buildOpenDocument { uri -> uri?.let { attachmentToUploadUri -> - UriUtil.getFileData(this, attachmentToUploadUri)?.also { documentFile -> + attachmentToUploadUri.getDocumentFile(this)?.also { documentFile -> documentFile.name?.let { fileName -> if (documentFile.length() > MAX_WARNING_BINARY_FILE) { FileTooBigDialogFragment.build(attachmentToUploadUri, fileName) diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/FileDatabaseSelectActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/FileDatabaseSelectActivity.kt index e10721e04..a37e36284 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/FileDatabaseSelectActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/FileDatabaseSelectActivity.kt @@ -54,8 +54,8 @@ import com.kunzisoft.keepass.app.database.FileDatabaseHistoryAction import com.kunzisoft.keepass.autofill.AutofillComponent import com.kunzisoft.keepass.autofill.AutofillHelper import com.kunzisoft.keepass.database.element.Database -import com.kunzisoft.keepass.education.FileDatabaseSelectActivityEducation import com.kunzisoft.keepass.database.element.MainCredential +import com.kunzisoft.keepass.education.FileDatabaseSelectActivityEducation import com.kunzisoft.keepass.hardware.HardwareKey import com.kunzisoft.keepass.model.RegisterInfo import com.kunzisoft.keepass.model.SearchInfo @@ -65,7 +65,12 @@ import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion. import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.DATABASE_URI_KEY import com.kunzisoft.keepass.settings.PreferencesUtil import com.kunzisoft.keepass.tasks.ActionRunnable -import com.kunzisoft.keepass.utils.* +import com.kunzisoft.keepass.utils.DexUtil +import com.kunzisoft.keepass.utils.MagikeyboardUtil +import com.kunzisoft.keepass.utils.MenuUtil +import com.kunzisoft.keepass.utils.UriHelper.parseUri +import com.kunzisoft.keepass.utils.UriUtil.isContributingUser +import com.kunzisoft.keepass.utils.UriUtil.openUrl import com.kunzisoft.keepass.view.asError import com.kunzisoft.keepass.view.showActionErrorIfNeeded import com.kunzisoft.keepass.viewmodels.DatabaseFilesViewModel @@ -179,7 +184,7 @@ class FileDatabaseSelectActivity : DatabaseModeActivity(), && savedInstanceState.getBoolean(EXTRA_STAY, false))) { val databasePath = PreferencesUtil.getDefaultDatabasePath(this) - UriUtil.parse(databasePath)?.let { databaseFileUri -> + databasePath?.parseUri()?.let { databaseFileUri -> launchPasswordActivityWithPath(databaseFileUri) } ?: run { Log.i(TAG, "No default database to prepare") @@ -326,7 +331,7 @@ class FileDatabaseSelectActivity : DatabaseModeActivity(), super.onResume() // Define special title - specialTitle?.isVisible = UriUtil.contributingUser(this) + specialTitle?.isVisible = this.isContributingUser() // Show open and create button or special mode when (mSpecialMode) { @@ -426,7 +431,7 @@ class FileDatabaseSelectActivity : DatabaseModeActivity(), override fun onOptionsItemSelected(item: MenuItem): Boolean { when (item.itemId) { - android.R.id.home -> UriUtil.gotoUrl(this, R.string.file_manager_explanation_url) + android.R.id.home -> this.openUrl(R.string.file_manager_explanation_url) } MenuUtil.onDefaultMenuOptionsItemSelected(this, item) return super.onOptionsItemSelected(item) diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt index 04c125168..ec1c9358c 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt @@ -69,7 +69,6 @@ import com.kunzisoft.keepass.database.search.SearchParameters import com.kunzisoft.keepass.education.GroupActivityEducation import com.kunzisoft.keepass.magikeyboard.MagikeyboardService import com.kunzisoft.keepass.model.GroupInfo -import com.kunzisoft.keepass.database.element.MainCredential import com.kunzisoft.keepass.model.RegisterInfo import com.kunzisoft.keepass.model.SearchInfo import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.ACTION_DATABASE_UPDATE_ENTRY_TASK @@ -81,7 +80,7 @@ import com.kunzisoft.keepass.settings.SettingsActivity import com.kunzisoft.keepass.tasks.ActionRunnable import com.kunzisoft.keepass.timeout.TimeoutHelper import com.kunzisoft.keepass.utils.BACK_PREVIOUS_KEYBOARD_ACTION -import com.kunzisoft.keepass.utils.UriUtil +import com.kunzisoft.keepass.utils.UriUtil.openUrl import com.kunzisoft.keepass.view.* import com.kunzisoft.keepass.viewmodels.GroupEditViewModel import com.kunzisoft.keepass.viewmodels.GroupViewModel @@ -302,7 +301,7 @@ class GroupActivity : DatabaseLockActivity(), lockAndExit() } R.id.menu_contribute -> { - UriUtil.gotoUrl(this@GroupActivity, R.string.contribution_url) + this@GroupActivity.openUrl(R.string.contribution_url) } R.id.menu_about -> { startActivity(Intent(this@GroupActivity, AboutActivity::class.java)) diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/IconPickerActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/IconPickerActivity.kt index 93cf4b9a9..9e8223799 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/IconPickerActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/IconPickerActivity.kt @@ -46,7 +46,8 @@ import com.kunzisoft.keepass.database.element.icon.IconImage import com.kunzisoft.keepass.database.element.icon.IconImageCustom import com.kunzisoft.keepass.settings.PreferencesUtil import com.kunzisoft.keepass.tasks.BinaryDatabaseManager -import com.kunzisoft.keepass.utils.UriUtil +import com.kunzisoft.keepass.utils.UriUtil.getDocumentFile +import com.kunzisoft.keepass.utils.UriUtil.openUrl import com.kunzisoft.keepass.view.asError import com.kunzisoft.keepass.view.updateLockPaddingLeft import com.kunzisoft.keepass.viewmodels.IconPickerViewModel @@ -243,7 +244,7 @@ class IconPickerActivity : DatabaseLockActivity() { } } R.id.menu_external_icon -> { - UriUtil.gotoUrl(this, R.string.external_icon_url) + this.openUrl(R.string.external_icon_url) } } @@ -257,7 +258,7 @@ class IconPickerActivity : DatabaseLockActivity() { // on Progress with thread val asyncResult: Deferred = async { val iconCustomState = IconPickerViewModel.IconCustomState(null, true, R.string.error_upload_file) - UriUtil.getFileData(this@IconPickerActivity, iconToUploadUri)?.also { documentFile -> + iconToUploadUri?.getDocumentFile(this@IconPickerActivity)?.also { documentFile -> if (documentFile.length() > MAX_ICON_SIZE) { iconCustomState.errorStringId = R.string.error_file_to_big } else { diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/MainCredentialActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/MainCredentialActivity.kt index 371a321ea..1b4e5df03 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/MainCredentialActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/MainCredentialActivity.kt @@ -73,6 +73,7 @@ import com.kunzisoft.keepass.tasks.ActionRunnable import com.kunzisoft.keepass.utils.BACK_PREVIOUS_KEYBOARD_ACTION import com.kunzisoft.keepass.utils.MenuUtil import com.kunzisoft.keepass.utils.UriUtil +import com.kunzisoft.keepass.utils.UriUtil.getUri import com.kunzisoft.keepass.view.MainCredentialView import com.kunzisoft.keepass.view.asError import com.kunzisoft.keepass.view.showActionErrorIfNeeded @@ -344,7 +345,7 @@ class MainCredentialActivity : DatabaseModeActivity(), AdvancedUnlockFragment.Bu if (action == VIEW_INTENT) { fillCredentials( intent.data, - UriUtil.getUriFromIntent(intent, KEY_KEYFILE), + intent.getUri(KEY_KEYFILE), HardwareKey.getHardwareKeyFromString(intent.getStringExtra(KEY_HARDWARE_KEY)) ) } else { @@ -357,7 +358,7 @@ class MainCredentialActivity : DatabaseModeActivity(), AdvancedUnlockFragment.Bu try { intent?.removeExtra(KEY_KEYFILE) intent?.removeExtra(KEY_HARDWARE_KEY) - } catch (e: Exception) {} + } catch (_: Exception) {} mDatabaseFileUri?.let { mDatabaseFileViewModel.checkIfIsDefaultDatabase(it) } diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/FileManagerDialogFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/FileManagerDialogFragment.kt index 6fa85a817..3b6d5bf7c 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/FileManagerDialogFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/FileManagerDialogFragment.kt @@ -21,12 +21,12 @@ package com.kunzisoft.keepass.activities.dialogs import android.app.Dialog import android.os.Bundle -import androidx.fragment.app.DialogFragment -import androidx.appcompat.app.AlertDialog import android.widget.Button import android.widget.TextView +import androidx.appcompat.app.AlertDialog +import androidx.fragment.app.DialogFragment import com.kunzisoft.keepass.R -import com.kunzisoft.keepass.utils.UriUtil +import com.kunzisoft.keepass.utils.UriUtil.openUrl class FileManagerDialogFragment : DialogFragment() { @@ -42,7 +42,7 @@ class FileManagerDialogFragment : DialogFragment() { textDescription.text = getString(R.string.file_manager_install_description) root.findViewById