GithubHelp home page GithubHelp logo

scoutant / rpn Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 0.0 391 KB

RPN Calculator. Android app written in Kotlin.

License: GNU General Public License v3.0

Java 14.42% Kotlin 84.92% Shell 0.66%
rpn-calculator rpn kotlin calculator android

rpn's People

Contributors

poussinou avatar scoutant avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

rpn's Issues

Crash when operating with infinity

Steps:

  1. 2 [enter][enter][enter][enter]
  2. Press x^n button until stack is empty. Now there is an infinity sign
  3. Enter
  4. x^n again
  5. Crash

Like a new RPN app though, nice work!

Documentation typo

For example, how many hour in a week? :

24 7 +

That should be

For example, how many hours in a week? :

24 7 ×

F-Droid build failed

> Task :app:lintVitalRelease FAILED
/home/vagrant/build/org.scoutant.rpn/app/src/main/res/layout-land/main.xml:2: Error: The layout "main" in layout-land has no declaration in the base layout folder; this can lead to crashes when the resource is queried in a configuration that does not match this qualifier [MissingDefaultResource]
<androidx.constraintlayout.widget.ConstraintLayout
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "MissingDefaultResource":
   If a resource is only defined in folders with qualifiers like -land or -en,
   and there is no default declaration in the base folder (layout or values
   etc), then the app will crash if that resource is accessed on a device
   where the device is in a configuration missing the given qualifier.

   As a special case, drawables do not have to be specified in the base
   folder; if there is a match in a density folder (such as drawable-mdpi)
   that image will be used and scaled. Note however that if you  only specify
   a drawable in a folder like drawable-en-hdpi, the app will crash in
   non-English locales.

   There may be scenarios where you have a resource, such as a -fr drawable,
   which is only referenced from some other resource with the same qualifiers
   (such as a -fr style), which itself has safe fallbacks. However, this still
   makes it possible for somebody to accidentally reference the drawable and
   crash, so it is safer to create a default fallback in the base folder.
   Alternatively, you can suppress the issue by adding
   tools:ignore="MissingDefaultResource" on the element.

   (This scenario frequently happens with string translations, where you might
   delete code and the corresponding resources, but forget to delete a
   translation. There is a dedicated issue id for that scenario, with the id
   ExtraTranslation.)

1 errors, 0 warnings
Lint found fatal errors while assembling a release target.

To proceed, either fix the issues identified by lint, or modify your build script as follows:
...
android {
    lintOptions {
        checkReleaseBuilds false
        // Or, if you prefer, you can continue to check for errors in release builds,
        // but continue the build even when errors are found:
        abortOnError false
    }
}
...

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:lintVitalRelease'.
> A failure occurred while executing com.android.build.gradle.internal.lint.AndroidLintTask$AndroidLintLauncherWorkAction
   > There was a failure while executing work items
      > A failure occurred while executing com.android.build.gradle.internal.lint.AndroidLintWorkAction
         > Lint found fatal errors while assembling a release target.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Could you please take a look? Thanks!

Needs stack manipulation.

Rotate Up and Rotate Down functions would really round out this application.

Rotate Up
This takes the item from the top of the stack and places it on the bottom of the stack. Eg:

213
400
3

becomes

400
3
213

Rotate Down
The item from the bottom of the stack is relocated to the top of the stack. Eg:

213
400
3

becomes

3
213
400

R↑ and R↓ pair really nicely with swap and result in a fully functional stack. I like to use the top of the stack as "memory". This lets me compute multiple formulations on the same screen without the need to store results on a sheet of paper.


To free up space for the extra 2 buttons, we could do 2 of the following:

  • shrink the enter button to so that a button will fit between drop and Enter.
  • completely remove , which is superfluous as it's the same function as 0.5[xⁿ].
  • completely remove+/-, as it's the same as 0[swap]-

Incompatible with the popular Android devices

Related to #6. The app is not available in the Play store of the popular Android devices currently in use such as Galaxy Grand Prime, J2, J1 Ace, and Oppo A37f. The devices support min SDK 22. However, the app supports min SDK 23.

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.