diff --git a/.idea/gradle.xml b/.idea/gradle.xml index c6e0331b..42d66cb8 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -4,7 +4,7 @@ \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 097b1918..c9deb9dc 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -11,7 +11,7 @@ - + diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 00000000..797acea5 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/app/.localazy b/app/.localazy new file mode 100644 index 00000000..8ea95dc3 --- /dev/null +++ b/app/.localazy @@ -0,0 +1,7 @@ +[packages] +com.yogeshpaliyal.keypass = raa + +[localazy] +allStringsUploaded = true +showWelcomeMessage = false + diff --git a/app/build.gradle b/app/build.gradle index 00878c7b..859d9196 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,6 +4,8 @@ plugins { id 'kotlin-kapt' id 'androidx.navigation.safeargs.kotlin' id("dagger.hilt.android.plugin") + id('com.localazy.gradle') + } @@ -72,6 +74,22 @@ android { } +localazy { + readKey "a8585039528314004437-93bb583478538d638f0264fde335214df735ed022d2e0402513997eccc9ad9de" + writeKey "a8585039528314004437-d2f4d2808ebe867cf24aceaaea58be99055fcb39bcac32c74b0e983b147acc5c" + + injection { + dontCheckInternetPermission true + } + + upload { + files { + exclude "*/font_certs.xml" + } + } + +} + dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c4771d3e..5b0b8449 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -11,8 +11,7 @@ android:supportsRtl="true" android:theme="@style/Theme.KeyPass"> + android:name=".ui.backup.BackupActivity"/> diff --git a/app/src/main/java/com/yogeshpaliyal/keypass/ui/auth/AuthenticationActivity.kt b/app/src/main/java/com/yogeshpaliyal/keypass/ui/auth/AuthenticationActivity.kt index d7c3da91..c1a7620c 100644 --- a/app/src/main/java/com/yogeshpaliyal/keypass/ui/auth/AuthenticationActivity.kt +++ b/app/src/main/java/com/yogeshpaliyal/keypass/ui/auth/AuthenticationActivity.kt @@ -56,7 +56,7 @@ class AuthenticationActivity : AppCompatActivity() { override fun onAuthenticationFailed() { super.onAuthenticationFailed() Toast.makeText( - applicationContext, "Authentication failed", + applicationContext, getString(R.string.authentication_failed), Toast.LENGTH_SHORT ) .show() @@ -66,7 +66,7 @@ class AuthenticationActivity : AppCompatActivity() { promptInfo = BiometricPrompt.PromptInfo.Builder() .setTitle(getString(R.string.app_name)) - .setSubtitle("Login to enter KeyPass") + .setSubtitle(getString(R.string.login_to_enter_keypass)) .setDeviceCredentialAllowed(true) .build() diff --git a/app/src/main/java/com/yogeshpaliyal/keypass/ui/backup/BackupActivity.kt b/app/src/main/java/com/yogeshpaliyal/keypass/ui/backup/BackupActivity.kt index 72573ff0..2a82d823 100644 --- a/app/src/main/java/com/yogeshpaliyal/keypass/ui/backup/BackupActivity.kt +++ b/app/src/main/java/com/yogeshpaliyal/keypass/ui/backup/BackupActivity.kt @@ -102,7 +102,7 @@ class BackupActivity : AppCompatActivity() { findPreference("start_backup")?.isVisible = isBackupEnabled.not() findPreference("create_backup")?.isVisible = isBackupEnabled - findPreference("create_backup")?.summary = "Last backup : ${getBackupTime(sp).formatCalendar("dd MMM yyyy hh:mm aa")}" + findPreference("create_backup")?.summary = getString(R.string.last_backup_date,getBackupTime(sp).formatCalendar("dd MMM yyyy hh:mm aa")) findPreference("backup_folder")?.isVisible = isBackupEnabled val directory = URLDecoder.decode(getBackupDirectory(sp),"utf-8").split("/") val folderName = directory.get(directory.lastIndex) @@ -171,11 +171,11 @@ class BackupActivity : AppCompatActivity() { ) val clip = ClipData.newPlainText("KeyPass", binding.txtCode.text) clipboard?.setPrimaryClip(clip) - Toast.makeText(context, "Copied to clipboard", Toast.LENGTH_SHORT).show() + Toast.makeText(context, getString(R.string.copied_to_clipboard), Toast.LENGTH_SHORT).show() } MaterialAlertDialogBuilder(requireContext()).setView(binding.root) .setPositiveButton( - "Yes" + getString(R.string.yes) ) { dialog, which -> dialog?.dismiss() }.show() }else{ @@ -192,7 +192,7 @@ class BackupActivity : AppCompatActivity() { } private fun verifyKeyPhrase(){ - Toast.makeText(context, "Under Development", Toast.LENGTH_SHORT).show() + Toast.makeText(context, getString(R.string.coming_soon), Toast.LENGTH_SHORT).show() } private fun stopBackup(){ diff --git a/app/src/main/java/com/yogeshpaliyal/keypass/ui/detail/DetailActivity.kt b/app/src/main/java/com/yogeshpaliyal/keypass/ui/detail/DetailActivity.kt index 82db216d..b28f8998 100644 --- a/app/src/main/java/com/yogeshpaliyal/keypass/ui/detail/DetailActivity.kt +++ b/app/src/main/java/com/yogeshpaliyal/keypass/ui/detail/DetailActivity.kt @@ -108,10 +108,10 @@ class DetailActivity : AppCompatActivity() { private fun deleteAccount() { MaterialAlertDialogBuilder(this) - .setTitle("Are you sure?") - .setMessage("Do you really want to delete this entry, it can't be restored") + .setTitle(getString(R.string.delete_account_title)) + .setMessage(getString(R.string.delete_account_msg)) .setPositiveButton( - "Delete" + getString(R.string.delete) ) { dialog, which -> dialog?.dismiss() lifecycleScope.launch(Dispatchers.IO) { @@ -123,7 +123,7 @@ class DetailActivity : AppCompatActivity() { } } } - .setNegativeButton("Cancel") { dialog, which -> + .setNegativeButton(getString(R.string.cancel)) { dialog, which -> dialog.dismiss() }.show() diff --git a/app/src/main/java/com/yogeshpaliyal/keypass/ui/settings/MySettingsFragment.kt b/app/src/main/java/com/yogeshpaliyal/keypass/ui/settings/MySettingsFragment.kt index c9595c71..bb9189e7 100644 --- a/app/src/main/java/com/yogeshpaliyal/keypass/ui/settings/MySettingsFragment.kt +++ b/app/src/main/java/com/yogeshpaliyal/keypass/ui/settings/MySettingsFragment.kt @@ -44,7 +44,7 @@ class MySettingsFragment : PreferenceFragmentCompat() { override fun onPreferenceTreeClick(preference: Preference?): Boolean { when(preference?.key){ "feedback" -> { - context?.email("Feedback to KeyPass", "yogeshpaliyal.foss@gmail.com") + context?.email(getString(R.string.feedback_to_keypass), "yogeshpaliyal.foss@gmail.com") return true } @@ -66,7 +66,7 @@ class MySettingsFragment : PreferenceFragmentCompat() { "KeyPass Password Manager\n Offline, Secure, Open Source https://play.google.com/store/apps/details?id=" + BuildConfig.APPLICATION_ID ) sendIntent.type = "text/plain" - startActivity(Intent.createChooser(sendIntent, "Share KeyPass")) + startActivity(Intent.createChooser(sendIntent, getString(R.string.share_keypass))) return true } } diff --git a/app/src/main/res/color/color_on_primary_surface_emphasis_disabled.xml b/app/src/main/res/color/color_on_primary_surface_emphasis_disabled.xml deleted file mode 100644 index c1ab9777..00000000 --- a/app/src/main/res/color/color_on_primary_surface_emphasis_disabled.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/color/color_on_primary_surface_emphasis_high.xml b/app/src/main/res/color/color_on_primary_surface_emphasis_high.xml deleted file mode 100644 index 3f2defc7..00000000 --- a/app/src/main/res/color/color_on_primary_surface_emphasis_high.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/color/color_on_surface_divider.xml b/app/src/main/res/color/color_on_surface_divider.xml deleted file mode 100644 index af8e6c87..00000000 --- a/app/src/main/res/color/color_on_surface_divider.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/color/color_on_surface_emphasis_disabled.xml b/app/src/main/res/color/color_on_surface_emphasis_disabled.xml deleted file mode 100644 index ab24b211..00000000 --- a/app/src/main/res/color/color_on_surface_emphasis_disabled.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml deleted file mode 100644 index 2b068d11..00000000 --- a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_baseline_backup_24.xml b/app/src/main/res/drawable/ic_baseline_backup_24.xml deleted file mode 100644 index 28965168..00000000 --- a/app/src/main/res/drawable/ic_baseline_backup_24.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml deleted file mode 100644 index 07d5da9c..00000000 --- a/app/src/main/res/drawable/ic_launcher_background.xml +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml deleted file mode 100644 index 1f5b0e73..00000000 --- a/app/src/main/res/drawable/ic_launcher_foreground.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - diff --git a/app/src/main/res/drawable/ic_twotone_history_24.xml b/app/src/main/res/drawable/ic_twotone_history_24.xml deleted file mode 100644 index 7ba63257..00000000 --- a/app/src/main/res/drawable/ic_twotone_history_24.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/main/res/layout/activity_dashboard.xml b/app/src/main/res/layout/activity_dashboard.xml index 226c847a..5ffb6c66 100644 --- a/app/src/main/res/layout/activity_dashboard.xml +++ b/app/src/main/res/layout/activity_dashboard.xml @@ -43,7 +43,7 @@ diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml deleted file mode 100644 index d7618220..00000000 --- a/app/src/main/res/layout/activity_settings.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_detail.xml b/app/src/main/res/layout/fragment_detail.xml index 4f7571eb..48c8e1fd 100644 --- a/app/src/main/res/layout/fragment_detail.xml +++ b/app/src/main/res/layout/fragment_detail.xml @@ -35,7 +35,7 @@ android:layout_width="0dp" android:id="@+id/tilAccountName" android:layout_height="wrap_content" - android:hint="Account Name"> + android:hint="@string/account_name"> + android:hint="@string/username_email_phone"> @@ -97,7 +97,7 @@ android:layout_width="0dp" android:id="@+id/tilTags" android:layout_height="wrap_content" - android:hint="Tags comma separated (optional)"> + android:hint="@string/tags_comma_separated_optional"> + android:hint="@string/website_url_optional"> + android:hint="@string/notes_optional"> + android:text="@string/alert"/> + android:text="@string/copy_keypharse_msg"/> diff --git a/app/src/main/res/menu/bottom_app_bar_home_menu.xml b/app/src/main/res/menu/bottom_app_bar_home_menu.xml deleted file mode 100644 index e0075af1..00000000 --- a/app/src/main/res/menu/bottom_app_bar_home_menu.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/menu/menu_bottom_nav.xml b/app/src/main/res/menu/menu_bottom_nav.xml deleted file mode 100644 index 5ae8e2f3..00000000 --- a/app/src/main/res/menu/menu_bottom_nav.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/values-hi/string.xml b/app/src/main/res/values-hi/string.xml new file mode 100644 index 00000000..a6b3daec --- /dev/null +++ b/app/src/main/res/values-hi/string.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 6cf9ed48..a082d2e0 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -1,12 +1,4 @@ - - Reply - Reply to all - - - reply - reply_all - \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 28727fe5..1b1859e6 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -14,24 +14,15 @@ --> - 48dp - 12dp - 56dp 32dp 8dp - 32dp - 48dp - 32dp 56dp - 42dp - 6dp - 3dp 32dp diff --git a/app/src/main/res/values/elevation.xml b/app/src/main/res/values/elevation.xml index 75b82ded..8dc7e990 100644 --- a/app/src/main/res/values/elevation.xml +++ b/app/src/main/res/values/elevation.xml @@ -15,9 +15,5 @@ 0dp - 1dp - 2dp - 6dp - 8dp 16dp \ No newline at end of file diff --git a/app/src/main/res/values/motion.xml b/app/src/main/res/values/motion.xml index 1ebaa392..29d608a1 100644 --- a/app/src/main/res/values/motion.xml +++ b/app/src/main/res/values/motion.xml @@ -4,7 +4,5 @@ 300 - 225 - 175 \ No newline at end of file diff --git a/app/src/main/res/values/shapes.xml b/app/src/main/res/values/shapes.xml index 3c6f39be..00e5e541 100644 --- a/app/src/main/res/values/shapes.xml +++ b/app/src/main/res/values/shapes.xml @@ -1,19 +1,5 @@ - - - - - diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6022f7c9..a6016069 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -7,28 +7,13 @@ Generate Password - Retry Backup Restored Invalid Keyphrase Backup Completed - BackupActivity - - - Messages - Sync - - - Your signature - Default reply action - Sync email periodically - Download incoming attachments - Automatically download attachments for incoming emails - - Only download attachments when manually requested Credentials Backups Backup Credentials to external storage Restore Credentials @@ -44,4 +29,34 @@ Symbols Numbers Copied to clipboard + Login to enter KeyPass + Authentication failed + + Last backup : %s + Coming Soon + Are you sure? + Do you really want to delete this entry, it can\'t be restored + Cancel + Feedback to KeyPass + Share KeyPass + No Accounts added, please add from below button + Turn Off Backups + Verify backup passphrase + Test your backup passphrase and verify that it matches + Backup Folder + Backup + Turn On Backups + Backups are encrypted with a passphrase and stored on your device + Yes + Create Backup + Alert + Copy This Key Phrase this will be used to recover this backup, this will not be provided by KeyPass Again, have you copied or written down? + Help + Security + Search + Account Name + Username/Email/Phone + Tags comma separated (optional) + Website url (optional) + Notes (optional) \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 81a3994c..a5bbce94 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -63,14 +63,4 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/xml/backup_preferences.xml b/app/src/main/res/xml/backup_preferences.xml index d13a7e16..aaad0984 100644 --- a/app/src/main/res/xml/backup_preferences.xml +++ b/app/src/main/res/xml/backup_preferences.xml @@ -4,33 +4,33 @@ + app:summary="@string/backup_desc"/> + app:title="@string/turn_on_backup"/> + app:title="@string/backup_folder" + tools:summary="@string/backup"/> + app:title="@string/verify_keyphrase" + app:summary="@string/verify_keyphrase_message"/> + app:title="@string/turn_off_backup"/> \ No newline at end of file diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index f1b9e542..6616eab7 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -4,7 +4,7 @@ + app:title="@string/security"> + app:title="@string/help"> - \ No newline at end of file diff --git a/app/src/production/res/values/strings.xml b/app/src/production/res/values/strings.xml index 0c073804..cb22809a 100644 --- a/app/src/production/res/values/strings.xml +++ b/app/src/production/res/values/strings.xml @@ -1,5 +1,5 @@ - KeyPass + KeyPass \ No newline at end of file diff --git a/app/src/staging/res/values/strings.xml b/app/src/staging/res/values/strings.xml index 8f8e5078..f124ba3d 100644 --- a/app/src/staging/res/values/strings.xml +++ b/app/src/staging/res/values/strings.xml @@ -1,5 +1,5 @@ - Staging KeyPass + Staging KeyPass \ No newline at end of file diff --git a/build.gradle b/build.gradle index 1fa2dfd1..bd39ddbd 100644 --- a/build.gradle +++ b/build.gradle @@ -12,6 +12,7 @@ buildscript { repositories { google() jcenter() + maven { url "https://maven.localazy.com/repository/release/" } } dependencies { classpath "com.android.tools.build:gradle:4.1.3" @@ -21,6 +22,7 @@ buildscript { classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version" + classpath "com.localazy:gradle:1.5.3" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files