Releases: renyuneyun/Easer
Releases · renyuneyun/Easer
v0.5.4 -- Restore definition && Add event for TCP packet trip
Restore the old definitions for inline Scenarios && Add TcpTripEventPlugin
&& Various changes
- Restore the old definitions of "repeatable" and "persistent" when using inline Scenarios
- They were overridden previously when introducing Scenario
- The ability to do advanced customization (e.g. "repeatable" and "persistent") is now only available to explicit Scenarios
- Add
TcpTripEventPlugin
to perform TCP communication and check its success and reply data- When not checking reply data, if the packet is successfully sent, it is considered as "true"
- When checking reply data, only when the actual reply data "startswith" the designated data, it is considered as "true"
- Make some methods in
AbstractSlot
(e.g.listen()
) run in separate threads- This shall make
EHService
run slightly faster - Does not affect the implementation of subclasses of
AbstractSlot
- This shall make
- Remove useless section in the data of Events with inline Scenario
- Developer changes
- See git's log
v0.5.3.2 -- Non-crucial bug fixes
Non-crucial bug fixes
- Fix "import" using wrong MIME type
- This bug caused the default file picker not able to pick the backup file
- Fix wrong check when deleting a Scenario
- Prevents an "in-use" Scenario from being deleted
v0.5.3.1 -- Patched v0.5.3
Use this version instead of v0.5.3 if you are intended to use the features introduced in v0.5.3 of Easer.
Various fixes to v0.5.3
- Fix "import" not working correctly
- due to the wrong handling of directory entry in zip)
- Fix crash when trying to open an existing Profile
- due to the wrong design of
DelayedJob
- due to the wrong design of
- Fix incorrect convertion of data formats
- Inline
Scenario
s should be kept when editing anEventStructure
- Inline
These are discoverd from #56. Thanks @craftyguy :)
v0.5.3 -- Scenario
v0.5.3.1 is the patched version of v0.5.3. It's extremely recommended to use v0.5.3.1 instead of v0.5.3.
Do not use the "convert" function in this version or your data will be corrupted.
Add Scenario
to allow reuse of event data && Add more configurations to events && Fix import not working correctly && Code refactor
- Add
Scenario
as an abstraction ofEventData
and allowEventStructure
to link to it - Add reverse to directly reverse the Scenario
- Add repeatable, persistent as more granulated configuration to events
- Fix importing not working correctly due to filesystem handling
- Code factor
- Extract more abstract classes and generics
v0.5.2
Add "cool down" (seconds) && Allow to match BSSID for WiFi Event && Check permissions before enabling plugins && fixes & improvements
- Add "cool down" time (in seconds) for the re-activation of the same event
WifiEventPlugin
can now handle BSSIDs- If you need to match BSSID and ESSID, you will need two chained events
- Check (and require) permissions before enabling plugins in Settings
- Fix
NfcEventPlugin
(which wasn't really working previously) - Code improvements
- See 00fa3a6
v0.5.1
Change a bit of plugins' definition (mainly generify and remove unneeded methods) && Add HeadsetEventPlugin
&& Code clean up
- Add
DataFactory
(and subclasses) to be used as a wrapper ofStorageData
(and subclasses) - Generify
PluginDef
,PluginViewFragment
,DataFactory
(and subclasses) to use their relatedStorageData
as the type parameter (so that there is no need to do lots of manual type casting and checking)- Fix classes using them to satisfy generics
- Add
HeadsetEventPlugin
to listen to headset plug in and plug out - Remove redundant wrapper (
OperationLoader.load()
) - Add
ValidData
annotation to describe that the data is "valid"
v0.5
Add Timer and NFC Event & Set alarm Operation && Fix leaked BroadcastListener && Fix "unsatisfied" not triggered && Better UI for settings page
- Add
TimerEventPlugin
to set a timer which allows delaying for a few time - Add
NfcTagEventPlugin
to listen to NFC tag being scanned - Add
AlarmOperationPlugin
to set alarm - Fix leaked BroadcastListener in two classes (should benefit battery consumption)
- Fix "unsatisfied" not trigger (fix part of the desired function)
- Better UI for settings page
- Add spaces between each categories
- Fix translation
- Add "back" to the UI
- Fix title for "settings" and "about"
v0.4.9
Add Event for listening to notifications and Operation for sending notifications && Add a setting entry for enabling / disabling plugins && Add compatibility checking for plugins && Inform future changes && Bug fixes
- Add
NotificationEventPlugin
to listen to notifications andSendNotificationOperationPlugin
to post notifications - Add a setting entry to enable or disable plugins
- Add
PluginDef.isCompatible()
to check for the compatibility of plugins before using them - Add a prompt screen to inform the user about possible future changes and actions to take
- Currently, v0.5 (or later) will drop the support for old data formats, so users should convert the old formats to new formats (by using the conversion provided in the setting screen).
- (Lollipop+ / SDK 21+) Fix the function of
RingerModeOperationPlugin
to set to silent mode - Fix the problem of re-requesting permissions
- (dev) Explicitly fix
0
asinfinity
forOperationPlugin.maxExistence()
- (dev) Remove the ordering of plugins from
PluginRegistry
(moved that to where it is needed)
v0.4.8
Run multiple commands in one process && multiple developer changes
CommandOperationPlugin
now runs multiple commands in one process, which allows inputting data into an interactive shell- Developer changes
- Make
StorageData
Parcelable
- Implement that in all subclasses
- Add tests for them
- Change
Map
toSet
inCalendarEventData
(for the condition) (as well as in the test) - Add many nullality annotations to plugins (including data and views)
- Use exception instead of
null
for data retrival (this seems to be more natural in Java) - Resolve some lint warnings
- Make the
Handler
inryey.easer.plugins.operation.brightness.DumbSettingBrightnessActivity
static
- Add some
final
s - Use
StringBuilder
in some places (instead of rawString
manipulation) - Fix a few javaDoc
- Use explicit locales
- Use new API instead of old API (
Fragment.onAttach()
) - Remove casts of
findViewById()
(because from API 26 that cast is no longer required) - Better access modifiers
- Minor fixes and clean-ups
- Make the
- Make
v0.4.7
Require permissions during runtime && fix several bugs
- Add permission checking and requesting codes for each plugin
- When loading the plugin's view, its permission is checked and requested (if necessary)
- Request root permission when enabling "root features"
- Fix incorrect root usages for
{AirplaneMode,Cellular,Command}Operationplugin
- Fix "root preference" of
CommandOperationPlugin