Releases: devycarol/Emilla
Alpha 1.9
Changes since Alpha 1.8
Features
- A play/pause music quick-action button is now available!
- All commands can now be disabled in the settings, including apps.
- Commands are now somewhat aware of whether they are possible considering device features and installed apps. They'll disable themselves if they're impossible.
- In the future, this will be done more helpfully with explanations of why the command is impossible and offerings to search the app store for apps that make it possible.
- The commands setting screen now procedurally generates app preferences, allowing all apps to be aliased and toggled on an individual basis.
- Consequentially, the "custom commands" dialog as it was implemented is no longer useful. It's disabled for now, a more thorough custom commands system will be implemented in the future (beta milestone).
Commands
Added:
- Play: simulates a 'play' media key press for playing music
- Pause: simulates a 'pause' button press
Improved:
- Calculate and Bits: the unary positive sign (e.g. "+1") is now handled properly. It has no effect.
Fixes
- Fixed broken 'Assistant' launcher shortcut.
- The base 'launch' command now properly shows app names in its dialog.
- Fixed the 'notify' command's outdated instruction description.
- The % operator can be applied to parenthetical expressions in the 'calculate' command e.g. "(12+15)%100"
Removals
- The 'view'/'bookmark' command has been superseded by web bookmarks, so it's been removed.
Alpha 1.8
Changes since Alpha 1.6
Features
- You can now add search engines to the Web command in settings with a tacky CSV syntax. The UI for this will improve in a future release.
- If the entry's URL has a '%s' placeholder, the assistant will treat as a search engine that accepts suffixed input—similar to any old command. Otherwise it'll be treated as a bookmark—only an exact case-insensitive match will open the bookmark.
- A rudimentary system for custom commands has been implemented, also based on CSV. It's in the 'commands' sub-screen.
- Added an "action box" system! Now some commands make use of that empty space above the input fields to offer things like lists, etc.
- Contact search! The Call, Text, Contact, and Email commands now show a helpful list of contacts which you can search through with the instruction. Multi-selection is allowed when applicable, and you can select someone immediately by double-tapping their entry or searching specifically enough that they're the only contact in the list.
Commands
Added:
- Snippets! keeps a 'drawer' of named snippets of text. Now you can easily note and recall the date of that concert or that person's name ;)
- Tasker! You can trigger Tasker tasks by name. This unlocks a whole lot of potential, you can now program pretty much any command yourself if you're willing to deal with the somewhat cumbersome syntake (which will improve in the future ;)
- You can also pass parameters along with the data field.
- Roll! You can now roll virtual dice using dice notation e.g. "Roll 2d8". The base command is a simple coin-flip :)
- Random number! Spits out a random number between 1 and whatever you give it.
- Bits! This is like 'calculate' except it can perform bitwise integer arithmetic. This is mainly useful for the computer scientists out there ;)
- Notify! Posts a notification with the given title and text. You'll be able to schedule these in the future.
Improved:
- Pomodoro: now implemented using notification pings instead of timers.
- Calculate: more accurate, natural-language syntax like "3 plus 3" is no longer supported for now. A postfix "%" operator is now supported—it converts the number to the decimal representation of the percentage. This lets you do calculations like "12 % 100", which computes twelve percent of a hundred (12..)
- Contacts: now has a 'send' subcommand which allows you to send someone's contact card to any app that will handle it.
Changes
- The 'call' command no longer chimes upon submission, since it tended to be cut off by the initiation of the phone call.
- Revised permission requests to perform actions more immediately upon granting.
- The generic contact selection dialogs are now more specifically tuned to the type of contact info that is needed (card, phone number, email, ..)
- Phone-word dialing in the 'call' command now has a confirmation dialog to guard against typos. The 'message' command now also supports this feature.
- Contact search is no longer delegated to an external app. If you use AOSP contacts or any other app that supports it, this functionality can be attained with its app-command.
- Replaced most of the fleeting 'toast' messages with more-helpful message dialogs, which you can dismiss whenever you want ;)
Fixes
- Added a temporary patch to prevent the corner-swipe gesture from flagrantly triggering the double-assist action for some reason.
- Fixed a crash when necessary 'retriever' apps such as contact or file pickers don't have an app on the system that fills that role.
- Fixed the "unknown error bug report" dialog disabling the UI.
- Fixed the assistant prematurely closing when a "no such app" error occurs.
- Fixed the "contact edit" command failing when not given input.
- The basic 'nav' command ("open your maps app") is now a bit more reliable at detecting various navigation apps. A more foolproof way of detecting these sorts of things will be necessary in the future.
- Subcommands are no longer case-sensitive.
- Fixed erroneous 'resume' chime when retrieving a contact triggers an immediate action.
- Fixed the 'back' button wrongly triggering 'cancel' actions in the assistant when you cancel your press by dragging away.
Removals
- Disabled the 'settings' command until it can be made more useful—all it did was open the settings app, which can already be done easily assuming your device has an app called 'Settings'.
- The "run in background" setting has been removed until I'm more confident about what I'm doing. This probably means slower start times for now if you're not using the accessibility button service :(.
Under the hood
- A lot of structural improvements that continue to make development much easier.
- Some utility classes are now written Kotlin. Java's still my bread and butter, but I understand Kotlin is what Google would prefer us to move towards 😅
Alpha 1.6
Changes since Alpha 1.4
The app now targets Android 15!
UI changes
- The assistant box now floats a bit in the UI.
- The data field is now positioned above the command box. In addition to this, it's hideable and hidden by default. You can disable this behavior in settings.
- Finally updated the pop-up dialog style from the ancient Holo colorway to a more modern theme, without sacrificing those usable touch targets.
- The submit button now displays app icons for app commands!
- Replaced the copious "details" textbox with a command manual. You can invoke a 'help' action when using the assistant to view what a command does and how to use it.
Features
- An action button system has been implemented! Two have been added so far:
- Help: view manual pages for each command.
- Cursor start: move the typing caret to the start of the edit box (this is useful for changing which command you're using).
- Commands can provide action buttons when loaded, offering more functionality. These include:
- File attachments! Commands like Email and Share now let you attach files and send them places. The UI for this will improve in the future. For now, you can remove attachments by opening the file picker and selecting the attached files a second time.
- Field toggles! Additional details in commands like the calendar now have breathing room. Instead of needing to remember to type "/loc" for a location and such, there's an action button to show or hide a location field. More commands will get this in the future.
- The SMS command has a subject field, but I've not gotten it to actually work yet.
- These go hand-in-hand with the quick action system, so adding more of those will be a breeze moving forward. The help action is now available for the no-command, double-assist, and long-press-submit actions and is the default menu key action.
- Replaced error toasts with a more courteous dialog.
- If an unexpected error occurs, the unhelpful "unknown error" message has been replaced with a dialog that lets you instantly compose an email with a bug report for the error.
- That said, "bugs@emilla.net" is not a real email address. I'll have to open an actual email account for Emilla development. In the meantime, you can copy the message body into a GitHub issue if you ever encounter it 🙃
- If an unexpected error occurs, the unhelpful "unknown error" message has been replaced with a dialog that lets you instantly compose an email with a bug report for the error.
Commands
- Added:
- Navigate - sends a search to your maps app.
- Torch - toggles the flashlight.
- Copy - copies text to the clipboard.
- Improved:
- Call - now offers a contact picker when run without input.
- Bookmark - renamed from "view"
- Time - renamed from "clock"
- Also added app-command entry for Outlook mail..
Fixes
- Pressing the soft keyboard enter key in the command field always moves the caret to the data field when it's available, instead of accidentally submitting the command in certain circumstances. The command is still submitted when the data field isn't used by the command.
Lots of under-the-hood restructuring since Alpha 1.4 will make development much easier moving forward. Unfortunately, I needed to raise the minimum Android version from 4.4 KitKat to 5.0 Lollipop.
Alpha 1.4
Changes since Alpha 1.2.1
New settings:
- Configurable default command
New commands:
- App info
- App uninstaller
New app-commands:
- AOSP contacts app (com.android.contacts)
- Tor Browser
- GitHub
- YouTube
Improvements:
- Slightly faster startup
- Simplified the accessibility button service
- Revisions to the interface and theming, including fixed broken light mode
Alpha 1.2.1
Changes since Alpha 1.2:
- Removed permission declarations that aren't being used yet
- "Manage all files" hopefully won't need to be used to begin with, but I won't sacrifice functionality in order to avoid this.
- Added a weather command
- Some weather apps aren't supported yet since they don't properly declare themselves as the "Weather" app category
- This command doesn't support Android <13 yet either, due to that category not existing in before that API level
Alpha 1.2
Changes since Alpha 1.1:
- Removed content that wasn't mine, replacing it with the ability to load your own sounds via the system notification sound selection.
- With that out of the way, source is now available!
- Added a sound set that mimics ye olde voice dialer.
Alpha 1.1
Changes since Alpha 1.0:
- Replaced permissions error message with a help dialog
- App commands for Firefox and Markor
- App commands now auto-detect "send" capability (this is probably bugged for multi-word app labels.)
- Command aliases are configurable now—just some clunky CSV for now
- Rename the 'play' command to 'view' and reorganize the command settings page a bit. 'Play' will hopefully be reintroduced later for music.
Source is still not public because I need to replace copyrighted sounds with the ability to load your own. For the same reason, these past versions will not be available for download after subsequent releases until I implement this. Rest assured, it is a priority.
First alpha!
The first alpha release of the Emilla assistant for Android!
App versions prior to Alpha 1.2 are not available for download.