Skip to content

Commit 6311e55

Browse files
committed
Merge branch 'develop'
2 parents 4a9cdd4 + 6ba22c7 commit 6311e55

File tree

86 files changed

+5895
-2698
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+5895
-2698
lines changed

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,30 @@
11
Change Log
22
===============================================================================
3+
Version 1.4.0 *(2014-08-15)*
4+
----------------------------
5+
Since transactions are at the core of this app, this release touches almost all subsystems and is therefore huge.
6+
Transactions are now composed of multiple splits, which belong to different accounts and are no longer bound to accounts,
7+
nor is the money amount bound to the transaction itself.
8+
Splits store the amounts as absolute values and then separately the kind - CREDIT/DEBIT - of the split.
9+
10+
* Feature: Introduces multiple splits per transaction
11+
* Feature: Introduced a new Split editor for the creation and editing of splits
12+
* Feature: Use account specific labels for CREDIT/DEBIT instead of just generic "debit" and "credit"
13+
* Feature: Import GnuCash XML files - accounts and transactions only (experimental)
14+
* Feature: Back up transactions in an XML format (similar to GnuCash XML) called .gnca (Gnucash Android)
15+
* Feature: Option for saving opening balances before deleting transactions
16+
* Improved: Updated processes for moving, creating, exporting, deleting transactions to work with splits
17+
* Improved: Updated computation of account and transaction balances to be in line with accounting principles
18+
* Improved: Updated color (red/green) display to match movement in the account, and not a representation of the side of the split
19+
* Improved: Introduced new format for sending Transactions through Intents (while maintaining backwards compatibility)
20+
* Improved: Extensive code refactoring for
21+
- Better modularity of transaction exports (and ease introduction of new formats),
22+
- Cleaner database schema and reduction of overlap and redundancies
23+
- Easier database migrations during future update (with reduced risk of data loss)
24+
25+
326
Version 1.3.3 *(2014-05-26)*
27+
----------------------------
428
* Reversed changes in the computation of balances, back to pre-v1.3.2 mode (will be re-instated in the future)
529

630
Version 1.3.2 *(2014-05-23)*

README.md

Lines changed: 39 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,58 @@
11
# Introduction
22

33
Gnucash Mobile for Android is companion application for desktop Gnucash designed for Android.
4-
It allows you to record transactions on-the-go and export them in the OFX format and later import the data into Gnucash for the desktop. You can create multiple accounts for transactions in Gnucash. Double-entry accounting is also supported.
4+
It allows you to record transactions on-the-go and export them in the QIF or OFX format and later import the data into Gnucash for the desktop. You can create multiple accounts for transactions in Gnucash. Double-entry accounting is also supported.
55

66
The application supports Android 2.2 Froyo (API level 8) and above.
77

88

99
# Installation
1010

11-
There are different ways to get the Gnucash app for Android; through the app store, or building it yourself.
11+
There are different ways to get the Gnucash app for Android; through the app store, or building it yourself.
1212

1313

14-
### App Store
14+
### App Store
1515

1616
<a href="http://play.google.com/store/apps/details?id=org.gnucash.android">
1717
<img alt="Android app on Google Play" src="http://developer.android.com/images/brand/en_generic_rgb_wo_60.png" />
18-
</a>
19-
20-
21-
## Building
22-
23-
The build requires [Maven](http://maven.apache.org/download.html)
24-
v3.0.3+ and the [Android SDK](http://developer.android.com/sdk/index.html)
25-
to be installed in your development environment. In addition you'll need to set
26-
the `ANDROID_HOME` environment variable to the location of your SDK:
27-
28-
export ANDROID_HOME=/home/roberto/tools/android-sdk
29-
30-
After satisfying those requirements, the build is pretty simple:
31-
32-
* Run `mvn clean package` from the `app` directory to build the APK only
33-
* Run `mvn clean install` from the root directory to build the app and also run
34-
the integration tests, this requires a connected Android device or running
35-
emulator. (see this [blog post](http://goo.gl/TprMw) for details)
36-
37-
You might find that your device doesn't let you install your build if you
38-
already have the version from the Android Market installed. This is standard
39-
Android security as it it won't let you directly replace an app that's been
40-
signed with a different key. Manually uninstall GnuCash from your device and
18+
</a>
19+
20+
21+
## Building
22+
23+
The build requires [Maven](http://maven.apache.org/download.html)
24+
v3.0.3+ and the [Android SDK](http://developer.android.com/sdk/index.html)
25+
to be installed in your development environment. In addition you'll need to set
26+
the `ANDROID_HOME` environment variable to the location of your SDK:
27+
28+
export ANDROID_HOME=/home/<user>/tools/android-sdk
29+
30+
After satisfying those requirements, the build is pretty simple:
31+
32+
* Run `mvn clean package` from the `app` directory to build the APK only
33+
* Run `mvn clean install` from the root directory to build the app and also run
34+
the integration tests, this requires a connected Android device or running
35+
emulator. (see this [blog post](http://goo.gl/TprMw) for details)
36+
37+
You might find that your device doesn't let you install your build if you
38+
already have the version from the Android Market installed. This is standard
39+
Android security as it it won't let you directly replace an app that's been
40+
signed with a different key. Manually uninstall GnuCash from your device and
4141
you will then be able to install your own built version.
4242

43+
## Contributing
44+
45+
There are several ways you could contribute to the development.
46+
47+
One way is providing translations for locales which are not yet available, or improving translations.
48+
See this [blog post](http://www.codinguser.com/2012/09/gnucash-for-android-beta-2-lost-in-translation/) for some guidelines.
49+
50+
You could as well contribute code, fixing bugs, new features or automated tests.
51+
Take a look at the [bug tracker](https://github.com/codinguser/gnucash-android/issues?state=open)
52+
for ideas where to start.
53+
54+
For development, it is recommended to use the IntelliJ IDEA 13+ IDE for development which is available as free
55+
community edition. Import the project into the IDE from an external (maven) model.The IDE will resolve dependencies automatically.
4356

4457
#Licence
4558
Gnucash for Android is free software; you can redistribute it and/or

app/AndroidManifest.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717

1818
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
1919
package="org.gnucash.android"
20-
android:versionCode="29"
20+
android:versionCode="36"
2121
android:versionName="@string/app_version_name" >
2222

23-
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15"/>
23+
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16"/>
2424

2525
<permission-group
2626
android:name="org.gnucash.android.permission.group.GNUCASH"

app/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<description>Gnucash Android companion application</description>
2323

2424
<parent>
25-
<version>1.3.2-SNAPSHOT</version>
25+
<version>1.4.0-SNAPSHOT</version>
2626
<groupId>org.gnucash.android</groupId>
2727
<artifactId>gnucash-android-parent</artifactId>
2828
</parent>
1.66 KB
Loading
1.42 KB
Loading
1.91 KB
Loading
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
Copyright (c) 2014 Ngewi Fet <[email protected]>
4+
5+
Licensed under the Apache License, Version 2.0 (the "License");
6+
you may not use this file except in compliance with the License.
7+
You may obtain a copy of the License at
8+
9+
http://www.apache.org/licenses/LICENSE-2.0
10+
11+
Unless required by applicable law or agreed to in writing, software
12+
distributed under the License is distributed on an "AS IS" BASIS,
13+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
See the License for the specific language governing permissions and
15+
limitations under the License.
16+
-->
17+
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
18+
android:orientation="vertical"
19+
android:layout_width="match_parent"
20+
android:layout_height="match_parent"
21+
android:paddingLeft="@dimen/dialog_padding"
22+
android:paddingRight="@dimen/dialog_padding"
23+
android:paddingTop="@dimen/dialog_padding">
24+
25+
<ScrollView android:layout_width="match_parent"
26+
android:layout_height="match_parent"
27+
android:layout_above="@+id/footer">
28+
<LinearLayout android:id="@+id/split_list_layout"
29+
android:layout_width="match_parent"
30+
android:layout_height="wrap_content"
31+
android:orientation="vertical">
32+
<!-- Split edit views will be added here at runtime-->
33+
</LinearLayout>
34+
</ScrollView>
35+
36+
37+
<include layout="@layout/horizontal_line"
38+
android:layout_width="match_parent"
39+
android:layout_height="1dp"
40+
android:layout_above="@id/footer"/>
41+
42+
<include layout="@layout/default_buttons"
43+
android:id="@+id/default_buttons"
44+
android:layout_width="match_parent"
45+
android:layout_height="wrap_content"
46+
android:layout_alignParentBottom="true"/>
47+
48+
<TableLayout android:id="@+id/footer"
49+
android:layout_width="match_parent"
50+
android:layout_height="wrap_content"
51+
android:layout_above="@id/default_buttons">
52+
<TableRow>
53+
<TextView
54+
android:layout_width="wrap_content"
55+
android:layout_height="match_parent"
56+
android:textAppearance="?android:attr/textAppearanceSmall"
57+
android:gravity="center_vertical"
58+
android:text="Imbalance:"/>
59+
60+
<TextView android:id="@+id/imbalance_textview"
61+
android:layout_width="0dp"
62+
android:layout_height="match_parent"
63+
android:layout_weight="1"
64+
android:textAppearance="?android:attr/textAppearanceSmall"
65+
android:gravity="right|center_vertical"
66+
android:text="$200"/>
67+
</TableRow>
68+
<Button android:id="@+id/btn_add_split"
69+
android:layout_width="wrap_content"
70+
android:layout_height="wrap_content"
71+
android:drawableLeft="@drawable/content_new_holo_light"
72+
android:text="Add split"/>
73+
74+
</TableLayout>
75+
</RelativeLayout>

app/res/layout/fragment_new_transaction.xml

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!--
3-
Copyright (c) 2012 Ngewi Fet <[email protected]>
3+
Copyright (c) 2012 - 2014 Ngewi Fet <[email protected]>
44
55
Licensed under the Apache License, Version 2.0 (the "License");
66
you may not use this file except in compliance with the License.
@@ -65,15 +65,21 @@
6565
style="@style/ListItemText" />
6666

6767

68-
<ToggleButton android:id="@+id/input_transaction_type"
69-
android:layout_width="0dp"
70-
android:layout_weight="2"
71-
android:layout_height="wrap_content"
72-
android:textOn="@string/label_debit"
73-
android:textOff="@string/label_credit"
74-
android:textAppearance="?android:attr/textAppearanceMedium"
75-
android:textColor="@color/debit_red"
76-
android:checked="true" />
68+
<org.gnucash.android.ui.util.TransactionTypeToggleButton
69+
android:id="@+id/input_transaction_type"
70+
android:layout_width="0dp"
71+
android:layout_weight="2"
72+
android:layout_height="wrap_content"
73+
android:textOn="@string/label_debit"
74+
android:textOff="@string/label_credit"
75+
android:textAppearance="?android:attr/textAppearanceMedium"
76+
android:textColor="@color/debit_red"
77+
android:checked="true"/>
78+
79+
<Button android:id="@+id/btn_open_splits"
80+
android:layout_width="wrap_content"
81+
android:layout_height="wrap_content"
82+
android:drawableLeft="@drawable/content_split_holo_light" />
7783
</LinearLayout>
7884
<LinearLayout
7985
android:id="@+id/layout_double_entry"

app/res/layout/horizontal_line.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
3+
<View xmlns:android="http://schemas.android.com/apk/res/android"
4+
android:layout_width="match_parent"
5+
android:layout_height="1dp"
6+
android:layout_marginTop="@dimen/dialog_padding"
7+
android:layout_marginBottom="@dimen/dialog_padding"
8+
android:background="@color/light_gray"/>

0 commit comments

Comments
 (0)