GithubHelp home page GithubHelp logo

darkempire78 / opencalc Goto Github PK

View Code? Open in Web Editor NEW
724.0 9.0 82.0 6.04 MB

A simple and beautiful calculator for Android

License: GNU General Public License v3.0

Kotlin 100.00%
android apk calculator fdroid fdroid-repos kotlin android-app android-application android-calculator

opencalc's Introduction

OpenCalc

OpenCalc

A simple and beautiful calculator for Android.

Latest release Releases License: GPL v3 Discord
Get it on Google Play Get it on F-Droid Get it on GitHub

πŸ“– Features

  • Lightweight (APK ~2MB)
  • No unnecessary permissions
  • Dark, Light, Amoled and Material You theme
  • Scientific mode
  • History
  • Portrait and landscape orientation
  • Quick Settings Tile
  • More...

⚠️ Requirements

  • Android 7.0+

πŸ“· Screenshots

β˜• Support

Support OpenCalc development by donating money. Thank you very much for your help! ❀️

Sponsor the project on GitHub Donate with PayPal Donate with buymeacoffee

πŸ’¬ Discord

Join the Discord server!

πŸ”¨ Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

🌎 Translations

You can help translate OpenCalc on Hosted Weblate.

Translation status


Translation status

πŸ“œ License

This project is licensed under GPLv3

❔ Most Asked Questions

Why OpenCalc has it's own algebra system and doesn't use already existing algebra system like mXparser?

OpenCalc doesn't use mXparser anymore since the v2.0.0 for two main reasons:

  1. reason is that it allows much more freedom and flexibility. mXparser has many known problems, either with accuracy or with features not present. Creating your own implementation allows you to control everything.
  2. reason is that it's lighter to use your own implementation (mXparser has around 3 times bigger size than OpenCalc).

🫢 Contributors

List of contributors to this repository

opencalc's People

Contributors

alecchangod avatar atrafon avatar bardock88 avatar bonswouar avatar ch3thanhs avatar comradekingu avatar danthe1st avatar darkempire78 avatar fsbat0 avatar gdonisi avatar gerogiannis avatar hawkeye116477 avatar inson1 avatar lefterisgar avatar lucifer25x avatar mahmoudrh avatar milotype avatar muryno avatar mwadle avatar ngocanhtve avatar noscirep avatar oersen avatar prasanta-hembram avatar rezaalmanda avatar rywz avatar softinterlingua avatar stephan-p avatar tvirin avatar weblate avatar zmni 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

opencalc's Issues

Release to PlayStore

and become the best alternative to proprietary GoogleCalc.

Either that Or reduce the app size by offering

  • SplitAPKs Support
  • Specific Arch Support

Compatibility for Galaxy Z Flip3's cover display

It would be extremely useful if OpenCalc was usable on the cover display of the Z Flip3. Currently it looks like this:
Screenshot_20220729-160929_CoverScreen

Google calculator is the only Calculator that is barely usable on the cover display. It looks like this:
Screenshot_20220729-161312_CoverScreen
The issue is the buttons are way too small to press on the cover screen. Some hidden UI menus might be the way to go to hide some buttons into for extra screen space and large touch areas.

Smaller Font

Love the app but the font is too big. Please add a setting to reduce the font to make it smaller.

Buttons are elongated and not spherical for some displays

I'm using LG Wing which has a display resolution of 1080x2460. The bubble buttons look pretty elongated in the natural mode which messes up the look of the app. Would be much better looking in my opinion if the buttons were spherical like the example screenshots shown on Github.

Screenshot_20220910-024243.png

Bug: Enter .0xyz and the 0 disappears when you hit x

It will work correctly if using the leading zero.

Examples:

Intended: 5 * .02 = 0.1

Actual: 5 * .2 = 1

Workaround: 5 * 0.02 = 0.1

Surprising behavior. Entering a leading zero is optional and should be implied internally as soon as a decimal point is reached. After a decimal point, stop elimination of zeroes incorrectly treated as leading zeroes.

Everything that I noticed doesn't match with Google's app

  • The delete button isn't filled (is outline only)
  • % and ^ are swapped
  • Ο€ is endless on Google's app but not that one
  • When there's an error the text doesn't turn red
  • Error messages don't say why there's an error
  • 0^0 says it's one and not β€œUndefined or 1” (0^0 = 1 is generally correct see this Wikipedia article)
  • Typing 50%10 doesn't show what 50% of 10 is.
  • The 3 vertical dots menu doesn't have rounded corners and isn't styled

Obviously they don't have to be identical just wanted to make a helpful list

Optimize app themes and design.

  1. Instead of having seperate option for Material You theming; Light, Dark and Black theme should support Material You by default. (Next comment to this thread suggests how theming could be implemented in Black theme)
  2. Change font to "Google Sans" or whichever font Google Calculator uses for buttons.
  3. In case of tall screens, the buttons are vertically elongated and appear slightly elliptical.
  4. Buttons in non-Material You Light theme have pastel colors (which Material design recommends) however buttons in Dark theme have bold colors.
  5. Switch positions of "%" and "^" buttons, like it is in Google Calculator. It also fixes the issue that "^" button isn't centered.

PS: I've noticed most, if not all, fully Material design compliant apps use "Black" to refer Amoled theme. I don't know if it's a Material design guideline or personal choice of developers, so maybe rename the theme name or leave as it is.

Unable to launch app

App keeps force stopping and refuses to open.

Screenshot_20220729-150945~2

Device: Nokia 6.1 Plus, stock rom.
Android version: 10

Option to clear history

The option to clear history would be very useful. It would be great if you add the feature. Thank you

Incorrect parentheses handling

The calculator produces a close parenthesis even after operators. For example, if you try to type 2-(3*(4+1)) this calculator shows 2-(3*)4+1((. However, 3* is not a valid mathematical expression so the parenthesis should not be closed after this.

Improve Buttons Shape

Right now, on my phone (6.24 x 2.90 INCH) the buttons are elongated and look more like ovals than actual circles. It could be just me, so I understand if you're not looking to do anything about it. Thank you.

Screenshot_20220821-214145_Calculator

Scrolling too fast in the history does funky things

The scrolling speed afftects the excepted outcome of the scroll-action.

When the initial scroll speed is high > the "closing/opening" action is being used.
When the initial scoll speed is low > the "scrolling through the history" action is used.

Screen_Recording_20221107_174431_Calculator_1.mp4

(I am not a mobile dev by any means πŸ˜…)

Maybe changing the component to a (sun) shade might be more natural. Or something similar to the notification menu:

Swipe down once > open history
Swipe up (when hitting the bottom of the history) >close the history
Swipe up (when not at the bottom of the history) > scroll through the history

Change app name to "Calculator"

Please change the app name from "OpenCalc" to "Calculator", for convenience. Extra scrolling feels unintuitive for accessing essential utilities.

  • Google's Calendar app is named "Google Calendar" on Play Store but only "Calendar" in app drawer.
  • Xiaomi's Calculator app goes by the name "Mi Calculator" on Play Store but only as "Calculator" in app drawer.

Doing same for this app would be appreciated.

Use Unicode minus for minus key

Hi,

Nice calculator!

I notice one thing immediately: on the minus key, you are using ASCII 'hyphen', U+002D.
It would be much better to use the proper typographic minus: U+2212.
In most fonts, that glyph is designed to look like the plus, times, divide, and equals, whereas 'hyphen' is a word-divider.

Cheers!

minor UI improvement

This should be added to UI (in amoled theme)

(tinier and with more opacity)

IMG_20220729_140518.jpg

as a reference: (from Xiaomi's Calculator)

IMG_20220729_140548.jpg

normal UI is really confusing in amoled theme, so with this improvement, it would look better and affect your eyes less.

Large numbers are freezing the app

Large numbers calculations, like 9999^9999 cause app to freeze deadly and then crash it, despite "Infinity" answer displays.

screen-20220730-214531.mp4

Follow the system theme

I see F-Droid inclusion is planned and I'm excited. The app should also be able to follow the system theme. Imv the colours in the dark mode are too bright and not as pastel as those in light mode. But this is probably subjective.

keyboard size settings

the size of the keyboard is best adjusted in height so that it is convenient to work with one hand on a large screen.

make settings for keyboard height

[Feature Request] Special code will show previously hide apps' list

I own several apps that perform functions of utmost importance in the device but would be better was concealed. I mention a few:
Wasted, Sentry, Duress, Photok, etc.

I would like that by entering a special code such as 9999 (the code is user-defined) and long press on = it will show hide apps' list (previously added to OpenCalc).

Of course, OpenCalc should also be able to hide them.

Play protect error!

Why does it ask for any kind of data to send?
And it's blocked in play protect after the update...Screenshot_20220727-231537_Google Play Store.png![Screenshot_20220727-231524Screenshot_20220727-231524_Google Play Store~01.png

Calcultion optimization

In opencalc,after one calculation if anyone wants to start a new calculation, they have to click on AC button or long press the delete button,which is very hectic during some speedy multiple calculation.
But in many calculator out there (like google calculator, lineage os calculator) this issue is solved.There,after hitting the equal button if anyones click any numerical button, a new calculation session is start.
This feature in opencalc would be very handy and user friendly.Thank You.

Light splash screen

Despite having the Material You theme enabled and dark mode enabled on my phone, the splash screen is always light. This can be blinding and should be fixed

Widget support

Good app with great UI. I always looking for calculator app with widget support. I tried many many calculator apps but no one is great for widget UI. Using standalone Calculator Widget from Play Store for a long time but it also has no update for a long time.

OpenCalc looks great and I believe the widget should be great too.

new UI: About

Instead of the "GitHub", an "About" section would be better.

Icon: Info
Title: GitHub
Description: Check our amazing GitHub repository and the our wonderful source code.

(you may change it, this one sounds ironical but also cringe.)


Icon: Update
Title: Latest release or Releases
Description: Look for new updates to be up-to-date our new amazing features.

(you may change it, i think this description has grammar issues :3)


Icon: Star Half
Title: Credits
Description: Credits and blah blah

(i couln't think of a description)


Also, a version info thing to show app's version.

App icon not displaying on Android 7.0

Hi,

I just installed OpenCalc on an Asus tablet (P00C) running Android 7.0. The app icon is just the android robot on that device but on a Moto G7 phone running Android 10 the app icon works as expected.

Both installed through F-Droid.

Add UI: Settings

As the app is maturing people are asking for new adjustments and additions so I think a settings page should be added.

Keyboard opens up

Keyboard opens up when reentering or switching between apps.

VID_20220819_231124_209.mp4

transferring long text to another line

when you enter a long expression to calculate, the text goes off the edge of the screen. it's inconvenient. you need to move the text to another line so that the entire expression fits on the screen. the number of troks needs to be built up. the user himself will choose how many lines he needs at most (from 3 to 10 lines)

Add logo to arcticons

Hey! Love the app and love your work! I wish I had the knowledge to do the things you do.

I use Arcticons as my main icon-pack. It would be great if you could include the logo inside the articons. The developer has a contributing guide with the few steps needed.

Separator (,/.) for large numbers?

Large numbers MUST have a separator for one to easily distinguish between thousands, millions, billions or whatever numbers you are working with.

How Google Calculator does it:
Screenshot_20220730-132904_Calculator.jpg

Also, you could add an opt-in <space> separator for decimal numbers (1 space per 3 numbers) to reduce the overcrowded output.

Be aware of which number separator you choose, not all countries use the same number separator!

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.