updated backup flow

This commit is contained in:
Yogesh Paliyal
2021-03-25 20:36:19 +05:30
parent c6405ae5df
commit 076f991d3e
8 changed files with 59 additions and 24 deletions
+1 -1
View File
@@ -11,7 +11,7 @@ plugins {
def appPackageId = 'com.yogeshpaliyal.keypass'
def versionMajor = 1
def versionMinor = 3
def versionPatch = 1
def versionPatch = 2
def appVersion = "${versionMajor}.${versionMinor}.${versionPatch}"
def appVersionCode = versionMajor * 1000 + versionMinor * 100 + versionPatch
@@ -17,10 +17,12 @@ import androidx.preference.PreferenceFragmentCompat
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.yogeshpaliyal.keypass.AppDatabase
import com.yogeshpaliyal.keypass.R
import com.yogeshpaliyal.keypass.databinding.BackupActivityBinding
import com.yogeshpaliyal.keypass.databinding.LayoutBackupKeypharseBinding
import com.yogeshpaliyal.keypass.db_helper.createBackup
import com.yogeshpaliyal.keypass.utils.*
import kotlinx.coroutines.launch
import java.net.URLDecoder
class BackupActivity : AppCompatActivity() {
@@ -32,9 +34,17 @@ class BackupActivity : AppCompatActivity() {
}
}
private lateinit var binding: BackupActivityBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.backup_activity)
binding = BackupActivityBinding.inflate(layoutInflater)
setContentView(binding.root)
setSupportActionBar(binding.toolbar)
binding.toolbar.setNavigationOnClickListener {
onBackPressed()
}
if (savedInstanceState == null) {
supportFragmentManager
.beginTransaction()
@@ -50,8 +60,6 @@ class BackupActivity : AppCompatActivity() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.backup_preferences, rootKey)
val selectedDirectory = Uri.parse(getBackupDirectory())
updateItems()
}
@@ -87,9 +95,12 @@ class BackupActivity : AppCompatActivity() {
findPreference<Preference>("start_backup")?.isVisible = isBackupEnabled.not()
findPreference<Preference>("create_backup")?.isVisible = isBackupEnabled
findPreference<Preference>("create_backup")?.setSummary("Last backup : ${getBackupTime().formatCalendar("dd MMM yyyy hh:mm aa")}")
findPreference<Preference>("create_backup")?.summary = "Last backup : ${getBackupTime().formatCalendar("dd MMM yyyy hh:mm aa")}"
findPreference<Preference>("backup_folder")?.isVisible = isBackupEnabled
findPreference<Preference>("settings_verify_key_phrase")?.isVisible = isBackupEnabled
val directory = URLDecoder.decode(getBackupDirectory(),"utf-8").split("/")
val folderName = directory.get(directory.lastIndex)
findPreference<Preference>("backup_folder")?.summary = folderName
findPreference<Preference>("settings_verify_key_phrase")?.isVisible = false
findPreference<Preference>("stop_backup")?.isVisible = isBackupEnabled
}
@@ -47,7 +47,7 @@ class MySettingsFragment : PreferenceFragmentCompat() {
return true
}
"restore" -> {
getString(R.string.settings_restore_backup) -> {
selectRestoreFile()
return true
}
@@ -68,7 +68,7 @@ fun getOrCreateBackupKey(reset: Boolean = false): Pair<Boolean, String> {
fun clearBackupKey() {
val sp = getSharedPreferences()
sp.edit {
putString(BACKUP_KEY, "")
remove(BACKUP_KEY)
}
}
@@ -3,7 +3,7 @@
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorOnPrimary"
android:tint="?attr/colorControlNormal"
android:autoMirrored="true">
<path
android:fillColor="@android:color/white"
+23 -7
View File
@@ -1,9 +1,25 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<layout>
<FrameLayout
android:id="@+id/settings"
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
android:layout_height="match_parent">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navigationIcon="@drawable/ic_baseline_arrow_back_ios_24"
app:title="@string/credentials_backups" />
<FrameLayout
android:id="@+id/settings"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/toolbar" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
+8
View File
@@ -30,4 +30,12 @@
<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>
<string name="restore_credentials_desc">Restore your backup</string>
<string name="send_feedback">Send feedback</string>
<string name="send_feedback_desc">Report technical issues or suggest new features</string>
<string name="share">Share</string>
<string name="share_desc">Share app with others</string>
</resources>
+8 -8
View File
@@ -8,13 +8,13 @@
<Preference
app:key="@string/settings_backup"
app:title="Credentials Backups"
app:summary="Backup Credentials to external storage" />
app:title="@string/credentials_backups"
app:summary="@string/credentials_backups_desc" />
<Preference
app:key="@string/settings_restore_backup"
app:title="Restore Credentials"
app:summary="Restore your backup" />
app:title="@string/restore_credentials"
app:summary="@string/restore_credentials_desc" />
</PreferenceCategory>
<PreferenceCategory
@@ -24,14 +24,14 @@
<Preference
app:key="@string/settings_feedback"
app:icon="@drawable/ic_baseline_feedback_24"
app:title="Send feedback"
app:summary="Report technical issues or suggest new features" />
app:title="@string/send_feedback"
app:summary="@string/send_feedback_desc" />
<Preference
app:key="@string/settings_share_app"
app:icon="@drawable/ic_baseline_share_24"
app:title="Share"
app:summary="Share app with others" />
app:title="@string/share"
app:summary="@string/share_desc" />
</PreferenceCategory>
</PreferenceScreen>