Releases: memostark/Speakable
Releases · memostark/Speakable
v1.16.1
Bug fixes
Overlay
- Fixed a crash when using the screen recorder to extract text in Android 14. It's now required to always ask for permission when taking a screenshot for devices running Android 14 onwards.
- For the debug app, fixed a crash when a leak was detected using the overlay.
v1.16.0
What's new
Text Info Dialog
- The sentence dialog has been completely redesigned using Jetpack Compose while keeping the same capabilities, making the UI fit better the content to display and adding new features:
- Tapping a word of the original text shows a bar that contains its translation, it also has buttons to save this word (using a new dialog made in Compose that allows to save or edit/delete the word) and show more information (using the external links database)
- Tapping a translated sentence highlights the original sentence (same behavior as the text visualizer)
- Can have both a word and sentence highlighted at the same time.
- The word layout now uses the new Compose dialog that can save/edit/delete a word, this allowed to combine the edit button and bookmark button into one.
Bug Fixes
Text Info Dialog
- Fixed inconsistent size of the small dialog because it was using pixels instead of dp.
Web Reader
- Fixed the text handles showing over the bottom sheet with the WebView. The context menu is now closed when the text gets translated.
- The language spinner now uses a LazyColumn which provides better performance because it doesn't load all the items at once.
New tech
- Bumped target SDK to 34.
- Upgrade Kotlin to 1.9.23.
- Upgraded to Android Gradle Plugin to 8.3.2.
- Other updated dependencies: Google services, Dagger/Hilt, AndroidX Navigation, Crashlytics, Room.
- Enabled KSP, initial usage was for Room.
Misc
- The .idea folder is now in .gitignore
- Updated the app name to just "Speakable" without the "(Text to Speech)" part. The option in the context menu was changed from TTS to Speakable.
v1.15.2
Bug fixes
Overlay
- The initial snip area is now correct for API 33 (Android 13) devices.
- Fixed the selected area was wrong for devices with a cutout.
- Fixed touch events not responding when the overlay was visible in devices with API 30 (Android 11).
- Fixed loading icon displaying forever if no OCR is found in the device.
- Replaced toasts with snackbars to show errors.
- Fixed misalignments with the bubble.
- The translation pop window now uses the light/dark set theme.
- Fixed the bubble getting stuck in the nav bar area.
- The foreground notification is now shown for Android 13+
Text Visualizer
- Fixed not being able to import files in Android 13
- Fixed not being able to open epub files in Lollipop (API 21 and 22)
- Fixed page not covering the whole space in full-screen mode for devices with a virtual nav bar.
- The page now has the correct size for devices with a cutout.
- The page doesn't overlap control/labels while in non full-screen mode.
- The status bar is now transparent for APIs 23+, same for the nav bar for APIs 27+.
- Fixed text getting cut off for certain screen densities and newer versions of Android.
- Fixed the theme not applying correctly for the settings window and info dialog, also improved the color contrast.
- By default, the visualizer theme is now the app's theme, it still can be changed to a different theme.
Misc
Text Info Dialog
- Enabled showing this dialog using the clipboard for Marshmallow and lower because the context menu is not available.
v1.15.1
Bug fixes
Web Reader
- Fixed layout errors in the translation bottom sheet.
- Fixed translation sheet blocking the text at the bottom.
- Fixed a case where the note text had an offset.
- Fixed several issues related to saving/deleting notes:
- The button for editing notes wasn't working and sometimes it had an incorrect icon
- The more information button now shows a message if no default language is selected (before it did nothing).
- Notes sometimes were not deleted
- The button for creating a note was incorrectly shown when the page wasn't saved.
- The delete button is no longer shown in the edit note dialog if the note is new.
Text Info Dialog
- Custom tabs is now the default way to view web links because it's more stable and faster than using a regular browser.
- Fixed dialog not showing when granting overlay permission for the first time.
v1.15.0
What's new
Web Reader
- Can save pages to local storage
- Added the ability to add notes to the text of saved pages.
- Changed gestures for interacting with the text:
- Long-press to select text
- Tap to translate a word
- Double-tap to select a sentence
- Horizontal swipe to expand the paragraph
- Can save the note of a word within a selected sentence
Bug fixes
Text Visualizer
- Fixed the thumbnails not showing in the recent files list the first time a book is imported.
Web Reader
- Fixed the text flickering when doing gestures to the text (e.g. tapping a word, sentence navigation, etc.).
- Fixed cutoff translation text in the bottom sheet.
Overlay
- Removed clipboard mode, the newer Android versions (sdk > 28) don't allow apps to interact with the clipboard if the app is not visible
- Fixed nothing happening when the user clicks the TTS toolbar button and they don't have the required permission. The app now asks for permission.
Text Info dialog
- Play button is shown red if the language is not available
- The sentence dialog now has a max lines limit. It's also now scrollable.
New tech
- Upgraded to Android Gradle Plugin 8.1.1.
Misc
- Added full unit test coverage for ViewModels/Presenters
v1.14.0
What's new
Web Reader
- New layout for the web reader.
- Can select paragraphs and translate them.
- Can highlight and translate sentences
- Added a bottom panel that has
WebView
that loads the link of the selected word, it has a list with other links to load. - New bottom sheet with translation of a highlighted sentence and/or translation of a word.
- Added a bottom bar to the web reader, it has a sentence navigator and a spinner that lets the user indicate the language of the text.
- Added cache for the translations
Saved Words
- Improved layout in the saved words fragment
- Can search in the saved words.
Overlay
- Overlay layout now shows errors using a Snackbar instead of a Toast.
- Improved the popup translation layout (made it bigger and the text is scrollable)
- Shows the full names of the languages instead of the ISO in the popup translation
- Shows the detected language in the icon container instead of using a Toast.
Others
- New dialog that shows the app version in the main activity.
- Bumped
targetSDKversion
to 33 - New list showing the most recent links opened using the web reader.
- Added a suggestion list in the save word dialog when entering the language.
- Can move the app to the SD card
Bug fixes
Text Visualizer
- Fixed text having different proportions between default and full-screen modes.
- Fixed crash when touching a blank space.
- Fixed crash when pinching the visualizer
- Fixed highlights not being removed when sliding pages
- The shown page is now more accurate when rotating the visualizer
Text Info dialog
- Fixed crash when closing the dialog while the initial data was still loading.
- Fixed the dialog crashing when selecting text with white space at the end.
- Fixed crash when showing only the translation of a single word (no dictionary data).
Web Reader
- Fixed "obj" boxes showing
- Fixed the start index of a selected word being off by one.
Overlay
- Fixed layout leaking when using the overlay mode.
- Fixed ClipboardManager leaking.
- Fixed launching activities directly from the screen text service (it's recommended to use a pending intent and notification).
- Fixed overlay getting the wrong text for devices with a virtual navigation bar.
Others
- Fixed the bookmark button not working properly at all.
- Fixed crash when starting action mode in saved words.
- Fixed poor contrast in the recent files FABs in light mode
New tech
- Added
ExecutorService
for classes that use interactors with Java - Added
Moshi
for JSON parsing - Enabled Java 11.
- Added
Timber
for logging - Enabled
Jetpack Compose UI
, from now on all new layouts will be done using it. - Updated to Kotlin 1.8.0
v1.13.0
What's new
- New reader for web articles
- Can pinch to toggle text visualizer full-screen mode.
- Language picker on the main screen shows the full name of the languages
Bug fixes
- Fixed crash when starting overlay mode
- Text visualizer doesn't open the info dialog when scrolling and it's smoother
- Info dialog opens with the correct width
- Fixed last page didn't correctly save
New tech
- Updated to the new firebase SDK for the text recognizer
v1.12.0
What's new
- Brand new layout with bottom navigation with tabs
- New layout for Import Text tab
- Can delete items from the recent files list
- State of each screen is kept when changing screen using the bottom navigation
Bug fixes
- Fixed svg and img tags not displaying images in the text visualizer
- Fixed saving empty item in the recent files list
- Fixed toast messages showing 2 times
New tech
- Using Jetpack Navigation Component
- Implemented new Hilt library for dependency injection
- Added Flow API
v1.11.0
- Improved loading time of epub files
- New feature: Added slider to text visualizer, navigating through the chapter is now faster and easier.
- New feature: Added split mode, it allows you to split a page in two in the text visualizer. The split page has a top half with the original text and a bottom half with translation. The bottom half implements a Material Bottom Sheet which can be collapsed.
- Fixed bugs and crashes when rotating screen.
v1.10.0
- Text dialog can now be dragged and dismissed with a swipe
- Text dialog shown inside the file/epub reader has now the same color theme as the reader
- Recent files list shows a progress bar for each file
- Fixed several memory leaks
- Fixed several layout issues