Giter Club home page Giter Club logo

split-it-easy-android's People

Contributors

mohitsoni-dev avatar nishantboro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

split-it-easy-android's Issues

Empty screen when there are no groups

Dear developer,
I have found a scope of UI enhancement. That is when there are 0 groups, the group activity displays an empty screen. It should display a text that there are no groups and please create a new group.
I would like to solve this issue and will be grateful to contribute.
ss

Feature request: Add difference result view

Great App, found it in F-Droid!

I would like to suggest to add a difference result view showing how much more or less everyone paid compared to his part, like in Tricount. That view is also good for cross checking and remembering if anything is missing.
With that I think the app would almost be feature complete.

Screenshot_20210628-154541225 (1)

It could be on the top of the balances tab for example or in a separate tab.

[Feature] Add "participants" to each expense

Example: people A, B and C are on a holiday together and have a group in the app with all 3 people in it. Adding items to the expenses splits them evenly between the 3 of them.
However, if people A and B decide to go out drinking and C prefers to stay in the hotel, adding the bar tab in the app would have C pay for something he took no part in. In that case A and B would have to make a separate group that would only complicate things further. And it gets even more complicated if there are more people involved.

So I propose a simple option when adding an expense: Participants, which lists all members of the group with a tickbox next to their names (by default all will be checked).

Cryptographic APIs misuses

I'm a PhD student interested in finding security vulnerabilities in open source projects.

We found a total of 7 warnings (indicating potential vulnerabilities) when running the CogniCrypt static analyzer (*) on split-it-easy-android (or its library dependencies). We documented each one of these issues in private gists for the sake of confidentiality (non-disclosure).

Can you please let us know whether we can share these gists with you? We are eager to evaluate the perception of developers (e.g. severity of these warnings) and improve split-it-easy-android's security, and the quality of the reports of static analysis tools.
(*) https://github.com/CROSSINGTUD/CryptoAnalysis

A display issue

Dear developer!
In the process of using, I found a bug in layout / display. As shown in the figure, in the groups page, the text in the red box is half blocked. This may be an adaptation problem. I suspect it is because display and font size are set to large (mainly due to display size).
I hope that the page can be set to scroll, so that the problem caused by the display size of large can be solved.
App version is 1.0, my mobile phone is Google nexus 6, screen resolution setting is 1920* 1080, font size and display size are the largest ! ! !, Android system is 8.0.
The above is a description of the problem. The overall experience of the software is good. You can see that the design is very attentive. Thank you very much for the efforts of the developers all the time. I hope to receive a reply.
Thank you!
bug-splititeasy

Feature request: Allow import/export (+sharing) of groups

First of all this is a low priority feature request since I don't believe that many people would really use it but I guess it might useful for some few out there.
You could allow import/export and sharing of a group like this:

  1. Export group as a json string from the database
  2. Compress json
  3. Encode to Base64
  4. Base64 string can just be shared in a message
    For import go backwards.

Possibly merge the imported group with an existing group such that two people can collect expenses in a distributed way and merge at the end of the day. With that last possibility the whole feature might become quite useful. So during import ask the user with which existing group he would like to merge the imported data.

Data loss on double screen rotation

In the double screen rotation test to detect data loss, an application failure was identified:

GroupListActivity: element test123 loses state

Before and after double screen rotation

HandleOnGroupClickActivity: menu disappears

Before and after double screen rotation

MainActivity: content_description': u'Close navigation drawer' content_description': u'Open navigation drawer'

TouchEvent [[0,54],[98,152]]
TouchEvent [[53,650],[667,964]]
Cap01: capture screen properties before rotation
DoubleRotationEvent
Cap02: capture screen properties after rotation 

Cap01 != Cap02 (incompatible sizes)

A data loss problem occurs when data is accidentally deleted or state variables are accidentally assigned with default or initial values. This issue is related to the activity's lifecycle (1). When a screen rotation occurs, the activity is destroyed and resumed. Data loss will happen if the developer does not save the variables before the destruction and restore them after creation. To avoid this, the developers have to implement both the logic necessary to save the activity state in the onSaveInstanceState() callback method and the logic to resume its state in the onRestoreInstanceState() callback method.
Another way to avoid data loss problems is to use the view model, designed to store and manage UI-related data in a lifecycle-conscious way (2).

Note:

  • Double screen rotation: It is executed twice to reach a state that should be exactly the same as the screen before if no data loss occurred.
  • A data loss problem occurs when data is accidentally deleted or state variables are accidentally assigned with default or initial values.
  1. https://developer.android.com/guide/components/activities/activity-lifecycle
  2. https://developer.android.com/topic/libraries/architecture/viewmodel

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.