Merge pull request #723 from grote/allow-restore
Allow restore whenever the user feels like it
This commit is contained in:
commit
dc9391deef
6 changed files with 3 additions and 62 deletions
|
@ -4,8 +4,6 @@
|
||||||
SPDX-License-Identifier: Apache-2.0
|
SPDX-License-Identifier: Apache-2.0
|
||||||
-->
|
-->
|
||||||
<resources>
|
<resources>
|
||||||
<bool name="show_restore_in_settings">true</bool>
|
|
||||||
|
|
||||||
<string-array name="storage_authority_whitelist">
|
<string-array name="storage_authority_whitelist">
|
||||||
<item>com.android.externalstorage.documents</item>
|
<item>com.android.externalstorage.documents</item>
|
||||||
<item>org.nextcloud.documents</item>
|
<item>org.nextcloud.documents</item>
|
||||||
|
|
|
@ -154,18 +154,6 @@
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</receiver>
|
</receiver>
|
||||||
|
|
||||||
<receiver
|
|
||||||
android:name=".SecretCodeReceiver"
|
|
||||||
android:exported="true">
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="android.telephony.action.SECRET_CODE" />
|
|
||||||
<!-- *#*#RESTORE#*#* -->
|
|
||||||
<data
|
|
||||||
android:host="7378673"
|
|
||||||
android:scheme="android_secret_code" />
|
|
||||||
</intent-filter>
|
|
||||||
</receiver>
|
|
||||||
|
|
||||||
<!-- Used by Workmanager to schedule our workers -->
|
<!-- Used by Workmanager to schedule our workers -->
|
||||||
<service
|
<service
|
||||||
android:name="androidx.work.impl.foreground.SystemForegroundService"
|
android:name="androidx.work.impl.foreground.SystemForegroundService"
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
/*
|
|
||||||
* SPDX-FileCopyrightText: 2020 The Calyx Institute
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.stevesoltys.seedvault
|
|
||||||
|
|
||||||
import android.content.BroadcastReceiver
|
|
||||||
import android.content.Context
|
|
||||||
import android.content.Intent
|
|
||||||
import android.content.Intent.FLAG_ACTIVITY_NEW_TASK
|
|
||||||
import android.util.Log
|
|
||||||
import com.stevesoltys.seedvault.restore.RestoreActivity
|
|
||||||
|
|
||||||
private val TAG = BroadcastReceiver::class.java.simpleName
|
|
||||||
private const val RESTORE_SECRET_CODE = "7378673"
|
|
||||||
|
|
||||||
class SecretCodeReceiver : BroadcastReceiver() {
|
|
||||||
|
|
||||||
override fun onReceive(context: Context, intent: Intent) {
|
|
||||||
if (intent.data?.host != RESTORE_SECRET_CODE) return
|
|
||||||
Log.d(TAG, "Restore secret code received.")
|
|
||||||
val i = Intent(context, RestoreActivity::class.java).apply {
|
|
||||||
flags = FLAG_ACTIVITY_NEW_TASK
|
|
||||||
}
|
|
||||||
context.startActivity(i)
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -209,9 +209,6 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
||||||
inflater.inflate(R.menu.settings_menu, menu)
|
inflater.inflate(R.menu.settings_menu, menu)
|
||||||
menuBackupNow = menu.findItem(R.id.action_backup)
|
menuBackupNow = menu.findItem(R.id.action_backup)
|
||||||
menuRestore = menu.findItem(R.id.action_restore)
|
menuRestore = menu.findItem(R.id.action_restore)
|
||||||
if (resources.getBoolean(R.bool.show_restore_in_settings)) {
|
|
||||||
menuRestore?.isVisible = true
|
|
||||||
}
|
|
||||||
viewModel.backupPossible.observe(viewLifecycleOwner) { possible ->
|
viewModel.backupPossible.observe(viewLifecycleOwner) { possible ->
|
||||||
menuBackupNow?.isEnabled = possible
|
menuBackupNow?.isEnabled = possible
|
||||||
menuRestore?.isEnabled = possible
|
menuRestore?.isEnabled = possible
|
||||||
|
|
|
@ -1,11 +1,9 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?><!--
|
||||||
<!--
|
|
||||||
SPDX-FileCopyrightText: 2020 The Calyx Institute
|
SPDX-FileCopyrightText: 2020 The Calyx Institute
|
||||||
SPDX-License-Identifier: Apache-2.0
|
SPDX-License-Identifier: Apache-2.0
|
||||||
-->
|
-->
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
xmlns:tools="http://schemas.android.com/tools">
|
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_backup"
|
android:id="@+id/action_backup"
|
||||||
|
@ -17,9 +15,7 @@
|
||||||
android:id="@+id/action_restore"
|
android:id="@+id/action_restore"
|
||||||
android:enabled="false"
|
android:enabled="false"
|
||||||
android:title="@string/restore_backup_button"
|
android:title="@string/restore_backup_button"
|
||||||
android:visible="false"
|
app:showAsAction="never" />
|
||||||
app:showAsAction="never"
|
|
||||||
tools:visible="true" />
|
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_settings_expert"
|
android:id="@+id/action_settings_expert"
|
||||||
|
|
|
@ -4,16 +4,6 @@
|
||||||
SPDX-License-Identifier: Apache-2.0
|
SPDX-License-Identifier: Apache-2.0
|
||||||
-->
|
-->
|
||||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||||
<!--
|
|
||||||
Normally, restoring from backup is only available during initial device setup.
|
|
||||||
You can make it always available at your own risk.
|
|
||||||
Keep in mind that the Auto-Restore feature works independently from this.
|
|
||||||
|
|
||||||
Launch an intent with the action "com.stevesoltys.seedvault.RESTORE_BACKUP"
|
|
||||||
to trigger restore during device setup.
|
|
||||||
-->
|
|
||||||
<bool name="show_restore_in_settings">false</bool>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Add only storage here that is also available
|
Add only storage here that is also available
|
||||||
when restoring from backup (e.g. initial device setup)
|
when restoring from backup (e.g. initial device setup)
|
||||||
|
|
Loading…
Reference in a new issue