![[DEV] Tasker 6.7.3-beta - Scenes V2 - Update 2! (and some other smaller goodies)](https://external-preview.redd.it/f_ayfBA_r0TDmEpdLooHBsP-QzRe8OUnHRyFBBF7Pjk.png?width=1080&crop=smart&auto=webp&s=4464b655af109fb5ebf9b0a045180719b061227e)
[DEV] Tasker 6.7.3-beta - Scenes V2 - Update 2! (and some other smaller goodies)
Here's another incremental update to Scenes V2!
Important Note: again. the underlying mechanisms to handle interactions changed a lot since the latest Google Play release, so your existing Scenes V2 interactions (button click actions, etc) might not work with this new update. Sorry for the inconvenience! Please go into your scenes and use the new Event Handlers to handle Scene interactions! Also, Result Binding is now gone. You should always use variables to get results from your Scenes V2.
Sign up for the beta and download from Google Play here.
Note: Google Play might take a while to update. If you don’t want to wait for the Google Play update, get it right away here. (Direct-Purchase Version here)
Demo Video: https://youtu.be/3mId6ekwGuI
Image Preview: https://imgur.com/CBwS3mb
Display Mode Changes
There used to be a Continue Task Immediately checkbox that implicitly allowed you to wait for results from the scene if not checked. This was a bit confusing and easy to miss, so now the display mode includes "With Result" variants, so users have to specifically select which mode they want.
Dream Mode
Example: Self updating Tasker Clock that updates every second
Also, there's now a Dream display mode that sets your Android screen saver to Tasker Scenes V2! You can now have a totally interactive and custom screen as your screensaver! :)
Interactive Editor Mode
With a simple switch you can now test your layout directly in the editor! You can toggle switches, set variables, test Show When conditions and everything else you might think of! I use this all the time myself now :)
New Components/Modifiers
- Flow Row/Column - Allow you to create dynamic rows/columns that automatically wrap depending on their contents
- Segmented Button Row - kinda like a modern take on radio buttons with Multi selection as an option
- Marquee - allows you to automatically scroll the component it's applied to if the space the to render it is not enough to show it all. It's not limited to text by the way :) You could add it to a row that has too many items to fit on the screen if you want to.
Event Handlers Revamp
You can now add multiple, ordered event actions to handle 1 or more events
For example, you could have a normal click AND a long click on the same button run the same actions.
You can add any number of actions to an event handler, in any order you want.
You can add these types of event actions:
- Set Variable: Assigns a value to a screen variable (supports %var interpolation, so you can mix in other variables or literals).
- Output to Variable: Takes the data an event produces (like the text from a text input or the new state of a switch) and saves it into one or more variables.
- Toggle Variable: Flips a boolean variable between true and false.
- Dismiss Layout: Closes the current screen and returns any output variables back to whoever opened it.
- Haptic Feedback: Vibrates the device with one of three intensities: light click, heavy click, or double tap.
- Run Component Action: Tells another component on the screen to do something (eg, toggle a switch/checkbox), with optional params.
Screen Events
The screen itself now also has events:
- Back Pressed: when you press the back button on your device. You can optionally cancel the button so you can handle it yourself
- Screen Shown: run something when the screen first shows up
- Screen Hidden: run something when the screen goes away
- Variable Changed: run something when ANY variable in the screen changes
With these events I was able to create the Clock Screensaver example above, making it start updating when the screen shows up and stop updating when the screen goes away.
Adding/Editing Tasks From Editor
People were upset that Scenes V2 couldn't have embedded Tasks. I think it's bad practice to put tasks in random places like that.
I brought those 2 ideas together and what you can do now is simply create or edit a task right from the editor. After you edit it, you go back to editing the layout and the task ends up in the same project as the scene you're editing.
Best of both worlds. 😁
Easy Swipe Handling
You now have the %sv2_swipe_length and %sv2_swipe_direction variables when a screen handles swipes so you can easily decide what to do with a swipe.
Out Of Memory Errors Handled
Not related to Scenes V2: Tasker now handles your memory better and should produce much less Out Of Memory errors than before. Let me know if you're still getting them nonetheless!
Full Changelog
- Major Scenes V2: Show Scene V2 now has 7 display modes so it's clearer what each does and users don't get confused with hidden checkbox to continue task immediately. Back compat note: all existing Show Scene V2 actions will now NOT wait for the result. You have to change each one to add the With Result part.
- Major Scenes V2: Added Interactive Mode option that allows you to interact with the preview directly, just like it was running on a real screen
- Major Scenes V2: Added Segmented Button and Segmented Button Item components
- Major Scenes V2: Added Screen Event Handling, allowing you to handle Back Pressed (and optionally cancel it), Screen Shown, Screen Hidden and Variable Changed events
- Major Scenes V2: Added new Transitions tab, so you can animate your components when they appear/disappear
- Major Scenes V2: added new Flow Row and Flow Column components
- Major Scenes V2: added new Display Mode Dream
- Major Scenes V2: added support for Scene V2 event monitoring in Java Code action
- Major Scenes V2: editor: Allow adding/editing selected task right from the editor
- Major Scenes V2: editor: changed the way Event Handlers work: now you have a list of event actions that can be bound to any event, and you can order them however you like. This allows for much more flexible event handling, like having multiple actions for the same event and ordering them in a specific way.
- Major Scenes V2: editor: the Result Binding concept is now removed. All values in a scene are now variable based, set in states, event handlers, etc. eg, if you want a button to return a value, simply use the Set Variable action in the button's event handler to set a variable to the desired value when the button is clicked.
- Major Scenes V2: added Marquee modifier that can be applied to any component for a scrolling ticker effect with configurable iterations, velocity, and spacing
- Medium Scenes V2: add %sv2_swipe_length and %sv2_swipe_direction to Scene V2 action outputs
- Medium Scenes V2: added option Show When Mode: allows a component to just be invisible or fully gone from a layout
- Minor Scenes V2: Icon Button now supports any image source (URLs, SVGs, base64) in addition to Material icons, with a content scale option
- Minor Scenes V2: Navigation Bar now fully controls the Navigation Items within, including the selected item.
- Minor Scenes V2: Removed %sv2_element_value() variable and made %sv2_element_id a single value (the id of the element that made the layout dismiss) from Scene V2 outputs
- Minor Scenes V2: add new Unfocus action to Text Input component
- Minor Scenes V2: add option to prevent propagation of click events
- Minor Scenes V2: added 6 color customization properties to Navigation Item (selected/unselected for icon, label, and indicator colors)
- Minor Scenes V2: added Key Pressed event to Text Input with configurable key filter and option to consume the key press
- Minor Scenes V2: added style variants (Outlined, Filled, Plain) and granular color overrides (border, label, placeholder, background, cursor, shape) to Text Input component
- Minor Scenes V2: allow defining the duration of the long click event
- Minor Scenes V2: allow scenes to set Profile/Project/Task variables
- Minor Scenes V2: editor: Certain components can now only be added inside specific parent components (eg, Segment can only be added inside Segmented Button Row, Navigation Item can only be added inside Navigation Bar) to avoid confusion and make it more intuitive to build scenes
- Minor Scenes V2: editor: Drag To Move can now be set with a variable
- Minor Scenes V2: editor: Size Modifier now has a Uniform option to allow editing width and height simultaneously
- Minor Scenes V2: editor: added Delete Component button to drag bar
- Minor Scenes V2: editor: added cut/copy/paste buttons in the JSON tab
- Minor Scenes V2: editor: added option to toggle test variables on and off
- Minor Scenes V2: editor: allow picking image files directly from your file system
- Minor Scenes V2: editor: move ident and move up and down buttons to the left of the component name and icon so they don't get obstructed by the FAB
- Minor Scenes V2: editor: states only allow binding to 1 variable instead of multiple
- Minor Scenes V2: editor: when a Spacer is added, give it a 16x16 Size modifier by default
- Minor Scenes V2: editor: when deleting an item, automatically select a nearby component
- Minor Scenes V2: if you use an inline Screen in the Show Scene V2 action and don't specify a screen id, the screen's name will be automatically used as the id
- Minor Scenes V2: remove automatic padding from checkboxes and switches
- Fix Scenes V2: Fix long-click root to dismiss option
- Fix Scenes V2: Fixed changing type of component with the Update Scene V2 action
- Fix Scenes V2: Fixed clicks on Card components
- Fix Scenes V2: Fixed some release build related issues
- Fix Scenes V2: Fixed updating array variables in some situations
- Fix Scenes V2: TextInput now correctly handles Key Press event Stop Propagation
- Fix Scenes V2: editor: Deleting, Undo, Redo now affect JSON in JSON tab if it's showing
- Fix Scenes V2: editor: fix color of undo/redo buttons
- Fix Scenes V2: editor: fixed red-eye visibility icon in the tree in certain situations.
- Fix Scenes V2: editor: fixed Variable Component adding an extra % when selecting a variable
- Fix Scenes V2: editor: fixed initializing the editor when certain JSON was pre-filled in
- Fix Scenes V2: editor: fixed showing an empty tree when in the States tab and then selecting a component without states
- Fix Scenes V2: editor: made Add as... Mini FABs look better
- Fix Scenes V2: editor: show nice labels for output variables, instead of internal field names
- Fix Scenes V2: fix issue of pressing back not removing the screen from the recents menu in Android
- Fix Scenes V2: fixed editing a non-inline Scene from the Show Scene V2 action
- Fix Scenes V2: fixed issue where Global Variables used in a scene would only update automatically in the scene if you saved your setup prior to showing the scene
- Fix Scenes V2: fixed not being able to update elements values by their property name
- Fix Scenes V2: fixed passing variables passed by a task and not modified in the scene to called tasks
- Fix Scenes V2: fixed some variables not syncing correctly while in editor mode
- Fix Scenes V2: fixed state and event variables being shown correctly when editing Show Scene V2 action.
- Fix Scenes V2: fixed updating a variable to empty and it correctly clearing a variable component
- Fix Scenes V2: optimize the writing of Scene V2 variables so it's faster in some cases
- Added integration with System language picker available in Android 13+
- Added action running time to the Running Tasks screen and made it update every second
- Added Get Cell Info option in the Get Network Info action
- Added option to send memory report in Tasker > Menu > Monitoring
- Automatically show error message on screen when manually testing the Run Shell action in a task
- Added isAccessibilityTool flag to direct purchase version of Tasker, so users can use Tasker's accessibility service with Advanced Protection Mode in Android 17
- Added Dutch language
- Added option to VPN Connected State to check on screen on. If disabled, avoids using the location permission every time screen turns on
- Fixed several memory leaks
- Fixed thread leak in Java Code
- Tried to fix a crash that happens when multiple dialog actions run in a quick succession and made consecutive dialogs faster
- Fix Custom Function helper in Device Admin/Owner action
- Fix Tasker dialog actions disappearing when Keyboard is used
- Fixed Widget V2 editor not showing the preview
- Fixed bug that was changing the format of %DATE when updating to the beta (for those that previously updated, they have to change the language in Android Settings > Apps > Tasker)
- Fixed crash that sometimes happens when importing
- Fixed crash when using dialogs in some situations
- Fixed various crashes
- Fixed permission requesting for Shizuku in some situations
- Fixed situation when 2 calendar states listen for the same event with different start early/end late values
- Made some crashes provoked by the system that Tasker can't handle silently not crash Tasker in the background and just continue as normal
- Sunrise/Sunset fixed some situations related to time zone changes
- Tried fixing an issue with Logcat Monitoring.
- Updated translations
- Attempt to fix Clipboard Changed event not working in some situations
- Attempt to fix Widget V2 preview in editor not rendering
- Attempt to fix crash in Scenes V1 that would happen in very specific situations
- Attempt to fix language changing related crashes
- Attempt to fix out of memory errors when saving the Tasker setup (added logs to monitor the situation in the future)
- Attempted to fix Chinese Translations
- Attempted to fix issue with date time formatting in RTL devices
As always, enjoy! 😎