dsolonenko / financisto Goto Github PK
View Code? Open in Web Editor NEWFinancisto - open-source personal finance tracker for Android
Home Page: http://financisto.com
License: GNU General Public License v2.0
Financisto - open-source personal finance tracker for Android
Home Page: http://financisto.com
License: GNU General Public License v2.0
android.database.sqlite.SQLiteException: unrecognized token: "'RC WHERE is_template=0 AND parent_id=0 AND _id IN (14274)" (code 1): , while compiling: UPDATE transactions SET status='RC WHERE is_template=0 AND parent_id=0 AND _id IN (14274)
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
at android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31)
at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1677)
at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1608)
at ru.orangesoftware.financisto.db.DatabaseAdapter.runInTransaction(DatabaseAdapter.java:1332)
at ru.orangesoftware.financisto.db.DatabaseAdapter.reconcileSelectedTransactions(DatabaseAdapter.java:1300)
Is there any way to add a home screen shortcut to create a transaction or transfer on a certain account?
If not, that would be a great feature to have IMO
I've been using Financisto for over 2 years now. It's perfect for my needs.
However, it would be very useful to have a filter by Account Type (Cash, Asset, Payable etc.) in the blotter and other reports. Thanks.
Alter last update I noticed than report always shows msg. - Empty report
For me Haptic feedback is like a damnation. Maybe i have a Hapticfeedbackophobia.
There is a setting in Settings - Protection - Haptic feedback, but it's used for a startup pin only. Could you link it with calculator's haptic feedback also?
$ gradlew build
...
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugApkCopy'.
> Could not find org.achartengine:achartengine:1.2.0.
Required by:
project :app
the problem is that achartengine mave repo is broken: https://repository-achartengine.forge.cloudbees.com/snapshot/ -> 404 Not Found
Now you can only manually build this jar from github https://github.com/ddanny/achartengine (mvn clean install
) and configure it as file dependency in financisto app/build.gradle like:
dependencies {
compile 'com.android.support:support-v4:25.3.1'
...
compile files('/path/to/org/achartengine/achartengine/1.2.0/achartengine-1.2.0.jar')
p.s. attached built achartengine-1.2.0.jar here
In the reports the icon to change between Expenses, Incomes, Summary and Expenses/Incomes are not changing the color anymore to hint which view you are.
My phone is a Galaxy S8
Greetings from Serbia!
Glad to see Financisto finally got SMS handling.
(I've been dreaming of implementing this for years, but never got into Android programming...)
We need more configuration regarding price parsing in order to support different number formatting (e.g. thousand separator and decimal point).
Here is one SMS example from my bank:
Potrosnja po kartici: 544358******0763 Iznos: 1.349,92 RSD Datum: 01.02.2018. Trgovac: 214 - TEMPO 011 Raspolozivo 24.008,61 RSD br.odobr: 930641
As is currently implemented I cannot parse the text 1.349,92 into number 1349.92.
After testing and usage of #12 I suggest implementing the following:
Adding {{t}}
placeholder to SMS pattern for capturing part of SMS-text/words
Adding possibility to set a Default Sms Template to an Account (type of Card) with broad pattern capturing all SMS messages from bank of that card, e.g. ECMC{{a}} {{*}} buy {{p}}RUB {{t}} Balance: {{*}}RUB
When new SMS comes from number set in Default Sms Template at Account and other Sms templates are not found for it - then process sms with default account template, create new transaction to Category defined there and after that - suggest new more specific Sms Template for it:
e.g. SMS=ECMC5431 01.12.17 17:17 buy 550RUB TEREMOK SCHUKA Balance: 49820.45RUB
Then template=ECMC<:A:> <::> buy <:P:>RUB TEREMOK SCHUKA Balance: <::>RUB
will be suggested (via opening Sms Template edit screen filled with all of that), text - taken from <:T:>
placeholder value
When suggesting new Sms templates from default - automatically find corresponding Category by Attributes with special names/values
e.g. if we have Category Food
and attribute with name SmsTag
bound to it with values TEREMOK
, TEREMOK SCHUKA
etc then Financisto will suggest that Food
Category for it.
We can check for Attribute names with special prefix Sms...
here, e.g. SmsTag1
, SmsFoodTag
and so on.
Being an open source product, would you mind making the APK available outside of Google's "walled garden" – e.g. by adding it to the releases/
page? I'd gladly pick it from there then to host it via my F-Droid compatible repo, automatic updates included (whenever you add a new release with an APK attached). I know that due to some dependencies (e.g. GMS) the official F-Droid repo wouldn't accept the app as-is – but that's what my repo is for 😉
Absolutely love this app, and been using it daily for years. The only feature I have ever felt was missing is the ability to add a widget showing the status of a budget. This would make it much easier to see at a glance how much I can afford to spend without having to open and navigate within the app itself.
Journal -> "+" -> Template -> "Edit":
java.lang.RuntimeException: Unable to start activity ComponentInfo{ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.TemplatesListActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setVisibility(int)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2740)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2801)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1548)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:163)
at android.app.ActivityThread.main(ActivityThread.java:6356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:791)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setVisibility(int)' on a null object reference
at ru.orangesoftware.financisto.activity.TemplatesListActivity.internalOnCreate(TemplatesListActivity.java:57)
at ru.orangesoftware.financisto.activity.AbstractListActivity.onCreate(AbstractListActivity.java:76)
at ru.orangesoftware.financisto.activity.BlotterActivity.onCreate(BlotterActivity.java:117)
at android.app.Activity.performCreate(Activity.java:6861)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2693)
... 9 more
With Android 8.0 and the new Autofill service enabled, selecting the Payee textbox in the Add Transaction screen triggers the Autofill dropdown box. After saving the transaction, I get the "Save password to ***" popup at the bottom of the screen.
I attached some screenshots, just in case if there was any confusion :)
Imagine we have 3 currecies: USD, EUR und BYN.
We are going to add new currency rates for all these currencies.
Currency rates dialog shows USD as left currency and BYN as right one.
If I change the left currency to EUR, I'd expect EUR and BYN currencies selected. But the dialog shows EUR and USD, the left currency moved to the right
Буду писать на русском, т.к. мой английский ужасен.
Прошу добавить очень важную фичу - возможность преобразования транзакция-перевод на лету. Т.е. кнопочку или переключатель, по которой можно быстро из транзакции сделать перевод и наоборот.
Нужно например, когда ты купил что-то кому-то (может быть даже через sms платеж завелся), а потом тебе за него отдали деньги (надо сделать эту транзакцию переводом на кошелек).
On old Android 4.4.2 when I fill the field Payee, and then select Category, all is OK.
On new Android 7.1.1 when I fill Payee field, and then when select Category, the field Payee is cleared. It is really annoying. I cannot find it anywhere in settings...
It is a bug or not ? Or wrong setting that I cannot see ?
Both Financisto are latest 1.8.0.
version 1.8.0 - tested on multiple different android versions - when You want to edit templates - the app is killed... :-(
Hello,
This http://repo.commonsware.com.s3.amazonaws.com repository does not use HTTPS so it is not really secure.
Also, is it really useful? It seems gradle assemble
still works if I remove it.
Steps to reproduce:
In the account list operations prior 11:24 are not filered out
linking dropbox account is not possible.
also tested more browsers and dropbox app install - no progress. cannot go past loging to dropbox...
The app should remain stable and not crash when users are using the app and inserting necessary info involved in a transaction such as images which serve as evidence of transaction. This is a financial app and such features supporting transaction evidence are highly important.
The app crashes when user tries to attach image in the transaction field.
1. Download the latest release of the app from playstore.
2. Install and launch the app and grant all permissions (Camera, Storage e.t.c)
3. Create your account. Here is how to create account:
Tap the ‘+’ icon at the bottom left corner of the screen
Fill in your details such as Title, Currency, Opening Amount in the provided space and click ok
to save.
4. Proceed by clicking on Blotter
icon which is the icon next to Accounts
at the top of the display.
5. Tap the ‘+’ icon at the bottom left of the display.
6. Fill in the details or you can just scroll to the Attach picture
section
7. Click on the Attach picture
8. Select camera or Choose images (to select from pictures already available in gallery) It will be observed that the app crashes after this action, hence, the bug
06-01 17:51:16.909 V/WindowManager(945): Changing focus from Window{f64e55 u0 ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.TransactionActivity} to Window{d72fbed u0 PopupWindow:c47755d} Callers=com.android.server.wm.WindowManagerService.addWindow:2848 com.android.server.wm.Session.addToDisplay:171 android.view.IWindowSession$Stub.onTransact:124 com.android.server.wm.Session.onTransact:133
06-01 17:51:16.910 I/WindowManager(945): Focus moving from Window{f64e55 u0 ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.TransactionActivity} to Window{d72fbed u0 PopupWindow:c47755d}
06-01 17:51:16.932 I/BufferQueueProducer(274): [PopupWindow:c47755d](this:0x7f805da800,id:1370,api:1,p:7712,c:274) connect(P): api=1 producer=(7712:ru.orangesoftware.financisto) producerControlledByApp=true
06-01 17:51:16.957 I/WindowManager(945): Losing delayed focus: Window{f64e55 u0 ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.TransactionActivity}
06-01 17:51:23.098 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_ic_action_tick
06-01 17:51:23.099 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_ic_action_double_tick
06-01 17:51:23.102 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_gd_quick_action_top_frame
06-01 17:51:23.105 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_gd_quick_action_grid_bottom_frame
06-01 17:51:23.105 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_gd_quick_action_arrow_up
06-01 17:51:23.106 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_gd_quick_action_grid_arrow_down
06-01 17:51:23.107 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_actionbar_add_big
06-01 17:51:23.108 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_ic_action_transfer
06-01 17:51:23.110 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_actionbar_tiles_large
06-01 17:51:23.115 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_ic_action_arrow_left_bottom
06-01 17:51:23.117 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_ic_action_arrow_right_top
06-01 17:51:23.118 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_ic_action_arrow_top_down
06-01 17:51:23.119 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_ic_action_share
06-01 17:51:23.123 D/QUERY class ru.orangesoftware.financisto.model.Account(7789): select e._id as _id, e.card_issuer as e_card_issuer, e.closing_day as e_closing_day, e.creation_date as e_creation_date, e0.decimal_separator as e0_decimal_separator, e0.decimals as e0_decimals, e0.group_separator as e0_group_separator, e0.is_default as e0_is_default, e0.name as e0_name, e0.symbol as e0_symbol, e0.symbol_format as e0_symbol_format, e0._id as e0__id, e0.title as e0_title, e.is_active as e_is_active, e.is_include_into_totals as e_is_include_into_totals, e.issuer as e_issuer, e.last_account_id as e_last_account_id, e.last_category_id as e_last_category_id, e.last_transaction_date as e_last_transaction_date, e.total_limit as e_total_limit, e.note as e_note, e.number as e_number, e.payment_day as e_payment_day, e.sort_order as e_sort_order, e.total_amount as e_total_amount, e.type as e_type, e._id as e__id, e.title as e_title from ACCOUNT as e inner join currency as e0 on e0._id=e.currency_id order by e_is_active desc, e_sort_order desc, e_title asc
06-01 17:51:23.129 D/Financisto(7789): About to update tab accounts
06-01 17:51:23.131 D/QUERY class ru.orangesoftware.financisto.model.Account(7789): select e._id as _id, e.card_issuer as e_card_issuer, e.closing_day as e_closing_day, e.creation_date as e_creation_date, e0.decimal_separator as e0_decimal_separator, e0.decimals as e0_decimals, e0.group_separator as e0_group_separator, e0.is_default as e0_is_default, e0.name as e0_name, e0.symbol as e0_symbol, e0.symbol_format as e0_symbol_format, e0._id as e0__id, e0.title as e0_title, e.is_active as e_is_active, e.is_include_into_totals as e_is_include_into_totals, e.issuer as e_issuer, e.last_account_id as e_last_account_id, e.last_category_id as e_last_category_id, e.last_transaction_date as e_last_transaction_date, e.total_limit as e_total_limit, e.note as e_note, e.number as e_number, e.payment_day as e_payment_day, e.sort_order as e_sort_order, e.total_amount as e_total_amount, e.type as e_type, e._id as e__id, e.title as e_title from ACCOUNT as e inner join currency as e0 on e0._id=e.currency_id order by e_is_active desc, e_sort_order desc, e_title asc
06-01 17:51:23.133 D/Financisto(7789): Tab accounts updated in 4ms
06-01 17:51:23.134 V/ActivityThread(7789): Performing resume of ActivityRecord{13e9f0 token=android.os.BinderProxy@961eb69 {ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity}}
06-01 17:51:23.134 D/QUERY class ru.orangesoftware.financisto.model.Currency(7789): select e._id as _id, e.decimal_separator as e_decimal_separator, e.decimals as e_decimals, e.group_separator as e_group_separator, e.is_default as e_is_default, e.name as e_name, e.symbol as e_symbol, e.symbol_format as e_symbol_format, e._id as e__id, e.title as e_title from currency as e where (e_is_default=?)
06-01 17:51:23.135 V/ActivityThread(7789): Performing resume of ActivityRecord{9a64e67 token=android.app.LocalActivityManager$LocalActivityRecord@25cf414 {ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.AccountListActivity}}
06-01 17:51:23.136 D/ActivityThread(7789): ACT-AM_ON_RESUME_CALLED ActivityRecord{9a64e67 token=android.app.LocalActivityManager$LocalActivityRecord@25cf414 {ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.AccountListActivity}}
06-01 17:51:23.137 D/QUERY class ru.orangesoftware.financisto.model.Account(7789): select e._id as _id, e.card_issuer as e_card_issuer, e.closing_day as e_closing_day, e.creation_date as e_creation_date, e0.decimal_separator as e0_decimal_separator, e0.decimals as e0_decimals, e0.group_separator as e0_group_separator, e0.is_default as e0_is_default, e0.name as e0_name, e0.symbol as e0_symbol, e0.symbol_format as e0_symbol_format, e0._id as e0__id, e0.title as e0_title, e.is_active as e_is_active, e.is_include_into_totals as e_is_include_into_totals, e.issuer as e_issuer, e.last_account_id as e_last_account_id, e.last_category_id as e_last_category_id, e.last_transaction_date as e_last_transaction_date, e.total_limit as e_total_limit, e.note as e_note, e.number as e_number, e.payment_day as e_payment_day, e.sort_order as e_sort_order, e.total_amount as e_total_amount, e.type as e_type, e._id as e__id, e.title as e_title from ACCOUNT as e inner join currency as e0 on e0._id=e.currency_id order by e_is_active desc, e_sort_order desc, e_title asc
06-01 17:51:23.142 D/ActivityThread(7789): ACT-AM_ON_RESUME_CALLED ActivityRecord{13e9f0 token=android.os.BinderProxy@961eb69 {ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity}}
06-01 17:51:23.142 V/ActivityThread(7789): Resume ActivityRecord{13e9f0 token=android.os.BinderProxy@961eb69 {ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity}} started activity: false, hideForNow: false, finished: false
06-01 17:51:23.145 D/OpenGLRenderer(7789): <ru.orangesoftware.financisto> is running.
06-01 17:51:23.159 D/ViewRootImpl(7789): hardware acceleration is enabled, this = ViewRoot{f30678c ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity,ident = 0}
06-01 17:51:23.161 D/WindowManager(945): addWindowToListInOrderLocked: win=Window{1ffec33 u0 ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity} Callers=com.android.server.wm.WindowManagerService.addWindow:2808 com.android.server.wm.Session.addToDisplay:171 android.view.IWindowSession$Stub.onTransact:124 com.android.server.wm.Session.onTransact:133
06-01 17:51:23.163 V/ActivityThread(7789): Resuming ActivityRecord{13e9f0 token=android.os.BinderProxy@961eb69 {ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity}} with isForward=true 06-01 17:51:23.164 V/PhoneWindow(7789): DecorView setVisiblity: visibility = 0 ,Parent =ViewRoot{f30678c ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity,ident = 0}, this =com.android.internal.policy.PhoneWindow$DecorView{1a8c8c6 V.E...... R.....ID 0,0-0,0}
06-01 17:51:23.164 V/ActivityThread(7789): Scheduling idle handler for ActivityRecord{13e9f0 token=android.os.BinderProxy@961eb69 {ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity}}
06-01 17:51:23.164 D/ActivityThread(7789): ACT-LAUNCH_ACTIVITY handled : 0 / ActivityRecord{13e9f0 token=android.os.BinderProxy@961eb69 {ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity}}
06-01 17:51:23.182 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_account_type_card_visa
06-01 17:51:23.185 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_icon_lock 06-01 17:51:23.189 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_divider_vertical_dark
06-01 17:51:23.194 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_progress_horizontal_budget 06-01 17:51:23.198 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_account_type_cash
06-01 17:51:23.207 D/BufferQueueDump(274): [ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity] this:0x7f85429680, value:0x7ffd7554dc, iLen:6 06-01 17:51:23.207 I/BufferQueueConsumer(274): [ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity](this:0x7f805d9400,id:1375,api:0,p:-1,c:274) setConsumerName: ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity
06-01 17:51:23.207 I/BufferQueueConsumer(274): [ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity](this:0x7f805d9400,id:1375,api:0,p:-1,c:274) setDefaultBufferSize: width=1 height=1 06-01 17:51:23.209 V/WindowManager(945): findFocusedWindow: Found new focus @ 7 = Window{1ffec33 u0 ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity} 06-01 17:51:23.209 V/WindowManager(945): Changing focus from null to Window{1ffec33 u0 ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity} Callers=com.android.server.wm.WindowManagerService.relayoutWindow:3625 com.android.server.wm.Session.relayout:201 android.view.IWindowSession$Stub.onTransact:284 com.android.server.wm.Session.onTransact:133 06-01 17:51:23.209 D/WindowManager(945): Input focus has changed to Window{1ffec33 u0 ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity} 06-01 17:51:23.226 I/BufferQueueConsumer(274): [ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity](this:0x7f805d9400,id:1375,api:0,p:-1,c:274) setDefaultBufferSize: width=1080 height=1800 06-01 17:51:23.229 I/WindowManager(945): Focus moving from null to Window{1ffec33 u0 ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity} 06-01 17:51:23.229 I/WindowManager(945): Gaining focus: Window{1ffec33 u0 ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity} 06-01 17:51:23.230 D/OpenGLRenderer(7789): CanvasContext() 0x7f81e02000 initialize window=0x7f98e60c10, title=ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity 06-01 17:51:23.241 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_account_type_cash 06-01 17:51:23.248 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_total_error 06-01 17:51:23.252 I/BufferQueueProducer(274): [ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity](this:0x7f805d9400,id:1375,api:1,p:7789,c:274) connect(P): api=1 producer=(7789:ru.orangesoftware.financisto) producerControlledByApp=true 06-01 17:51:23.276 I/BufferQueueProducer(274): [ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity](this:0x7f805d9400,id:1375,api:1,p:7789,c:274) new GraphicBuffer needed 06-01 17:51:23.299 I/ActivityManager(945): [AppLaunch] Displayed Displayed ru.orangesoftware.financisto/.activity.MainActivity: +767ms 06-01 17:51:23.299 D/ActivityManager(945): AP_PROF:AppLaunch_LaunchTime:ru.orangesoftware.financisto/.activity.MainActivity:767:17205444 06-01 17:51:23.301 V/WindowManager(945): findFocusedWindow: Found new focus @ 7 = Window{1ffec33 u0 ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity} 06-01 17:51:23.307 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_account_type_card_visa 06-01 17:51:23.308 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_icon_lock 06-01 17:51:23.308 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_divider_vertical_dark 06-01 17:51:23.313 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_progress_horizontal_budget 06-01 17:51:23.314 D/Resources(7789): resEntryNameFinal = ru_orangesoftware_financisto_account_type_cash 06-01 17:51:23.325 I/BufferQueueProducer(274): [ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity](this:0x7f805d9400,id:1375,api:1,p:7789,c:274) new GraphicBuffer needed 06-01 17:51:23.353 V/WindowManager(945): findFocusedWindow: Found new focus @ 7 = Window{1ffec33 u0 ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity} 06-01 17:51:24.382 I/BufferQueueProducer(274): [ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity](this:0x7f805d9400,id:1375,api:1,p:7789,c:274) new GraphicBuffer needed 06-01 17:51:24.392 I/BufferQueueProducer(274): [ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity](this:0x7f805d9400,id:1375,api:1,p:7789,c:274) queueBuffer: fps=1.82 dur=1097.45 max=1059.05 min=38.40 06-01 17:51:24.398 I/BufferQueueProducer(274): [ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity](this:0x7f805d9400,id:1375,api:1,p:7789,c:274) new GraphicBuffer needed 06-01 17:51:24.400 D/test (1074): >>>>>>>>>>>>>>>>> comName:ru.orangesoftware.financisto.activity.MainActivity 06-01 17:51:24.409 D/xionghui(1074): xionghui TaskKey pkg=ru.orangesoftware.financisto isLocked=false 06-01 17:51:24.410 D/xionghui(1074): xionghui TaskKey pkg=ru.orangesoftware.financisto isLocked=false 06-01 17:51:24.519 D/test (1074): >>>>>>>>>>>>>>>>> comName:ru.orangesoftware.financisto.activity.MainActivity 06-01 17:51:24.526 V/WindowManager(945): findFocusedWindow: Found new focus @ 5 = Window{1ffec33 u0 ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity} 06-01 17:51:24.532 V/WindowManager(945): Set focused app to: AppWindowToken{729ea52 token=Token{b5c5edd ActivityRecord{6b2f2b4 u0 com.android.systemui/.recents.RecentsActivity t78173}}} old focus=AppWindowToken{34bc2b1 token=Token{4fcf158 ActivityRecord{e66a63b u0 ru.orangesoftware.financisto/.activity.MainActivity t78270}}} moveFocusNow=true 06-01 17:51:24.536 V/WindowManager(945): Changing focus from Window{1ffec33 u0 ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity} to null Callers=com.android.server.wm.WindowManagerService.setFocusedApp:4506 com.android.server.am.ActivityManagerService.setFocusedActivityLocked:2873 com.android.server.am.ActivityStack.moveTaskToFrontLocked:4303 com.android.server.am.ActivityStackSupervisor.startActivityUncheckedLocked:2331 06-01 17:51:24.537 I/WindowManager(945): Focus moving from Window{1ffec33 u0 ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity} to null 06-01 17:51:24.537 I/WindowManager(945): Losing focus: Window{1ffec33 u0 ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity} 06-01 17:51:24.577 D/ActivityThread(7789): ACT-AM_ON_PAUSE_CALLED ActivityRecord{9a64e67 token=android.app.LocalActivityManager$LocalActivityRecord@25cf414 {ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.AccountListActivity}} 06-01 17:51:24.577 D/ActivityThread(7789): ACT-AM_ON_PAUSE_CALLED ActivityRecord{13e9f0 token=android.os.BinderProxy@961eb69 {ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity}} 06-01 17:51:24.602 V/ActivityThread(7789): Finishing stop of ActivityRecord{13e9f0 token=android.os.BinderProxy@961eb69 {ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity}}: show=false win=com.android.internal.policy.PhoneWindow@b56220 06-01 17:51:24.605 V/PhoneWindow(7789): DecorView setVisiblity: visibility = 4 ,Parent =ViewRoot{f30678c ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity,ident = 0}, this =com.android.internal.policy.PhoneWindow$DecorView{1a8c8c6 I.E...... R.....ID 0,0-1080,1800} 06-01 17:51:24.611 I/BufferQueueProducer(274): [ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity](this:0x7f805d9400,id:1375,api:1,p:-1,c:274) disconnect(P): api 1 06-01 17:51:24.612 I/BufferQueueConsumer(274): [ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity](this:0x7f805d9400,id:1375,api:1,p:-1,c:274) getReleasedBuffers: returning mask 0xffffffffffffffff 06-01 17:51:24.621 I/BufferQueueProducer(274): [ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity](this:0x7f805d9400,id:1375,api:1,p:-1,c:274) disconnect(P): api 1 06-01 17:51:24.630 I/PPS (945): [notifyActivityState] ru.orangesoftware.financisto, .activity.MainActivity, Stopped 06-01 17:51:24.630 I/PPS (945): [PPSNotifyAppState] nPackNum:60, pack:ru.orangesoftware.financisto, com:.activity.MainActivity, state:4, pid:7789, last_boost_tid:7789 06-01 17:51:24.636 D/xionghui(1074): xionghui TaskKey pkg=ru.orangesoftware.financisto isLocked=false 06-01 17:51:24.636 D/xionghui(1074): xionghui TaskKey pkg=ru.orangesoftware.financisto isLocked=false 06-01 17:51:25.117 I/BufferQueueConsumer(274): [ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity](this:0x7f805d9400,id:1375,api:1,p:-1,c:-1) disconnect(C) 06-01 17:51:25.119 I/BufferQueue(274): [ru.orangesoftware.financisto/ru.orangesoftware.financisto.activity.MainActivity](this:0x7f805d9400,id:1375,api:1,p:-1,c:-1) ~BufferQueueCore 06-01 17:51:25.580 D/xionghui(1074): xionghui TaskKey pkg=ru.orangesoftware.financisto isLocked=false 06-01 17:51:25.580 D/xionghui(1074): xionghui TaskKey pkg=ru.orangesoftware.financisto isLocked=false 06-01 17:51:27.174 D/GasService(2222): FG app changed: from ru.orangesoftware.financisto to com.pluscubed.matlog 06-01 17:51:27.473 D/xionghui(1074): xionghui TaskKey pkg=ru.orangesoftware.financisto isLocked=false 06-01 17:51:27.473 D/xionghui(1074): xionghui TaskKey pkg=ru.orangesoftware.financisto isLocked=false ```
Hi!
I think it would be a good idea to support a format for cryptocurrencies, because decimals are not enough for that.
I have used this application for years and I wanted to make a donation, but I never had the opportunity because in my country (Venezuela) you can not access dollars freely and much less from bank cards. Now I have been able :), I am very grateful, it is the best application of my life.
also when case #35 is not cleared - I begun to use google drive backup option. but, something strange happens also with this kind of cloud backup.
1./ the app creates folder again even if there is already such folder = two folders financisto
2./ the app doesn't recognize backup files copied into the backup folder manually (sometimes yes, later no more) = cannot go back from external backup source
3./ folder leveling doesn't work - e.g. android/financisto creates folder called "android/financisto"
https://github.com/zxing/zxing
In the reports graphs (pie chart), the zoom icons are very small in the screen (Galaxy S8)
battary optimisation off for finacisto, permission applied to read sms.
7.1 was working correctly
p.s. after successful adding such list to sms-templates - we can change all other entity lists (projects/payee/locations/etc)
Application has crashed when I try to add photo from my camera to transaction.
I checked all permissions. I try to add image from gallery, the result the same, app had crashed.
I revert to the previous version 1.8.0. All work fine.
Return version 1.8.1 and application crash again.
I sent to you bug report from finansisto.
If need some thing other information I am ready to shared it.
(Но, если это возможно, я бы использовал бы русский)
Is there any other way to do it? Like paypal
Good morning, Financisto does not show any notifications on Oreo. Is it possible to fix this?
Уважаемый автор Finanacisto! Для более удобного использования Вашей программы, сделайте поиск подкатегорий также как и получателя, по ходу ввода букв. А также возможность выделить несколько транзакций для их дальнейшей обработки, например удаления. Еще пожелание - вводить сумму за купленный товар только через калькулятор, при этом возможно и сам код будет уменьшен. Спасибо за такую замечательную программу! Пользуюсь ей с 2012г!!!
Caused by my #32:
Caused by: java.lang.NullPointerException
at ru.orangesoftware.financisto.activity.CategoryActivity.updateIncomeExpenseType(CategoryActivity.java:177)
at ru.orangesoftware.financisto.activity.CategoryActivity.selectParentCategory(CategoryActivity.java:352)
at ru.orangesoftware.financisto.activity.CategoryActivity.onCategorySelected(CategoryActivity.java:439)
at ru.orangesoftware.financisto.activity.CategorySelector.selectCategory(CategorySelector.java:154)
at ru.orangesoftware.financisto.activity.CategoryActivity.initCategorySelector(CategoryActivity.java:151)
at ru.orangesoftware.financisto.activity.CategoryActivity.onCreate(CategoryActivity.java:94)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
fixing...
Is it possible that we have an option to add a wild card char in SMS template?
For e.g. %-Citibk
where in my case % could be anything like AD,AX,AM,DM (in India - the first two letter signify provider and region or something like that). and there is no way we can guess the values.
3 possible ways :
db\DatabaseAdapter.java - getSmsTemplatesByNumber2
- String.format("select %s from %s where %s=? order by length(%s) desc, %s",
+ String.format("select %s from %s where ? like %s order by length(%s) desc, %s",
may be it could also be conditional i.e. inside "if/else"- when title contains "%"
Also if we want higher level control may be use " WHERE name REGEXP '%s' " and the user input the string "^[A-Z]{2}CITIBK" in the Name Criteria.
Make the Name not mandatory, and read every message in its own format, the templates having names getting processed first.
thank you for the Wonderful app ...
eyeVish
For about 4-5 days every time when i select a Category for the Transaction the rest of the fields are cleared(Agent, Amount etc). The same thing happens if i modifiy the transaction and i change category. I've reinstalled the app but the behavior is the same.
As title, I have to go to system preferences to manually give it permission, before I can restore from backup files on storage.
Probably new enhancement ?
Situation. You loan some money. After a while, the man begins to pay off, but in small amounts.
After time (we speak about long time loans and pay offs) he asks for information, how much he owe. You tells him - but he is surprised and asks "really ? I tought I have made some payements and bla bla bla... You are angry, he is angry, nobody trust anybody anymore. Only for that, that the other poor (stupid) man think, You have lied to him, how much he payd back... Stupid, what ? NO MORE LOANS FOR THOSE PEOPLE !!! Like I told myself about 50 times already... :-)
And now the solution.
Add transaction, that is a partial refund of one of these loans.
For example, You have about 10 loans. These are clear to view in the LOANS account. Then You click on one of them - and one of the buttons is new - it can be called "Partial loan pay-off" or similar. And after them You only select how much and to which account (for example he pays cash) - and new record is created, that lowers the amount of owed money. And also new button to click for review all partial pay-offs for the loan. But I see here a problem, what amount should be shown at this loan record. The actual balance ? Or the original amount ? Or when there will be a switch that this record is a loan, then there should be also third number visible. Also:
Is this possible in some future time ?
Would you mind attaching the .apk
file to the releases/
, so folks without Playstore can grab it? I'd then offer to make it available via my F-Droid compatible repository (including providing updates as soon as they are found here).
Of course, bringing Financisto to the official F-Droid repo would be much better even 😉
I'd like to observe the changes in the new version that I download from Google Play. So I could understand whether I need to change something in my little helper utility. Unfortunately there is no way to understand which commit was used for building the released version.
Please, mark sources for released versions with tags in Git.
+sms permission optimization
I make an API to support working with QR code receipts in Russia
If you are interested in using it for your project, please write to me
Starting with version 1.8.0 planned transactions are entered twice when scheduled time comes.
Service http://flowzr-hrd.appspot.com/ for currency rates stopped working
Hi
This bug is during QIF export for transfer between 2 accounts. When I import it into Home Bank, then transaction is 2 times present and Category is empty (altought I input it only one time and I set category!).
Would love if you may fix this issue.
Support for parsing SMS by patterns:
<:A:>
- account
<:P:>
- price
<::>
- all symbols/words
<:B:>
- balance (planned for future)
<:D:>
- date/time (planned for future)
SMS Templates are bound to Category and Account (optional).
Ex. SMS:
Pokupka. Karta *5631. Summa 250.00 RUB. NOVYY PROEKT, MOSCOW. 02.10.2017 14:19. Dostupno 34202.82 RUB. Tinkoff.ru
Template for it:
Pokupka. Karta *<:A:>. Summa <:P:> RUB. NOVYY PROEKT<::>
(if you have account of card type with number ending with 5631
- then this account will be used in transaction, otherwise - the account which is set in Template properties)
or:
<::>. Summa <:P:> RUB. NOVYY PROEKT<::>
- but in this case the account will not be recognised automatically.
+Added activities/screens for editing/adding SMS templates (from Entity list or Category edit screen), status bar notifications etc., here are screenshots and the built apk: https://www.dropbox.com/sh/s6glynraohv5jbr/AABlxeyfqaKj_Dp2PueFxW1Ba?dl=0
New photo save to /picture folder instead /financisto/picture. Old photo dont link to old transaction
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.