diff --git a/CHANGELOG b/CHANGELOG index cb3a2f9c2..5f09ed4d9 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +KeePassDX(3.3.2) + * Merge KeePassDX & KeePassDX Pro #1257 + * Create new Contributor Pro app + KeePassDX(3.3.1) * Fix Japanese keyboard in search #1248 * Better OOM management #256 diff --git a/app/build.gradle b/app/build.gradle index 3e07d601f..868a7c110 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,8 +12,8 @@ android { applicationId "com.kunzisoft.keepass" minSdkVersion 15 targetSdkVersion 31 - versionCode = 103 - versionName = "3.3.1" + versionCode = 104 + versionName = "3.3.2" multiDexEnabled true testApplicationId = "com.kunzisoft.keepass.tests" @@ -43,30 +43,20 @@ android { dimension "version" applicationIdSuffix = ".libre" buildConfigField "String", "BUILD_VERSION", "\"libre\"" - buildConfigField "boolean", "FULL_VERSION", "true" buildConfigField "boolean", "CLOSED_STORE", "false" buildConfigField "String[]", "STYLES_DISABLED", "{\"KeepassDXStyle_Red\"," + "\"KeepassDXStyle_Red_Night\"," + + "\"KeepassDXStyle_Reply\"," + + "\"KeepassDXStyle_Reply_Night\"," + "\"KeepassDXStyle_Purple\"," + "\"KeepassDXStyle_Purple_Dark\"}" buildConfigField "String[]", "ICON_PACKS_DISABLED", "{}" } - pro { - dimension "version" - applicationIdSuffix = ".pro" - buildConfigField "String", "BUILD_VERSION", "\"pro\"" - buildConfigField "boolean", "FULL_VERSION", "true" - buildConfigField "boolean", "CLOSED_STORE", "true" - buildConfigField "String[]", "STYLES_DISABLED", "{}" - buildConfigField "String[]", "ICON_PACKS_DISABLED", "{}" - manifestPlaceholders = [ googleAndroidBackupAPIKey:"AEdPqrEAAAAIZiXvrQCzSV9LNI6-p7cjTKENZLHIrz_zaqZuQQ" ] - } free { dimension "version" applicationIdSuffix = ".free" buildConfigField "String", "BUILD_VERSION", "\"free\"" - buildConfigField "boolean", "FULL_VERSION", "false" buildConfigField "boolean", "CLOSED_STORE", "true" buildConfigField "String[]", "STYLES_DISABLED", "{\"KeepassDXStyle_Simple\"," + @@ -86,7 +76,6 @@ android { sourceSets { libre.res.srcDir 'src/libre/res' - pro.res.srcDir 'src/pro/res' free.res.srcDir 'src/free/res' } diff --git a/app/src/free/res/drawable-v24/ic_launcher_foreground.xml b/app/src/free/res/drawable-v24/ic_launcher_foreground.xml index b54c710e3..46a88724e 100644 --- a/app/src/free/res/drawable-v24/ic_launcher_foreground.xml +++ b/app/src/free/res/drawable-v24/ic_launcher_foreground.xml @@ -1,61 +1,31 @@ + android:height="108dp" + android:viewportWidth="120" + android:viewportHeight="120"> - - - - - - - - - - - - - - - - + android:translateX="6" + android:translateY="8"> + + + + + + \ No newline at end of file diff --git a/app/src/free/res/drawable/ic_launcher_foreground.png b/app/src/free/res/drawable/ic_launcher_foreground.png index 7a0813cc8..40a67c4a2 100644 Binary files a/app/src/free/res/drawable/ic_launcher_foreground.png and b/app/src/free/res/drawable/ic_launcher_foreground.png differ diff --git a/app/src/free/res/mipmap-hdpi/ic_launcher.png b/app/src/free/res/mipmap-hdpi/ic_launcher.png index 76e5e48f6..e792dc909 100644 Binary files a/app/src/free/res/mipmap-hdpi/ic_launcher.png and b/app/src/free/res/mipmap-hdpi/ic_launcher.png differ diff --git a/app/src/free/res/mipmap-hdpi/ic_launcher_round.png b/app/src/free/res/mipmap-hdpi/ic_launcher_round.png index 6dd273d9c..5c8d715fb 100644 Binary files a/app/src/free/res/mipmap-hdpi/ic_launcher_round.png and b/app/src/free/res/mipmap-hdpi/ic_launcher_round.png differ diff --git a/app/src/free/res/mipmap-ldpi/ic_launcher.png b/app/src/free/res/mipmap-ldpi/ic_launcher.png index e49de1a9b..d4c8e7b3a 100644 Binary files a/app/src/free/res/mipmap-ldpi/ic_launcher.png and b/app/src/free/res/mipmap-ldpi/ic_launcher.png differ diff --git a/app/src/free/res/mipmap-ldpi/ic_launcher_round.png b/app/src/free/res/mipmap-ldpi/ic_launcher_round.png index 9d70f747f..88506ddde 100644 Binary files a/app/src/free/res/mipmap-ldpi/ic_launcher_round.png and b/app/src/free/res/mipmap-ldpi/ic_launcher_round.png differ diff --git a/app/src/free/res/mipmap-mdpi/ic_launcher.png b/app/src/free/res/mipmap-mdpi/ic_launcher.png index fd7a390fb..7553e4bac 100644 Binary files a/app/src/free/res/mipmap-mdpi/ic_launcher.png and b/app/src/free/res/mipmap-mdpi/ic_launcher.png differ diff --git a/app/src/free/res/mipmap-mdpi/ic_launcher_round.png b/app/src/free/res/mipmap-mdpi/ic_launcher_round.png index 939600a10..53df2c24d 100644 Binary files a/app/src/free/res/mipmap-mdpi/ic_launcher_round.png and b/app/src/free/res/mipmap-mdpi/ic_launcher_round.png differ diff --git a/app/src/free/res/mipmap-xhdpi/ic_launcher.png b/app/src/free/res/mipmap-xhdpi/ic_launcher.png index 5d235e5fe..6c1d90054 100644 Binary files a/app/src/free/res/mipmap-xhdpi/ic_launcher.png and b/app/src/free/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/app/src/free/res/mipmap-xhdpi/ic_launcher_round.png b/app/src/free/res/mipmap-xhdpi/ic_launcher_round.png index 5d59bcda8..93c1b1aa8 100644 Binary files a/app/src/free/res/mipmap-xhdpi/ic_launcher_round.png and b/app/src/free/res/mipmap-xhdpi/ic_launcher_round.png differ diff --git a/app/src/free/res/mipmap-xxhdpi/ic_launcher.png b/app/src/free/res/mipmap-xxhdpi/ic_launcher.png index dcb6bade9..bf77a76a3 100644 Binary files a/app/src/free/res/mipmap-xxhdpi/ic_launcher.png and b/app/src/free/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/app/src/free/res/mipmap-xxhdpi/ic_launcher_round.png b/app/src/free/res/mipmap-xxhdpi/ic_launcher_round.png index 1437e94ae..9a1276f78 100644 Binary files a/app/src/free/res/mipmap-xxhdpi/ic_launcher_round.png and b/app/src/free/res/mipmap-xxhdpi/ic_launcher_round.png differ diff --git a/app/src/free/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/free/res/mipmap-xxxhdpi/ic_launcher.png index 8d7c1dc50..4fb2628e2 100644 Binary files a/app/src/free/res/mipmap-xxxhdpi/ic_launcher.png and b/app/src/free/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/app/src/free/res/mipmap-xxxhdpi/ic_launcher_round.png b/app/src/free/res/mipmap-xxxhdpi/ic_launcher_round.png index 0a43687a2..9ac93e89a 100644 Binary files a/app/src/free/res/mipmap-xxxhdpi/ic_launcher_round.png and b/app/src/free/res/mipmap-xxxhdpi/ic_launcher_round.png differ diff --git a/app/src/libre/res/drawable-v24/ic_launcher_foreground.xml b/app/src/libre/res/drawable-v24/ic_launcher_foreground.xml index 5d5622fcb..844d17b36 100644 --- a/app/src/libre/res/drawable-v24/ic_launcher_foreground.xml +++ b/app/src/libre/res/drawable-v24/ic_launcher_foreground.xml @@ -1,61 +1,31 @@ + android:height="108dp" + android:viewportWidth="120" + android:viewportHeight="120"> - - - - - - - - - - - - - - - - + android:translateX="6" + android:translateY="8"> + + + + + + diff --git a/app/src/libre/res/drawable/ic_launcher_foreground.png b/app/src/libre/res/drawable/ic_launcher_foreground.png index bc0b751b7..27a417000 100644 Binary files a/app/src/libre/res/drawable/ic_launcher_foreground.png and b/app/src/libre/res/drawable/ic_launcher_foreground.png differ diff --git a/app/src/libre/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/libre/res/mipmap-anydpi-v26/ic_launcher.xml deleted file mode 100644 index b2e3062c2..000000000 --- a/app/src/libre/res/mipmap-anydpi-v26/ic_launcher.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/libre/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/libre/res/mipmap-anydpi-v26/ic_launcher_round.xml deleted file mode 100644 index b2e3062c2..000000000 --- a/app/src/libre/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/libre/res/mipmap-hdpi/ic_launcher.png b/app/src/libre/res/mipmap-hdpi/ic_launcher.png index 0e03ed911..f2ca3ab87 100644 Binary files a/app/src/libre/res/mipmap-hdpi/ic_launcher.png and b/app/src/libre/res/mipmap-hdpi/ic_launcher.png differ diff --git a/app/src/libre/res/mipmap-hdpi/ic_launcher_round.png b/app/src/libre/res/mipmap-hdpi/ic_launcher_round.png index 346e3ae37..11d483336 100644 Binary files a/app/src/libre/res/mipmap-hdpi/ic_launcher_round.png and b/app/src/libre/res/mipmap-hdpi/ic_launcher_round.png differ diff --git a/app/src/libre/res/mipmap-ldpi/ic_launcher.png b/app/src/libre/res/mipmap-ldpi/ic_launcher.png index 85061918b..d05888a5d 100644 Binary files a/app/src/libre/res/mipmap-ldpi/ic_launcher.png and b/app/src/libre/res/mipmap-ldpi/ic_launcher.png differ diff --git a/app/src/libre/res/mipmap-ldpi/ic_launcher_round.png b/app/src/libre/res/mipmap-ldpi/ic_launcher_round.png index 11bc2ef0c..d4409bb34 100644 Binary files a/app/src/libre/res/mipmap-ldpi/ic_launcher_round.png and b/app/src/libre/res/mipmap-ldpi/ic_launcher_round.png differ diff --git a/app/src/libre/res/mipmap-mdpi/ic_launcher.png b/app/src/libre/res/mipmap-mdpi/ic_launcher.png index 0d4d3177a..1818a27c3 100644 Binary files a/app/src/libre/res/mipmap-mdpi/ic_launcher.png and b/app/src/libre/res/mipmap-mdpi/ic_launcher.png differ diff --git a/app/src/libre/res/mipmap-mdpi/ic_launcher_round.png b/app/src/libre/res/mipmap-mdpi/ic_launcher_round.png index 9a20477ca..b790578f7 100644 Binary files a/app/src/libre/res/mipmap-mdpi/ic_launcher_round.png and b/app/src/libre/res/mipmap-mdpi/ic_launcher_round.png differ diff --git a/app/src/libre/res/mipmap-xhdpi/ic_launcher.png b/app/src/libre/res/mipmap-xhdpi/ic_launcher.png index 4d20fe68b..d1250d424 100644 Binary files a/app/src/libre/res/mipmap-xhdpi/ic_launcher.png and b/app/src/libre/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/app/src/libre/res/mipmap-xhdpi/ic_launcher_round.png b/app/src/libre/res/mipmap-xhdpi/ic_launcher_round.png index c810e1f5b..1a6de023a 100644 Binary files a/app/src/libre/res/mipmap-xhdpi/ic_launcher_round.png and b/app/src/libre/res/mipmap-xhdpi/ic_launcher_round.png differ diff --git a/app/src/libre/res/mipmap-xxhdpi/ic_launcher.png b/app/src/libre/res/mipmap-xxhdpi/ic_launcher.png index 828d4bafe..9364c6997 100644 Binary files a/app/src/libre/res/mipmap-xxhdpi/ic_launcher.png and b/app/src/libre/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/app/src/libre/res/mipmap-xxhdpi/ic_launcher_round.png b/app/src/libre/res/mipmap-xxhdpi/ic_launcher_round.png index 8b6c374e6..b663aa38a 100644 Binary files a/app/src/libre/res/mipmap-xxhdpi/ic_launcher_round.png and b/app/src/libre/res/mipmap-xxhdpi/ic_launcher_round.png differ diff --git a/app/src/libre/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/libre/res/mipmap-xxxhdpi/ic_launcher.png index 01fcd24fc..0a0644820 100644 Binary files a/app/src/libre/res/mipmap-xxxhdpi/ic_launcher.png and b/app/src/libre/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/app/src/libre/res/mipmap-xxxhdpi/ic_launcher_round.png b/app/src/libre/res/mipmap-xxxhdpi/ic_launcher_round.png index d3a45aa52..ead84335b 100644 Binary files a/app/src/libre/res/mipmap-xxxhdpi/ic_launcher_round.png and b/app/src/libre/res/mipmap-xxxhdpi/ic_launcher_round.png differ 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 d9e2ba675..059fb4ab0 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/FileDatabaseSelectActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/FileDatabaseSelectActivity.kt @@ -31,12 +31,14 @@ import android.util.Log import android.view.Menu import android.view.MenuItem import android.view.View +import android.widget.TextView import androidx.activity.result.ActivityResultLauncher import androidx.activity.viewModels import androidx.annotation.RequiresApi import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.widget.Toolbar import androidx.coordinatorlayout.widget.CoordinatorLayout +import androidx.core.view.isVisible import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.SimpleItemAnimator @@ -73,6 +75,7 @@ class FileDatabaseSelectActivity : DatabaseModeActivity(), // Views private lateinit var coordinatorLayout: CoordinatorLayout + private var specialTitle: View? = null private var createDatabaseButtonView: View? = null private var openDatabaseButtonView: View? = null @@ -112,6 +115,9 @@ class FileDatabaseSelectActivity : DatabaseModeActivity(), toolbar.title = "" setSupportActionBar(toolbar) + // Special title + specialTitle = findViewById(R.id.file_selection_title_part_3) + // Create database button createDatabaseButtonView = findViewById(R.id.create_database_button) createDatabaseButtonView?.setOnClickListener { createNewFile() } @@ -335,6 +341,9 @@ class FileDatabaseSelectActivity : DatabaseModeActivity(), override fun onResume() { super.onResume() + // Define special title + specialTitle?.isVisible = UriUtil.contributingUser(this) + // Show open and create button or special mode when (mSpecialMode) { SpecialMode.DEFAULT -> { @@ -391,7 +400,7 @@ class FileDatabaseSelectActivity : DatabaseModeActivity(), super.onCreateOptionsMenu(menu) if (mSpecialMode == SpecialMode.DEFAULT) { - MenuUtil.defaultMenuInflater(menuInflater, menu) + MenuUtil.defaultMenuInflater(this, menuInflater, menu) } Handler(Looper.getMainLooper()).post { 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 cb17b3df6..94f10541c 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/MainCredentialActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/MainCredentialActivity.kt @@ -539,7 +539,7 @@ class MainCredentialActivity : DatabaseModeActivity(), AdvancedUnlockFragment.Bu } if (mSpecialMode == SpecialMode.DEFAULT) { - MenuUtil.defaultMenuInflater(inflater, menu) + MenuUtil.defaultMenuInflater(this, inflater, menu) } super.onCreateOptionsMenu(menu) diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/SetOTPDialogFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/SetOTPDialogFragment.kt index 26c769afb..3986dca19 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/SetOTPDialogFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/SetOTPDialogFragment.kt @@ -204,9 +204,10 @@ class SetOTPDialogFragment : DatabaseDialogFragment() { android.R.layout.simple_spinner_item, mHotpTokenTypeArray!!).apply { setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) } - // Proprietary only on closed and full version + // Proprietary only on full version mTotpTokenTypeArray = OtpTokenType.getTotpTokenTypeValues( - BuildConfig.CLOSED_STORE && BuildConfig.FULL_VERSION) + UriUtil.contributingUser(activity) + ) totpTokenTypeAdapter = ArrayAdapter(activity, android.R.layout.simple_spinner_item, mTotpTokenTypeArray!!).apply { setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/UnderDevelopmentFeatureDialogFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/UnderDevelopmentFeatureDialogFragment.kt index 99440c7f8..57fffb0d5 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/UnderDevelopmentFeatureDialogFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/UnderDevelopmentFeatureDialogFragment.kt @@ -25,7 +25,6 @@ import android.text.SpannableStringBuilder import androidx.appcompat.app.AlertDialog import androidx.core.text.HtmlCompat import androidx.fragment.app.DialogFragment -import com.kunzisoft.keepass.BuildConfig import com.kunzisoft.keepass.R import com.kunzisoft.keepass.utils.UriUtil @@ -40,22 +39,12 @@ class UnderDevelopmentFeatureDialogFragment : DialogFragment() { val builder = AlertDialog.Builder(activity) val stringBuilder = SpannableStringBuilder() - if (BuildConfig.CLOSED_STORE) { - if (BuildConfig.FULL_VERSION) { - stringBuilder.append(HtmlCompat.fromHtml(getString(R.string.html_text_dev_feature_thanks), HtmlCompat.FROM_HTML_MODE_LEGACY)).append("\n\n") - .append(HtmlCompat.fromHtml(getString(R.string.html_rose), HtmlCompat.FROM_HTML_MODE_LEGACY)).append("\n\n") - .append(HtmlCompat.fromHtml(getString(R.string.html_text_dev_feature_work_hard), HtmlCompat.FROM_HTML_MODE_LEGACY)).append("\n") - .append(HtmlCompat.fromHtml(getString(R.string.html_text_dev_feature_upgrade), HtmlCompat.FROM_HTML_MODE_LEGACY)).append(" ") - builder.setPositiveButton(android.R.string.ok) { _, _ -> dismiss() } - } else { - stringBuilder.append(HtmlCompat.fromHtml(getString(R.string.html_text_dev_feature), HtmlCompat.FROM_HTML_MODE_LEGACY)).append("\n\n") - .append(HtmlCompat.fromHtml(getString(R.string.html_text_dev_feature_buy_pro), HtmlCompat.FROM_HTML_MODE_LEGACY)).append("\n") - .append(HtmlCompat.fromHtml(getString(R.string.html_text_dev_feature_encourage), HtmlCompat.FROM_HTML_MODE_LEGACY)) - builder.setPositiveButton(R.string.download) { _, _ -> - UriUtil.gotoUrl(requireContext(), R.string.app_pro_url) - } - builder.setNegativeButton(android.R.string.cancel) { _, _ -> dismiss() } - } + if (UriUtil.contributingUser(activity)) { + stringBuilder.append(HtmlCompat.fromHtml(getString(R.string.html_text_dev_feature_thanks), HtmlCompat.FROM_HTML_MODE_LEGACY)).append("\n\n") + .append(HtmlCompat.fromHtml(getString(R.string.html_rose), HtmlCompat.FROM_HTML_MODE_LEGACY)).append("\n\n") + .append(HtmlCompat.fromHtml(getString(R.string.html_text_dev_feature_work_hard), HtmlCompat.FROM_HTML_MODE_LEGACY)).append("\n") + .append(HtmlCompat.fromHtml(getString(R.string.html_text_dev_feature_upgrade), HtmlCompat.FROM_HTML_MODE_LEGACY)).append(" ") + builder.setPositiveButton(android.R.string.ok) { _, _ -> dismiss() } } else { stringBuilder.append(HtmlCompat.fromHtml(getString(R.string.html_text_dev_feature), HtmlCompat.FROM_HTML_MODE_LEGACY)).append("\n\n") .append(HtmlCompat.fromHtml(getString(R.string.html_text_dev_feature_contibute), HtmlCompat.FROM_HTML_MODE_LEGACY)).append(" ") diff --git a/app/src/main/java/com/kunzisoft/keepass/education/Education.kt b/app/src/main/java/com/kunzisoft/keepass/education/Education.kt index e40ebbf58..782b7428f 100644 --- a/app/src/main/java/com/kunzisoft/keepass/education/Education.kt +++ b/app/src/main/java/com/kunzisoft/keepass/education/Education.kt @@ -360,6 +360,13 @@ open class Education(val activity: Activity) { context.resources.getBoolean(R.bool.education_setup_OTP_default)) } + fun setEducationScreenReclickedPerformed(context: Context) { + getEducationSharedPreferences(context) + .edit() + .putBoolean(context.getString(R.string.education_screen_reclicked_key), true) + .apply() + } + /** * Defines if the reset education preference has been reclicked * diff --git a/app/src/main/java/com/kunzisoft/keepass/settings/NestedAppSettingsFragment.kt b/app/src/main/java/com/kunzisoft/keepass/settings/NestedAppSettingsFragment.kt index 1885202e1..a172ac776 100644 --- a/app/src/main/java/com/kunzisoft/keepass/settings/NestedAppSettingsFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/settings/NestedAppSettingsFragment.kt @@ -382,13 +382,17 @@ class NestedAppSettingsFragment : NestedSettingsFragment() { findPreference(getString(R.string.setting_style_key))?.setOnPreferenceChangeListener { _, newValue -> var styleEnabled = true val styleIdString = newValue as String - if (BuildConfig.CLOSED_STORE || !Education.isEducationScreenReclickedPerformed(activity)) + if (!UriUtil.contributingUser(activity)) { for (themeIdDisabled in BuildConfig.STYLES_DISABLED) { if (themeIdDisabled == styleIdString) { styleEnabled = false - ProFeatureDialogFragment().show(parentFragmentManager, "pro_feature_dialog") + ProFeatureDialogFragment().show( + parentFragmentManager, + "pro_feature_dialog" + ) } } + } if (styleEnabled) { Stylish.assignStyle(activity, styleIdString) // Relaunch the current activity to redraw theme @@ -409,13 +413,17 @@ class NestedAppSettingsFragment : NestedSettingsFragment() { findPreference(getString(R.string.setting_icon_pack_choose_key))?.setOnPreferenceChangeListener { _, newValue -> var iconPackEnabled = true val iconPackId = newValue as String - if (BuildConfig.CLOSED_STORE || !Education.isEducationScreenReclickedPerformed(activity)) + if (!UriUtil.contributingUser(activity)) { for (iconPackIdDisabled in BuildConfig.ICON_PACKS_DISABLED) { if (iconPackIdDisabled == iconPackId) { iconPackEnabled = false - ProFeatureDialogFragment().show(parentFragmentManager, "pro_feature_dialog") + ProFeatureDialogFragment().show( + parentFragmentManager, + "pro_feature_dialog" + ) } } + } if (iconPackEnabled) { IconPackChooser.setSelectedIconPack(iconPackId) } @@ -509,9 +517,8 @@ class NestedAppSettingsFragment : NestedSettingsFragment() { override fun onStop() { super.onStop() activity?.let { activity -> - if (mCount == 10) { - Education.getEducationSharedPreferences(activity).edit() - .putBoolean(getString(R.string.education_screen_reclicked_key), true).apply() + if (mCount == 10 && !BuildConfig.CLOSED_STORE) { + Education.setEducationScreenReclickedPerformed(activity) } } } diff --git a/app/src/main/java/com/kunzisoft/keepass/settings/PreferencesUtil.kt b/app/src/main/java/com/kunzisoft/keepass/settings/PreferencesUtil.kt index 0089d8ab9..ed9f53d70 100644 --- a/app/src/main/java/com/kunzisoft/keepass/settings/PreferencesUtil.kt +++ b/app/src/main/java/com/kunzisoft/keepass/settings/PreferencesUtil.kt @@ -33,6 +33,7 @@ import com.kunzisoft.keepass.biometric.AdvancedUnlockManager import com.kunzisoft.keepass.database.element.SortNodeEnum import com.kunzisoft.keepass.education.Education import com.kunzisoft.keepass.timeout.TimeoutHelper +import com.kunzisoft.keepass.utils.UriUtil import java.util.* object PreferencesUtil { @@ -151,7 +152,7 @@ object PreferencesUtil { fun setStyle(context: Context, styleString: String) { var tempThemeString = styleString - if (BuildConfig.CLOSED_STORE || !Education.isEducationScreenReclickedPerformed(context)) { + if (!UriUtil.contributingUser(context)) { if (tempThemeString in BuildConfig.STYLES_DISABLED) { tempThemeString = Stylish.defaultStyle(context) } diff --git a/app/src/main/java/com/kunzisoft/keepass/utils/MenuUtil.kt b/app/src/main/java/com/kunzisoft/keepass/utils/MenuUtil.kt index c7233968d..b6c2df52b 100644 --- a/app/src/main/java/com/kunzisoft/keepass/utils/MenuUtil.kt +++ b/app/src/main/java/com/kunzisoft/keepass/utils/MenuUtil.kt @@ -25,17 +25,16 @@ import android.content.Intent import android.view.Menu import android.view.MenuInflater import android.view.MenuItem -import com.kunzisoft.keepass.BuildConfig import com.kunzisoft.keepass.R import com.kunzisoft.keepass.activities.AboutActivity import com.kunzisoft.keepass.settings.SettingsActivity object MenuUtil { - fun defaultMenuInflater(inflater: MenuInflater, menu: Menu) { + fun defaultMenuInflater(context: Context, inflater: MenuInflater, menu: Menu) { inflater.inflate(R.menu.settings, menu) inflater.inflate(R.menu.about, menu) - if (!(BuildConfig.FULL_VERSION && BuildConfig.CLOSED_STORE)) + if (!UriUtil.contributingUser(context)) menu.findItem(R.id.menu_contribute)?.isVisible = false } diff --git a/app/src/main/java/com/kunzisoft/keepass/utils/UriUtil.kt b/app/src/main/java/com/kunzisoft/keepass/utils/UriUtil.kt index 71e50ff3e..5cd542d4f 100644 --- a/app/src/main/java/com/kunzisoft/keepass/utils/UriUtil.kt +++ b/app/src/main/java/com/kunzisoft/keepass/utils/UriUtil.kt @@ -30,6 +30,7 @@ import android.widget.Toast import androidx.documentfile.provider.DocumentFile import com.kunzisoft.keepass.R import com.kunzisoft.keepass.app.database.FileDatabaseHistoryAction +import com.kunzisoft.keepass.education.Education import java.io.* import java.util.* @@ -255,9 +256,16 @@ object UriUtil { gotoUrl(context, context.getString(resId)) } - fun isExternalAppInstalled(context: Context, packageName: String): Boolean { + fun contributingUser(context: Context): Boolean { + return (Education.isEducationScreenReclickedPerformed(context) + || isExternalAppInstalled(context, "com.kunzisoft.keepass.pro") + ) + } + + private fun isExternalAppInstalled(context: Context, packageName: String): Boolean { try { context.applicationContext.packageManager.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES) + Education.setEducationScreenReclickedPerformed(context) return true } catch (e: Exception) { Log.e(TAG, "App not accessible", e) diff --git a/app/src/main/res/drawable/ic_launcher_background.png b/app/src/main/res/drawable/ic_launcher_background.png new file mode 100644 index 000000000..4f5f736f1 Binary files /dev/null and b/app/src/main/res/drawable/ic_launcher_background.png differ diff --git a/app/src/main/res/layout/activity_file_selection.xml b/app/src/main/res/layout/activity_file_selection.xml index 88ae61034..cbe367c1a 100644 --- a/app/src/main/res/layout/activity_file_selection.xml +++ b/app/src/main/res/layout/activity_file_selection.xml @@ -103,6 +103,7 @@ android:layout_marginLeft="12dp" android:textSize="32sp" android:textStyle="bold" + android:visibility="gone" android:shadowColor="#80000000" android:shadowDx="2" android:shadowDy="2" diff --git a/app/src/free/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml similarity index 67% rename from app/src/free/res/mipmap-anydpi-v26/ic_launcher.xml rename to app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml index b2e3062c2..6b78462d6 100644 --- a/app/src/free/res/mipmap-anydpi-v26/ic_launcher.xml +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -1,5 +1,5 @@ - + - \ No newline at end of file + diff --git a/app/src/free/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml similarity index 73% rename from app/src/free/res/mipmap-anydpi-v26/ic_launcher_round.xml rename to app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml index b2e3062c2..eca70cfe5 100644 --- a/app/src/free/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/app/src/main/res/values/donottranslate.xml b/app/src/main/res/values/donottranslate.xml index 446636576..2b7f56209 100644 --- a/app/src/main/res/values/donottranslate.xml +++ b/app/src/main/res/values/donottranslate.xml @@ -28,7 +28,7 @@ KeePassDX KeePass DX - + Pro https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.pro https://www.keepassdx.com/contribution diff --git a/app/src/pro/res/drawable-v24/ic_launcher_foreground.xml b/app/src/pro/res/drawable-v24/ic_launcher_foreground.xml deleted file mode 100644 index 4edab404a..000000000 --- a/app/src/pro/res/drawable-v24/ic_launcher_foreground.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/pro/res/drawable/ic_launcher_foreground.png b/app/src/pro/res/drawable/ic_launcher_foreground.png deleted file mode 100644 index 2c697177a..000000000 Binary files a/app/src/pro/res/drawable/ic_launcher_foreground.png and /dev/null differ diff --git a/app/src/pro/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/pro/res/mipmap-anydpi-v26/ic_launcher.xml deleted file mode 100644 index 6658b787a..000000000 --- a/app/src/pro/res/mipmap-anydpi-v26/ic_launcher.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/pro/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/pro/res/mipmap-anydpi-v26/ic_launcher_round.xml deleted file mode 100644 index 6658b787a..000000000 --- a/app/src/pro/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/pro/res/mipmap-hdpi/ic_launcher.png b/app/src/pro/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index dee50dbe0..000000000 Binary files a/app/src/pro/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/app/src/pro/res/mipmap-hdpi/ic_launcher_round.png b/app/src/pro/res/mipmap-hdpi/ic_launcher_round.png deleted file mode 100644 index facc74b9c..000000000 Binary files a/app/src/pro/res/mipmap-hdpi/ic_launcher_round.png and /dev/null differ diff --git a/app/src/pro/res/mipmap-ldpi/ic_launcher.png b/app/src/pro/res/mipmap-ldpi/ic_launcher.png deleted file mode 100644 index c3c193ae0..000000000 Binary files a/app/src/pro/res/mipmap-ldpi/ic_launcher.png and /dev/null differ diff --git a/app/src/pro/res/mipmap-ldpi/ic_launcher_round.png b/app/src/pro/res/mipmap-ldpi/ic_launcher_round.png deleted file mode 100644 index 92e21027d..000000000 Binary files a/app/src/pro/res/mipmap-ldpi/ic_launcher_round.png and /dev/null differ diff --git a/app/src/pro/res/mipmap-mdpi/ic_launcher.png b/app/src/pro/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 7280d11ed..000000000 Binary files a/app/src/pro/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/app/src/pro/res/mipmap-mdpi/ic_launcher_round.png b/app/src/pro/res/mipmap-mdpi/ic_launcher_round.png deleted file mode 100644 index 22f37fbdc..000000000 Binary files a/app/src/pro/res/mipmap-mdpi/ic_launcher_round.png and /dev/null differ diff --git a/app/src/pro/res/mipmap-xhdpi/ic_launcher.png b/app/src/pro/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 301252598..000000000 Binary files a/app/src/pro/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/app/src/pro/res/mipmap-xhdpi/ic_launcher_round.png b/app/src/pro/res/mipmap-xhdpi/ic_launcher_round.png deleted file mode 100644 index bce5d287d..000000000 Binary files a/app/src/pro/res/mipmap-xhdpi/ic_launcher_round.png and /dev/null differ diff --git a/app/src/pro/res/mipmap-xxhdpi/ic_launcher.png b/app/src/pro/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index bd30a3778..000000000 Binary files a/app/src/pro/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/app/src/pro/res/mipmap-xxhdpi/ic_launcher_round.png b/app/src/pro/res/mipmap-xxhdpi/ic_launcher_round.png deleted file mode 100644 index 4f05b8732..000000000 Binary files a/app/src/pro/res/mipmap-xxhdpi/ic_launcher_round.png and /dev/null differ diff --git a/app/src/pro/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/pro/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 24c0eec61..000000000 Binary files a/app/src/pro/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/app/src/pro/res/mipmap-xxxhdpi/ic_launcher_round.png b/app/src/pro/res/mipmap-xxxhdpi/ic_launcher_round.png deleted file mode 100644 index aedc2acd7..000000000 Binary files a/app/src/pro/res/mipmap-xxxhdpi/ic_launcher_round.png and /dev/null differ diff --git a/app/src/pro/res/values/donottranslate.xml b/app/src/pro/res/values/donottranslate.xml deleted file mode 100644 index b1535d410..000000000 --- a/app/src/pro/res/values/donottranslate.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - KeePassDX Pro - Pro - diff --git a/art/app_store_logo.png b/art/app_store_logo.png index 0c1bc01d2..6cfbc85c5 100644 Binary files a/art/app_store_logo.png and b/art/app_store_logo.png differ diff --git a/art/app_store_logo.svg b/art/app_store_logo.svg index 68fe44662..aec7fbb71 100644 --- a/art/app_store_logo.svg +++ b/art/app_store_logo.svg @@ -15,7 +15,7 @@ viewBox="0 0 135.46666 135.46667" version="1.1" id="svg3912" - inkscape:version="0.92.1 r15371" + inkscape:version="0.92.4 (5da689c313, 2019-01-14)" sodipodi:docname="app_store_logo.svg" inkscape:export-filename="/home/joker/Projects/KeePassDX/art/app_store_logo.png" inkscape:export-xdpi="96.000008" @@ -358,28 +358,6 @@ operator="over" result="composite2" /> - - - - - @@ -521,6 +499,416 @@ id="path100-7" inkscape:connector-curvature="0" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml - + @@ -571,54 +959,32 @@ inkscape:groupmode="layer" id="layer1" transform="translate(0,-161.53332)" - style="display:inline" - sodipodi:insensitive="true"> - + style="display:inline"> + - - - - - - - + + image/svg+xml \ No newline at end of file + sodipodi:nodetypes="sssssccccsssssscccccccccccccc" + transform="matrix(2.1916449,0,0,2.1916449,-136.70172,-64.462974)" /> \ No newline at end of file diff --git a/art/ic_launcher_adaptive.svg b/art/ic_launcher_adaptive.svg index 1b957104c..313cf3739 100644 --- a/art/ic_launcher_adaptive.svg +++ b/art/ic_launcher_adaptive.svg @@ -30,41 +30,31 @@ inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="1920" - inkscape:window-height="1016" + inkscape:window-height="1043" id="namedview4" showgrid="false" - inkscape:zoom="5.6568542" - inkscape:cx="101.33858" - inkscape:cy="66.05461" + inkscape:zoom="2.8284271" + inkscape:cx="-7.8772259" + inkscape:cy="59.023519" inkscape:window-x="0" - inkscape:window-y="27" + inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer6" showguides="true">image/svg+xml \ No newline at end of file + d="M 0,0 V 108 H 108 V 0 Z M 28.25977,18 H 79.74023 C 85.42416,18 90,22.57584 90,28.259766 V 79.740234 C 90,85.42416 85.42416,90 79.74023,90 H 28.25977 C 22.57584,90 18,85.42416 18,79.740234 V 28.259766 C 18,22.57584 22.57584,18 28.25977,18 Z" + style="display:inline;fill:#000000;fill-opacity:0.31764706;stroke:none;stroke-width:60;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> \ No newline at end of file diff --git a/art/ic_launcher_flavors/ic_launcher_free.svg b/art/ic_launcher_flavors/ic_launcher_free.svg deleted file mode 100644 index 07e2b51f2..000000000 --- a/art/ic_launcher_flavors/ic_launcher_free.svg +++ /dev/null @@ -1,1866 +0,0 @@ - - - -image/svg+xml \ No newline at end of file diff --git a/art/ic_launcher_flavors/ic_launcher_free_round.svg b/art/ic_launcher_flavors/ic_launcher_free_round.svg deleted file mode 100644 index d4121aa0d..000000000 --- a/art/ic_launcher_flavors/ic_launcher_free_round.svg +++ /dev/null @@ -1,1888 +0,0 @@ - - - -image/svg+xml \ No newline at end of file diff --git a/art/ic_launcher_flavors/ic_launcher_libre.svg b/art/ic_launcher_flavors/ic_launcher_libre.svg deleted file mode 100644 index 1d97b205c..000000000 --- a/art/ic_launcher_flavors/ic_launcher_libre.svg +++ /dev/null @@ -1,1866 +0,0 @@ - - - -image/svg+xml \ No newline at end of file diff --git a/art/ic_launcher_flavors/ic_launcher_libre_round.svg b/art/ic_launcher_flavors/ic_launcher_libre_round.svg deleted file mode 100644 index 0e37de334..000000000 --- a/art/ic_launcher_flavors/ic_launcher_libre_round.svg +++ /dev/null @@ -1,1888 +0,0 @@ - - - -image/svg+xml \ No newline at end of file diff --git a/art/ic_launcher_flavors/ic_launcher_pro.svg b/art/ic_launcher_flavors/ic_launcher_pro.svg deleted file mode 100644 index 42e401105..000000000 --- a/art/ic_launcher_flavors/ic_launcher_pro.svg +++ /dev/null @@ -1,1866 +0,0 @@ - - - -image/svg+xml \ No newline at end of file diff --git a/art/ic_launcher_flavors/ic_launcher_pro_round.svg b/art/ic_launcher_flavors/ic_launcher_pro_round.svg deleted file mode 100644 index eeac9022b..000000000 --- a/art/ic_launcher_flavors/ic_launcher_pro_round.svg +++ /dev/null @@ -1,1888 +0,0 @@ - - - -image/svg+xml \ No newline at end of file diff --git a/art/ic_launcher_round.svg b/art/ic_launcher_round.svg index e5d410e87..c80eaaf0d 100644 --- a/art/ic_launcher_round.svg +++ b/art/ic_launcher_round.svg @@ -15,12 +15,12 @@ inkscape:export-filename="/home/joker/Projects/Kunzisoft/Inkscape/Android Icon Template_low" id="svg2" version="1.1" - inkscape:version="0.91 r13725" + inkscape:version="0.92.4 (5da689c313, 2019-01-14)" xml:space="preserve" width="192" height="192" viewBox="0 0 192 192" - sodipodi:docname="icon_rounded.svg">image/svg+xml \ No newline at end of file + style="display:inline;opacity:0.2;fill:#000000;fill-opacity:1;stroke:none" /> \ No newline at end of file diff --git a/art/icon.png b/art/icon.png index f346a19c8..d1250d424 100644 Binary files a/art/icon.png and b/art/icon.png differ diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 18faaca55..ba3572e86 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -31,18 +31,6 @@ platform :android do "android.injected.signing.key.password" => options[:keypass], } ) - gradle( - task: "assemble", - flavor: "pro", - build_type: "Release", - print_command: false, - properties: { - "android.injected.signing.store.file" => options[:storefile], - "android.injected.signing.store.password" => options[:storepass], - "android.injected.signing.key.alias" => options[:keyalias], - "android.injected.signing.key.password" => options[:keypass], - } - ) end desc "Deploy a new Free Beta version to the Google Play" @@ -57,20 +45,4 @@ platform :android do ) end - desc "Deploy a new Pro Beta version to the Google Play" - lane :deploy_beta_pro do - sh("cp", "-a", "./pro/.", "./") - upload_to_play_store( - track: "beta", - skip_upload_metadata: "true", - skip_upload_images: "true", - skip_upload_screenshots: "true", - apk: "./app/build/outputs/apk/pro/release/app-pro-release.apk", - validate_only: "false", - ) - gradle( - task: 'clean' - ) - sh("git", "checkout", ".") - end end diff --git a/fastlane/README.md b/fastlane/README.md index f39d095b8..fc18d75e5 100644 --- a/fastlane/README.md +++ b/fastlane/README.md @@ -39,14 +39,6 @@ Build a new Beta version Deploy a new Free Beta version to the Google Play -### android deploy_beta_pro - -```sh -[bundle exec] fastlane android deploy_beta_pro -``` - -Deploy a new Pro Beta version to the Google Play - ---- This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run. diff --git a/fastlane/metadata/android/en-US/changelogs/104.txt b/fastlane/metadata/android/en-US/changelogs/104.txt new file mode 100644 index 000000000..de1256ec6 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/104.txt @@ -0,0 +1,2 @@ + * Merge KeePassDX & KeePassDX Pro #1257 + * Create new Contributor Pro app \ No newline at end of file diff --git a/fastlane/metadata/android/fr-FR/changelogs/104.txt b/fastlane/metadata/android/fr-FR/changelogs/104.txt new file mode 100644 index 000000000..6f33383e0 --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/104.txt @@ -0,0 +1,2 @@ + * Fusion de KeePassDX & KeePassDX Pro #1257 + * Creation de l'application Contributor Pro \ No newline at end of file diff --git a/fastlane/pro/Appfile b/fastlane/pro/Appfile deleted file mode 100644 index 2ef869d21..000000000 --- a/fastlane/pro/Appfile +++ /dev/null @@ -1,2 +0,0 @@ -json_key_file "./../Integration/Google_Play_Android_Developer.json" # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one -package_name "com.kunzisoft.keepass.pro" diff --git a/fastlane/pro/metadata/android/en-US/full_description.txt b/fastlane/pro/metadata/android/en-US/full_description.txt deleted file mode 100644 index 4548513eb..000000000 --- a/fastlane/pro/metadata/android/en-US/full_description.txt +++ /dev/null @@ -1,30 +0,0 @@ -Multi-format KeePass password manager, the app allows saving and using passwords, keys and digital identities in a secure way, by integrating the Android design standards and requires no internet connection. - -This pro version encourages development, better service, and you contribute to the creation of open source softwares without advertising. -Currently, the application has the same features as the free version with the themes unlocked but is intended to integrate elements related to non-free sites and services commonly used. - -Features - - Create database files / entries and groups. - - Support for .kdb and .kdbx files (version 1 to 4) with AES - Twofish - ChaCha20 - Argon2 algorithm. - - Compatible with the majority of alternative programs (KeePass, KeePassX, KeePassXC, …). - - Allows opening and copying URI / URL fields quickly. - - Biometric recognition for fast unlocking (fingerprint / face unlock / …). - - One-time password management (HOTP / TOTP) for two-factor authentication (2FA). - - Material design with themes. - - Auto-Fill and integration. - - Field filling keyboard. - - Dynamic templates. - - History of each entry. - - Precise management of settings. - - Code written in native languages (Kotlin / Java / JNI / C). - -Pro Features - - Access to custom themes. - - TOTP Steam creation. - - Deleting donation buttons. - -KeePassDX Pro is open source and ad-free. - -The project is constantly evolving. Do not hesitate to check the development status of the next updates: https://github.com/Kunzisoft/KeePassDX/projects - -Send issues to: https://github.com/Kunzisoft/KeePassDX/issues diff --git a/fastlane/pro/metadata/android/en-US/images/featureGraphic.png b/fastlane/pro/metadata/android/en-US/images/featureGraphic.png deleted file mode 100644 index 74d7a647c..000000000 Binary files a/fastlane/pro/metadata/android/en-US/images/featureGraphic.png and /dev/null differ diff --git a/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen0.jpg b/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen0.jpg deleted file mode 100644 index 5c5f21c28..000000000 Binary files a/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen0.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen1.jpg b/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen1.jpg deleted file mode 100644 index 709de0182..000000000 Binary files a/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen1.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen2.jpg b/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen2.jpg deleted file mode 100644 index 763391a2e..000000000 Binary files a/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen2.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen3.jpg b/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen3.jpg deleted file mode 100644 index 55fd11179..000000000 Binary files a/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen3.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen4.jpg b/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen4.jpg deleted file mode 100644 index effdd269e..000000000 Binary files a/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen4.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen5.jpg b/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen5.jpg deleted file mode 100644 index b2e5114c6..000000000 Binary files a/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen5.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen6.jpg b/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen6.jpg deleted file mode 100644 index 6f49d0054..000000000 Binary files a/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen6.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen7.jpg b/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen7.jpg deleted file mode 100644 index 371c19a91..000000000 Binary files a/fastlane/pro/metadata/android/en-US/images/phoneScreenshots/screen7.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/en-US/short_description.txt b/fastlane/pro/metadata/android/en-US/short_description.txt deleted file mode 100644 index b2687a7ff..000000000 --- a/fastlane/pro/metadata/android/en-US/short_description.txt +++ /dev/null @@ -1 +0,0 @@ -Pro version of KeePassDX, secure and open source password manager diff --git a/fastlane/pro/metadata/android/en-US/title.txt b/fastlane/pro/metadata/android/en-US/title.txt deleted file mode 100644 index 957d0de73..000000000 --- a/fastlane/pro/metadata/android/en-US/title.txt +++ /dev/null @@ -1 +0,0 @@ -KeePassDX Pro diff --git a/fastlane/pro/metadata/android/fr-FR/full_description.txt b/fastlane/pro/metadata/android/fr-FR/full_description.txt deleted file mode 100644 index 785bc024b..000000000 --- a/fastlane/pro/metadata/android/fr-FR/full_description.txt +++ /dev/null @@ -1,31 +0,0 @@ -Gestionnaire de mots de passe KeePass multiformats, l'application permet d'enregistrer et d'utiliser des mots de passe, des clés et des identités numériques de manière sécurisée, en intégrant les normes de conception Android et ne requiert aucune connexion internet. - -Cette version pro encourage les développements, un meilleur service et vous contribuez à la création de logiciels open source sans publicité. -Actuellement, l'application possède les mêmes fonctionnalités que la version gratuite avec les thèmes débloqués mais est destinée à intégrer des éléments liés à des sites et services non gratuits couramment utilisés. - -Fonctionnalités - - Création de bases de données / entrées et groupes. - - Support des fichiers .kdb et .kdbx (version 1 à 4) avec algorithme AES - Twofish - ChaCha20 - Argon2. - - Compatible avec la majorité des programmes alternatifs (KeePass, KeePassX, KeePassXC, …) - - Permet la copie rapide de champs et l'ouverture d'URI /URL. - - Reconnaissance biométrique pour un déblocage rapide (Empreintes digitales / Déverouillage par visage / …). - - Gestion des mots de passe à usage unique (One-Time Password HOTP / TOTP) pour l'authentification à deux facteurs (2FA). - - Material design avec thèmes. - - Remplissage automatique de champs. - - Clavier de remplissage de champs. - - Gabarits dynamiques. - - Historique de chaque entrée. - - Gestion précise des paramètres. - - Code écrit en langages natifs (Kotlin / Java / JNI / C). - -Fonctionnalités Pro - - Accès aux thèmes personnalisés. - - Création de TOTP Steam. - - Suppression des boutons de don. - -KeePassDX est opensource et sans publicité. - -Le projet est en constante évolution. N'hésitez pas à vérifier l'état de développement des prochaines mises à jour : https://github.com/Kunzisoft/KeePassDX/projects - -Vous avez un bug : https://github.com/Kunzisoft/KeePassDX/issues - diff --git a/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen0.jpg b/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen0.jpg deleted file mode 100644 index b0f25eb59..000000000 Binary files a/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen0.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen1.jpg b/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen1.jpg deleted file mode 100644 index 0758152e7..000000000 Binary files a/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen1.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen2.jpg b/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen2.jpg deleted file mode 100644 index 2bca506c6..000000000 Binary files a/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen2.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen3.jpg b/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen3.jpg deleted file mode 100644 index a84b75b95..000000000 Binary files a/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen3.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen4.jpg b/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen4.jpg deleted file mode 100644 index 5f8e00389..000000000 Binary files a/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen4.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen5.jpg b/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen5.jpg deleted file mode 100644 index 85de9fee9..000000000 Binary files a/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen5.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen6.jpg b/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen6.jpg deleted file mode 100644 index 05ba5a9cb..000000000 Binary files a/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen6.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen7.jpg b/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen7.jpg deleted file mode 100644 index 32aba64aa..000000000 Binary files a/fastlane/pro/metadata/android/fr-FR/images/phoneScreenshots/screen7.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/fr-FR/short_description.txt b/fastlane/pro/metadata/android/fr-FR/short_description.txt deleted file mode 100644 index 898b7e7f1..000000000 --- a/fastlane/pro/metadata/android/fr-FR/short_description.txt +++ /dev/null @@ -1 +0,0 @@ -Version pro de KeePassDX, gestionnaire de mots de passe open source diff --git a/fastlane/pro/metadata/android/ja-JP/full_description.txt b/fastlane/pro/metadata/android/ja-JP/full_description.txt deleted file mode 100644 index 1206fbe7f..000000000 --- a/fastlane/pro/metadata/android/ja-JP/full_description.txt +++ /dev/null @@ -1,30 +0,0 @@ -複数の形式に対応する KeePass パスワード マネージャー。Android の設計基準が組み込まれており、パスワード、鍵、デジタル ID を安全な方法で保存して使用できます。インターネットに接続する必要はありません。 - -この pro バージョンは開発中です。購入することで開発の加速サービスの改善を支援し、広告なしのオープンソース ソフトウェアの作成に貢献できます。 -現在、このアプリケーションの機能はテーマのロックが解除された free バージョンと同じです。一般的に使われている不自由なサイトやサービスに関連する要素を統合することを計画しています。 - -機能 - - データベースファイル / エントリー・グループの作成 - - .kdb、.kdbx ファイル(バージョン1から4)に対応。AES、Twofish、ChaCha20、Argon2 アルゴリズムが使用可能 - - 主流の代替ソフトウェア(KeePass、KeePassX、KeePassXC など)との互換性あり - - URI / URL フィールドは開くのもコピーするのもすばやく行えます - - 生体認証を使った高速ロック解除 (指紋認証 / 顔認証 / …) - - 2 要素認証(2FA)のためのワンタイムパスワード管理(HOTP / TOTP) - - マテリアルデザインに準拠した複数のテーマ - - 自動入力機能の統合 - - フィールド入力用のキーボード - - ダイナミックテンプレート - - エントリーごとの履歴 - - 設定の細かな管理 - - コードはネイティブ言語(Kotlin / Java / JNI / C)で書かれています - -Pro 機能 - - カスタムテーマへのアクセス - - Steam 独自の TOTP の作成 - - 寄付ボタンの削除 - -KeePassDX Pro は オープンソースかつ広告なしです。 - -プロジェクトは常に発展しています。次のアップデートの開発状況を迷わずチェック: https://github.com/Kunzisoft/KeePassDX/projects - -Issue を送る: https://github.com/Kunzisoft/KeePassDX/issues diff --git a/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen0.jpg b/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen0.jpg deleted file mode 100644 index 02cd235b6..000000000 Binary files a/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen0.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen1.jpg b/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen1.jpg deleted file mode 100644 index 5846b8176..000000000 Binary files a/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen1.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen2.jpg b/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen2.jpg deleted file mode 100644 index 848fa865a..000000000 Binary files a/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen2.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen3.jpg b/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen3.jpg deleted file mode 100644 index e1e8d54af..000000000 Binary files a/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen3.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen4.jpg b/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen4.jpg deleted file mode 100644 index 761f2409f..000000000 Binary files a/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen4.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen5.jpg b/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen5.jpg deleted file mode 100644 index d641733e6..000000000 Binary files a/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen5.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen6.jpg b/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen6.jpg deleted file mode 100644 index 8147d320e..000000000 Binary files a/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen6.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen7.jpg b/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen7.jpg deleted file mode 100644 index 2bffc3de2..000000000 Binary files a/fastlane/pro/metadata/android/ja-JP/images/phoneScreenshots/screen7.jpg and /dev/null differ diff --git a/fastlane/pro/metadata/android/ja-JP/short_description.txt b/fastlane/pro/metadata/android/ja-JP/short_description.txt deleted file mode 100644 index aeefd623a..000000000 --- a/fastlane/pro/metadata/android/ja-JP/short_description.txt +++ /dev/null @@ -1 +0,0 @@ -KeePassDX の Pro バージョン。安全かつオープンソースのパスワード マネージャー