working on backup update

This commit is contained in:
Yogesh Paliyal
2021-03-07 10:58:45 +05:30
parent 85ae2874e2
commit 0f0e0e83bd
12 changed files with 153 additions and 38 deletions
+8 -17
View File
@@ -10,7 +10,10 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.KeyPass">
<activity android:name=".ui.settings_activity.SettingsActivity"></activity>
<activity
android:name=".ui.backup.BackupActivity"
android:label="@string/title_activity_backup"></activity>
<activity android:name=".ui.settings_activity.SettingsActivity" />
<activity android:name=".ui.generate.GeneratePasswordActivity" />
<activity android:name=".ui.auth.AuthenticationActivity">
<intent-filter>
@@ -25,26 +28,14 @@
</activity>
<activity
android:name=".ui.nav.DashboardActivity"
android:windowSoftInputMode="adjustPan"/>
<activity android:name=".ui.detail.DetailActivity"
android:windowSoftInputMode="adjustResize"/>
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.detail.DetailActivity"
android:windowSoftInputMode="adjustResize" />
<meta-data
android:name="preloaded_fonts"
android:resource="@array/preloaded_fonts" />
<!-- <service
android:name=".service.BasicService"
android:label="KeyPass Autofill"
android:permission="android.permission.BIND_AUTOFILL_SERVICE">
<intent-filter>
<action android:name="android.service.autofill.AutofillService" />
</intent-filter>
<meta-data
android:name="android.autofill"
android:resource="@xml/service_configuration" />
</service>-->
</application>
</manifest>
@@ -0,0 +1,57 @@
package com.yogeshpaliyal.keypass.ui.backup
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
import com.yogeshpaliyal.keypass.R
import com.yogeshpaliyal.keypass.utils.canUserAccessBackupDirectory
import com.yogeshpaliyal.keypass.utils.getBackupDirectory
class BackupActivity : AppCompatActivity() {
companion object {
@JvmStatic
fun start(context: Context?) {
val starter = Intent(context, BackupActivity::class.java)
context?.startActivity(starter)
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.backup_activity)
if (savedInstanceState == null) {
supportFragmentManager
.beginTransaction()
.replace(R.id.settings, SettingsFragment())
.commit()
}
supportActionBar?.setDisplayHomeAsUpEnabled(true)
}
class SettingsFragment : PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.backup_preferences, rootKey)
val selectedDirectory = Uri.parse(getBackupDirectory())
if (context?.canUserAccessBackupDirectory() == true) {
// already backup on
findPreference<Preference>("create_backup")?.isVisible = true
findPreference<Preference>("backup_folder")?.isVisible = true
findPreference<Preference>("settings_verify_key_phrase")?.isVisible = true
findPreference<Preference>("start_backup")?.isVisible = false
} else {
// backup is off
findPreference<Preference>("create_backup")?.isVisible = false
findPreference<Preference>("backup_folder")?.isVisible = false
findPreference<Preference>("settings_verify_key_phrase")?.isVisible = false
findPreference<Preference>("start_backup")?.isVisible = true
}
}
}
}
@@ -22,6 +22,7 @@ import com.yogeshpaliyal.keypass.databinding.LayoutBackupKeypharseBinding
import com.yogeshpaliyal.keypass.databinding.LayoutRestoreKeypharseBinding
import com.yogeshpaliyal.keypass.db_helper.createBackup
import com.yogeshpaliyal.keypass.db_helper.restoreBackup
import com.yogeshpaliyal.keypass.ui.backup.BackupActivity
import com.yogeshpaliyal.keypass.utils.*
import kotlinx.coroutines.launch
@@ -42,7 +43,7 @@ class MySettingsFragment : PreferenceFragmentCompat() {
}
"backup" -> {
selectBackupDirectory()
BackupActivity.start(context)
return true
}
@@ -1,12 +0,0 @@
package com.yogeshpaliyal.keypass.ui.settings_activity
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.yogeshpaliyal.keypass.R
class SettingsActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_settings)
}
}
@@ -0,0 +1,9 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/settings"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
+12
View File
@@ -0,0 +1,12 @@
<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>
+16
View File
@@ -14,4 +14,20 @@
<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>
</resources>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="settings_backup" translatable="false">backup</string>
<string name="settings_verify_key_phrase" translatable="false">settings_verify_key_phrase</string>
<string name="settings_restore_backup" translatable="false">restore_backup</string>
<string name="settings_feedback" translatable="false">feedback</string>
<string name="settings_share_app" translatable="false">share</string>
</resources>
@@ -0,0 +1,32 @@
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<PreferenceCategory>
<Preference
app:summary="Backups are encrypted with a passphrase and stored on your device"/>
<Preference
app:key="start_backup"
app:title="Turn On Backups"/>
<Preference
app:key="create_backup"
app:title="Create Backup"
tools:summary="Last backup : 7m"/>
<Preference
app:key="backup_folder"
app:title="Backup Folder"
tools:summary="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"/>
</PreferenceCategory>
</PreferenceScreen>
+7 -7
View File
@@ -7,13 +7,13 @@
app:title="Security">
<Preference
app:key="backup"
app:title="Backup"
app:summary="Backup your credentials in encrypted file" />
app:key="@string/settings_backup"
app:title="Credentials Backups"
app:summary="Backup Credentials to external storage" />
<Preference
app:key="restore"
app:title="Restore"
app:key="@string/settings_restore_backup"
app:title="Restore Credentials"
app:summary="Restore your backup" />
</PreferenceCategory>
@@ -22,13 +22,13 @@
app:title="Help">
<Preference
app:key="feedback"
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" />
<Preference
app:key="share"
app:key="@string/settings_share_app"
app:icon="@drawable/ic_baseline_share_24"
app:title="Share"
app:summary="Share app with others" />