This repository has been archived by the owner on Jul 12, 2024. It is now read-only.
Releases: nicoqueijo/Android-Currency-Converter-legacy
Releases · nicoqueijo/Android-Currency-Converter-legacy
v1.2
Changes from version 1.1:
- Introduced Dagger to manage dependencies.
- Added in-app purchase option allowing users remove ads using Google Play Billing library.
- In WatchlistFragment: switched from using a RecyclerView to using a DragLinearLayout.
- Using a RecyclerView to manipulate objects whose contents change dynamically upon user input was very problematic, caused many issues/bugs, and made the code very messy.
- RecyclerView is overkill for lists that will realistically be very small.
- Upgraded theme to MaterialComponents.
- Change scrolling library from MaterialScrollBar to RecyclerBubble.
- Added Spanish translation.
- Fix issues relating to input validation and formatting.
- Added intuitive transition animations for better UX.
- Removed the Fragment to see the source code as it's irrelevant/confusing to most users.
- Added a short app tutorial with TapTargetView so new users can discover hidden features.
v1.1
Changes from version 1.0:
- Refactored entire project from Java to Kotlin.
- Use of MVVM instead of god classes in Activities and Fragments.
- Migrated from Volley to Retrofit as it has a larger community and is more popular.
- Change the database schema
- Before: The selected currencies were kept in a separate table.
- Now: All currencies are kept in the same table. The selected currencies are the filtered currencies with the property of isSelected being ‘true’.
- Migrated from Gson to Moshi as it is more recommended by the Kotin Android community and integrates better with other Square libraries such as Retrofit.
- Introduced Coroutines for expensive tasks and database access calls.
- Changed the theme to an AMOLED black style to maximize battery saving.
- Using Jetpack’s Navigation component instead of maintaining a Fragment manager.
- Use of ConstraintLayout for views with complex nestation for more efficient view rendering.
- Use of DiffUtil for more efficient adapter changes instead of manual calls to the notify methods from the Adapter class.
- Remove interstitial ads to enhance user experience.
- Switched from presenting the conversions in an EditText using the system keyboard for input to using a TextView with a custom keyboard.
- Some things were very difficult, ugly, buggy, or downright impossible to do with the EditText + system keyboard. These include:
- Setting hint values dynamically in accordance to the focused EditText view.
- Formatting the contents of the EditText fields with a grouping separator.
- Validating the input.
- Some things were very difficult, ugly, buggy, or downright impossible to do with the EditText + system keyboard. These include:
v1.0
This is the first release of the app using Java. Future plans are to publish another release using Kotlin alongside Android architecture components.