Merge pull request #278 from seedvault-app/android11-merge-master/11-1.2

11-1.2:
This commit is contained in:
Chirayu Desai 2021-07-05 20:01:17 +05:30 committed by GitHub
commit 8e18b68608
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 73 additions and 29 deletions

View file

@ -23,7 +23,7 @@
### Notes ### Notes
- This contains breaking changes, any backups made prior to this release can no longer be restored. - This contains breaking changes, any backups made prior to this release can no longer be restored.
- Application can no longer be built in the Android source tree. It must be built using Gradle and binaries can now be found here: https://github.com/stevesoltys/seedvault-prebuilt - Application can no longer be built in the Android source tree. It must be built using Gradle and binaries can now be found here: https://github.com/seedvault-app/seedvault-prebuilt
## [0.3.0] - 2019-03-14 ## [0.3.0] - 2019-03-14
### Fixed ### Fixed
@ -38,7 +38,7 @@
## [0.1.2] - 2019-02-11 ## [0.1.2] - 2019-02-11
### Fixed ### Fixed
- Downgrade SDK target version to 26 due to [#15](https://github.com/stevesoltys/seedvault/issues/15). - Downgrade SDK target version to 26 due to [#15](https://github.com/seedvault-app/seedvault/issues/15).
## [0.1.1] - 2019-02-11 ## [0.1.1] - 2019-02-11
### Added ### Added
@ -47,4 +47,4 @@
- Upgrade target SDK version to 28. - Upgrade target SDK version to 28.
### Fixed ### Fixed
- Ignore `com.android.providers.downloads.ui` to resolve [#14](https://github.com/stevesoltys/seedvault/issues/14). - Ignore `com.android.providers.downloads.ui` to resolve [#14](https://github.com/seedvault-app/seedvault/issues/14).

View file

@ -13,10 +13,10 @@ A backup application for the [Android Open Source Project](https://source.androi
- Android 11 - Android 11
For older versions of Android, check out [the branches](https://github.com/stevesoltys/seedvault/branches). For older versions of Android, check out [the branches](https://github.com/seedvault-app/seedvault/branches).
## Getting Started ## Getting Started
- Check out [the wiki](https://github.com/stevesoltys/seedvault/wiki) for information on building the application with - Check out [the wiki](https://github.com/seedvault-app/seedvault/wiki) for information on building the application with
AOSP. AOSP.
## What makes this different? ## What makes this different?

View file

@ -2,8 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
package="com.stevesoltys.seedvault" package="com.stevesoltys.seedvault"
android:versionCode="30000011" android:versionCode="30000021"
android:versionName="11-1.1"> android:versionName="11-1.2">
<!-- <!--
The version code is the targeted SDK_VERSION plus 6 digits for our own version code. The version code is the targeted SDK_VERSION plus 6 digits for our own version code.
The version name is the targeted Android version followed by - and our own version name. The version name is the targeted Android version followed by - and our own version name.

View file

@ -236,7 +236,7 @@ internal class BackupCoordinator(
// K/V backups (typically starting with package manager metadata - @pm@) // K/V backups (typically starting with package manager metadata - @pm@)
// are scheduled with JobInfo.Builder#setOverrideDeadline() and thus do not respect backoff. // are scheduled with JobInfo.Builder#setOverrideDeadline() and thus do not respect backoff.
// We need to reject them manually when we can not do a backup now. // We need to reject them manually when we can not do a backup now.
// What else we tried can be found in: https://github.com/stevesoltys/seedvault/issues/102 // What else we tried can be found in: https://github.com/seedvault-app/seedvault/issues/102
if (packageName == MAGIC_PACKAGE_MANAGER) { if (packageName == MAGIC_PACKAGE_MANAGER) {
if (!settingsManager.canDoBackupNow()) { if (!settingsManager.canDoBackupNow()) {
// Returning anything else here (except non-incremental-required which re-tries) // Returning anything else here (except non-incremental-required which re-tries)

View file

@ -60,6 +60,7 @@
<Button <Button
android:id="@+id/doneButton" android:id="@+id/doneButton"
style="@style/ActionPrimaryButton"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="8dp" android:layout_marginStart="8dp"

View file

@ -57,19 +57,21 @@
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/wordList" android:id="@+id/wordList"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="0dp"
android:orientation="vertical" android:scrollbars="vertical"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager" app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:layout_constraintBottom_toTopOf="@+id/confirmCodeButton" app:layout_constraintBottom_toTopOf="@+id/confirmCodeButton"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/divider" app:layout_constraintTop_toBottomOf="@+id/divider"
app:layout_constraintVertical_chainStyle="spread_inside"
app:spanCount="2" app:spanCount="2"
tools:itemCount="12" tools:itemCount="12"
tools:listitem="@layout/list_item_recovery_code_output" /> tools:listitem="@layout/list_item_recovery_code_output" />
<Button <Button
android:id="@+id/confirmCodeButton" android:id="@+id/confirmCodeButton"
style="@style/ActionPrimaryButton"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="8dp" android:layout_marginStart="8dp"
@ -78,6 +80,7 @@
android:text="@string/recovery_code_confirm_button" android:text="@string/recovery_code_confirm_button"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" /> app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/wordList" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -68,7 +68,7 @@
<Button <Button
android:id="@+id/button" android:id="@+id/button"
style="@style/Widget.AppCompat.Button.Colored" style="@style/ActionPrimaryButton"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="16dp" android:layout_marginStart="16dp"

View file

@ -57,7 +57,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="16dp" android:layout_margin="16dp"
android:textColor="@android:color/holo_red_dark" android:textColor="?android:colorError"
android:textSize="18sp" android:textSize="18sp"
android:visibility="invisible" android:visibility="invisible"
app:layout_constraintBottom_toTopOf="@+id/backView" app:layout_constraintBottom_toTopOf="@+id/backView"

View file

@ -50,7 +50,7 @@
android:layout_marginStart="16dp" android:layout_marginStart="16dp"
android:layout_marginTop="32dp" android:layout_marginTop="32dp"
android:layout_marginEnd="16dp" android:layout_marginEnd="16dp"
android:textColor="@android:color/holo_red_dark" android:textColor="?android:colorError"
android:textSize="18sp" android:textSize="18sp"
android:visibility="invisible" android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
@ -63,7 +63,7 @@
<Button <Button
android:id="@+id/backButton" android:id="@+id/backButton"
style="@style/Widget.AppCompat.Button.Colored" style="@style/ActionPrimaryButton"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="16dp" android:layout_margin="16dp"

View file

@ -4,7 +4,8 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="24dp" android:layout_marginTop="24dp"
android:layout_marginBottom="24dp"
tools:showIn="@layout/fragment_recovery_code_output"> tools:showIn="@layout/fragment_recovery_code_output">
<TextView <TextView
@ -25,12 +26,12 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="16dp" android:layout_marginStart="16dp"
android:autoSizeTextType="uniform"
android:textSize="24sp" android:textSize="24sp"
app:layout_constrainedWidth="true"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/num" app:layout_constraintStart_toEndOf="@+id/num"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
tools:text="Test1" /> tools:text="Test1CanBeLong" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="isLight">false</bool>
</resources>

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="accent">@*android:color/accent_device_default_dark</color>
<color name="primary">@*android:color/primary_device_default_settings</color>
<color name="primaryDark">@*android:color/primary_dark_device_default_settings</color>
<color name="background">@color/primaryDark</color>
<color name="actionBarPrimary">@color/background</color>
<color name="statusBarColor">@android:color/transparent</color>
<color name="red">@*android:color/error_color_device_default_dark</color>
</resources>

View file

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="isLight">true</bool>
</resources>

View file

@ -1,8 +1,13 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<color name="accent">#99cc00</color> <color name="accent">@*android:color/accent_device_default_light</color>
<color name="divider">#8A000000</color> <color name="primary">@*android:color/primary_device_default_settings_light</color>
<color name="primaryDark">@*android:color/primary_dark_device_default_settings_light</color>
<color name="background">@*android:color/background_device_default_light</color>
<color name="actionBarPrimary">@*android:color/primary_device_default_light</color>
<color name="statusBarColor">@*android:color/primary_dark_material_light_light_status_bar</color>
<color name="red">@*android:color/error_color_device_default_dark</color>
<color name="divider">#20ffffff</color>
<color name="green">#558B2F</color> <color name="green">#558B2F</color>
<color name="red">#D32F2F</color>
<color name="yellow">#F9A825</color> <color name="yellow">#F9A825</color>
</resources> </resources>

View file

@ -28,7 +28,7 @@
<string name="settings_backup_status_summary">Last backup: %1$s</string> <string name="settings_backup_status_summary">Last backup: %1$s</string>
<string name="settings_backup_exclude_apps">Exclude apps</string> <string name="settings_backup_exclude_apps">Exclude apps</string>
<string name="settings_backup_now">Backup now</string> <string name="settings_backup_now">Backup now</string>
<string name="settings_backup_recovery_code">Recovery Code</string> <string name="settings_backup_recovery_code">Recovery code</string>
<string name="settings_backup_recovery_code_summary">Verify existing code or generate a new one</string> <string name="settings_backup_recovery_code_summary">Verify existing code or generate a new one</string>
<!-- Storage --> <!-- Storage -->
@ -39,8 +39,8 @@
<string name="storage_fake_drive_summary">Needs to be plugged in</string> <string name="storage_fake_drive_summary">Needs to be plugged in</string>
<string name="storage_available_bytes"><xliff:g example="1 GB" id="size">%1$s</xliff:g> free</string> <string name="storage_available_bytes"><xliff:g example="1 GB" id="size">%1$s</xliff:g> free</string>
<string name="storage_fake_nextcloud_title" translatable="false">Nextcloud</string> <string name="storage_fake_nextcloud_title" translatable="false">Nextcloud</string>
<string name="storage_fake_nextcloud_summary">Click to install</string> <string name="storage_fake_nextcloud_summary">Tap to install</string>
<string name="storage_fake_nextcloud_summary_installed">Click to set up account</string> <string name="storage_fake_nextcloud_summary_installed">Tap to set up account</string>
<string name="storage_fake_nextcloud_summary_unavailable">Account not available. Set one up (or disable passcode).</string> <string name="storage_fake_nextcloud_summary_unavailable">Account not available. Set one up (or disable passcode).</string>
<string name="storage_check_fragment_backup_title">Initializing backup location…</string> <string name="storage_check_fragment_backup_title">Initializing backup location…</string>
<string name="storage_check_fragment_restore_title">Looking for backups…</string> <string name="storage_check_fragment_restore_title">Looking for backups…</string>
@ -154,6 +154,6 @@
<string name="about_author">Written by: <a href="https://github.com/stevesoltys">Steve Soltys</a> and <a href="https://blog.grobox.de">Torsten Grote</a></string> <string name="about_author">Written by: <a href="https://github.com/stevesoltys">Steve Soltys</a> and <a href="https://blog.grobox.de">Torsten Grote</a></string>
<string name="about_design">Design by: <a href="https://www.glennsorrentino.com/">Glenn Sorrentino</a></string> <string name="about_design">Design by: <a href="https://www.glennsorrentino.com/">Glenn Sorrentino</a></string>
<string name="about_sponsor">Sponsored by: <a href="https://www.calyxinstitute.org">Calyx Institute</a> for use in <a href="https://calyxos.org">CalyxOS</a></string> <string name="about_sponsor">Sponsored by: <a href="https://www.calyxinstitute.org">Calyx Institute</a> for use in <a href="https://calyxos.org">CalyxOS</a></string>
<string name="about_source_code">Source Code: https://github.com/stevesoltys/seedvault</string> <string name="about_source_code">Source code: https://github.com/seedvault-app/seedvault</string>
</resources> </resources>

View file

@ -1,8 +1,21 @@
<resources> <resources>
<style name="AppTheme" parent="Theme.AppCompat.DayNight"> <style name="AppTheme" parent="@style/Theme.AppCompat.DayNight">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primaryDark</item>
<item name="colorAccent">@color/accent</item> <item name="colorAccent">@color/accent</item>
<item name="colorError">@color/red</item>
<item name="android:windowBackground">@color/background</item>
<item name="fontFamily">@*android:string/config_bodyFontFamily</item>
<item name="preferenceTheme">@style/PreferenceThemeOverlay</item> <item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
<item name="android:windowLightStatusBar">@bool/isLight</item>
<item name="android:statusBarColor">@color/statusBarColor</item>
<item name="actionBarTheme">@style/Theme.ActionBar</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
</style>
<style name="Theme.ActionBar" parent="Theme.AppCompat.DayNight.DarkActionBar">
<item name="colorPrimary">@color/actionBarPrimary</item>
</style> </style>
<style name="AppTheme.NoActionBar" parent="AppTheme"> <style name="AppTheme.NoActionBar" parent="AppTheme">
@ -10,4 +23,7 @@
<item name="windowNoTitle">true</item> <item name="windowNoTitle">true</item>
</style> </style>
<!-- Copied from Settings -->
<style name="ActionPrimaryButton" parent="android:Widget.DeviceDefault.Button.Colored" />
</resources> </resources>

View file

@ -2,8 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
package="org.calyxos.backup.contacts" package="org.calyxos.backup.contacts"
android:versionCode="30000011" android:versionCode="30000021"
android:versionName="11-1.1"> android:versionName="11-1.2">
<!-- <!--
The version code is the targeted SDK_VERSION plus 6 digits for our own version code. The version code is the targeted SDK_VERSION plus 6 digits for our own version code.
The version name is the targeted Android version followed by - and our own version name. The version name is the targeted Android version followed by - and our own version name.

View file

@ -45,7 +45,7 @@ class VCardExporter {
private Collection<String> getLookupKeys() { private Collection<String> getLookupKeys() {
String[] projection = new String[]{LOOKUP_KEY}; String[] projection = new String[]{LOOKUP_KEY};
// We can not add IS_PRIMARY here as this gets lost on restored contacts // We can not add IS_PRIMARY here as this gets lost on restored contacts
String selection = ACCOUNT_TYPE + " is null"; String selection = ACCOUNT_TYPE + " is null OR " + ACCOUNT_TYPE + "='com.android.contacts'";
Cursor cursor = contentResolver.query(CONTENT_URI, projection, selection, null, null); Cursor cursor = contentResolver.query(CONTENT_URI, projection, selection, null, null);
if (cursor == null) { if (cursor == null) {
Log.e(TAG, "Cursor for LOOKUP_KEY is null"); Log.e(TAG, "Cursor for LOOKUP_KEY is null");