Skip to content

Releases: renyuneyun/Easer

v0.5.4 -- Restore definition && Add event for TCP packet trip

30 Jan 01:29
Compare
Choose a tag to compare

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
  • 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

29 Jan 23:22
Compare
Choose a tag to compare

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

23 Jan 23:00
Compare
Choose a tag to compare

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
  • Fix incorrect convertion of data formats
    • Inline Scenarios should be kept when editing an EventStructure

These are discoverd from #56. Thanks @craftyguy :)

v0.5.3 -- Scenario

22 Jan 23:30
Compare
Choose a tag to compare

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 of EventData and allow EventStructure 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

12 Jan 00:15
Compare
Choose a tag to compare

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

v0.5.1

29 Dec 22:48
Compare
Choose a tag to compare

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 of StorageData (and subclasses)
  • Generify PluginDef, PluginViewFragment, DataFactory (and subclasses) to use their related StorageData 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

29 Dec 19:28
Compare
Choose a tag to compare

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

29 Dec 19:16
Compare
Choose a tag to compare

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 and SendNotificationOperationPlugin 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 as infinity for OperationPlugin.maxExistence()
  • (dev) Remove the ordering of plugins from PluginRegistry (moved that to where it is needed)

v0.4.8

29 Dec 19:14
Compare
Choose a tag to compare

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 to Set in CalendarEventData (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 in ryey.easer.plugins.operation.brightness.DumbSettingBrightnessActivity static
      • Add some finals
      • Use StringBuilder in some places (instead of raw String 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

v0.4.7

29 Dec 19:26
Compare
Choose a tag to compare

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