From a8357079eef4f0de4c8961309aac855b0f5aa3e2 Mon Sep 17 00:00:00 2001
From: Ngewi Fet
Date: Tue, 18 Apr 2017 10:12:12 +0200
Subject: [PATCH] Properly handle crashes during backup file migration
Add documentation folder
Update README and CONTRIBUTORS
---
CHANGELOG.md | 5 ++
CONTRIBUTORS.md | 82 +++++++++++-------
README.md | 8 +-
app/build.gradle | 2 +-
.../gnucash/android/db/MigrationHelper.java | 38 +++++---
docs/images/v2.0.0_home.png | Bin 0 -> 118351 bytes
docs/images/v2.0.0_reports.png | Bin 0 -> 113727 bytes
docs/images/v2.0.0_transactions_list.png | Bin 0 -> 145537 bytes
8 files changed, 93 insertions(+), 42 deletions(-)
create mode 100644 docs/images/v2.0.0_home.png
create mode 100644 docs/images/v2.0.0_reports.png
create mode 100644 docs/images/v2.0.0_transactions_list.png
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6fa55ad30..af07ac57c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
Change Log
===============================================================================
+Version 2.1.7 *(2017-04-18)*
+----------------------------
+* Properly handle crashes during migration of backup/export files to new location
+* Update README and CONTRIBUTORS
+
Version 2.1.6 *(2017-04-15)*
----------------------------
* Fixed #664: Rotating device in transaction view causes crash
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index b57d1bc49..fe12546fb 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -7,35 +7,59 @@ project through the early phases (as Google Summer of Code project 2012) and pro
* Ngewi Fet - Project maintainer
* Yongxin Wang
* Oleksandr Tyshkovets
-* Àlex Magaz Graça
+* Àlex Magaz Graça
### Other Contributors
-The following (incomplete list of) people (in no particular order) contributed (patches and translations) to GnuCash Android:
-* Christian Stimming
-* Cristian Marchi
-* Menelaos Maglis
-* Kjell Thomas Pedersen
-* Alexander Galanin
-* Jorge Martínez López
-* Israel Buitron
-* Geert Janssens
-* Nicolas Barranger
-* Sigurd Gartmann
-* Pedro Abel
-* windwarrior
-* Alex Lei
-* Matthew Hague
-* Spanti Nicola
-* Jesse Shieh
-* Terry Chung
-* Caesar Wirth
-* Alceu Rodrigues Neto
-* Carlo Zancanaro
-* Eric Daly
-* Weslly Oliveira
-* Felipe Morato
-* Alceu Rodrigues Neto
-* Salama AB
-* Juan Villa
+The following people (in alphabetical order) contributed (commits on GitHub) to GnuCash Android:
+* aerkefiende
+* Alceu Rodrigues Neto
+* Aleksey Ivanovski
+* Àlex Magaz Graça
+* Alexander Galanin
+* Alexandr Makaric
+* Caesar Wirth
+* Carlo Zancanaro
+* choni wani@dri-h.net
+* Christian Stimming
+* Cristian Marchi
+* David Landry
+* Eric Daly
+* Falk Brockmann
+* Felipe Morato
+* Geert Janssens
+* Jörg Möller
+* Israel Buitron
+* Jesse Shieh
+* Jorge Martínez López
+* Juan Villa
+* Kjell Thomas Pedersen
+* Lian Kai
+* lxb leixb@agilean.cn
+* Alex Lei
+* Mark Haanen
+* Matthew Hague
+* Menelaos Maglis
+* moshe.w@invest.com
+* Ngewi Fet
+* Nicolas Barranger
+* Oleg Kosmakov
+* Oleksandr Tyshkovets
+* PBNeves bastosdasneves@gmail.com
+* Pedro Abel
+* Salama AB
+* Sandro Santilli
+* Sigurd Gartmann
+* smisger sameer.misger@prospectasoftware.com
+* Spanti Nicola
+* Stephan Windmüller
+* Terry Chung
+* thesebas thesebas@thesebas.net
+* Vladimir Rutsky
+* Weslly Oliveira
+* windwarrior lennartbuit@gmail.com
+* yapiti wicowyn@gmail.com
+* Yongxin Wang
-Please visit https://crowdin.com/project/gnucash-android for a more complete list of translation contributions
\ No newline at end of file
+
+### Translators
+Please visit https://crowdin.com/project/gnucash-android for a more complete list of translation contributions
diff --git a/README.md b/README.md
index 13e89dc12..5f19c01cc 100644
--- a/README.md
+++ b/README.md
@@ -7,6 +7,10 @@
GnuCash Android is a companion expense-tracker application for GnuCash (desktop) designed for Android.
It allows you to record transactions on-the-go and later import the data into GnuCash for the desktop.
+Accounts | Transactions | Reports
+:-------------------------:|:-------------------------:|:-------------------------:
+![Accounts List](docs/images/v2.0.0_home.png) | ![Transactions List](docs/images/v2.0.0_transactions_list.png) | ![Reports](docs/images/v2.0.0_reports.png)
+
The application supports Android 2.3.3 Gingerbread (API level 10) and above.
Features include:
@@ -66,7 +70,7 @@ The app is configured to allow you to install a development and production versi
### With Android Studio
The easiest way to build is to install [Android Studio](https://developer.android.com/sdk/index.html) v2.+
-with [Gradle](https://www.gradle.org/) v2.10
+with [Gradle](https://www.gradle.org/) v3.4.1
Once installed, then you can import the project into Android Studio:
1. Open `File`
@@ -89,7 +93,7 @@ Please visit [CrowdIn](https://crowdin.com/project/gnucash-android) in order to
* You could as well contribute code, fixing bugs, new features or automated tests. Pull requests are always welcome.
Take a look at the [bug tracker](https://github.com/codinguser/gnucash-android/issues?state=open)
-for ideas where to start.
+for ideas where to start. Also take a look at the [contribution guidlines](https://github.com/codinguser/gnucash-android/blob/master/.github/CONTRIBUTING.md)
For development, it is recommended to use the Android Studio for development which is available for free.
Import the project into the IDE using the build.gradle file. The IDE will resolve dependencies automatically.
diff --git a/app/build.gradle b/app/build.gradle
index 42cc4b543..ed424bf23 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -6,7 +6,7 @@ apply plugin: 'android-apt'
def versionMajor = 2
def versionMinor = 1
-def versionPatch = 6
+def versionPatch = 7
def versionBuild = 0
def buildTime() {
diff --git a/app/src/main/java/org/gnucash/android/db/MigrationHelper.java b/app/src/main/java/org/gnucash/android/db/MigrationHelper.java
index 059634bb1..f386fbdba 100644
--- a/app/src/main/java/org/gnucash/android/db/MigrationHelper.java
+++ b/app/src/main/java/org/gnucash/android/db/MigrationHelper.java
@@ -1488,10 +1488,25 @@ static int upgradeDbToVersion13(SQLiteDatabase db){
* @param srcDir Source directory which should already exist
* @param dstDir Destination directory which should already exist
* @see #moveFile(File, File)
+ * @throws IOException if the {@code srcDir} does not exist or {@code dstDir} could not be created
+ * @throws IllegalArgumentException if {@code srcDir} is not a directory
*/
- private static void moveDirectory(File srcDir, File dstDir){
- if (!srcDir.exists() || !srcDir.isDirectory() || !dstDir.isDirectory() || !dstDir.exists()){
- throw new IllegalArgumentException("Source is not a directory, use MigrationHelper.moveFile(...)");
+ private static void moveDirectory(File srcDir, File dstDir) throws IOException {
+ if (!srcDir.isDirectory()){
+ throw new IllegalArgumentException("Source is not a directory: " + srcDir.getPath());
+ }
+
+ if (!srcDir.exists()){
+ String msg = String.format(Locale.US, "Source directory %s does not exist", srcDir.getPath());
+ Log.e(LOG_TAG, msg);
+ throw new IOException(msg);
+ }
+
+ if (!dstDir.exists() || !dstDir.isDirectory()){
+ Log.w(LOG_TAG, "Target directory does not exist. Attempting to create..." + dstDir.getPath());
+ if (!dstDir.mkdirs()){
+ throw new IOException(String.format("Target directory %s does not exist and could not be created", dstDir.getPath()));
+ }
}
for (File src : srcDir.listFiles()){
@@ -1521,7 +1536,7 @@ private static void moveDirectory(File srcDir, File dstDir){
* It moves the backup files to a new backup location which does not require SD CARD write permission
*
* @param db SQLite database to be upgraded
- * @return
+ * @return New database version
*/
public static int upgradeDbToVersion14(SQLiteDatabase db){
Log.i(DatabaseHelper.LOG_TAG, "Upgrading database to version 14");
@@ -1534,17 +1549,20 @@ public static int upgradeDbToVersion14(SQLiteDatabase db){
public void run() {
File srcDir = new File(Exporter.LEGACY_BASE_FOLDER_PATH);
File dstDir = new File(Exporter.BASE_FOLDER_PATH);
- moveDirectory(srcDir, dstDir);
- File readmeFile = new File(Exporter.LEGACY_BASE_FOLDER_PATH, "README.txt");
- FileWriter writer = null;
try {
+ moveDirectory(srcDir, dstDir);
+ File readmeFile = new File(Exporter.LEGACY_BASE_FOLDER_PATH, "README.txt");
+ FileWriter writer = null;
writer = new FileWriter(readmeFile);
writer.write("Backup files have been moved to " + dstDir.getPath() +
"\nYou can now delete this folder");
writer.flush();
- } catch (IOException e) {
- e.printStackTrace();
- Log.e(LOG_TAG, "Error creating README file");
+ } catch (IOException | IllegalArgumentException ex) {
+ ex.printStackTrace();
+ String msg = String.format("Error moving files from %s to %s", srcDir.getPath(), dstDir.getPath());
+ Log.e(LOG_TAG, msg);
+ Crashlytics.log(msg);
+ Crashlytics.logException(ex);
}
}
diff --git a/docs/images/v2.0.0_home.png b/docs/images/v2.0.0_home.png
new file mode 100644
index 0000000000000000000000000000000000000000..4068a0e3cd8eba0eb16754ec7c419a5851672b70
GIT binary patch
literal 118351
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
5irX^c1paXuFm?OH+F2lT2)Bwf2
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