├── app
├── .gitignore
├── src
│ ├── main
│ │ ├── res
│ │ │ ├── resources.properties
│ │ │ ├── font
│ │ │ │ └── nunitosans.ttf
│ │ │ ├── mipmap-hdpi
│ │ │ │ ├── ic_launcher.webp
│ │ │ │ ├── ic_pgshortcut.webp
│ │ │ │ ├── ic_calcshortcut.webp
│ │ │ │ ├── ic_launcher_round.webp
│ │ │ │ ├── ic_unitshortcut.webp
│ │ │ │ ├── ic_pgshortcut_round.webp
│ │ │ │ ├── ic_calcshortcut_round.webp
│ │ │ │ └── ic_unitshortcut_round.webp
│ │ │ ├── mipmap-mdpi
│ │ │ │ ├── ic_launcher.webp
│ │ │ │ ├── ic_pgshortcut.webp
│ │ │ │ ├── ic_calcshortcut.webp
│ │ │ │ ├── ic_launcher_round.webp
│ │ │ │ ├── ic_unitshortcut.webp
│ │ │ │ ├── ic_pgshortcut_round.webp
│ │ │ │ ├── ic_calcshortcut_round.webp
│ │ │ │ └── ic_unitshortcut_round.webp
│ │ │ ├── mipmap-xhdpi
│ │ │ │ ├── ic_launcher.webp
│ │ │ │ ├── ic_pgshortcut.webp
│ │ │ │ ├── ic_calcshortcut.webp
│ │ │ │ ├── ic_unitshortcut.webp
│ │ │ │ ├── ic_launcher_round.webp
│ │ │ │ ├── ic_calcshortcut_round.webp
│ │ │ │ ├── ic_pgshortcut_round.webp
│ │ │ │ └── ic_unitshortcut_round.webp
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ ├── ic_launcher.webp
│ │ │ │ ├── ic_calcshortcut.webp
│ │ │ │ ├── ic_pgshortcut.webp
│ │ │ │ ├── ic_unitshortcut.webp
│ │ │ │ ├── ic_launcher_round.webp
│ │ │ │ ├── ic_pgshortcut_round.webp
│ │ │ │ ├── ic_calcshortcut_round.webp
│ │ │ │ └── ic_unitshortcut_round.webp
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ ├── ic_launcher.webp
│ │ │ │ ├── ic_pgshortcut.webp
│ │ │ │ ├── ic_calcshortcut.webp
│ │ │ │ ├── ic_unitshortcut.webp
│ │ │ │ ├── ic_launcher_round.webp
│ │ │ │ ├── ic_pgshortcut_round.webp
│ │ │ │ ├── ic_calcshortcut_round.webp
│ │ │ │ └── ic_unitshortcut_round.webp
│ │ │ ├── values-sw411dp
│ │ │ │ └── dimens.xml
│ │ │ ├── values
│ │ │ │ ├── ic_launcher_background.xml
│ │ │ │ ├── ic_calcshortcut_background.xml
│ │ │ │ ├── ic_pgshortcut_background.xml
│ │ │ │ ├── ic_unitshortcut_background.xml
│ │ │ │ ├── dimens.xml
│ │ │ │ ├── arrays.xml
│ │ │ │ └── attrs.xml
│ │ │ ├── drawable
│ │ │ │ ├── uc_copy.xml
│ │ │ │ ├── uc_search.xml
│ │ │ │ ├── uc_back.xml
│ │ │ │ ├── precisionbg.xml
│ │ │ │ ├── unitgroupbg.xml
│ │ │ │ ├── unitgroupbg_dragged.xml
│ │ │ │ ├── dropdown_last_bg.xml
│ │ │ │ ├── dropdownicon.xml
│ │ │ │ ├── moon_full.xml
│ │ │ │ ├── rounded_bg_search.xml
│ │ │ │ ├── pinbg.xml
│ │ │ │ ├── bullet.xml
│ │ │ │ ├── ic_circle_48.xml
│ │ │ │ ├── outline_home_24.xml
│ │ │ │ ├── ic_baseline_code_24.xml
│ │ │ │ ├── outline_arrow_back_24.xml
│ │ │ │ ├── ic_incomplete_circle_24.xml
│ │ │ │ ├── pi_box.xml
│ │ │ │ ├── container_round_ripple.xml
│ │ │ │ ├── round_sysdefault_24.xml
│ │ │ │ ├── close_circle.xml
│ │ │ │ ├── round_remove_circle_24.xml
│ │ │ │ ├── drop_container_lines.xml
│ │ │ │ ├── outline_info_24.xml
│ │ │ │ ├── round_drag_handle_24.xml
│ │ │ │ ├── textlefthandle.xml
│ │ │ │ ├── textrighthandle.xml
│ │ │ │ ├── round_info_24.xml
│ │ │ │ ├── ic_pressure_24.xml
│ │ │ │ ├── ic_drop_up_24.xml
│ │ │ │ ├── outline_check_circle_24.xml
│ │ │ │ ├── ic_drop_down_24.xml
│ │ │ │ ├── ic_drop_down_48.xml
│ │ │ │ ├── backspace_outline.xml
│ │ │ │ ├── calendar_edit.xml
│ │ │ │ ├── round_format_paint_24.xml
│ │ │ │ ├── ic_content_copy_24.xml
│ │ │ │ ├── ic_time_24.xml
│ │ │ │ ├── round_add_circle_24.xml
│ │ │ │ ├── round_access_time_filled_24.xml
│ │ │ │ ├── round_clear_all_24.xml
│ │ │ │ ├── ucripple.xml
│ │ │ │ ├── round_calendar_today_24.xml
│ │ │ │ ├── palette_swatch_variant.xml
│ │ │ │ ├── textmiddlehandle.xml
│ │ │ │ ├── ic_backspace_24.xml
│ │ │ │ ├── math_compass.xml
│ │ │ │ ├── outline_push_pin_24.xml
│ │ │ │ ├── round_arrow_back_24.xml
│ │ │ │ ├── ic_bolt_24.xml
│ │ │ │ ├── ic_thermostat_24.xml
│ │ │ │ ├── ceiling_fan.xml
│ │ │ │ ├── ic_baseline_calculate_24.xml
│ │ │ │ ├── round_swap_vert_24.xml
│ │ │ │ ├── round_search_24.xml
│ │ │ │ ├── ic_area_chart_24.xml
│ │ │ │ ├── ic_straighten_24.xml
│ │ │ │ ├── systemfont.xml
│ │ │ │ ├── outline_dark_mode_24.xml
│ │ │ │ ├── round_align_horizontal_left_24.xml
│ │ │ │ ├── round_check_circle_24.xml
│ │ │ │ ├── round_swap_horiz_24.xml
│ │ │ │ ├── round_code_24abyss.xml
│ │ │ │ ├── round_code_24light.xml
│ │ │ │ ├── round_view_timeline_24.xml
│ │ │ │ ├── ic_local_drink_24.xml
│ │ │ │ ├── round_add_to_home_screen_24.xml
│ │ │ │ ├── ic_speed_24.xml
│ │ │ │ ├── ic_text_snippet_24.xml
│ │ │ │ ├── ic_energy_24.xml
│ │ │ │ ├── round_settings_backup_restore_24.xml
│ │ │ │ ├── round_vibration_24.xml
│ │ │ │ ├── round_tune_24.xml
│ │ │ │ ├── round_123_24.xml
│ │ │ │ ├── eye_circle.xml
│ │ │ │ ├── ic_monitor_weight_24.xml
│ │ │ │ ├── round_checklist_24.xml
│ │ │ │ ├── round_recently_used.xml
│ │ │ │ ├── ic_pgshortcut_foreground.xml
│ │ │ │ ├── ic_baseline_cyclone_24.xml
│ │ │ │ ├── you_style3.xml
│ │ │ │ ├── you_style4.xml
│ │ │ │ ├── you_style2.xml
│ │ │ │ ├── you_style1.xml
│ │ │ │ ├── round_volunteer_activism_24.xml
│ │ │ │ ├── round_cyclone_24abyss.xml
│ │ │ │ ├── round_cyclone_24light.xml
│ │ │ │ ├── outline_palette_24.xml
│ │ │ │ ├── round_copyright_24.xml
│ │ │ │ ├── round_app_shortcut_24.xml
│ │ │ │ ├── web_off.xml
│ │ │ │ ├── outline_light_mode_24.xml
│ │ │ │ ├── evil.xml
│ │ │ │ ├── round_calculate_24abyss.xml
│ │ │ │ ├── round_calculate_24light.xml
│ │ │ │ ├── ic_unitshortcut_foreground.xml
│ │ │ │ ├── ic_currency_exchange_24.xml
│ │ │ │ ├── ic_calcshortcut_foreground.xml
│ │ │ │ ├── ic_settings_24.xml
│ │ │ │ └── emptyhistory.xml
│ │ │ ├── color
│ │ │ │ ├── unitchipbg.xml
│ │ │ │ ├── youstyle_chipborder.xml
│ │ │ │ ├── uctabselector.xml
│ │ │ │ ├── radiobuttontint.xml
│ │ │ │ ├── selector.xml
│ │ │ │ ├── uctextselector.xml
│ │ │ │ ├── othselector.xml
│ │ │ │ ├── disabled_switch_track_tint.xml
│ │ │ │ ├── switch_track_tint.xml
│ │ │ │ └── switch_thumb_tint.xml
│ │ │ ├── xml
│ │ │ │ ├── backup_rules.xml
│ │ │ │ ├── osspref.xml
│ │ │ │ ├── appearance_preferences.xml
│ │ │ │ ├── prefmode.xml
│ │ │ │ ├── unitgrouppref.xml
│ │ │ │ ├── precisionpref.xml
│ │ │ │ ├── datefmtpref.xml
│ │ │ │ ├── dtmhistorypref.xml
│ │ │ │ ├── data_extraction_rules.xml
│ │ │ │ ├── general_preferences.xml
│ │ │ │ ├── pgpref.xml
│ │ │ │ ├── aboutpref.xml
│ │ │ │ ├── unitconvpref.xml
│ │ │ │ ├── calcpref.xml
│ │ │ │ └── root_preferences.xml
│ │ │ ├── layout
│ │ │ │ ├── osspreflayout.xml
│ │ │ │ ├── unit_chip_item.xml
│ │ │ │ ├── list_item_land.xml
│ │ │ │ ├── item_chip.xml
│ │ │ │ ├── list_item_alt.xml
│ │ │ │ ├── list_item_unitconv.xml
│ │ │ │ ├── material_switch.xml
│ │ │ │ ├── list_item.xml
│ │ │ │ ├── activity_settings.xml
│ │ │ │ ├── unitgrouppreflyt.xml
│ │ │ │ ├── history_appbar.xml
│ │ │ │ ├── easter_egg.xml
│ │ │ │ ├── item_unit_group.xml
│ │ │ │ ├── uc_unit_list_item.xml
│ │ │ │ ├── uc_dropsearchdialog.xml
│ │ │ │ ├── settings_appbar.xml
│ │ │ │ ├── app_bar_alt.xml
│ │ │ │ ├── app_bar.xml
│ │ │ │ ├── no_internet.xml
│ │ │ │ ├── app_bar_alt_land.xml
│ │ │ │ ├── precisionlayout.xml
│ │ │ │ └── activity_history.xml
│ │ │ └── mipmap-anydpi-v26
│ │ │ │ ├── ic_launcher.xml
│ │ │ │ ├── ic_launcher_round.xml
│ │ │ │ ├── ic_pgshortcut.xml
│ │ │ │ ├── ic_calcshortcut.xml
│ │ │ │ ├── ic_pgshortcut_round.xml
│ │ │ │ ├── ic_unitshortcut.xml
│ │ │ │ ├── ic_calcshortcut_round.xml
│ │ │ │ └── ic_unitshortcut_round.xml
│ │ ├── assets
│ │ │ └── eastereggbg.png
│ │ ├── ic_launcher-playstore.png
│ │ ├── ic_pgshortcut-playstore.png
│ │ ├── ic_calcshortcut-playstore.png
│ │ ├── ic_unitshortcut-playstore.png
│ │ ├── java
│ │ │ └── yetzio
│ │ │ │ └── yetcalc
│ │ │ │ ├── models
│ │ │ │ ├── UnitConvRecentTab.kt
│ │ │ │ ├── UnitGroup.kt
│ │ │ │ ├── UnitItem.kt
│ │ │ │ ├── HistoryItem.kt
│ │ │ │ ├── EasterEggViewModel.kt
│ │ │ │ ├── CalcViewModel.kt
│ │ │ │ ├── ProgramCalcViewModel.kt
│ │ │ │ └── HistoryViewModel.kt
│ │ │ │ ├── config
│ │ │ │ ├── CalcView.kt
│ │ │ │ └── ActivityTracker.kt
│ │ │ │ ├── enums
│ │ │ │ ├── NumberSystem.kt
│ │ │ │ ├── UnitType.kt
│ │ │ │ └── CalcModes.kt
│ │ │ │ ├── YetCalc.kt
│ │ │ │ ├── HomeActivity.kt
│ │ │ │ ├── adapters
│ │ │ │ ├── ModeSelectAdapter.kt
│ │ │ │ └── HistoryAdapter.kt
│ │ │ │ ├── dialogs
│ │ │ │ └── EasterEggDialogs.kt
│ │ │ │ ├── component
│ │ │ │ └── Calculator.kt
│ │ │ │ └── views
│ │ │ │ ├── HistoryActivity.kt
│ │ │ │ └── SettingsActivity.kt
│ │ └── AndroidManifest.xml
│ ├── test
│ │ └── java
│ │ │ └── yetzio
│ │ │ └── yetcalc
│ │ │ └── ExampleUnitTest.kt
│ └── androidTest
│ │ └── java
│ │ └── yetzio
│ │ └── yetcalc
│ │ └── ExampleInstrumentedTest.kt
├── proguard-rules.pro
└── build.gradle.kts
├── fastlane
└── metadata
│ └── android
│ ├── en-US
│ ├── title.txt
│ ├── changelogs
│ │ ├── 1.txt
│ │ ├── 17.txt
│ │ ├── 18.txt
│ │ ├── 3.txt
│ │ ├── 2.txt
│ │ ├── 19.txt
│ │ ├── 23.txt
│ │ ├── 24.txt
│ │ ├── 22.txt
│ │ ├── 4.txt
│ │ ├── 15.txt
│ │ ├── 20.txt
│ │ ├── 14.txt
│ │ ├── 7.txt
│ │ ├── 11.txt
│ │ ├── 8.txt
│ │ ├── 10.txt
│ │ ├── 12.txt
│ │ ├── 13.txt
│ │ ├── 21.txt
│ │ ├── 5.txt
│ │ ├── 9.txt
│ │ ├── 6.txt
│ │ └── 16.txt
│ ├── short_description.txt
│ ├── images
│ │ ├── icon.png
│ │ ├── featureGraphic.png
│ │ └── phoneScreenshots
│ │ │ ├── 1.png
│ │ │ ├── 2.png
│ │ │ ├── 3.png
│ │ │ ├── 4.png
│ │ │ ├── 5.png
│ │ │ ├── 6.png
│ │ │ ├── 7.png
│ │ │ └── 8.png
│ └── full_description.txt
│ ├── cs-CZ
│ └── short_description.txt
│ ├── ru-RU
│ └── short_description.txt
│ ├── ru
│ └── full_description.txt
│ └── cs
│ └── full_description.txt
├── img
├── icons
│ └── appico.png
└── oth
│ └── UPIQRcode.png
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── .github
└── FUNDING.yml
├── .gitignore
├── renovate.json
├── settings.gradle.kts
├── gradle.properties
├── DONATE.md
├── LICENSE
└── licenses
└── mXparser
└── LICENSE.txt
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/title.txt:
--------------------------------------------------------------------------------
1 | yetCalc
--------------------------------------------------------------------------------
/app/src/main/res/resources.properties:
--------------------------------------------------------------------------------
1 | unqualifiedResLocale=en-US
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/1.txt:
--------------------------------------------------------------------------------
1 | Initial version
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/17.txt:
--------------------------------------------------------------------------------
1 | v2.0.1 Maintenance release
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/18.txt:
--------------------------------------------------------------------------------
1 | v2.0.2 Maintenance release
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/3.txt:
--------------------------------------------------------------------------------
1 | - Options to disable haptic feedback!
--------------------------------------------------------------------------------
/img/icons/appico.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/img/icons/appico.png
--------------------------------------------------------------------------------
/img/oth/UPIQRcode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/img/oth/UPIQRcode.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/cs-CZ/short_description.txt:
--------------------------------------------------------------------------------
1 | Progresivní kalkulačka, převodník a mnoho dalšího.
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/short_description.txt:
--------------------------------------------------------------------------------
1 | Progressive calculator, converter and much more.
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/app/src/main/assets/eastereggbg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/assets/eastereggbg.png
--------------------------------------------------------------------------------
/app/src/main/res/font/nunitosans.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/font/nunitosans.ttf
--------------------------------------------------------------------------------
/fastlane/metadata/android/ru-RU/short_description.txt:
--------------------------------------------------------------------------------
1 | Прогрессивный калькулятор, преобразователь единиц и многое другое.
--------------------------------------------------------------------------------
/app/src/main/ic_launcher-playstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/ic_launcher-playstore.png
--------------------------------------------------------------------------------
/app/src/main/ic_pgshortcut-playstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/ic_pgshortcut-playstore.png
--------------------------------------------------------------------------------
/app/src/main/ic_calcshortcut-playstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/ic_calcshortcut-playstore.png
--------------------------------------------------------------------------------
/app/src/main/ic_unitshortcut-playstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/ic_unitshortcut-playstore.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/2.txt:
--------------------------------------------------------------------------------
1 | - OSS License notices section removed, links to relevant licenses will be provided in the repo.
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/models/UnitConvRecentTab.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc.models
2 |
3 | data class UnitConvRecentTab(var tabnum: Int)
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_pgshortcut.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-hdpi/ic_pgshortcut.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_pgshortcut.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-mdpi/ic_pgshortcut.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_pgshortcut.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xhdpi/ic_pgshortcut.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/fastlane/metadata/android/en-US/images/icon.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_calcshortcut.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-hdpi/ic_calcshortcut.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_unitshortcut.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-hdpi/ic_unitshortcut.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_calcshortcut.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-mdpi/ic_calcshortcut.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_unitshortcut.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-mdpi/ic_unitshortcut.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_calcshortcut.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xhdpi/ic_calcshortcut.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_unitshortcut.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xhdpi/ic_unitshortcut.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_calcshortcut.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xxhdpi/ic_calcshortcut.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_pgshortcut.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xxhdpi/ic_pgshortcut.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_unitshortcut.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xxhdpi/ic_unitshortcut.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_pgshortcut.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_pgshortcut.webp
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/models/UnitGroup.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc.models
2 |
3 | class UnitGroup(val name: String, var enabled: Boolean){
4 | }
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_pgshortcut_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-hdpi/ic_pgshortcut_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_pgshortcut_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-mdpi/ic_pgshortcut_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_calcshortcut.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_calcshortcut.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_unitshortcut.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_unitshortcut.webp
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: # not yet
4 | custom: ['https://www.buymeacoffee.com/yetzio']
5 | patreon: yetzio
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/models/UnitItem.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc.models
2 |
3 | data class UnitItem(val value: String, val originalIndex: Int)
4 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_calcshortcut_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-hdpi/ic_calcshortcut_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_unitshortcut_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-hdpi/ic_unitshortcut_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_calcshortcut_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-mdpi/ic_calcshortcut_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_unitshortcut_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-mdpi/ic_unitshortcut_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_calcshortcut_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xhdpi/ic_calcshortcut_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_pgshortcut_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xhdpi/ic_pgshortcut_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_unitshortcut_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xhdpi/ic_unitshortcut_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_pgshortcut_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xxhdpi/ic_pgshortcut_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_pgshortcut_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_pgshortcut_round.webp
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/19.txt:
--------------------------------------------------------------------------------
1 | v2.0.3 Bug Fixes
2 |
3 | - Weight/Mass Group now shows its correct unit dialog instead of volume related units.
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_calcshortcut_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xxhdpi/ic_calcshortcut_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_unitshortcut_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xxhdpi/ic_unitshortcut_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_calcshortcut_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_calcshortcut_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_unitshortcut_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_unitshortcut_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/values-sw411dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 50sp
4 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/featureGraphic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/fastlane/metadata/android/en-US/images/featureGraphic.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/fastlane/metadata/android/en-US/images/phoneScreenshots/6.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/fastlane/metadata/android/en-US/images/phoneScreenshots/7.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Yet-Zio/yetCalc/HEAD/fastlane/metadata/android/en-US/images/phoneScreenshots/8.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/23.txt:
--------------------------------------------------------------------------------
1 | Minor Fixes:
2 |
3 | - Conversion issues for Pounds and Stones
4 | - Some translation issues
5 |
6 | Support for Android 16
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/24.txt:
--------------------------------------------------------------------------------
1 | Minor Fixes:
2 |
3 | - Conversion issues for Pounds and Stones
4 | - Some translation issues
5 |
6 | Support for Android 16
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/config/CalcView.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc.config
2 |
3 | enum class CalcView {
4 | CALCULATOR,
5 | CONVERTER,
6 | PROGRAMMER
7 | }
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/models/HistoryItem.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc.models
2 |
3 | data class HistoryItem(var timestamp: String, var expression: String, var result: String)
--------------------------------------------------------------------------------
/app/src/main/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #18251B
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values/ic_calcshortcut_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #000000
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values/ic_pgshortcut_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #000000
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values/ic_unitshortcut_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #000000
4 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/22.txt:
--------------------------------------------------------------------------------
1 | Fixes
2 |
3 | - Font size fixes for smaller layouts
4 |
5 | Enhancements
6 |
7 | - Added a solve and share option in text selection context menu.
--------------------------------------------------------------------------------
/app/src/main/res/drawable/uc_copy.xml:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/uc_search.xml:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/uc_back.xml:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/enums/NumberSystem.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc.enums
2 |
3 | enum class NumberSystem(val radix: Int) {
4 | HEX(16),
5 | DEC(10),
6 | OCT(8),
7 | BIN(2);
8 | }
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/4.txt:
--------------------------------------------------------------------------------
1 | - Fixed an issue where result is always a real number.
2 | - Added a higher precision setting(1e-323).
3 | - Padding for progressive result changed in portrait mode.
--------------------------------------------------------------------------------
/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 10dp
4 | 20sp
5 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/15.txt:
--------------------------------------------------------------------------------
1 | Enhancements
2 |
3 | - Added monochromatic/themed icon support for Android 13 and above.
4 |
5 | - History button now available in views directly for easy access.
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/precisionbg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/unitgroupbg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/unitgroupbg_dragged.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/20.txt:
--------------------------------------------------------------------------------
1 | Bug Fixes
2 |
3 | - Conversions are now handled properly for Delisle, Rømer and other scales in temperature group.
4 |
5 | Enhancements
6 |
7 | - Added Simplified Chinese(zh-rCN) translation for users!
8 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/14.txt:
--------------------------------------------------------------------------------
1 | Fixes:
2 |
3 | - The Currency API endpoints have been migrated to the new API provided by fawazahmed0 at: https://github.com/fawazahmed0/exchange-api. This fixes the issues with the currency converter not working.
--------------------------------------------------------------------------------
/app/src/main/res/color/unitchipbg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Aug 23 10:56:00 IST 2024
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
5 | zipStoreBase=GRADLE_USER_HOME
6 | zipStorePath=wrapper/dists
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/dropdown_last_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/models/EasterEggViewModel.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc.models
2 |
3 | import androidx.lifecycle.MutableLiveData
4 | import androidx.lifecycle.ViewModel
5 |
6 | class EasterEggViewModel: ViewModel() {
7 | var clickCount: MutableLiveData = MutableLiveData(0)
8 | }
--------------------------------------------------------------------------------
/app/src/main/res/color/youstyle_chipborder.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/color/uctabselector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/color/radiobuttontint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/dropdownicon.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/backup_rules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/7.txt:
--------------------------------------------------------------------------------
1 | Bug Fixes
2 |
3 | - Fixed inaccurate results in volume section of unit converter over Cups(US), Cups(UK), Teaspoons, Tablespoons, Fluid Ounces, etc. Other units might have similar issues as well.
4 |
5 | Enhancements
6 |
7 | - Added furlongs to length section in Unit Converter
--------------------------------------------------------------------------------
/app/src/main/res/drawable/moon_full.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/rounded_bg_search.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/osspreflayout.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/enums/UnitType.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc.enums
2 |
3 | enum class UnitType {
4 | ANGLE,
5 | AREA,
6 | CURRENCY,
7 | DATA,
8 | ENERGY,
9 | LENGTH,
10 | POWER,
11 | PRESSURE,
12 | SPEED,
13 | TEMPERATURE,
14 | TIME,
15 | VOLUME,
16 | WEIGHT
17 | }
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea
5 | /.idea/discord.xml
6 | /.idea/caches
7 | /.idea/libraries
8 | /.idea/modules.xml
9 | /.idea/workspace.xml
10 | /.idea/navEditor.xml
11 | /.idea/assetWizardSettings.xml
12 | .DS_Store
13 | /build
14 | /captures
15 | .externalNativeBuild
16 | .cxx
17 | local.properties
18 | app/release/
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/11.txt:
--------------------------------------------------------------------------------
1 | Changes
2 | ———————————————
3 |
4 | - Search view added for currency tab in Converter mode. Hooray! No more hassle with the large list of currencies.
5 |
6 | - The Currency API yetCalc uses has switched from https://exchangerate.host/ to https://github.com/fawazahmed0/currency-api due to exchangerate.host limitations.
--------------------------------------------------------------------------------
/app/src/main/res/layout/unit_chip_item.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/8.txt:
--------------------------------------------------------------------------------
1 | Bug Fixes
2 |
3 | - Fixed inaccurate results when selecting 'Bubnoff unit' in speed section of Unit Converter.
4 |
5 | - Fixed an issue in Programmer mode that caused an operator to disappear in history but the operation to remain.
6 |
7 | Enhancements
8 |
9 | - Now you can long press the delete button to clear all digits.
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/10.txt:
--------------------------------------------------------------------------------
1 | Enhancements
2 | ———————————————
3 |
4 | This update adds the following requested features:
5 |
6 | - Support for the system theme, and from now on, yetCalc shall use the 'System' theme as its default theme. You can still select the dark or light theme regardless.
7 |
8 | - Symbols or abbreviations for units in converter mode.
--------------------------------------------------------------------------------
/app/src/main/res/drawable/pinbg.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | -
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/12.txt:
--------------------------------------------------------------------------------
1 | Bug Fixes
2 |
3 | - Fixed an issue that caused programmer mode to crash on input larger than the maximum 32-bit signed integer.
4 |
5 | Enhancements
6 |
7 | - Date format options for the currency converter tab and history view are available in settings.
8 |
9 | - Selectable text in programmer mode. Now you can copy and share your results!
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/13.txt:
--------------------------------------------------------------------------------
1 | Bug Fixes
2 |
3 | - Fixed a UI freezing issue caused by history reading whenever the equal to button was clicked.
4 |
5 | Enhancements
6 |
7 | - From now on, results will be left aligned in calculator component for easier reading. Can be turned off from settings.
8 |
9 | - Results are now sorted in descending order by default in history.
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bullet.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/21.txt:
--------------------------------------------------------------------------------
1 | Fixes
2 |
3 | - Improved layouts for larger screens, with larger buttons and more padding.
4 | - Fixed font issues in Programmer mode for NAND and XNOR.
5 |
6 | Enhancements
7 |
8 | - Added a setting to use the system font in expressions for both Calculator and Programmer modes.
9 | (Go to Settings > Calculator / Programmer > Use System Font)
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_circle_48.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_pgshortcut.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_calcshortcut.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_pgshortcut_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_unitshortcut.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/color/selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/outline_home_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_calcshortcut_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_unitshortcut_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/5.txt:
--------------------------------------------------------------------------------
1 | Bug Fixes
2 |
3 | - Fixed cursor appearing at start incase of pressing equal to button.
4 | - Fixed calculator losing precision after 9223372036854775807, a scientific notation is used instead.
5 |
6 | Enhancements
7 |
8 | - Converter now remembers the last section/tab you opened and the app provides a setting for this.(Settings -> Use Recent Tab). This is enabled by default.
9 |
--------------------------------------------------------------------------------
/app/src/main/res/color/uctextselector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/color/othselector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_baseline_code_24.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/outline_arrow_back_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_incomplete_circle_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/pi_box.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/src/test/java/yetzio/yetcalc/ExampleUnitTest.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc
2 |
3 | import org.junit.Test
4 |
5 | import org.junit.Assert.*
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * See [testing documentation](http://d.android.com/tools/testing).
11 | */
12 | class ExampleUnitTest {
13 | @Test
14 | fun addition_isCorrect() {
15 | assertEquals(4, 2 + 2)
16 | }
17 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/container_round_ripple.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | -
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/9.txt:
--------------------------------------------------------------------------------
1 | Bug Fixes
2 |
3 | - Fixed an issue that caused any boolean operator to disappear from history string in programmer mode.
4 |
5 | - Fixed a scaling issue when converting to or from Tablespoons(US/UK), Teaspoons(US/UK), etc on volume section of converter mode.
6 |
7 | - Fixed an issue that prevented the app from showing the app icon on devices that do not support the adaptive and legacy icons generated by Android Studio.
8 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/osspref.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_sysdefault_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/YetCalc.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc
2 |
3 | import android.app.Application
4 | import yetzio.yetcalc.config.ActivityTracker
5 |
6 | class YetCalc : Application() {
7 | lateinit var activityTracker: ActivityTracker
8 |
9 | override fun onCreate() {
10 | super.onCreate()
11 | activityTracker = ActivityTracker(applicationContext)
12 | registerActivityLifecycleCallbacks(activityTracker)
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/renovate.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": ["config:base", ":disableDependencyDashboard"],
3 | "packageRules": [
4 | {
5 | "matchManagers": ["gradle"],
6 | "rangeStrategy": "bump"
7 | },
8 | {
9 | "matchManagers": ["github-actions"],
10 | "rangeStrategy": "bump"
11 | },
12 | {
13 | "matchPackageNames": ["org.mariuszgromada.math:MathParser.org-mXparser"],
14 | "allowedVersions": "<5.0.0"
15 | }
16 | ],
17 | "prHourlyLimit": 50
18 | }
19 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/close_circle.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_remove_circle_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/drop_container_lines.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/outline_info_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_drag_handle_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/textlefthandle.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/textrighthandle.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_info_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_pressure_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_drop_up_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/outline_check_circle_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_drop_down_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_drop_down_48.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/list_item_land.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_chip.xml:
--------------------------------------------------------------------------------
1 |
2 |
13 |
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/models/CalcViewModel.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc.models
2 |
3 | import androidx.lifecycle.ViewModel
4 | import yetzio.yetcalc.enums.AngleMode
5 | import yetzio.yetcalc.enums.CalcMode
6 |
7 | class CalcViewModel: ViewModel(){
8 | var calcMode: CalcMode = CalcMode.FIRSTMODE
9 | var angleMode: AngleMode = AngleMode.DEGREE
10 | var lastSetFactBt: CalcMode = CalcMode.FIRSTMODE
11 | var calcModePos: Int? = null
12 | var varModePos: Int? = null
13 | var hapticPref: Boolean = true
14 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/backspace_outline.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/appearance_preferences.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
10 |
11 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/6.txt:
--------------------------------------------------------------------------------
1 | Bug Fixes
2 |
3 | - Fixed an app crash when attempting to divide by zero in programmer mode.
4 | - Converter now converts feet to inches and vice versa correctly.
5 | - Converter now allows negative values on all sections(tabs) except currency.
6 |
7 | Enhancements
8 |
9 | - A setting to enable/disable Canonical Rounding has been added. Canonical Rounding solves issues like 0.1 + 0.2 giving invalid results. It is disabled by default. Enabling this might cause problems with calculations including really small numbers.
--------------------------------------------------------------------------------
/app/src/main/res/color/disabled_switch_track_tint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/calendar_edit.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_format_paint_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/list_item_alt.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_content_copy_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/list_item_unitconv.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_time_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_add_circle_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_access_time_filled_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_clear_all_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ucripple.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | -
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_calendar_today_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/palette_swatch_variant.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/textmiddlehandle.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/prefmode.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/color/switch_track_tint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_backspace_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/math_compass.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/outline_push_pin_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_arrow_back_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/material_switch.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/unitgrouppref.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/color/switch_thumb_tint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_bolt_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_thermostat_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/precisionpref.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
12 |
13 |
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/models/ProgramCalcViewModel.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc.models
2 |
3 | import androidx.lifecycle.MutableLiveData
4 | import androidx.lifecycle.ViewModel
5 | import yetzio.yetcalc.enums.NumberSystem
6 |
7 | class ProgramCalcViewModel: ViewModel(){
8 | var result: String = ""
9 | var numberSys: MutableLiveData = MutableLiveData(NumberSystem.DEC)
10 |
11 | var hexResult: String = ""
12 | var decResult: String = ""
13 | var octResult: String = ""
14 | var binResult: String = ""
15 |
16 | var init = false
17 | var hapticPref = false
18 |
19 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ceiling_fan.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/datefmtpref.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
12 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/dtmhistorypref.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
12 |
13 |
--------------------------------------------------------------------------------
/settings.gradle.kts:
--------------------------------------------------------------------------------
1 | pluginManagement {
2 | repositories {
3 | google {
4 | content {
5 | includeGroupByRegex("com\\.android.*")
6 | includeGroupByRegex("com\\.google.*")
7 | includeGroupByRegex("androidx.*")
8 | }
9 | }
10 | mavenCentral()
11 | gradlePluginPortal()
12 | }
13 | }
14 | dependencyResolutionManagement {
15 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
16 | repositories {
17 | google()
18 | mavenCentral()
19 | }
20 | }
21 |
22 | rootProject.name = "yetCalc"
23 | include(":app")
24 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/data_extraction_rules.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
12 |
13 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_baseline_calculate_24.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_swap_vert_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_search_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_area_chart_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_straighten_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/systemfont.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/outline_dark_mode_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_align_horizontal_left_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_check_circle_24.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_swap_horiz_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_code_24abyss.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_code_24light.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/models/HistoryViewModel.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc.models
2 |
3 | import androidx.lifecycle.MutableLiveData
4 | import androidx.lifecycle.ViewModel
5 |
6 | class HistoryViewModel: ViewModel(){
7 | var histArrList: MutableLiveData> = MutableLiveData(ArrayList())
8 | var listCount: MutableLiveData = MutableLiveData(0)
9 |
10 | companion object {
11 | private var instance: HistoryViewModel? = null
12 |
13 | fun getInstance(): HistoryViewModel {
14 | if (instance == null) {
15 | instance = HistoryViewModel()
16 | }
17 | return instance!!
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_view_timeline_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_local_drink_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/16.txt:
--------------------------------------------------------------------------------
1 | yetCalc Major Version Upgrade
2 |
3 | v2.0.0 comes with the following features:
4 |
5 | - Redesigned Calculator with scientific mode in both Portrait and Landscape mode
6 | - Customizable Unit Converter with selectable unit groups, unit pins, search and much more...
7 | - Fully Redesigned Programmer mode with new operators and functions.
8 | - Selectable starting mode.
9 | - Shortcuts for home screen with themed icons support.
10 | - New and Improved Settings providing endless customizability.
11 |
12 | Theme Changes
13 |
14 | - New Abyss mode (AMOLED Dark) for those wanting to preserve battery life.
15 | - Material You Support or Dynamic Colors, with 4 unique styles to serve your needs.
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_add_to_home_screen_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_speed_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_text_snippet_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/values/arrays.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - Default precision
5 | - 1e-60
6 | - 1e-99
7 | - 1e-323
8 |
9 |
10 |
11 | - YYYY-MM-DD
12 | - DD-MM-YYYY
13 | - DD-YYYY-MM
14 | - YYYY-DD-MM
15 | - MM-DD-YYYY
16 | - MM-YYYY-DD
17 |
18 |
19 |
20 | - Default format
21 | - dd, MMMM yyyy HH:mm:ss
22 | - yyyy, MMMM dd HH:mm:ss
23 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_energy_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_settings_backup_restore_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/general_preferences.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
10 |
11 |
18 |
19 |
--------------------------------------------------------------------------------
/app/src/androidTest/java/yetzio/yetcalc/ExampleInstrumentedTest.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc
2 |
3 | import androidx.test.platform.app.InstrumentationRegistry
4 | import androidx.test.ext.junit.runners.AndroidJUnit4
5 |
6 | import org.junit.Test
7 | import org.junit.runner.RunWith
8 |
9 | import org.junit.Assert.*
10 |
11 | /**
12 | * Instrumented test, which will execute on an Android device.
13 | *
14 | * See [testing documentation](http://d.android.com/tools/testing).
15 | */
16 | @RunWith(AndroidJUnit4::class)
17 | class ExampleInstrumentedTest {
18 | @Test
19 | fun useAppContext() {
20 | // Context of the app under test.
21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext
22 | assertEquals("yetzio.yetcalc", appContext.packageName)
23 | }
24 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_vibration_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/pgpref.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
11 |
12 |
18 |
--------------------------------------------------------------------------------
/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_tune_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_123_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/eye_circle.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_monitor_weight_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_checklist_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_recently_used.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_pgshortcut_foreground.xml:
--------------------------------------------------------------------------------
1 |
7 |
11 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_baseline_cyclone_24.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/aboutpref.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
9 |
12 |
13 |
14 |
18 |
19 |
20 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/you_style3.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
13 |
14 |
18 |
22 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/you_style4.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
13 |
14 |
18 |
22 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/list_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
16 |
17 |
28 |
29 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/you_style2.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
13 |
14 |
18 |
22 |
26 |
27 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/you_style1.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
13 |
14 |
18 |
19 |
23 |
24 |
28 |
29 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_volunteer_activism_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/ru/full_description.txt:
--------------------------------------------------------------------------------
1 | yetCalc это калькулятор с функциями базовых и научных расчетов, конвертером единиц измерения и программным режимом. Дизайн вдохновлён калькулятором от Google и пытается решить его недостатки.
2 |
3 |
4 |
5 |
6 | Возможности:
7 |
8 | - Прогрессивные вычисления
9 | - Научный режим с тригонометрическими, гиперболическими и обратными функциями, математическим анализом и итерационными операторами и многим другим.
10 | - Конвертер единиц измерения
11 | - Режим программиста со системами счисления и логическими операциями.
12 | - Научный режим работает как в портретном, так и в режиме ландшафта.
13 | - Начальный режим можно выбирать
14 | - Можно сделать ярлыки на домашнем экране для запуска в выбранном режиме.
15 | - Полностью чёрная тема (Тёмный AMOLED ) для тех кто хочет сохранить срок службы батареи
16 | - Поддержка Material You и динамические цвета, с 4 уникальными стилями на ваш вкус.
17 | - Бесконечная настраиваемость.
18 |
19 |
20 |
21 | Подключение к Интернету используется только для преобразования валюты и ничего больше.
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
14 |
15 |
20 |
21 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_cyclone_24abyss.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_cyclone_24light.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/full_description.txt:
--------------------------------------------------------------------------------
1 | Calculator with basic and scientific calculation features, a unit converter and a programmer mode.
2 | It's design is inspired by Google's Calculator and tries to address its flaws.
3 |
4 | v2 of yetCalc comes with the following features:
5 |
6 | - Redesigned Calculator with scientific mode in both Portrait and Landscape mode
7 | - Customizable Unit Converter with selectable unit groups, unit pins, search and much more...
8 | - Fully Redesigned Programmer mode with new operators and functions.
9 | - Selectable starting mode.
10 | - Shortcuts for home screen with themed icons support.
11 | - New and Improved Settings providing endless customizability.
12 | - New Abyss mode (AMOLED Dark) for those wanting to preserve battery life.
13 | - Material You Support or Dynamic Colors, with 4 unique styles to serve your needs.
14 |
15 | Features:
16 |
17 | - Progressive Calculations
18 | - Scientific Mode with trigonometric, hyperbolic and inverse functions, calculus and iterated operators, much more.
19 | - Unit Converter
20 | - Programmer Mode with number systems and logical operations.
21 |
22 | NOTE: Internet connection is used for currency conversions and nothing else.
23 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/cs/full_description.txt:
--------------------------------------------------------------------------------
1 | yetCalc je kalkulačka se základními a vědeckými funkcemi, převodníkem jednotek a programátorským režimem. Vzhled volně vychází z Kalkulačky Google a pokouší se řešit její problémy.
2 |
3 | v2 aplikace yetCalc obsahuje následující funkce:
4 | - Přepracovaná kalkulačka s vědeckým režimem v režimu na výšku i na šířku.
5 | - Přizpůsobitelný převodník jednotek s volitelnými skupinami jednotek, připnutím jednotek, vyhledáváním a mnoha dalšími funkcemi...
6 | - Kompletně přepracovaný programátorský režim s novými operátory a funkcemi.
7 | - Volitelný režim spuštění.
8 | - Zkratky pro domovskou obrazovku s podporou tematických ikon.
9 | - Nové a vylepšené nastavení poskytující nekonečné možnosti přizpůsobení.
10 | - Nový režim Abyss (tmavý AMOLED) pro ty, kteří chtějí šetřit výdrž baterie.
11 | - Podpora Material You neboli dynamických barev se 4 jedinečnými styly, které poslouží vašim potřebám.
12 |
13 | Funkce:
14 | • Progresivní výpočty
15 | • Vědecký režim s trigonometrickými, hyperbolickými a inverzními funkcemi, kalkulem a iteračními operátory a mnoho dalšího.
16 | • Převodník jednotek
17 | • Programátorský režim s číselnými soustavami a logickými operacemi.
18 |
19 | POZNÁMKA: internetové připojení je použito pouze pro převod měn.
--------------------------------------------------------------------------------
/app/src/main/res/drawable/outline_palette_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_copyright_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_app_shortcut_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/web_off.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/outline_light_mode_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 | # IDE (e.g. Android Studio) users:
3 | # Gradle settings configured through the IDE *will override*
4 | # any settings specified in this file.
5 | # For more details on how to configure your build environment visit
6 | # http://www.gradle.org/docs/current/userguide/build_environment.html
7 | # Specifies the JVM arguments used for the daemon process.
8 | # The setting is particularly useful for tweaking memory settings.
9 | org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
10 | # When configured, Gradle will run in incubating parallel mode.
11 | # This option should only be used with decoupled projects. For more details, visit
12 | # https://developer.android.com/r/tools/gradle-multi-project-decoupled-projects
13 | # org.gradle.parallel=true
14 | # AndroidX package structure to make it clearer which packages are bundled with the
15 | # Android operating system, and which are packaged with your app's APK
16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn
17 | android.useAndroidX=true
18 | # Kotlin code style for this project: "official" or "obsolete":
19 | kotlin.code.style=official
20 | # Enables namespacing of each library's R class so that its R class includes only the
21 | # resources declared in the library itself and none from the library's dependencies,
22 | # thereby reducing the size of the R class for that library
23 | android.nonTransitiveRClass=true
--------------------------------------------------------------------------------
/app/src/main/res/drawable/evil.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
11 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_calculate_24abyss.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_calculate_24light.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/unitgrouppreflyt.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
11 |
12 |
22 |
23 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_unitshortcut_foreground.xml:
--------------------------------------------------------------------------------
1 |
7 |
11 |
14 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/history_appbar.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
15 |
16 |
31 |
32 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/unitconvpref.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
11 |
12 |
19 |
20 |
27 |
28 |
34 |
35 |
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/HomeActivity.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc
2 |
3 | import android.content.Intent
4 | import android.os.Bundle
5 | import androidx.appcompat.app.AppCompatActivity
6 | import yetzio.yetcalc.component.SharedPrefs
7 | import yetzio.yetcalc.component.getDefSharedPrefs
8 | import yetzio.yetcalc.config.ShortcutManager
9 | import yetzio.yetcalc.views.CalculatorActivity
10 | import yetzio.yetcalc.views.ProgramCalcActivity
11 | import yetzio.yetcalc.views.UnitConvActivity
12 |
13 | class HomeActivity : AppCompatActivity() {
14 |
15 | override fun onCreate(savedInstanceState: Bundle?) {
16 | super.onCreate(savedInstanceState)
17 |
18 | val sharedPrefs = getDefSharedPrefs()
19 | val shortcutAdded = sharedPrefs.getBoolean(SharedPrefs.SHORTCUTSADDED, false)
20 |
21 | if(!shortcutAdded){
22 | val shortcutManager = ShortcutManager(this)
23 | shortcutManager.addAllShortcuts()
24 | }
25 |
26 | val launcherActivity = when (sharedPrefs.getString(SharedPrefs.PREFMODEKEY, getString(R.string.calculator))) {
27 | getString(R.string.calculator) -> CalculatorActivity::class.java
28 | getString(R.string.converter) -> UnitConvActivity::class.java
29 | getString(R.string.programmer) -> ProgramCalcActivity::class.java
30 | else -> CalculatorActivity::class.java
31 | }
32 |
33 | startActivity(Intent(this, launcherActivity))
34 | finish()
35 | }
36 | }
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/adapters/ModeSelectAdapter.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc.adapters
2 |
3 | import android.content.Context
4 | import android.view.LayoutInflater
5 | import android.view.View
6 | import android.view.ViewGroup
7 | import android.widget.ArrayAdapter
8 | import android.widget.ImageView
9 | import android.widget.TextView
10 | import yetzio.yetcalc.R
11 | import yetzio.yetcalc.utils.getThemeColor
12 |
13 | class ModeSelectAdapter(context: Context, private val items: List>) :
14 | ArrayAdapter>(context, R.layout.list_item, items){
15 |
16 | override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
17 | val view = convertView ?: LayoutInflater.from(context).inflate(R.layout.list_item, parent, false)
18 | val item = getItem(position)
19 |
20 | val textview = view.findViewById(R.id.modeselectorTV)
21 | val imageview = view.findViewById(R.id.modeselectorIV)
22 |
23 | textview.text = item?.first
24 | item?.second?.let { imageview.setImageResource(it) }
25 | imageview.setColorFilter(context.getThemeColor(R.attr.calcTextDefaultColor), android.graphics.PorterDuff.Mode.SRC_IN);
26 |
27 | return view
28 | }
29 |
30 | override fun getDropDownView(position: Int, convertView: View?, parent: ViewGroup): View {
31 | return super.getDropDownView(position, convertView, parent)
32 | }
33 | }
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_currency_exchange_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/easter_egg.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
21 |
22 |
30 |
31 |
--------------------------------------------------------------------------------
/DONATE.md:
--------------------------------------------------------------------------------
1 | # Donate
2 | **If you think yetCalc helped you with your calculations, please consider donating to the project.**
3 |
4 | It will be a great help :)
5 |
6 | ## 1. Donate through 'Buy Me a Coffee'
7 |
8 |
9 |
10 |
11 | ## 2. Donate through Patreon
12 |
13 | [](https://patreon.com/yetzio)
14 |
15 | ## 3. Donate by UPI
16 |
17 | Scan the QR code below with an app that supports UPI like Google Pay:
18 |
19 | 
20 |
21 | Alternatively, you can even donate by entering the UPI ID below:
22 |
23 | UPI ID: **maheshdeluxe53@okhdfcbank**
24 |
25 | # Donate to F-Droid
26 |
27 | F-Droid is a really amazing alternative to the Google Play Store, as it only offers apps that are free and open source, and yetCalc is one such app as well.
28 | Thanks to its great community of developers, maintainers, and contributors, we can really explore the large abundance of free and open-source apps.
29 | Please consider donating to F-Droid if you can: [Donate to F-Droid](https://f-droid.org/en/donate/)
30 |
31 | # Donate to mXparser
32 |
33 | yetCalc uses mXparser for its calculator part. Show your support and help the developer continue this project.
34 |
35 | [mXparser Donate Page](https://mathparser.org/donate/)
36 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | BSD 3-Clause License
2 |
3 | Copyright (c) 2025, Yet-Zio
4 | All rights reserved.
5 |
6 | Redistribution and use in source and binary forms, with or without
7 | modification, are permitted provided that the following conditions are met:
8 |
9 | 1. Redistributions of source code must retain the above copyright notice, this
10 | list of conditions and the following disclaimer.
11 |
12 | 2. Redistributions in binary form must reproduce the above copyright notice,
13 | this list of conditions and the following disclaimer in the documentation
14 | and/or other materials provided with the distribution.
15 |
16 | 3. Neither the name of the copyright holder nor the names of its
17 | contributors may be used to endorse or promote products derived from
18 | this software without specific prior written permission.
19 |
20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_unit_group.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
20 |
21 |
29 |
30 |
37 |
38 |
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/config/ActivityTracker.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc.config
2 |
3 | import android.app.Activity
4 | import android.app.Application
5 | import android.content.Context
6 | import android.os.Bundle
7 | import yetzio.yetcalc.component.SharedPrefs
8 | import yetzio.yetcalc.component.getDefSharedPrefs
9 |
10 | class ActivityTracker(private val appContext: Context) : Application.ActivityLifecycleCallbacks {
11 | private val activeActivities = mutableListOf()
12 |
13 | fun recreateAllActivities() {
14 | activeActivities.forEach { activity ->
15 | activity.recreate()
16 | }
17 |
18 | val sharedPrefs = appContext.getDefSharedPrefs()
19 | val refreshShorts = sharedPrefs.getBoolean(SharedPrefs.REFRESH_SHORTCUT, true)
20 |
21 | if(refreshShorts){
22 | val shortcuts = ShortcutManager(appContext)
23 | shortcuts.removeAllShortcuts()
24 |
25 | shortcuts.addAllShortcuts()
26 | }
27 | }
28 |
29 | override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {
30 | activeActivities.add(activity)
31 | }
32 |
33 | override fun onActivityDestroyed(activity: Activity) {
34 | activeActivities.remove(activity)
35 | }
36 |
37 | override fun onActivityStarted(activity: Activity) {}
38 | override fun onActivityResumed(activity: Activity) {}
39 | override fun onActivityPaused(activity: Activity) {}
40 | override fun onActivityStopped(activity: Activity) {}
41 | override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {}
42 | }
43 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_calcshortcut_foreground.xml:
--------------------------------------------------------------------------------
1 |
7 |
11 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/uc_unit_list_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
25 |
26 |
39 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/uc_dropsearchdialog.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
17 |
18 |
24 |
25 |
26 |
31 |
32 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/settings_appbar.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
18 |
19 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/app_bar_alt.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
21 |
22 |
23 |
24 |
39 |
40 |
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/dialogs/EasterEggDialogs.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc.dialogs
2 |
3 | import android.content.Context
4 | import android.graphics.Bitmap
5 | import android.graphics.BitmapFactory
6 | import android.graphics.drawable.BitmapDrawable
7 | import android.view.LayoutInflater
8 | import android.widget.Toast
9 | import androidx.constraintlayout.widget.ConstraintLayout
10 | import androidx.core.content.ContextCompat
11 | import com.google.android.material.dialog.MaterialAlertDialogBuilder
12 | import com.pranavpandey.android.dynamic.toasts.DynamicToast
13 | import yetzio.yetcalc.R
14 | import yetzio.yetcalc.utils.getThemeColor
15 |
16 | fun showEasterEggDialog(ctx: Context) {
17 | val dialogView = LayoutInflater.from(ctx).inflate(R.layout.easter_egg, null)
18 |
19 | val dialog = MaterialAlertDialogBuilder(ctx)
20 | .setView(dialogView)
21 | .setCancelable(true)
22 | .create()
23 |
24 | val constLayout: ConstraintLayout = dialogView.findViewById(R.id.easterEggFrameContainer)
25 |
26 | val bitmap = BitmapFactory.decodeStream(ctx.assets.open("eastereggbg.png"))
27 |
28 | val scaledBitmap = Bitmap.createScaledBitmap(bitmap, ctx.resources.displayMetrics.widthPixels, bitmap.height * ctx.resources.displayMetrics.widthPixels / bitmap.width, true)
29 |
30 | val drawable = BitmapDrawable(ctx.resources, scaledBitmap)
31 | constLayout.background = drawable
32 |
33 | dialog.window?.setLayout(ConstraintLayout.LayoutParams.MATCH_PARENT, ConstraintLayout.LayoutParams.WRAP_CONTENT)
34 | DynamicToast.make(ctx, ctx.getString(R.string.eastereggtoast), ContextCompat.getDrawable(ctx, R.drawable.gigachad), ctx.getThemeColor(R.attr.calcTextDefaultColor), ctx.getThemeColor(R.attr.calcBackgroundDefault), Toast.LENGTH_LONG).show()
35 | dialog.show()
36 | }
37 |
38 |
39 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/calcpref.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
11 |
12 |
18 |
19 |
25 |
26 |
32 |
33 |
39 |
40 |
46 |
47 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_settings_24.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/enums/CalcModes.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc.enums
2 |
3 | enum class CalcMode(val str: String?){
4 | FIRSTMODE("1ST"),
5 | SECONDMODE("2ND"),
6 | THIRDMODE("3RD"),
7 | FOURTHMODE("4TH"),
8 | FIFTHMODE("5TH"),
9 | SIXTHMODE("6TH"),
10 | SEVENTHMODE("7TH"),
11 | EIGHTMODE("8TH"),
12 | NINTHMODE("9TH");
13 |
14 | companion object{
15 | fun getMode(modestr: String?): CalcMode{
16 | when(modestr){
17 | FIRSTMODE.str -> {
18 | return FIRSTMODE
19 | }
20 | SECONDMODE.str -> {
21 | return SECONDMODE
22 | }
23 | THIRDMODE.str -> {
24 | return THIRDMODE
25 | }
26 | FOURTHMODE.str -> {
27 | return FOURTHMODE
28 | }
29 | FIFTHMODE.str -> {
30 | return FIFTHMODE
31 | }
32 | SIXTHMODE.str -> {
33 | return SIXTHMODE
34 | }
35 | SEVENTHMODE.str -> {
36 | return SEVENTHMODE
37 | }
38 | EIGHTMODE.str -> {
39 | return EIGHTMODE
40 | }
41 | NINTHMODE.str -> {
42 | return NINTHMODE
43 | }
44 | else -> {
45 | return FIRSTMODE
46 | }
47 | }
48 | }
49 | }
50 | }
51 |
52 | enum class AngleMode(val str: String?){
53 | DEGREE("DEG"),
54 | RADIAN("RAD");
55 |
56 | companion object{
57 | fun getMode(modestr: String?): AngleMode{
58 | when(modestr){
59 | DEGREE.str -> {
60 | return DEGREE
61 | }
62 | RADIAN.str -> {
63 | return RADIAN
64 | }
65 | else -> {
66 | return RADIAN
67 | }
68 | }
69 | }
70 | }
71 | }
--------------------------------------------------------------------------------
/licenses/mXparser/LICENSE.txt:
--------------------------------------------------------------------------------
1 | Simplified BSD License
2 |
3 | Copyright 2010 - 2020 Mariusz Gromada. All rights reserved.
4 |
5 | You may use this software under the condition of Simplified BSD License.
6 | Redistribution and use in source and binary forms, with or without
7 | modification, are permitted provided that the following conditions are met:
8 |
9 | 1. Redistributions of source code must retain the above copyright notice,
10 | this list of conditions and the following disclaimer.
11 | 2. Redistributions in binary form must reproduce the above copyright notice,
12 | this list of conditions and the following disclaimer in the documentation
13 | and/or other materials provided with the distribution.
14 |
15 | THIS SOFTWARE IS PROVIDED BY MARIUSZ GROMADA "AS IS" AND ANY EXPRESS
16 | OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18 | IN NO EVENT SHALL MARIUSZ GROMADA OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
19 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
22 | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
23 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
24 | USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 |
26 | The views and conclusions contained in the software and documentation
27 | are those of the authors and should not be interpreted as representing
28 | official policies, either expressed or implied, of Mariusz Gromada.
29 |
30 | Mariusz Gromada, MathParser.org
31 | e-mail: mariuszgromada.org@gmail.com
32 |
33 | Please visit:
34 |
35 | MathParser.org-mXparser:
36 | - https://mathparser.org
37 | - https://github.com/mariuszgromada/MathParser.org-mXparser
38 |
39 | Scalar - The Most Advanced Scientific Calculator:
40 | - https://scalarmath.org
41 | - https://play.google.com/store/apps/details?id=org.mathparser.scalar.pro
42 | - https://play.google.com/store/apps/details?id=org.mathparser.scalar.lite
43 |
44 | Science Blog:
45 | - https://mathspace.pl
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/component/Calculator.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc.component
2 |
3 | import org.mariuszgromada.math.mxparser.Expression
4 | import org.mariuszgromada.math.mxparser.Function
5 | import org.mariuszgromada.math.mxparser.mXparser
6 | import yetzio.yetcalc.enums.AngleMode
7 |
8 | class Calculator{
9 | var angleMode = AngleMode.DEGREE
10 | var almostInt = true
11 | var canonInt = false
12 | var precision = "Default precision"
13 | val m_history = History()
14 | val MAXREP = 9999999
15 |
16 | val ncr = Function("nCr(n, r) = nCk(n, r)")
17 | val npr = Function("nPr(n, r) = nPk(n, r)")
18 |
19 | fun calculate(expr: String): String {
20 | mXparser.setUlpRounding(false)
21 |
22 | when (precision) {
23 | "Default precision" -> mXparser.setDefaultEpsilon()
24 | "1e-60" -> mXparser.setEpsilon(1e-60)
25 | "1e-99" -> mXparser.setEpsilon(1e-99)
26 | "1e-323" -> mXparser.setEpsilon(1e-323)
27 | }
28 |
29 | if(almostInt)
30 | mXparser.setAlmostIntRounding(true)
31 | else
32 | mXparser.setAlmostIntRounding(false)
33 |
34 | if(canonInt)
35 | mXparser.setCanonicalRounding(true)
36 | else
37 | mXparser.setCanonicalRounding(false)
38 |
39 | if (angleMode == AngleMode.DEGREE) {
40 | mXparser.setDegreesMode()
41 | } else if (angleMode == AngleMode.RADIAN) {
42 | mXparser.setRadiansMode()
43 | }
44 |
45 | val grad = if (mXparser.checkIfDegreesMode())
46 | Function("grad(x) = x * (200/180)")
47 | else
48 | Function("grad(x) = x * (200/pi)")
49 |
50 | val e = Expression(expr, grad, npr, ncr)
51 |
52 |
53 | return if(e.calculate() > MAXREP){
54 | e.calculate().toString()
55 | }
56 | else if(e.calculate() % 1.0 == 0.0){
57 | Math.round(e.calculate()).toString()
58 | }
59 | else{
60 | e.calculate().toString()
61 | }
62 | }
63 |
64 | fun addToHistory(ex: String, res: String) {
65 | m_history.addToDb(ex, res)
66 | }
67 | }
--------------------------------------------------------------------------------
/app/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/root_preferences.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
9 |
10 |
15 |
16 |
21 |
22 |
27 |
28 |
33 |
34 |
37 |
38 |
42 |
45 |
46 |
47 |
52 |
53 |
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
21 |
24 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
36 |
39 |
43 |
47 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/app_bar.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
21 |
22 |
23 |
24 |
34 |
35 |
50 |
51 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/emptyhistory.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/app/build.gradle.kts:
--------------------------------------------------------------------------------
1 | import org.jetbrains.kotlin.gradle.dsl.JvmTarget
2 |
3 | plugins {
4 | alias(libs.plugins.androidApplication)
5 | alias(libs.plugins.jetbrainsKotlinAndroid)
6 | alias(libs.plugins.aboutLibraries)
7 | }
8 |
9 | android {
10 | namespace = "yetzio.yetcalc"
11 | compileSdk = 36
12 |
13 | dependenciesInfo {
14 | includeInApk = false
15 | includeInBundle = false
16 | }
17 |
18 | aboutLibraries {
19 | excludeFields = arrayOf("generated")
20 | }
21 |
22 | androidResources {
23 | generateLocaleConfig = true
24 | }
25 |
26 | defaultConfig {
27 | applicationId = "yetzio.yetcalc"
28 | minSdk = 28
29 | targetSdk = 36
30 | versionCode = 24
31 | versionName = "2.0.8"
32 |
33 | testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
34 | }
35 |
36 | buildTypes {
37 | release {
38 | isMinifyEnabled = false
39 | proguardFiles(
40 | getDefaultProguardFile("proguard-android-optimize.txt"),
41 | "proguard-rules.pro"
42 | )
43 | vcsInfo.include = false
44 | }
45 | }
46 | compileOptions {
47 | isCoreLibraryDesugaringEnabled = true
48 |
49 | sourceCompatibility = JavaVersion.VERSION_11
50 | targetCompatibility = JavaVersion.VERSION_11
51 | }
52 | }
53 |
54 | kotlin {
55 | compilerOptions {
56 | jvmTarget = JvmTarget.JVM_11
57 | }
58 | }
59 |
60 | dependencies {
61 | implementation(libs.androidx.activity)
62 | implementation(libs.androidx.constraintlayout)
63 | implementation(libs.androidx.navigation.ui.ktx)
64 | coreLibraryDesugaring(libs.desugar.jdk.libs)
65 |
66 | implementation(libs.mathParser.org.mXparser)
67 | implementation(libs.gson)
68 |
69 | implementation(libs.evalex)
70 | implementation(libs.aboutlibraries.core)
71 | implementation(libs.aboutlibraries)
72 |
73 | implementation(libs.android.dynamic.toasts)
74 |
75 | implementation(libs.androidx.lifecycle.viewmodel.ktx)
76 | implementation(libs.androidx.lifecycle.runtime.ktx)
77 |
78 | implementation(libs.kotlinx.coroutines.core)
79 | implementation(libs.kotlinx.coroutines.android)
80 |
81 | implementation (libs.androidx.preference.ktx)
82 |
83 | implementation(libs.androidx.core.ktx)
84 | implementation(libs.androidx.appcompat)
85 | implementation(libs.material)
86 | testImplementation(libs.junit)
87 | androidTestImplementation(libs.androidx.junit)
88 | androidTestImplementation(libs.androidx.espresso.core)
89 | }
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/adapters/HistoryAdapter.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc.adapters
2 |
3 | import android.app.Activity
4 | import android.content.Intent
5 | import android.view.LayoutInflater
6 | import android.view.View
7 | import android.view.ViewGroup
8 | import androidx.recyclerview.widget.RecyclerView
9 | import com.google.android.material.textview.MaterialTextView
10 | import yetzio.yetcalc.R
11 | import yetzio.yetcalc.models.HistoryItem
12 | import yetzio.yetcalc.utils.setVibOnClick
13 |
14 | class HistoryAdapter(
15 | private val context: Activity,
16 | private val histList: ArrayList
17 | ) : RecyclerView.Adapter() {
18 |
19 | override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HistoryViewHolder {
20 | val inflater: LayoutInflater = LayoutInflater.from(context)
21 | val view: View = inflater.inflate(R.layout.history_list_item, parent, false)
22 | return HistoryViewHolder(view)
23 | }
24 |
25 | override fun onBindViewHolder(holder: HistoryViewHolder, position: Int) {
26 | val historyItem = histList[position]
27 | holder.bind(historyItem)
28 | }
29 |
30 | override fun getItemCount(): Int = histList.size
31 |
32 | inner class HistoryViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
33 | private val timestampView: MaterialTextView = itemView.findViewById(R.id.timestamptext)
34 | private val expView: MaterialTextView = itemView.findViewById(R.id.histexp)
35 | private val resView: MaterialTextView = itemView.findViewById(R.id.histres)
36 |
37 | fun bind(historyItem: HistoryItem) {
38 | timestampView.text = historyItem.timestamp
39 | expView.text = historyItem.expression
40 | resView.text = historyItem.result
41 |
42 | expView.setOnClickListener {
43 | setVibOnClick(context.applicationContext)
44 | val intent = Intent().apply {
45 | putExtra("expression", expView.text.toString())
46 | }
47 | context.setResult(Activity.RESULT_OK, intent)
48 | context.finish()
49 | }
50 |
51 | resView.setOnClickListener {
52 | setVibOnClick(context.applicationContext)
53 | val intent = Intent().apply {
54 | putExtra("result", resView.text.toString())
55 | }
56 | context.setResult(Activity.RESULT_OK, intent)
57 | context.finish()
58 | }
59 | }
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/views/HistoryActivity.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc.views
2 |
3 | import android.os.Bundle
4 | import android.view.View
5 | import android.widget.LinearLayout
6 | import androidx.recyclerview.widget.LinearLayoutManager
7 | import androidx.recyclerview.widget.RecyclerView
8 | import com.google.android.material.appbar.MaterialToolbar
9 | import com.google.android.material.button.MaterialButton
10 | import yetzio.yetcalc.R
11 | import yetzio.yetcalc.adapters.HistoryAdapter
12 | import yetzio.yetcalc.config.CalcBaseActivity
13 | import yetzio.yetcalc.utils.getThemeColor
14 | import yetzio.yetcalc.utils.setVibOnClick
15 |
16 | class HistoryActivity : CalcBaseActivity() {
17 | private lateinit var toolbar: MaterialToolbar
18 | private lateinit var histListView: RecyclerView
19 | private lateinit var clearBt: MaterialButton
20 | private lateinit var nohistorycontainer: LinearLayout
21 |
22 | override fun onCreate(savedInstanceState: Bundle?) {
23 | super.onCreate(savedInstanceState)
24 | setContentView(R.layout.activity_history)
25 |
26 | toolbar = findViewById(R.id.app_bar)
27 | setSupportActionBar(toolbar)
28 | nohistorycontainer = findViewById(R.id.nohistorycontainer)
29 |
30 | supportActionBar?.setDisplayShowTitleEnabled(false)
31 | supportActionBar?.setDisplayHomeAsUpEnabled(true)
32 | supportActionBar?.setDisplayShowHomeEnabled(true)
33 |
34 | toolbar.setNavigationOnClickListener {
35 | finish()
36 | }
37 | toolbar.navigationIcon?.setTint(getThemeColor(R.attr.calcTextDefaultColor))
38 |
39 | histListView = findViewById(R.id.historyContainer)
40 | histListView.layoutManager = LinearLayoutManager(this)
41 |
42 | Calc.m_history.histViewModel?.histArrList?.observe(this) { newlist ->
43 | histListView.adapter = HistoryAdapter(this, newlist)
44 | if(newlist.isNotEmpty()){
45 | nohistorycontainer.visibility = View.GONE
46 | histListView.visibility = View.VISIBLE
47 | }
48 | }
49 |
50 | Calc.m_history.histViewModel?.listCount?.observe(this) { newcount ->
51 | Calc.m_history.histViewModel?.histArrList?.value = Calc.m_history.getHistoryItems()
52 | }
53 |
54 | clearBt = findViewById(R.id.histdelbutton)
55 | clearBt.setOnClickListener {
56 | setVibOnClick(applicationContext)
57 | Calc.m_history.emptyDB()
58 | histListView.adapter = HistoryAdapter(this, ArrayList())
59 |
60 | histListView.visibility = View.GONE
61 | nohistorycontainer.visibility = View.VISIBLE
62 | }
63 | }
64 | }
--------------------------------------------------------------------------------
/app/src/main/java/yetzio/yetcalc/views/SettingsActivity.kt:
--------------------------------------------------------------------------------
1 | package yetzio.yetcalc.views
2 |
3 | import android.content.Context
4 | import android.os.Bundle
5 | import androidx.preference.Preference
6 | import androidx.preference.PreferenceCategory
7 | import com.google.android.material.appbar.AppBarLayout
8 | import com.google.android.material.appbar.CollapsingToolbarLayout
9 | import com.google.android.material.appbar.MaterialToolbar
10 | import yetzio.yetcalc.R
11 | import yetzio.yetcalc.config.CalcBaseActivity
12 | import yetzio.yetcalc.utils.getThemeColor
13 | import yetzio.yetcalc.views.preferences.SettingsFragment
14 |
15 | class SettingsActivity : CalcBaseActivity() {
16 |
17 | private lateinit var toolbar: MaterialToolbar
18 | private lateinit var collapseBar: CollapsingToolbarLayout
19 | private lateinit var appbarlyt: AppBarLayout
20 |
21 | override fun onCreate(savedInstanceState: Bundle?) {
22 | super.onCreate(savedInstanceState)
23 | setContentView(R.layout.activity_settings)
24 |
25 | if (savedInstanceState == null) {
26 | supportFragmentManager
27 | .beginTransaction()
28 | .replace(R.id.settingslyt, SettingsFragment())
29 | .commit()
30 | }
31 |
32 | toolbar = findViewById(R.id.settingsMaterialToolbar)
33 | collapseBar = findViewById(R.id.settingsCollapseToolbar)
34 | appbarlyt = findViewById(R.id.settings_app_bar)
35 |
36 | // Handle the navigation button in the toolbar
37 | toolbar.setNavigationOnClickListener {
38 | if (supportFragmentManager.backStackEntryCount > 0) {
39 | supportFragmentManager.popBackStack()
40 | } else {
41 | finish()
42 | }
43 | }
44 |
45 | }
46 |
47 | fun setTitle(title: String) {
48 | toolbar.title = title
49 | collapseBar.title = title
50 | }
51 |
52 | fun collapseAppBar(){
53 | appbarlyt.setExpanded(false, true)
54 | }
55 |
56 | fun expandAppBar(){
57 | appbarlyt.post{
58 | appbarlyt.setExpanded(true, true)
59 | }
60 | }
61 |
62 | fun applyIconTint(preference: Preference, ctx: Context) {
63 | preference.icon?.let { icon ->
64 | val tintedIcon = icon.mutate()
65 | val tint = ctx.getThemeColor(R.attr.calcTextDefaultColor)
66 | tintedIcon.setTint(tint)
67 | preference.icon = tintedIcon
68 | }
69 |
70 | if (preference is PreferenceCategory) {
71 | for (i in 0 until preference.preferenceCount) {
72 | applyIconTint(preference.getPreference(i), ctx)
73 | }
74 | }
75 | }
76 |
77 | }
78 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/no_internet.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
13 |
20 |
21 |
30 |
31 |
39 |
40 |
48 |
49 |
60 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/app_bar_alt_land.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
21 |
22 |
23 |
24 |
35 |
36 |
46 |
47 |
62 |
63 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/precisionlayout.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
18 |
19 |
23 |
24 |
36 |
37 |
38 |
39 |
40 |
52 |
53 |
62 |
63 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_history.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
13 |
14 |
20 |
21 |
28 |
29 |
34 |
35 |
41 |
42 |
52 |
53 |
62 |
63 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------