added multiple language support

Arabic
French
German
Hindi
Japanese
Portuguese
Russian
Simplified Chinese
Spanish
Tamil
This commit is contained in:
Yogesh Choudhary Paliyal
2021-07-04 12:26:46 +05:30
parent fd3138f65a
commit 1bf291459a
41 changed files with 111 additions and 387 deletions

2
.idea/gradle.xml generated
View File

@@ -4,7 +4,7 @@
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="testRunner" value="GRADLE" />
<option name="testRunner" value="PLATFORM" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="JDK" />

View File

@@ -26,5 +26,10 @@
<option name="name" value="maven" />
<option name="url" value="https://jitpack.io" />
</remote-repository>
<remote-repository>
<option name="id" value="maven2" />
<option name="name" value="maven2" />
<option name="url" value="https://maven.localazy.com/repository/release/" />
</remote-repository>
</component>
</project>

2
.idea/misc.xml generated
View File

@@ -11,7 +11,7 @@
</map>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">

10
.idea/runConfigurations.xml generated Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RunConfigurationProducerService">
<option name="ignoredProducers">
<set>
<option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" />
</set>
</option>
</component>
</project>

7
app/.localazy Normal file
View File

@@ -0,0 +1,7 @@
[packages]
com.yogeshpaliyal.keypass = raa
[localazy]
allStringsUploaded = true
showWelcomeMessage = false

View File

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

View File

@@ -11,8 +11,7 @@
android:supportsRtl="true"
android:theme="@style/Theme.KeyPass">
<activity
android:name=".ui.backup.BackupActivity"
android:label="@string/title_activity_backup"/>
android:name=".ui.backup.BackupActivity"/>
<activity android:name=".ui.generate.GeneratePasswordActivity" />
<activity android:name=".ui.auth.AuthenticationActivity">
<intent-filter>

View File

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

View File

@@ -102,7 +102,7 @@ class BackupActivity : AppCompatActivity() {
findPreference<Preference>("start_backup")?.isVisible = isBackupEnabled.not()
findPreference<Preference>("create_backup")?.isVisible = isBackupEnabled
findPreference<Preference>("create_backup")?.summary = "Last backup : ${getBackupTime(sp).formatCalendar("dd MMM yyyy hh:mm aa")}"
findPreference<Preference>("create_backup")?.summary = getString(R.string.last_backup_date,getBackupTime(sp).formatCalendar("dd MMM yyyy hh:mm aa"))
findPreference<Preference>("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(){

View File

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

View File

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

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorOnPrimarySurface" android:alpha="?attr/emphasisDisabledAlpha" />
</selector>

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorOnPrimarySurface" android:alpha="?attr/emphasisHighAlpha" />
</selector>

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorOnSurface" android:alpha="0.1" />
</selector>

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorOnSurface" android:alpha="?attr/emphasisDisabledAlpha" />
</selector>

View File

@@ -1,30 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="85.84757"
android:endY="92.4963"
android:startX="42.9492"
android:startY="49.59793"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0" />
<item
android:color="#00000000"
android:offset="1.0" />
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
android:strokeWidth="1"
android:strokeColor="#00000000" />
</vector>

View File

@@ -1,10 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M19.35,10.04C18.67,6.59 15.64,4 12,4 9.11,4 6.6,5.64 5.35,8.04 2.34,8.36 0,10.91 0,14c0,3.31 2.69,6 6,6h13c2.76,0 5,-2.24 5,-5 0,-2.64 -2.05,-4.78 -4.65,-4.96zM14,13v4h-4v-4H7l5,-5 5,5h-3z"/>
</vector>

View File

@@ -1,170 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillColor="#3DDC84"
android:pathData="M0,0h108v108h-108z" />
<path
android:fillColor="#00000000"
android:pathData="M9,0L9,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,0L19,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,0L29,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,0L39,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,0L49,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,0L59,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,0L69,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,0L79,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M89,0L89,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M99,0L99,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,9L108,9"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,19L108,19"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,29L108,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,39L108,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,49L108,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,59L108,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,69L108,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,79L108,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,89L108,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,99L108,99"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,29L89,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,39L89,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,49L89,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,59L89,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,69L89,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,79L89,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,19L29,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,19L39,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,19L49,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,19L59,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,19L69,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,19L79,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
</vector>

View File

@@ -1,20 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<group android:scaleX="0.084375"
android:scaleY="0.084375"
android:translateX="32.4"
android:translateY="32.4">
<path
android:pathData="m301,136c0,-24.814 -20.186,-46 -45,-46s-45,21.186 -45,46v45h90z"
android:fillColor="#f9aa33"/>
<path
android:pathData="m256,361c41.367,0 75,-33.647 75,-75v-75h-150v75c0,41.353 33.633,75 75,75zM241,241h30v90h-30z"
android:fillColor="#f9aa33"/>
<path
android:pathData="m251.869,510.828 l4.131,1.172 4.131,-1.172c130.049,-37.163 220.869,-158.163 220.869,-293.236v-187.592h-68.789l-30,-30h-252.422l-30,30h-68.789v187.592c0,135.073 90.82,256.073 220.869,293.236zM151,181h30v-45c0,-41.353 33.633,-76 75,-76s75,34.647 75,76v45h30v105c0,57.891 -47.109,105 -105,105s-105,-47.109 -105,-105z"
android:fillColor="#f9aa33"/>
</group>
</vector>

View File

@@ -1,10 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M13,3c-4.97,0 -9,4.03 -9,9L1,12l3.89,3.89 0.07,0.14L9,12L6,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.93,0 -3.68,-0.79 -4.94,-2.06l-1.42,1.42C8.27,19.99 10.51,21 13,21c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9zM12,8v5l4.25,2.52 0.77,-1.28 -3.52,-2.09L13.5,8z"/>
</vector>

View File

@@ -43,7 +43,7 @@
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Search"
android:hint="@string/search"
android:paddingTop="@dimen/grid_2"
android:paddingBottom="@dimen/grid_2"
android:text="@={viewModel.keyword}" />

View File

@@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.settings_activity.SettingsActivity">
<androidx.fragment.app.FragmentContainerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.yogeshpaliyal.keypass.ui.settings.MySettingsFragment"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -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">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/etAccountName"
@@ -55,7 +55,7 @@
android:layout_width="0dp"
android:id="@+id/tilUsername"
android:layout_height="wrap_content"
android:hint="Username/Email/Phone">
android:hint="@string/username_email_phone">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/etUsername"
@@ -75,7 +75,7 @@
android:layout_width="0dp"
android:id="@+id/tilPassword"
android:layout_height="wrap_content"
android:hint="Password"
android:hint="@string/password"
app:startIconDrawable="@drawable/ic_round_refresh_24"
app:passwordToggleEnabled="true">
@@ -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">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/etTag"
@@ -117,7 +117,7 @@
android:layout_width="0dp"
android:id="@+id/tilWebsite"
android:layout_height="wrap_content"
android:hint="Website url (optional)">
android:hint="@string/website_url_optional">
<com.google.android.material.textfield.TextInputEditText
android:importantForAutofill="no"
@@ -137,7 +137,7 @@
android:layout_width="0dp"
android:id="@+id/tilNotes"
android:layout_height="wrap_content"
android:hint="Notes (optional)">
android:hint="@string/notes_optional">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/etNotes"

View File

@@ -16,7 +16,7 @@
android:textSize="18sp"
android:textColor="@color/keypass_blue_600"
android:id="@+id/txtTitle"
android:text="Alert"/>
android:text="@string/alert"/>
<TextView
android:layout_marginTop="@dimen/grid_2"
@@ -31,7 +31,7 @@
android:textColor="@color/keypass_blue_300"
android:textSize="14sp"
android:id="@+id/txtMessage"
android:text="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?"/>
android:text="@string/copy_keypharse_msg"/>
<TextView
android:layout_marginTop="@dimen/grid_2"

View File

@@ -19,7 +19,7 @@
app:layout_constraintBottom_toTopOf="@+id/illustrator"
app:layout_constraintVertical_bias="0.7"
android:gravity="center"
android:text="No Accounts added, please add from below button"
android:text="@string/message_no_accounts"
app:layout_constrainedWidth="true"
style="@style/TextStyle.Heading"
android:layout_marginHorizontal="@dimen/grid_4"/>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/action_history"
android:title="History"
android:icon="@drawable/ic_twotone_history_24"
app:showAsAction="always"/>
</menu>

View File

@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/action_settings"
android:title="Settings"/>
</menu>

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>

View File

@@ -1,12 +1,4 @@
<resources>
<!-- Reply Preference -->
<string-array name="reply_entries">
<item>Reply</item>
<item>Reply to all</item>
</string-array>
<string-array name="reply_values">
<item>reply</item>
<item>reply_all</item>
</string-array>
</resources>

View File

@@ -14,24 +14,15 @@
-->
<resources>
<dimen name="min_touch_target_size">48dp</dimen>
<dimen name="min_icon_target_padding">12dp</dimen>
<!--BottomAppBar-->
<dimen name="bottom_app_bar_height">56dp</dimen>
<dimen name="bottom_app_bar_fab_cradle_corner_radius">32dp</dimen>
<dimen name="bottom_app_bar_fab_cradle_margin">8dp</dimen>
<dimen name="bottom_app_bar_logo_size">32dp</dimen>
<!--BottomNavigationDrawer-->
<dimen name="navigation_drawer_profile_image_size">48dp</dimen>
<dimen name="navigation_drawer_profile_image_size_padded">32dp</dimen>
<dimen name="navigation_drawer_menu_item_height">56dp</dimen>
<!--Email previews-->
<dimen name="email_sender_profile_image_size">42dp</dimen>
<dimen name="email_recipient_card_popup_elevation">6dp</dimen>
<dimen name="email_recipient_card_popup_elevation_compat">3dp</dimen>
<dimen name="chip_icon_diameter">32dp</dimen>
</resources>

View File

@@ -15,9 +15,5 @@
<resources>
<dimen name="plane_00">0dp</dimen>
<dimen name="plane_01">1dp</dimen>
<dimen name="plane_02">2dp</dimen>
<dimen name="plane_06">6dp</dimen>
<dimen name="plane_08">8dp</dimen>
<dimen name="plane_16">16dp</dimen>
</resources>

View File

@@ -4,7 +4,5 @@
<!--Motion-->
<integer name="keypass_motion_duration_large">300</integer>
<integer name="keypass_motion_duration_medium">225</integer>
<integer name="keypass_motion_duration_small">175</integer>
</resources>

View File

@@ -1,19 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="ShapeAppearanceOverlay.Circle" parent="">
<item name="cornerFamily">rounded</item>
<item name="cornerSize">50%</item>
</style>
<style name="ShapeAppearanceOverlay.Diamond" parent="">
<item name="cornerFamily">cut</item>
<item name="cornerSize">50%</item>
</style>
<style name="ShapeAppearanceOverlay.Cards" parent="">
<item name="cornerFamilyTopLeft">cut</item>
<item name="cornerSizeTopLeft">20%</item>
</style>
<!--Shape-->

View File

@@ -7,28 +7,13 @@
<string name="generate_shortcut_short_label">Generate Password</string>
<string name="retry">Retry</string>
<string name="backup_restored">Backup Restored</string>
<string name="invalid_keyphrase">Invalid Keyphrase</string>
<string name="backup_completed">Backup Completed</string>
<string name="title_activity_backup">BackupActivity</string>
<!-- Preference Titles -->
<string name="messages_header">Messages</string>
<string name="sync_header">Sync</string>
<!-- Messages Preferences -->
<string name="signature_title">Your signature</string>
<string name="reply_title">Default reply action</string>
<!-- Sync Preferences -->
<string name="sync_title">Sync email periodically</string>
<string name="attachment_title">Download incoming attachments</string>
<string name="attachment_summary_on">Automatically download attachments for incoming emails
</string>
<string name="attachment_summary_off">Only download attachments when manually requested</string>
<string name="credentials_backups">Credentials Backups</string>
<string name="credentials_backups_desc">Backup Credentials to external storage</string>
<string name="restore_credentials">Restore Credentials</string>
@@ -44,4 +29,34 @@
<string name="symbols">Symbols</string>
<string name="numbers">Numbers</string>
<string name="copied_to_clipboard">Copied to clipboard</string>
<string name="login_to_enter_keypass">Login to enter KeyPass</string>
<string name="authentication_failed">Authentication failed</string>
<string name="last_backup_date">Last backup : %s</string>
<string name="coming_soon">Coming Soon</string>
<string name="delete_account_title">Are you sure?</string>
<string name="delete_account_msg">Do you really want to delete this entry, it can\'t be restored</string>
<string name="cancel">Cancel</string>
<string name="feedback_to_keypass">Feedback to KeyPass</string>
<string name="share_keypass">Share KeyPass</string>
<string name="message_no_accounts">No Accounts added, please add from below button</string>
<string name="turn_off_backup">Turn Off Backups</string>
<string name="verify_keyphrase">Verify backup passphrase</string>
<string name="verify_keyphrase_message">Test your backup passphrase and verify that it matches</string>
<string name="backup_folder">Backup Folder</string>
<string name="backup">Backup</string>
<string name="turn_on_backup">Turn On Backups</string>
<string name="backup_desc">Backups are encrypted with a passphrase and stored on your device</string>
<string name="yes">Yes</string>
<string name="create_backup">Create Backup</string>
<string name="alert">Alert</string>
<string name="copy_keypharse_msg">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?</string>
<string name="help">Help</string>
<string name="security">Security</string>
<string name="search">Search</string>
<string name="account_name">Account Name</string>
<string name="username_email_phone">Username/Email/Phone</string>
<string name="tags_comma_separated_optional">Tags comma separated (optional)</string>
<string name="website_url_optional">Website url (optional)</string>
<string name="notes_optional">Notes (optional)</string>
</resources>

View File

@@ -63,14 +63,4 @@
<!-- Customize your theme here. -->
</style>
<style name="Theme.KeyPass.Widget.BottomAppbar" parent="Widget.MaterialComponents.BottomAppBar">
<item name="backgroundTint">?attr/colorOnPrimary</item>
<item name="materialThemeOverlay">@style/ThemeOverlay.BottomAppBar.Primary</item>
</style>
<style name="ThemeOverlay.BottomAppBar.Primary" parent="">
<item name="colorControlNormal">?attr/colorPrimary</item>
<item name="actionMenuTextColor">?attr/colorPrimary</item>
</style>
</resources>

View File

@@ -4,33 +4,33 @@
<PreferenceCategory>
<Preference
app:summary="Backups are encrypted with a passphrase and stored on your device"/>
app:summary="@string/backup_desc"/>
<Preference
app:key="start_backup"
app:title="Turn On Backups"/>
app:title="@string/turn_on_backup"/>
<Preference
app:key="create_backup"
app:title="Create Backup"
app:title="@string/create_backup"
tools:summary="Last backup : 7m"/>
<Preference
app:key="backup_folder"
app:title="Backup Folder"
tools:summary="Backup"/>
app:title="@string/backup_folder"
tools:summary="@string/backup"/>
<Preference
app:key="@string/settings_verify_key_phrase"
app:title="Verify backup passphrase"
app:summary="Test your backup passphrase and verify that it matches"/>
app:title="@string/verify_keyphrase"
app:summary="@string/verify_keyphrase_message"/>
<Preference
app:key="stop_backup"
app:isPreferenceVisible="false"
app:title="Turn Off Backups"/>
app:title="@string/turn_off_backup"/>
</PreferenceCategory>
</PreferenceScreen>

View File

@@ -4,7 +4,7 @@
<PreferenceCategory
app:key="security_category"
app:title="Security">
app:title="@string/security">
<Preference
app:key="@string/settings_backup"
@@ -19,7 +19,7 @@
<PreferenceCategory
app:key="help_category"
app:title="Help">
app:title="@string/help">
<Preference
app:key="@string/settings_feedback"

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<autofill-service
xmlns:android="http://schemas.android.com/apk/res/android"
android:settingsActivity="com.yogeshpaliyal.keypass.ui.settings_activity.SettingsActivity"/>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">KeyPass</string>
<string name="app_name" translatable="false">KeyPass</string>
</resources>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Staging KeyPass</string>
<string name="app_name" translatable="false">Staging KeyPass</string>
</resources>

View File

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