2 | 📶 פונקציונליות אופליין:
3 | Fossify מחשבון פועל באופן לא מקוון לחלוטין ללא צורך בהרשאות אינטרנט. השתמש בו בכל זמן ובכל מקום וחווה פרטיות, אבטחה ויציבות משופרים.
4 | 🌐 פונקציות מרובות:
5 | בין אם אתה צריך להכפיל, לחלק או לחשב שורשים וחזקות, מחשבון Fossify סידר אותך. הוא מיועד לחישובים יומיומיים ולפעולות מתקדמות יותר, מה שהופך אותו לכלי אמין למגוון צרכים מתמטיים.
6 | 📳 הגדרות הניתנות להתאמה אישית:
7 | התאם את החוויה שלך עם הגדרות הניתנות להתאמה אישית. החלף תנודות בלחיצת כפתורים, מנע מהטלפון שלך לישון בזמן השימוש באפליקציה והתאם את הממשק לטעמך.
8 | 🔒 פרטיות ואבטחה:
9 | הפרטיות שלך היא מעל הכל. Fossify מחשבון אינו אוסף או משתף מידע משתמש כלשהו עם צדדים שלישיים.
10 | השתמש באפליקציה בראש שקט, בידיעה שהנתונים שלך מאובטחים.
11 | 📊 היסטוריית פעולות:
12 | גש להיסטוריה של החישובים שלך לעיון מהיר. דפדף בקלות בין הפעולות האחרונות כדי לסקור או להמשיך את העבודה שלך.
13 | 🎨 חוויה מותאמת אישית:
14 | התאם אישית את המחשבון שלך עם צבעים הניתנים להתאמה אישית. התאם את צבעי הטקסט והרקע כך שיתאימו לסגנון ולהעדפות שלך, יצירת ממשק מושך ויזואלי וקל לשימוש.
15 | 🌐 שקיפות במקור פתוח:
16 | Fossify מחשבון הוא קוד פתוח לחלוטין, ומציע שקיפות ואבטחה. גש לקוד המקור לביקורות, הבטחת כלי אמין.
17 | חווה רמה חדשה של יעילות והתאמה אישית עם Fossify Calculator. הורד עכשיו והגבר את חוויית החישוב שלך.
2 | 📶کارکرد آفلاین:
3 | ماشیݩ هساو Fossify کامل آفلاینه وو بؽ لنگ وابیڌن سی موجوزا اینترنتی کار اکونه. هو ن من هر زمووݩ وو جاگه و کار بگیرین وو ز هریم سیخومی، ٱمنیت وو پایداری پؽش رئڌه فیس کۊنین.
4 | 🌐 چنتا عملکرد:
5 | چ لنگ زرب، تقسیم یا هساو کردن جزر وو توان بۊین، Fossify Calculator لنگیا وو خاسته یل ایسا ن براوره اکونه. ای برنومه سی هساوا رۊزمره وو عملیات پؽش رئڌه تر تراحی وابیڌه وو هو ن و ٱوزاری قابل ائتماڌ سی هر لنگی من ریازی تبدیل اکونه.
6 | 📳 سامووا قابل و سامووݩ:
7 | وا سامووا قابل و سامووݩ، تجروبه خوته سیخومی کوݩ. دک زیڌن ن مجال زیڌن دویمه یل فعال یا قیرفعال کوݩ، ز و خاو رئڌن تیلیفووݩ مجال و کار گرؽڌن برنومه جلاوگری کۊنین وو رابت منتوری ن هر جۊر دلتووݩ اخو سامووݩ کۊنین.
8 | 🔒 هریم سیخومی وو ٱمنیت:
9 | هریم سیخومی ایسا موهم هڌ. Fossify Calculator هیچ دووسمندی منتوری ن وا آڌۊمیل دی کتن یا یک رسۊوی نؽکونه. وا خیال راهت ترین برنومه ن و کار بگیرین وو موتمئن بۊوین ک داده یل ایسا ایمن هڌن.
10 | 📊 ویرگار عملیات:
11 | سی دسرسی زیتر، و ویرگار هساو کردنا خوت دسرسی داشته بۊ. و راهتی عملیات دیندایی ن بپیتین تا کار خوته سیل کۊنی یا ز نۊ وا پؽش بری.
12 | 🎨 تجروبه سیخومی وابیڌه:
13 | ماشیݩ هساو خوته وا رنگا قابل سامووݩ، سیخومی کوݩ. رنگ هؽل وو پس زمینه ن ی جۊر وابیڌه وا سبک وو ترجیها خوت سامووݩ کوݩ وو ی رابت منتوری نشمین وو آسووݩ سی و کار گرؽڌن وورکل کوݩ.
14 | 🌐 شفافیت وا بونچک وازی:
15 | ماشیݩ هساو Fossify کامل بونچک واز هڌ وو شفافیت وو ٱمنیت ن وت اده. سی هساو رسی یل و کود بونچک دسرسی داشته بۊ وو ز ی ٱوزار قابل ائتماڌ و موتمئن اتمینووݩ داشته بۊ.
17 | برنومه یل قلوه ای ن ز Fossify بجۊرین: https://www.fossify.org
18 | کود بونچک واز: https://www.github.com/FossifyOrg
19 | و من ٱنجومن ردیت بیاین: https://www.reddit.com/r/Fossify
20 | منپیز من تلگرام: https://t.me/Fossify
21 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/full_description.txt:
--------------------------------------------------------------------------------
1 | Introducing Fossify Calculator – your versatile and efficient tool for all your calculation needs. Enjoy a stylish, modern design paired with powerful functionality, perfect for both simple calculations and more complex tasks.
2 | 📶 OFFLINE FUNCTIONALITY:
3 | Fossify Calculator operates entirely offline without needing internet permissions. Use it anytime, anywhere, and experience enhanced privacy, security, and stability.
4 | 🌐 MULTIPLE FUNCTIONS:
5 | Whether you need to multiply, divide, or calculate roots and powers, Fossify Calculator has got you covered. It's designed for everyday calculations and more advanced operations, making it a reliable tool for a variety of mathematical needs.
6 | 📳 CUSTOMIZABLE SETTINGS:
7 | Tailor your experience with customizable settings. Toggle vibrations on button presses, prevent your phone from sleeping while using the app, and adjust the interface to your liking.
8 | 🔒 PRIVACY AND SECURITY:
9 | Your privacy is paramount. Fossify Calculator does not collect or share any user information with third parties. Use the app with peace of mind, knowing your data is secure.
10 | 📊 OPERATIONS HISTORY:
11 | Access a history of your calculations for quick reference. Easily browse through recent operations to review or continue your work.
12 | 🎨 PERSONALIZED EXPERIENCE:
13 | Personalize your calculator with customizable colors. Adjust text and background colors to match your style and preferences, creating a visually appealing and easy-to-use interface.
14 | 🌐 OPEN-SOURCE TRANSPARENCY:
15 | Fossify Calculator is fully open-source, offering transparency and security. Access the source code for audits, ensuring a trustworthy and reliable tool.
16 | Experience a new level of efficiency and customization with Fossify Calculator. Download now and elevate your calculation experience.
17 | Explore more Fossify apps: https://www.fossify.org
18 | Open-Source Code: https://www.github.com/FossifyOrg
19 | Join the community on Reddit: https://www.reddit.com/r/Fossify
20 | Connect on Telegram: https://t.me/Fossify
21 |
--------------------------------------------------------------------------------
/app/src/main/kotlin/org/fossify/math/activities/UnitConverterPickerActivity.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.math.activities
2 |
3 | import android.content.Intent
4 | import android.os.Bundle
5 | import android.view.WindowManager
6 | import org.fossify.commons.extensions.viewBinding
7 | import org.fossify.commons.helpers.NavigationIcon
8 | import org.fossify.commons.views.AutoGridLayoutManager
9 | import org.fossify.math.R
10 | import org.fossify.math.adapters.UnitTypesAdapter
11 | import org.fossify.math.databinding.ActivityUnitConverterPickerBinding
12 | import org.fossify.math.extensions.config
13 | import org.fossify.math.helpers.converters.Converter
14 |
15 | class UnitConverterPickerActivity : SimpleActivity() {
16 | private val binding by viewBinding(ActivityUnitConverterPickerBinding::inflate)
17 |
18 | override fun onCreate(savedInstanceState: Bundle?) {
19 | super.onCreate(savedInstanceState)
20 | setContentView(binding.root)
21 | setupEdgeToEdge(padBottomSystem = listOf(binding.unitTypesGrid))
22 | setupMaterialScrollListener(
23 | binding.unitTypesGrid,
24 | binding.unitConverterPickerAppbar
25 | )
26 |
27 | binding.unitTypesGrid.layoutManager =
28 | AutoGridLayoutManager(this, resources.getDimensionPixelSize(R.dimen.unit_type_size))
29 | binding.unitTypesGrid.adapter = UnitTypesAdapter(this, Converter.ALL) {
30 | Intent(this, UnitConverterActivity::class.java).apply {
31 | putExtra(UnitConverterActivity.EXTRA_CONVERTER_ID, it)
32 | startActivity(this)
33 | }
34 | }
35 |
36 | binding.unitConverterPickerToolbar.setTitle(R.string.unit_converter)
37 | }
38 |
39 | override fun onResume() {
40 | super.onResume()
41 |
42 | setupTopAppBar(binding.unitConverterPickerAppbar, NavigationIcon.Arrow)
43 |
44 | if (config.preventPhoneFromSleeping) {
45 | window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
46 | }
47 | }
48 |
49 | override fun onPause() {
50 | super.onPause()
51 | if (config.preventPhoneFromSleeping) {
52 | window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/app/src/main/res/values-eu/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Kalkulagailua
4 | Kalkulagailu zientifikoa
5 | Unitate bihurgailua
6 | Aldatu unitateak
7 | Errorea: zati zero
8 | Historia
9 | Historia hutsik dago
10 | Garbitu
11 | Historia garbitu da
12 | Dardara egin botoia sakatzean
13 | Luzera
14 | Kilometro
15 | Metro
16 | Zentimetro
17 | Milimetro
18 | Mikrometroa
19 | Nanometroa
20 | Angstrom
21 | Milia
22 | Yarda
23 | Oina
24 | Hazbetea
25 | Braza
26 | Itsas milia
27 | Parsec
28 | Argi-urtea
29 | Area
30 | Kilometro karratua
31 | Metro karratua
32 | Zentimetro karratua
33 | Milimetro karratua
34 | Milia karratua
35 | Yarda karratua
36 | Oin karratua
37 |
38 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/cs-CZ/full_description.txt:
--------------------------------------------------------------------------------
1 | Představujeme Kalkulačku Fossify – všestranný a efektivní nástroj pro všechny vaše výpočty. Užijte si stylový, moderní design spojený s výkonnou funkcionalitou, ideální pro jednoduché výpočty i složitější úlohy.
2 | 📶 OFFLINE FUNKČNOST:
3 | Kalkulačka Fossify funguje zcela offline bez nutnosti přístupu k internetu. Používejte ji kdykoli a kdekoli a vyzkoušejte zvýšené soukromí, bezpečnost a stabilitu.
4 | 🌐 MNOHO FUNKCÍ:
5 | Ať už potřebujete násobit, dělit nebo počítat odmocniny a mocniny, Kalkulačka Fossify vás nezklame. Je navržena pro běžné výpočty i pokročilejší operace, což z ní činí spolehlivý nástroj pro různé matematické úlohy.
6 | 📳 PŘIZPŮSOBITELNÁ NASTAVENÍ:
7 | Upravte si aplikaci podle sebe díky přizpůsobitelným nastavením. Zapněte nebo vypněte vibrace při stisku tlačítek, zakažte uspání telefonu během používání aplikace a dolaďte rozhraní k obrazu svému.
8 | 🔒 OCHRANA SOUKROMÍ A BEZPEČNOST:
9 | Vaše soukromí je pro nás na prvním místě. Kalkulačka Fossify nesbírá ani nesdílí žádné uživatelské informace s třetími stranami. Používejte aplikaci bez obav, vaše data jsou v bezpečí.
10 | 📊 HISTORIE VÝPOČTŮ:
11 | Získejte přístup k historii svých výpočtů pro rychlou orientaci. Snadno si prohlédněte nedávné operace pro kontrolu nebo pokračování ve své práci.
12 | 🎨 PERSONALIZOVANÝ ZÁŽITEK:
13 | Personalizujte si kalkulačku pomocí přizpůsobitelných barev. Upravte barvy textu a pozadí tak, aby odpovídaly vašemu stylu a preferencím, a vytvořte vizuálně atraktivní a snadno ovladatelné rozhraní.
14 | 🌐 TRANSPARENTNÍ A OPEN-SOURCE:
15 | Kalkulačka Fossify je zcela otevřený projekt, což zajišťuje transparentnost a bezpečnost. Získejte přístup ke zdrojovému kódu pro audit a ujistěte se o jeho důvěryhodnosti a spolehlivosti.
16 | Zažijte novou úroveň efektivity a přizpůsobení s Kalkulačkou Fossify. Stáhněte si ji nyní a pozvedněte své výpočty na vyšší úroveň.
17 | Prozkoumejte další aplikace Fossify: https://www.fossify.org
18 | Otevřený zdrojový kód: https://www.github.com/FossifyOrg
19 | Připojte se ke komunitě na Redditu: https://www.reddit.com/r/Fossify
20 | Připojte se k Telegramu: https://t.me/Fossify
21 |
--------------------------------------------------------------------------------
/app/src/main/kotlin/org/fossify/math/helpers/NumberFormatHelper.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.math.helpers
2 |
3 | import java.math.BigDecimal
4 | import java.text.DecimalFormat
5 | import java.text.DecimalFormatSymbols
6 |
7 | class NumberFormatHelper(
8 | val decimalSeparator: String = getDecimalSeparator(),
9 | val groupingSeparator: String = getGroupingSeparator()
10 | ) {
11 | companion object {
12 | private const val MAX_FRACTION_DIGITS = 15
13 | }
14 |
15 | fun bigDecimalToString(bd: BigDecimal): String {
16 | val symbols = DecimalFormatSymbols.getInstance()
17 |
18 | val formatter = DecimalFormat()
19 | formatter.maximumFractionDigits = MAX_FRACTION_DIGITS
20 | formatter.decimalFormatSymbols = symbols
21 | formatter.isGroupingUsed = true
22 |
23 | val result = formatter.format(bd)
24 | return if (result.contains(decimalSeparator)) {
25 | result.trimEnd('0').trimEnd(decimalSeparator.single())
26 | } else {
27 | result
28 | }
29 | }
30 |
31 | @Suppress("SwallowedException")
32 | fun addGroupingSeparators(str: String): String {
33 | return try {
34 | bigDecimalToString(removeGroupingSeparator(str).toBigDecimal())
35 | } catch (_: NumberFormatException) {
36 | // Return original string if it cannot be parsed as a valid number
37 | str
38 | }
39 | }
40 |
41 | fun removeGroupingSeparator(str: String): String {
42 | return str.replace(groupingSeparator, "").replace(decimalSeparator, ".")
43 | }
44 |
45 | fun formatForDisplay(input: String): String {
46 | var formatted = addGroupingSeparators(input)
47 | // allow writing numbers like 0.003
48 | if (input.contains(decimalSeparator)) {
49 | val firstPart = formatted.substringBefore(decimalSeparator)
50 | val lastPart = input.substringAfter(decimalSeparator)
51 | formatted = "$firstPart$decimalSeparator$lastPart"
52 | }
53 |
54 | return formatted
55 | }
56 | }
57 |
58 | fun getDecimalSeparator(): String {
59 | return DecimalFormatSymbols.getInstance().decimalSeparator.toString()
60 | }
61 |
62 | fun getGroupingSeparator(): String {
63 | return DecimalFormatSymbols.getInstance().groupingSeparator.toString()
64 | }
65 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/et/full_description.txt:
--------------------------------------------------------------------------------
1 | Tutvustame Fossify kalkulaatorit - sinu mitmekülgset ja tõhusat tööriista kõigi sinu arvutusvajaduste jaoks. Naudi stiilset, kaasaegset kujundust koos võimsa funktsionaalsusega, mis sobib ideaalselt nii lihtsate arvutuste kui ka keerukamate ülesannete jaoks.
2 | 📶 VALLASREŽIIM:
3 | Fossify Calculator töötab täielikult võrguühenduseta, ilma et vajaks internetiõigusi. Kasuta seda igal ajal ja igal pool ning koge täiustatud privaatsust, turvalisust ja stabiilsust.
4 | 🌐 MULTIFUNKTSIOONID:
5 | Kas sul on vaja korrutada, jagada või arvutada juuri ja astendada, Fossify kalkulaatoris on see kõik olemas. Ta sobib ideaalselt nii igapäevasteks arvutusteks kui ka spetsiifilisemateks ülesanneteks ja on usaldusväärne abiline erinevateks matemaatikaülesanneteks.
6 | 📳 KOHANDATAVUS:
7 | Kohanda oma kasutuskogemust seadistustest. Kasuta vibratsiooni nupuvajutuste korral, takista telefoni uinumist rakenduse kasutamise ajal ja kohanda kasutajaliides oma maitse järgi.
8 | 🔒 PRIVAATSUS JA TURVALISUS:
9 | Sinu privaatsus on esmatähtis. Fossify kalkulaator ei kogu ega jaga kasutajate andmeid kolmandate osapooltega. Kasuta rakendust rahulikult, teades, et sinu andmed on kaitstud.
10 | 📊 TEHETE AJALUGU:
11 | Kiireks viitamiseks ja taaskasutuseks on sul mugav juurdepääs oma arvutuste ajaloole. Sirvi hõlpsasti hiljutisi tehteid, et oma tööd üle vaadata või jätkata.
12 | 🎨 ISIKUPÄRANE KASUTAJAKOGEMUS:
13 | Isikupärasta oma kalkulaator kohandatavate värvidega. Säti teksti- ja taustavärvid vastavalt oma stiilile ja eelistustele, luues visuaalselt atraktiivse ja hõlpsasti kasutatava kasutajaliidese.
14 | 🌐 AVATUD LÄHTEKOODIL PÕHINEV LÄBIPAISTVUS:
15 | Fossify kalkulaator on täielikult avatud lähtekoodiga, pakkudes läbipaistvust ja turvalisust. Kui seda vajad, siis sul on auditeerimiseks tegemiseks ligipääs lähtekoodile, tagades sellega usaldusväärse ja ausa töövahendi.
16 | Koge Fossify kalkulaatoriga uut tõhususe ja kohandamise taset. Laadi ta nüüd alla ja paranda oma arvutuskogemust.
17 | Kõik Fossify rakendused: https://www.fossify.org
18 | Avatud lähtekood: https://www.github.com/FossifyOrg
19 | Liitu kogukonnaga Redditis: https://www.reddit.com/r/Fossify
20 | Suhtle Telegramis: https://t.me/Fossify
21 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/hi-IN/full_description.txt:
--------------------------------------------------------------------------------
1 | पेश है फ़ॉसिफाई (Fossify) कैलकुलेटर - आपकी सभी गणना आवश्यकताओं के लिए आपका बहुमुखी और कुशल उपकरण। स्टाइलिश, आधुनिक डिज़ाइन का आनंद लें, जो शक्तिशाली कार्यक्षमता के साथ मिलकर सरल गणनाओं और अधिक जटिल कार्यों दोनों के लिए एकदम सही है।
2 | 📶 ऑफ़लाइन कार्यक्षमता:
3 | फ़ॉसिफाई (Fossify) कैलकुलेटर इंटरनेट अनुमतियों की आवश्यकता के बिना पूरी तरह से ऑफ़लाइन संचालित होता है। इसे कभी भी, कहीं भी उपयोग करें, और बेहतर गोपनीयता, सुरक्षा और स्थिरता का अनुभव करें।
4 | 🌐 एकाधिक फ़ंक्शन:
5 | चाहे आपको गुणा करने, विभाजित करने, या जड़ों और शक्तियों की गणना करने की आवश्यकता हो, फ़ॉसिफाई (Fossify) कैलकुलेटर ने आपको कवर कर दिया है। इसे रोज़मर्रा की गणनाओं और अधिक उन्नत संचालनों के लिए डिज़ाइन किया गया है, जो इसे विभिन्न गणितीय आवश्यकताओं के लिए एक विश्वसनीय उपकरण बनाता है।
6 | 📳 अनुकूलन योग्य सेटिंग्स:
7 | अनुकूलन योग्य सेटिंग्स के साथ अपने अनुभव को अनुकूलित करें। बटन दबाने पर कंपन को टॉगल करें, ऐप का उपयोग करते समय अपने फोन को स्लीप मोड में जाने से रोकें और इंटरफ़ेस को अपनी पसंद के अनुसार समायोजित करें।
8 | 🔒 गोपनीयता एवं सुरक्षा:
9 | आपकी निजता सर्वोपरि है। फ़ॉसिफाई (Fossify) कैलकुलेटर किसी भी उपयोगकर्ता की जानकारी तीसरे पक्ष के साथ एकत्र या साझा नहीं करता है। ऐप का उपयोग निश्चिंत होकर करें, यह जानकर कि आपका डेटा सुरक्षित है।
10 | 📊 परिचालन इतिहास:
11 | त्वरित संदर्भ के लिए अपनी गणना के इतिहास तक पहुँचें। अपने काम की समीक्षा करने या उसे जारी रखने के लिए हाल के कार्यों को आसानी से देखें।
12 | 🎨व्यक्तिगत अनुभव:
13 | अपने कैलकुलेटर को अनुकूलन योग्य रंगों के साथ निजीकृत करें। अपनी शैली और प्राथमिकताओं से मेल खाने के लिए टेक्स्ट और पृष्ठभूमि रंगों को समायोजित करें, एक दृश्यमान आकर्षक और उपयोग में आसान इंटरफ़ेस बनाएं।
14 | 🌐ओपन-सोर्स पारदर्शिता:
15 | फ़ॉसिफाई (Fossify) कैलकुलेटर पूरी तरह से खुला-स्रोत है, जो पारदर्शिता और सुरक्षा प्रदान करता है। एक भरोसेमंद और विश्वसनीय टूल सुनिश्चित करते हुए ऑडिट के लिए स्रोत कोड तक पहुंचें।
16 | फ़ॉसिफाई (Fossify) कैलकुलेटर के साथ दक्षता और अनुकूलन के एक नए स्तर का अनुभव करें। अभी डाउनलोड करें और अपने गणना अनुभव को बेहतर बनाएँ।
17 | फ़ॉसिफाई (Fossify) के और ऐप देखें: https://www.fossify.org
18 | फ़ॉसिफाई (Fossify) का ओपन-सोर्स कोड: https://www.github.com/FossifyOrg
19 | Reddit पर समुदाय से जुड़ें: https://www.reddit.com/r/Fossify
20 | Telegram पर कनेक्ट करें: https://t.me/Fossify
21 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/ru-RU/full_description.txt:
--------------------------------------------------------------------------------
1 | Представляем калькулятор Fossify — ваш универсальный и эффективный инструмент для всех ваших расчётных задач. Наслаждайтесь стильным, современным дизайном в сочетании с мощным функционалом, идеально подходящим как для простых расчётов, так и для более сложных задач.
2 | 📶 ФУНКЦИОНАЛЬНОСТЬ АВТОНОМНО:
3 | Калькулятор Fossify работает полностью автономно, не требуя разрешений на доступ в Интернет. Используйте его в любое время, в любом месте и наслаждайтесь повышенной приватностью, безопасностью и стабильностью.
4 | 🌐 МНОЖЕСТВО ФУНКЦИЙ:
5 | Вам нужно умножить, разделить, вычислить корень или степень? С калькулятором Fossify это несложно. Он создан для повседневных расчётов и сложных операций, оставаясь надёжным инструментом для любых математических задач.
6 | 📳 ГИБКИЕ НАСТРОЙКИ:
7 | Полная персонализация под вас: вибрация по нажатию, отключение блокировки экрана и гибкая настройка интерфейса. Сделайте приложение идеальным для себя.
8 | 🔒 КОНФИДЕНЦИАЛЬНОСТЬ И БЕЗОПАСНОСТЬ:
9 | Ваша конфиденциальность — наш главный приоритет. Калькулятор Fossify не собирает и не передает данные пользователей третьим сторонам. Используйте приложение со спокойной душой — ваши данные в полной безопасности.
10 | 📊 ИСТОРИЯ ОПЕРАЦИЙ:
11 | Получите доступ к истории ваших вычислений для быстрой справки. Легко просматривайте последние операции, чтобы проверить или продолжить свою работу.
12 | 🎨 ПЕРСОНАЛИЗАЦИЯ:
13 | Настройте калькулятор под себя: измените цвет фона и текста в соответствии со своим стилем. Создайте визуально приятный и удобный именно для вас интерфейс.
14 | 🌐 ПРОЗРАЧНОСТЬ БЛАГОДАРЯ ОТКРЫТОМУ КОДУ:
15 | Fossify Calculator — это приложение с открытым исходным кодом, которое обеспечивает полную прозрачность и безопасность. Исходный код доступен для проверки, что гарантирует его надежность и вызывает доверие.
16 | Испытайте новый уровень эффективности и персонализации с Fossify Calculator. Скачайте приложение прямо сейчас и выведите свои вычисления на новый уровень.
17 | Ознакомьтесь с другими приложениями от Fossify: https://www.fossify.org
18 | Исходный код: https://www.github.com/FossifyOrg
19 | Присоединяйтесь к сообществу на Reddit: https://www.reddit.com/r/Fossify
20 | Подключайтесь в Telegram: https://t.me/Fossify
21 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/tr-TR/full_description.txt:
--------------------------------------------------------------------------------
1 | Fossify Hesap Makinesi ile tanışın – sizin tüm hesap işlemlerinizi karşılamak için çok yönlü ve verimli aracınız. Hem basit hesaplamalar hemde daha kompleks işlemler için güçlü özellikler ile şık ve modern tasarımın mükemmel kombinasyonunun tadını çıkarın.
2 | 📶ÇEVRİM DIŞI İŞLEVSELLİK:
3 | Fossify Hesap Makinesi, internet izinlerine gereksinim duymadan tamamen çevrim dışı olarak çalışır. Her zaman, her yerde kullanın ve gelişmiş gizlilik, güvenlik ve stabiliteyi deneyimleyin.
4 | 🌐 ÇOKLU FONKSİYONLAR:
5 | İster çarpmaya, bölmeye veya kök ve kuvvetleri hesaplamaya ihtiyacınız olsun, Fossify Hesap Makinesi sizin yanınızda. Günlük hesaplamalar ve daha gelişmiş işlemler için tasarlanarak çeşitli matematiksel ihtiyaçlara yönelik güvenilir bir araç haline getirilmiştir.
6 | 📳 ÖZELLEŞTİRİLEBİLİR AYARLAR:
7 | Özelleştirilebilir ayarlarla deneyiminizi zenginleştirin. Tuş basımlarında titremeyi açın, uygulamayı kullanırken telefonunuzun uykuya geçmesinin önüne geçin ve arayüzü kendinize göre şekillendirin.
8 | 🔒 GİZLİLİK VE GÜVENLİK:
9 | Gizliliğiniz bizim için çok önemlidir. Fossify Hesap Makinesi, ne bir kullanıcı verisi toplar nede bunları üçüncü taraflara paylaşır. Uygulamayı verinizin güvende olduğunu bilerek gönül rahatlığıyla kullanın.
10 | 📊 İŞLEM GEÇMİŞİ:
11 | Hızlı bir referans için hesap geçmişinize ulaşın. Son operasyonlarınıza kolayca göz atarak çalışmalarınızı gözden geçirin veya çalışmalarınıza devam edin.
12 | 🎨 KİŞİSELLEŞTİRİLMİŞ DENEYİM:
13 | Özelleştirilebilir renklerle hesap makinenizi kişiselleştirin. Şahsi stil ve tercihlerinize göre metin ve arka plan renklerini değiştirerek görsel olarak çekici ve kullanımı kolay bir arayüz oluşturun
14 | 🌐 AÇIK KAYNAK ŞEFFAFLIĞI:
15 | Fossify Hesap Makinesi tamamen açık kaynak olup şeffaflık ve güvenlik sunar. Denetimler için kaynak koduna erişerek güvenilir ve sağlam bir araç olmasını sağlayın.
16 | Fossify Hesap Makinesi ile verimliliğin ve özelleştirmenin yeni boyutunu deneyimleyin. Şimdi indirin ve hesap deneyiminizi bir üst seviyeye çıkarın.
17 | Daha fazla Fossify uygulamaları keşfedin: https://www.fossify.org
18 | Açık kaynak kodu: https://www.github.com/FossifyOrg
19 | Reddit'te topluluğumuza katılın: https://www.reddit.com/r/Fossify n
20 | Telegram üzerinden bağlanın: https://t.me/Fossify
21 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/uk/full_description.txt:
--------------------------------------------------------------------------------
1 | Представляємо Fossify Calculator – ваш універсальний та ефективний інструмент для всіх ваших розрахункових потреб. Насолоджуйтесь стильним, сучасним дизайном у поєднанні з потужною функціональністю, ідеально підходить як для простих розрахунків, так і для складніших завдань.
2 | 📶 ФУНКЦІОНАЛЬНІСТЬ ОФЛАЙН-РЕЖИМУ:
3 | Fossify Calculator працює повністю офлайн без потреби в доступі до Інтернету. Використовуйте його будь-коли та будь-де, забезпечуючи покращену конфіденційність, безпеку та стабільність.
4 | 🌐 КІЛЬКА ФУНКЦІЙ:
5 | Незалежно від того, чи потрібно вам множити, ділити чи обчислювати корені та степені, Fossify Calculator допоможе вам. Він розроблений для щоденних розрахунків та складніших операцій, що робить його надійним інструментом для різноманітних математичних потреб.
6 | 📳 НАЛАШТУВАНІ НАЛАШТУВАННЯ:
7 | Налаштуйте свій досвід за допомогою налаштувань. Увімкніть вібрацію під час натискання кнопок, запобіжіть переходу телефону в режим сну під час використання програми та налаштуйте інтерфейс на свій смак.
8 | 🔒 КОНФІДЕНЦІЙНІСТЬ ТА БЕЗПЕКА:
9 | Ваша конфіденційність є надзвичайно важливою. Fossify Calculator не збирає та не передає жодної інформації про користувачів третім особам. Використовуйте програму зі спокоєм, знаючи, що ваші дані в безпеці.
10 | 📊 ІСТОРІЯ ОПЕРАЦІЙ:
11 | Отримайте доступ до історії ваших розрахунків для швидкого доступу. Легко переглядайте останні операції, щоб переглянути або продовжити свою роботу.
12 | 🎨 ПЕРСОНАЛІЗОВАНИЙ ДОСВІД:
13 | Персоналізуйте свій калькулятор за допомогою налаштовуваних кольорів. Налаштуйте кольори тексту та фону відповідно до вашого стилю та вподобань, створюючи візуально привабливий та простий у використанні інтерфейс.
14 | 🌐 ПРОЗОРІСТЬ ВІДКРИТОГО КОДУ:
15 | Fossify Calculator повністю має відкритий код, що забезпечує прозорість та безпеку. Отримайте доступ до вихідного коду для аудитів, забезпечуючи надійний та надійний інструмент.
16 | Відчуйте новий рівень ефективності та налаштування за допомогою Fossify Calculator. Завантажте зараз та покращте свої обчислення.
17 | Дізнайтеся більше про програми Fossify: https://www.fossify.org
18 | Відкритий вихідний код: https://www.github.com/FossifyOrg
19 | Приєднуйтесь до спільноти на Reddit: https://www.reddit.com/r/Fossify
20 | Підключайтеся в Telegram: https://t.me/Fossify
21 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/ca/full_description.txt:
--------------------------------------------------------------------------------
1 | Us presentem la Calculadora Fossify: la vostra eina versàtil i eficient per a totes les vostres necessitats de càlcul. Gaudiu d'un disseny elegant i modern combinat amb una funcionalitat potent, perfecta tant per a càlculs senzills com per a tasques més complexes.
2 | 📶 FUNCIONALITAT SENSE CONNEXIÓ:
3 | La Calculadora Fossify funciona completament fora de línia sense necessitat de permisos d'Internet. Feu-la servir en qualsevol moment i en qualsevol lloc i experimenteu una privadesa, seguretat i estabilitat millorades.
4 | 🌐 MÚLTIPLES FUNCIONS:
5 | Tant si necessiteu multiplicar, dividir o calcular arrels i potències, la Calculadora Fossify ho fa. Està dissenyada per a càlculs diaris i operacions més avançades, cosa que la converteix en una eina fiable per a una varietat de necessitats matemàtiques.
6 | 📳 CONFIGURACIÓ PERSONALITZABLE:
7 | Personalitzeu la vostra experiència amb configuracions personalitzables. Activeu les vibracions en prémer els botons, eviteu que el telèfon entri en repòs mentre feu servir l'aplicació i ajusteu la interfície al vostre gust.
8 | 🔒 PRIVACITAT I SEGURETAT:
9 | La vostra privadesa és primordial. Fossify Calculator no recopila ni comparteix cap informació amb tercers. Feu servir l'aplicació amb tranquil·litat, sabent que les vostres dades estan segures.
10 | 📊 HISTÒRIA D'OPERACIONS:
11 | Accediu a un historial dels vostres càlculs per a una consulta ràpida. Navegueu fàcilment per les operacions recents per revisar o continuar la vostra feina.
12 | 🎨 EXPERIÈNCIA PERSONALITZADA:
13 | Personalitzeu els colors de la vostra calculadora. Ajusteu els colors del text i del fons perquè coincideixin amb el vostre estil i les vostres preferències, creant una interfície visualment atractiva i fàcil d'utilitzar.
14 | 🌐 TRANSPARÈNCIA DE CODI OBERT:
15 | Fossify Calculator és completament de codi obert, oferint transparència i seguretat. Accediu al codi font per a auditories, garantint una eina fiable i de confiança.
16 | Experimenteu un nou nivell d'eficiència i personalització amb Fossify Calculator. Baixeu-la ara i milloreu la vostra experiència de càlcul.
17 | Exploreu més aplicacions de Fossify: https://www.fossify.org
18 | Codi de obert: https://www.github.com/FossifyOrg
19 | Uniu-vos a la comunitat a Reddit: https://www.reddit.com/r/Fossify
20 | Connecteu-vos a Telegram: https://t.me/Fossify
21 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/pl-PL/full_description.txt:
--------------------------------------------------------------------------------
1 | Przedstawiamy Fossify Calculator – Twoje wszechstronne i wydajne narzędzie do wszystkich Twoich potrzeb obliczeniowych. Ciesz się stylowym, nowoczesnym wyglądem w połączeniu z potężną funkcjonalnością, idealną zarówno do prostych obliczeń, jak i bardziej złożonych zadań takich jak przeliczanie walut.
2 | 📶 FUNKCJE OFFLINE:
3 | Fossify Calculator działa całkowicie offline, nie wymagając dostępu do Internetu. Używaj go w dowolnym czasie i miejscu i doświadcz większej prywatności, bezpieczeństwa i stabilności.
4 | 🌐 WIELE FUNKCJI:
5 | Niezależnie od tego, czy potrzebujesz pomnożyć, podzielić, obliczyć pierwiastki czy też potęgować, Fossify Calculator pomoże Ci w tym. Został zaprojektowany do codziennych obliczeń i bardziej zaawansowanych operacji, co czyni go niezawodnym narzędziem do różnych potrzeb matematycznych.
6 | 📳 KONFIGUROWALNE USTAWIENIA:
7 | Dostosuj swoje doświadczenie dzięki konfigurowalnym ustawieniom. Przełączaj wibracje przy naciśnięciach przycisków, zapobiegaj przechodzeniu urządzenia w tryb uśpienia podczas korzystania z aplikacji i dostosuj interfejs do własnych upodobań.
8 | 🔒 PRYWATNOŚĆ I BEZPIECZEŃSTWO:
9 | Twoja prywatność jest najważniejsza. Fossify Calculator nie gromadzi ani nie udostępnia żadnych informacji o użytkowniku stronom trzecim. Korzystaj z aplikacji ze spokojem ducha, wiedząc, że Twoje dane są bezpieczne.
10 | 📊 HISTORIA OPERACJI:
11 | Uzyskaj dostęp do historii swoich obliczeń. Z łatwością przeglądaj ostatnie operacje, aby je przejrzeć lub kontynuować pracę.
12 | 🎨 SPERSONALIZOWANE DOŚWIADCZENIE:
13 | Spersonalizuj swój kalkulator dzięki konfigurowalnym kolorom. Dostosuj kolory tekstu i tła do swojego stylu i preferencji, tworząc atrakcyjny wizualnie i łatwy w użyciu interfejs.
14 | 🌐 OTWARTOŹRÓDŁOWA TRANSPARENTNOŚĆ:
15 | Fossify Calculator jest w pełni otwartoźródłowy, oferując przejrzystość i bezpieczeństwo. Uzyskaj możliwość przeglądu kodu źródłowego, co zapewnia zaufane i wiarygodne narzędzie.
16 | Doświadcz nowego poziomu wydajności i personalizacji z Fossify Calculator. Pobierz teraz i przenieś swoje doświadczenie z obliczania na wyższy poziom.
17 | Odkryj więcej aplikacji od Fossify: https://www.fossify.org
18 | Kod źródłowy: https://www.github.com/FossifyOrg
19 | Dołącz do społeczności na Reddicie: https://www.reddit.com/r/Fossify
20 | Połącz się na Telegramie: https://t.me/Fossify
21 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/full_description.txt:
--------------------------------------------------------------------------------
1 | Wir stellen dir Fossify Calculator vor – Dein vielseitiges und effizientes Werkzeug für alle Rechenaufgaben. Genieße ein elegantes, modernes Design gepaart mit leistungsstarker Funktionalität, perfekt für einfache Berechnungen und komplexere Aufgaben.
2 | 📶 OFFLINE-FUNKTIONALITÄT:
3 | Fossify Calculator arbeitet vollständig offline und benötigt keine Internetverbindung. Du kannst ihn jederzeit und überall verwenden und profitierst von mehr Privatsphäre, Sicherheit und Stabilität.
4 | 🌐 ZAHLREICHE FUNKTIONEN:
5 | Egal, ob du multiplizieren, dividieren oder Wurzeln und Potenzen berechnen musst, Fossify Calculator hat alles, was du brauchst. Er wurde für alltägliche Berechnungen und fortgeschrittene Operationen entwickelt und ist ein zuverlässiges Werkzeug für eine Vielzahl von mathematischen Anforderungen.
6 | 📳 ANPASSBARE EINSTELLUNGEN:
7 | Passe dein Erlebnis mit individuellen Einstellungen an. Schalte die Vibrationsfunktion bei Tastendruck ein, verhindere, dass dein Telefon während dem Verwenden der App in den Ruhemodus wechselt, und passe die Bedienoberfläche nach deinem Geschmack an.
8 | 🔒 DATENSCHUTZ UND SICHERHEIT:
9 | Deine Privatsphäre steht an erster Stelle. Fossify Calculator sammelt keine Nutzungsdaten und gibt sie nicht an Dritte weiter. Nutze die App mit der Gewissheit, dass deine Daten sicher sind.
10 | 📊 BERECHNUNGSVERLAUF:
11 | Greife auf einen Verlauf deiner Berechnungen zu, um schnell nachschauen zu können. Einfaches Durchsuchen der letzten Berechnungen, um deine Arbeit zu überprüfen oder fortzusetzen.
12 | 🎨 PERSONALISIERTES ERLEBNIS:
13 | Gestalte deinen Taschenrechner mit anpassbaren Farben. Passe Text- und Hintergrundfarben an deinen Stil und deine Vorlieben an, um eine optisch ansprechende und bedienfreundliche Oberfläche zu schaffen.
14 | 🌐 OPEN-SOURCE-TRANSPARENZ:
15 | Fossify Calculator ist vollständig quelloffen und bietet Transparenz und Sicherheit. Zugriff auf den Quellcode für Audits, um ein vertrauenswürdiges und zuverlässiges Tool sicherzustellen.
16 | Erlebe mit Fossify Calculator ein neues Maß an Effizienz und Anpassbarkeit. Jetzt herunterladen und dein Rechenerlebnis verbessern.
17 | Entdecke weitere Apps von Fossify: https://www.fossify.org
18 | Open-Source-Code: https://www.github.com/FossifyOrg
19 | Tritt der Community auf Reddit bei: https://www.reddit.com/r/Fossify
20 | Verbinde dich auf Telegram: https://t.me/Fossify
21 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.yml:
--------------------------------------------------------------------------------
1 | name: Feature request
2 | description: Suggest an idea for this project
3 | labels: [ "feature request", "needs triage" ]
4 | body:
5 | - type: markdown
6 | attributes:
7 | value: |
8 | ## Hi there 👋
9 | Thanks for helping us improve Fossify Calculator by suggesting a feature!
10 | Please fill in as much information as possible about your feature request to avoid unnecessary and time-consuming back-and-forth communication.
11 |
12 | - type: checkboxes
13 | id: checklist
14 | attributes:
15 | label: "Checklist"
16 | options:
17 | - label: "I made sure that there are **no existing issues** - [open](https://github.com/FossifyOrg/Calculator/issues) or [closed](https://github.com/FossifyOrg/Calculator/issues?q=is%3Aissue+is%3Aclosed) - to which I could contribute my information."
18 | required: true
19 | - label: "I made sure that there are **no existing discussions** - [open](https://github.com/orgs/FossifyOrg/discussions?discussions_q=is:open+label:calculator) or [closed](https://github.com/orgs/FossifyOrg/discussions?discussions_q=is:closed+label:calculator) - to which I could contribute my information."
20 | required: true
21 | - label: "I have read the FAQs inside the app (Menu -> About -> FAQs) and my problem isn't listed."
22 | required: true
23 | - label: "**I have taken the time to fill in all the required details. I understand that the request will be dismissed otherwise.**"
24 | required: true
25 | - label: "This issue contains only one feature request."
26 | required: true
27 | - label: "I have read and understood the [contribution guidelines](https://github.com/FossifyOrg/Calculator/blob/master/CONTRIBUTING.md)."
28 | required: true
29 |
30 | - type: textarea
31 | id: feature-description
32 | attributes:
33 | label: Feature description
34 | description: |
35 | Explain how you want the app's look or behavior to change to suit your needs.
36 | validations:
37 | required: true
38 |
39 | - type: textarea
40 | id: why-is-the-feature-requested
41 | attributes:
42 | label: Why do you want this feature?
43 | description: |
44 | Describe any problem or limitation you come across while using the app which would be solved by this feature.
45 | validations:
46 | required: true
47 |
48 | - type: textarea
49 | id: additional-information
50 | attributes:
51 | label: Additional information
52 | description: Any other information you'd like to include, for instance sketches, mockups, pictures of rabbits, etc.
53 |
--------------------------------------------------------------------------------
/app/detekt-baseline.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CyclomaticComplexMethod:CalculatorImpl.kt$CalculatorImpl$fun handleOperation(operation: String)
6 | CyclomaticComplexMethod:CalculatorImpl.kt$CalculatorImpl$private fun calculateResult()
7 | CyclomaticComplexMethod:MyWidgetProvider.kt$MyWidgetProvider$private fun myAction(action: String, context: Context)
8 | EmptyFunctionBlock:WidgetConfigureActivity.kt$WidgetConfigureActivity.<no name provided>${}
9 | ForEachOnRange:Context.kt$(0 until cnt).map { viewGroup.getChildAt(it) }
10 | MagicNumber:CalculatorImpl.kt$CalculatorImpl$3
11 | MagicNumber:CalculatorImpl.kt$CalculatorImpl$4
12 | MagicNumber:CalculatorImpl.kt$CalculatorImpl$5
13 | MagicNumber:CalculatorImpl.kt$CalculatorImpl$6
14 | MagicNumber:CalculatorImpl.kt$CalculatorImpl$7
15 | MagicNumber:CalculatorImpl.kt$CalculatorImpl$8
16 | MagicNumber:CalculatorImpl.kt$CalculatorImpl$9
17 | MagicNumber:ConverterView.kt$ConverterView$3
18 | MagicNumber:ConverterView.kt$ConverterView$4
19 | MagicNumber:ConverterView.kt$ConverterView$5
20 | MagicNumber:ConverterView.kt$ConverterView$6
21 | MagicNumber:ConverterView.kt$ConverterView$7
22 | MagicNumber:ConverterView.kt$ConverterView$8
23 | MagicNumber:ConverterView.kt$ConverterView$9
24 | MagicNumber:WidgetConfigureActivity.kt$WidgetConfigureActivity$100
25 | MaxLineLength:Context.kt$// we are reusing the same layout in the app and widget, but cannot use MyTextView etc in a widget, so color regular view types like this
26 | MaxLineLength:MyWidgetProvider.kt$MyWidgetProvider$DECIMAL
27 | NestedBlockDepth:CalculatorImpl.kt$CalculatorImpl$fun handleOperation(operation: String)
28 | NestedBlockDepth:ConverterView.kt$ConverterView$fun deleteCharacter()
29 | NestedBlockDepth:ConverterView.kt$ConverterView$private fun updateBottomValue()
30 | TooGenericExceptionCaught:Context.kt$e: Exception
31 | TooManyFunctions:CalculatorImpl.kt$CalculatorImpl
32 | TooManyFunctions:ConverterView.kt$ConverterView : LinearLayout
33 | TooManyFunctions:MainActivity.kt$MainActivity : SimpleActivityCalculator
34 | TooManyFunctions:MyWidgetProvider.kt$MyWidgetProvider : AppWidgetProviderCalculator
35 | UnusedPrivateMember:SettingsScreen.kt$@MyDevices @Composable private fun SettingsScreenPreview( @PreviewParameter(BooleanPreviewParameterProvider::class) showCheckmarksOnSwitches: Boolean )
36 |
37 |
38 |
--------------------------------------------------------------------------------
/app/src/main/res/values-be/strings.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 | Як працуе кнопка C (Ачыстка)\?
42 | Крананне да яе выдаляе адзін сімвал. Доўгае націсканне на яе ачышчае адразу ўсе палі.
43 |
44 |
--------------------------------------------------------------------------------
/app/src/main/kotlin/org/fossify/math/adapters/UnitTypesAdapter.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.math.adapters
2 |
3 | import android.graphics.drawable.LayerDrawable
4 | import android.graphics.drawable.RippleDrawable
5 | import android.view.View
6 | import android.view.ViewGroup
7 | import androidx.core.content.res.ResourcesCompat
8 | import androidx.recyclerview.widget.RecyclerView
9 | import org.fossify.commons.extensions.applyColorFilter
10 | import org.fossify.commons.extensions.darkenColor
11 | import org.fossify.commons.extensions.getProperBackgroundColor
12 | import org.fossify.commons.extensions.getProperPrimaryColor
13 | import org.fossify.commons.extensions.getProperTextColor
14 | import org.fossify.math.R
15 | import org.fossify.math.activities.SimpleActivity
16 | import org.fossify.math.databinding.ItemUnitTypeBinding
17 | import org.fossify.math.extensions.getStrokeColor
18 | import org.fossify.math.helpers.converters.Converter
19 |
20 | class UnitTypesAdapter(
21 | val activity: SimpleActivity,
22 | val items: List,
23 | val itemClick: (id: Int) -> Unit
24 | ) :
25 | RecyclerView.Adapter() {
26 | override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder =
27 | ViewHolder(ItemUnitTypeBinding.inflate(activity.layoutInflater, parent, false))
28 |
29 | override fun onBindViewHolder(holder: ViewHolder, position: Int) {
30 | val item = items[position]
31 | holder.bindView(item, position)
32 | }
33 |
34 | override fun getItemCount() = items.size
35 |
36 | inner class ViewHolder(private val binding: ItemUnitTypeBinding) :
37 | RecyclerView.ViewHolder(binding.root) {
38 | fun bindView(item: Converter, id: Int): View {
39 | itemView.apply {
40 | binding.unitImage.setImageResource(item.imageResId)
41 | binding.unitLabel.setText(item.nameResId)
42 |
43 | val rippleBg = ResourcesCompat.getDrawable(
44 | resources, R.drawable.unit_type_background, context.theme
45 | ) as RippleDrawable
46 | val layerDrawable =
47 | rippleBg.findDrawableByLayerId(R.id.background_holder) as LayerDrawable
48 | layerDrawable.findDrawableByLayerId(R.id.background_stroke)
49 | .applyColorFilter(context.getStrokeColor())
50 | layerDrawable.findDrawableByLayerId(R.id.background_shape)
51 | .applyColorFilter(context.getProperBackgroundColor().darkenColor(2))
52 | binding.unitBackground.background = rippleBg
53 |
54 | binding.unitLabel.setTextColor(activity.getProperTextColor())
55 | binding.unitImage.applyColorFilter(activity.getProperPrimaryColor())
56 |
57 | setOnClickListener {
58 | itemClick(id)
59 | }
60 | }
61 |
62 | return itemView
63 | }
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/app/src/main/kotlin/org/fossify/math/helpers/converters/TimeConverter.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.math.helpers.converters
2 |
3 | import org.fossify.math.R
4 | import java.math.BigDecimal
5 |
6 | object TimeConverter : Converter {
7 | override val nameResId: Int = R.string.unit_time
8 | override val imageResId: Int = org.fossify.commons.R.drawable.ic_clock_vector
9 | override val key: String = "TimeConverter"
10 |
11 | sealed class Unit(nameResId: Int, symbolResId: Int, factor: BigDecimal, key: String) :
12 | Converter.Unit(nameResId, symbolResId, factor, key) {
13 | companion object {
14 | private val MINUTE = BigDecimal("60")
15 | private val HOUR = MINUTE.multiply(BigDecimal("60"))
16 | private val DAY = HOUR.multiply(BigDecimal("24"))
17 | private val GREGORIAN_YEAR = DAY.multiply(BigDecimal("365.2425"))
18 | }
19 |
20 | data object Hour : Unit(
21 | nameResId = R.string.unit_time_hour,
22 | symbolResId = R.string.unit_time_hour_symbol,
23 | factor = HOUR,
24 | key = "Hour"
25 | )
26 |
27 | data object Minute : Unit(
28 | nameResId = R.string.unit_time_minute,
29 | symbolResId = R.string.unit_time_minute_symbol,
30 | factor = MINUTE,
31 | key = "Minute"
32 | )
33 |
34 | data object Second : Unit(
35 | nameResId = R.string.unit_time_second,
36 | symbolResId = R.string.unit_time_second_symbol,
37 | factor = BigDecimal.ONE,
38 | key = "Second"
39 | )
40 |
41 | data object Millisecond : Unit(
42 | nameResId = R.string.unit_time_millisecond,
43 | symbolResId = R.string.unit_time_millisecond_symbol,
44 | factor = BigDecimal("0.001"),
45 | key = "Millisecond"
46 | )
47 |
48 | data object Day : Unit(
49 | nameResId = R.string.unit_time_day,
50 | symbolResId = R.string.unit_time_day_symbol,
51 | factor = DAY,
52 | key = "Day"
53 | )
54 |
55 | data object Week : Unit(
56 | nameResId = R.string.unit_time_week,
57 | symbolResId = R.string.unit_time_week_symbol,
58 | factor = BigDecimal("604800"),
59 | key = "Week"
60 | )
61 |
62 | data object Year : Unit(
63 | nameResId = R.string.unit_time_year,
64 | symbolResId = R.string.unit_time_year_symbol,
65 | factor = GREGORIAN_YEAR,
66 | key = "Year"
67 | )
68 | }
69 |
70 | override val units: List = listOf(
71 | Unit.Hour,
72 | Unit.Minute,
73 | Unit.Second,
74 | Unit.Millisecond,
75 | Unit.Day,
76 | Unit.Week,
77 | Unit.Year,
78 | )
79 |
80 | override val defaultTopUnit: Unit = Unit.Hour
81 | override val defaultBottomUnit: Unit = Unit.Second
82 | }
83 |
--------------------------------------------------------------------------------
/app/src/main/kotlin/org/fossify/math/helpers/converters/TemperatureConverter.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.math.helpers.converters
2 |
3 | import org.fossify.math.R
4 | import org.fossify.math.helpers.MATH_CONTEXT
5 | import java.math.BigDecimal
6 |
7 | object TemperatureConverter : Converter {
8 | override val nameResId: Int = R.string.unit_temperature
9 | override val imageResId: Int = R.drawable.ic_thermostat_vector
10 | override val key: String = "TemperatureConverter"
11 |
12 | sealed class Unit(nameResId: Int, symbolResId: Int, factor: BigDecimal, key: String) :
13 | Converter.Unit(nameResId, symbolResId, factor, key) {
14 |
15 | data object Celsius : Unit(
16 | nameResId = R.string.unit_temperature_celsius,
17 | symbolResId = R.string.unit_temperature_celsius_symbol,
18 | factor = BigDecimal.ONE,
19 | key = "Celsius"
20 | ) {
21 | private val KELVIN_OFFSET = BigDecimal("273.15")
22 |
23 | override fun toBase(value: BigDecimal): BigDecimal =
24 | value.add(KELVIN_OFFSET, MATH_CONTEXT)
25 |
26 | override fun fromBase(value: BigDecimal): BigDecimal =
27 | value.subtract(KELVIN_OFFSET, MATH_CONTEXT)
28 | }
29 |
30 | data object Fahrenheit : Unit(
31 | nameResId = R.string.unit_temperature_fahrenheit,
32 | symbolResId = R.string.unit_temperature_fahrenheit_symbol,
33 | factor = BigDecimal("9").divide(BigDecimal("5"), MATH_CONTEXT),
34 | key = "Fahrenheit"
35 | ) {
36 | private val CELSIUS_OFFSET = BigDecimal("32")
37 |
38 | override fun toBase(value: BigDecimal): BigDecimal =
39 | Celsius.toBase(
40 | value.subtract(CELSIUS_OFFSET, MATH_CONTEXT)
41 | .divide(factor, MATH_CONTEXT)
42 | )
43 |
44 | override fun fromBase(value: BigDecimal): BigDecimal =
45 | Celsius.fromBase(value)
46 | .multiply(factor, MATH_CONTEXT)
47 | .add(CELSIUS_OFFSET, MATH_CONTEXT)
48 | }
49 |
50 | data object Rankine : Unit(
51 | nameResId = R.string.unit_temperature_rankine,
52 | symbolResId = R.string.unit_temperature_rankine_symbol,
53 | factor = BigDecimal("5").divide(BigDecimal("9"), MATH_CONTEXT),
54 | key = "Rankine"
55 | )
56 |
57 | data object Kelvin : Unit(
58 | nameResId = R.string.unit_temperature_kelvin,
59 | symbolResId = R.string.unit_temperature_kelvin_symbol,
60 | factor = BigDecimal.ONE,
61 | key = "Kelvin"
62 | )
63 | }
64 |
65 | override val units: List = listOf(
66 | Unit.Celsius,
67 | Unit.Fahrenheit,
68 | Unit.Rankine,
69 | Unit.Kelvin,
70 | )
71 |
72 | override val defaultTopUnit: Unit = Unit.Celsius
73 | override val defaultBottomUnit: Unit = Unit.Kelvin
74 | }
75 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Fossify Calculator
2 |
3 |
4 |
5 |
6 |
7 | Introducing Fossify Calculator – your versatile and efficient tool for all your calculation needs. Enjoy a stylish, modern design paired with powerful
8 | functionality, perfect for both simple calculations and more complex tasks.
9 |
10 | **📶 OFFLINE FUNCTIONALITY:**
11 | Fossify Calculator operates entirely offline without needing internet permissions. Use it anytime, anywhere, and experience enhanced privacy, security, and
12 | stability.
13 |
14 | **🌐 MULTIPLE FUNCTIONS:**
15 | Whether you need to multiply, divide, or calculate roots and powers, Fossify Calculator has got you covered. It's perfect for everyday calculations and more
16 | specialized tasks like mortgage calculations.
17 |
18 | **📳 CUSTOMIZABLE SETTINGS:**
19 | Tailor your experience with customizable settings. Toggle vibrations on button presses, prevent your phone from sleeping while using the app, and adjust the
20 | interface to your liking.
21 |
22 | **🔒 PRIVACY AND SECURITY:**
23 | Your privacy is paramount. Fossify Calculator does not collect or share any user information with third parties. Use the app with peace of mind, knowing your
24 | data is secure.
25 |
26 | **📊 OPERATIONS HISTORY:**
27 | Access a history of your calculations for quick reference. Easily browse through recent operations to review or continue your work.
28 |
29 | **🎨 PERSONALIZED EXPERIENCE:**
30 | Personalize your calculator with customizable colors. Adjust text and background colors to match your style and preferences, creating a visually appealing and
31 | easy-to-use interface.
32 |
33 | **🌐 OPEN-SOURCE TRANSPARENCY:**
34 | Fossify Calculator is fully open-source, offering transparency and security. Access the source code for audits, ensuring a trustworthy and reliable tool.
35 |
36 | Experience a new level of efficiency and customization with Fossify Calculator. Download now and elevate your calculation experience.
37 |
38 | ➡️ Explore more Fossify apps: https://www.fossify.org
39 | ➡️ Open-Source Code: https://www.github.com/FossifyOrg
40 | ➡️ Join the community on Reddit: https://www.reddit.com/r/Fossify
41 | ➡️ Connect on Telegram: https://t.me/Fossify
42 |
43 |