Download Appteka (works without ads)

Appteka is a community-driven, free Android apps market

Easer (beta)

Easer (beta)

66 downloads

Uploaded by
Anonymous
Version
0.8.3-beta2 (build 129002) 
Size
3.9 MiB
Publish Date
2023-01-31
Category
Tools
Package
ryey.easer.beta
Minimum OS
Android 4.1
SHA1
d11451d1b010df76d740f9993fd4c88e52d2100c
Description
Note: Due to time constraints in the near future (from the second half of 2020), the speed of Easer maintenance will be affected. However, since the main framework of the program has been stabilized, the core structure of Easer should not be significantly modified, except for the addition of support for remote plugins for Event and Condition (and the long-term plan for multi-machine automation interconnection) (although some modifications will still be required for extensions). For those interested, see the relevant sections below to understand how to add the features you need to Easer, or how to locate bugs. The author will take as much time as possible to look at the PR and then release a beta version for testing before releasing the official version. Introduction Easer is a software that makes smartphones smarter and more automated, telling them what to do in what situation. easer can not only handle events, but also check the status, and can combine events to form complex custom events. To see a complete description of Easer's functions, please refer to the website. This article describes the development of Easer. Extending Easer Adding functionality to Easer falls into three main categories: Mechanisms, Skills, and Remote Skills (plug-ins). Mechanisms are the core of Easer and require a good understanding of the Easer code; optimization of existing code is also welcome (but not over-optimization). For most cases, all that needs to be done is to add new Events, Conditions and Operations, which is achieved by adding new skills or remote skills (plug-ins). Skills Adding a skill plugin requires adding your own Event, Condition or Operation to the Easer code under the commons package. A script is available to simplify this operation, and existing plugins are available as examples. See this page for details. Remote Skills (Plugin) Remote skills are a new feature since v0.7, designed to extend the functionality of Easer through a separate software. Each remote skill is a separate app; theoretically it is also possible to include multiple remote skills in one app. Note that the feature is relatively new, the interface is not stable for the time being (but should not change significantly). For the time being, there is only Operation for remote skills, and this warehouse is an example. There are related files in the diagram directory of this repository, such as its timing diagram. Support for Easer Assistance with translations Easer's translation work is hosted on Hosted Weblate, the official hosting instance of weblate, a FLOSS online translation contribution platform. Anyone who wishes to help with the translation work is most welcome, so that sand can be gathered into a tower. Unless otherwise specified, translated texts will use the CC-0 protocol, which means they will enter the public domain; if you wish to use other protocols, please contact us in advance. Please also note that due to the personal preference of Easer's authors, traditional Chinese characters are used as model characters for the main body of the Chinese text, not simplified Chinese characters from Mainland China or orthographic characters from Taiwan. In case of inconsistency in regional language due to translation from foreign languages, the mainland version will be used as the main character. (It is planned to add automatic conversion based on OpenCC in the future, which is intended to be achieved through CI, but there is no such effort for the time being. (We welcome the assistance of experienced or interested parties.) Raising, commenting and solving issues If you find something wrong while using Easer, you can raise an issue, and the more information you can give, the better, if possible (of course, it is not mandatory), so that you can locate the problem earlier. If you feel that Easer should add certain features, you can also raise an issue. For existing issues, whether you have the same question (or idea), you can provide more information, or you don't agree with what is said, please comment on it. Discussions of issues are very welcome. Issues that require more input are marked as RFCs, and any comments/suggestions are welcome. If you are interested in getting more involved but don't know where to start, check out the issues labeled GFC (Good For Contributors) L0, L1, and L2. In general, they are issues with clearer objectives and fewer components; L0, L1, and L2 are my personal, subjective categories in ascending order of difficulty. In some cases (if you are a developer), you may have the ability to solve certain issues. You can fork this repository, write the code, and then create a pull request so that if your code does solve its problem, then your code goes into the trunk and everyone else benefits from your contribution (and you are listed in the Contributors list). You are also welcome to create pull requests for non-existing issues, but it is recommended that you first create an issue to describe the work you will be doing (so that others are aware of it). Testing coverage Testing is really important. And Easer is currently far from over-tested - in fact, most of the code does not have automatic testing. If you are willing to help contribute testing code — especially for core parts (including UI, data backend and services) - it would be much appreciated __________________________________________ Примечание: В связи с нехваткой времени в ближайшем будущем (с конца 2020 года) скорость обслуживания Easer будет снижена. Однако, поскольку основной каркас программы стабилизирован, основная структура Easer не должна быть существенно изменена, за исключением добавления поддержки удаленных плагинов для Event и Condition (и долгосрочного плана по автоматизации нескольких машин) (хотя расширения неизбежно потребуют некоторой модификации). Заинтересованные лица могут ознакомиться с соответствующими разделами ниже, чтобы понять, как добавить необходимую вам функциональность в Easer или как найти ошибки. Автор потратит как можно больше времени на изучение PR, а затем выпустит бета-версию для тестирования перед выпуском официальной версии. Введение Easer - это программное обеспечение, которое делает смартфоны более умными и автоматизированными, указывая им, что делать и когда, не только обрабатывая события, но и проверяя статус и объединяя события для формирования сложных пользовательских событий. Полное описание возможностей Easer можно найти на сайте. В этой статье описаны вопросы, связанные с разработкой Easer. Удлиняющий нож Существует три основных типа функциональности, которые можно добавить в Easer: механизмы, навыки и удаленные навыки (плагины). Механизмы являются основой Easer и требуют хорошего понимания кода Easer; оптимизация существующего кода также приветствуется (но не чрезмерная оптимизация). В большинстве случаев все, что необходимо сделать, это добавить новые События, Условия и Операции, что может быть достигнуто путем добавления новых навыков или удаленных навыков (плагинов). Навыки Добавление плагина умений требует добавления собственного события, условия или операции в код Easer под пакетом commons. Для упрощения этой операции имеется скрипт, а существующие плагины доступны в качестве примеров. Подробности см. на этой странице. Удаленные навыки (плагин) Удаленные навыки являются новинкой в версии 0.7 и предназначены для расширения функциональности Easer с помощью отдельного программного обеспечения. Каждый удаленный навык является отдельным приложением; теоретически можно включить несколько удаленных навыков в одно приложение. Обратите внимание, что эта функция относительно новая, и интерфейс еще не стабилен (но он не должен существенно измениться). На данный момент для удаленных навыков доступна только Operation, и это хранилище является примером. В этом репозитории в каталоге diagram есть связанные файлы, например, его временная диаграмма. Поддержка ластиком Помощь в переводе Переводы Easer размещаются на Hosted Weblate, официальном хостинге weblate, FLOSS-платформы для внесения вклада в онлайн-переводы. Все желающие помочь в процессе перевода приветствуются. Если не указано иное, переведенные тексты будут использовать протокол CC-0, что означает, что они будут находиться в общественном достоянии; если вы хотите использовать другой протокол, пожалуйста, свяжитесь с нами заранее. Обратите также внимание, что в силу личных предпочтений авторов Easer в качестве моделей для основного текста на китайском языке используются традиционные китайские иероглифы, а не упрощенные китайские иероглифы из Китая и не формальные тайваньские иероглифы. В случае несоответствия в использовании региональных терминов из-за перевода с иностранного языка, в качестве основного будет использоваться материковый вариант. (В будущем мы планируем добавить автоматическое преобразование на основе OpenCC, и намерены добиться этого с помощью CI, но на данный момент у нас нет на это сил. (Опытные или заинтересованные лица приглашаются помочь). Задавать, комментировать и решать вопросы Если вы обнаружили проблему в работе Easer, вы можете поднять вопрос и, по возможности (но не обязательно), предоставить как можно больше информации, чтобы вы могли определить проблему раньше. Вы также можете поднять вопрос, если считаете, что есть функции, которые необходимо добавить в Easer. Пожалуйста, комментируйте существующие вопросы, независимо от того, есть ли у вас тот же вопрос (или идея), можете ли вы предоставить больше информации, или вы не согласны с тем, что было сказано. Обсуждение вопросов очень приветствуется. Вопросы, требующие более детального рассмотрения, помечены как RFC, и любые комментарии/предложения приветствуются. Если вы заинтересованы в более активном участии, но не знаете, с чего начать, обратите внимание на вопросы, помеченные GFC (Good For Contributors) L0, L1 и L2, которые в целом более ясны по своей цели и включают меньше компонентов; L0, L1 и L2 - это мои собственные субъективные категории в порядке возрастания сложности. В некоторых случаях (если вы разработчик) вы можете иметь возможность решать определенные вопросы. Вы можете форкнуть этот репозиторий, написать код, а затем создать pull request, чтобы, если ваш код действительно решит проблему, ваш код попал в ствол, и все остальные получили пользу от вашего вклада (а вы появились в списке Contributors). Вы также можете создать запрос на исправление несуществующих проблем, но рекомендуется сначала создать проблему, чтобы описать работу, которую вы собираетесь сделать (и чтобы другие знали о ней). Охват тестирования Тестирование действительно важно. И Easer в настоящее время далеко не перетестирован - на самом деле, большая часть кода не имеет автоматических тестов. Любая помощь в предоставлении тестового кода - особенно для основных частей (включая пользовательский интерфейс, бэкэнд данных и сервисы) - будет принята с благодарностью. ______________________________________________ 注意:由於近期(2020下半年起)時間所限,Easer的維護速度會受到影響。不過由於程序主要框架已經穩定,除了增加對Event和Condition的遠程插件的支持(以及長期計劃中對多機器自動化互聯的支持)外,Easer的核心結構應當不會進行顯著修改(不過擴充功能仍不免需要進行一定修改)。有興趣者可以查看下面的相關章節,理解如何爲Easer添加你需要的功能,或者如何定位錯誤。作者會儘量抽時間看PR,然後先發佈的beta版本測試,隨後發佈正式版本。 簡介 Easer是一个讓智能手機更爲智能更爲自動化的軟件,能夠告訴手機在什麼情況下該做什麼事。Easer不僅可以處理事件,也可以檢查狀態,還能組合事件形成複雜的自定義事件。 如要查看對Easer功能完整的介紹,請參見網站。 本文主要描述Easer的開發相關事宜。 擴展Easer 給Easer添加功能主要分爲三類:機制、技能以及遠程技能(插件)。 其中機制是Easer的核心部分,需要對Easer代碼有較好理解;也歡迎對現有代碼進行優化(但不要過度優化)。 對於多數情況下,所要做的是增加新Event、Condition和Operation,這通過增加新的技能或遠程技能(插件)實現。 技能 增加技能插件需要添加自己的Event、Condition或Operation至Easer代碼中的commons包下。有腳本以簡化該操作,並且現有插件均可作爲示例。 詳細請參見這個頁面。 遠程技能(插件) 遠程技能是v0.7開始新增的功能,旨在通過獨立的軟件擴展Easer的功能。每個遠程技能是一個獨立的app;理論上也可以在一個app中包含多個遠程技能。注意該功能較新,接口暫不穩定(但應該不會大改)。 暫時遠程技能僅有Operation,該倉庫是一個示例。本倉庫中diagram目錄下有相關文件,比如其時序圖。 支持Easer 協助翻譯 Easer的翻譯工作託管在Hosted Weblate。它是weblate(一個FLOSS的在線翻譯貢獻平臺)的官方託管實例。 十分歡迎有志者幫助翻譯工作,聚沙成塔集腋成裘。 如無特別說明,翻譯文本將使用CC-0協議,這意味着它們會進入公有領域;如果希望使用其他協議,請事先聯繫我們。 另請注意,由於Easer作者的個人偏好,中文主體取傳統漢字作爲模字,不取大陸所爲簡化字也不取臺灣所爲正體字。凡涉及翻譯自外文等情況導致地區用語不一致時,模字以大陸版爲主。(計劃後續加入基於OpenCC的自動轉換,擬通過CI達成,只是暫時無此精力。歡迎有經驗或有興趣者協助。) 提出、評論以及解決issue 如果在使用Easer時發現了什麼問題,你可以提出一個issue。在可行的情況下(當然,這不是強制的),相關信息給得越多越好,以便更早定位問題所在。 如果你覺得Easer應當添加某些功能,你也可以提出一個issue。 對於現有的issue,無論你有相同的問題(或想法)、你可以提供更多信息、或是你不認同其中的說法,請對其進行評論。十分歡迎對問題進行討論。 其中較需要多方意見的issue被標爲RFC,歡迎任何人的意見/建議。 如有興趣參與更多但不知道從何下手,可以查看被標爲GFC (Good For Contributors) L0、L1、L2 的issue。一般而言,它們都是目的較爲清晰、涉及組件較少的issue;L0、L1、L2是我個人主觀按難度遞增順序進行的劃分。 在某些情況下(如果你是一個開發者),你也許具有解決某些issue的能力。你可以fork本倉庫,編寫代碼,然後創建pull request。這樣,如果你的代碼的確解決了其問題,則你的代碼會進入主幹,他人均會受益於你的貢獻(並且你會被列在Contributors列表中)。 同樣歡迎對非現有issue創建pull request,但建議首先創建一個issue來描述你將要進行的工作(使得其他人意識到此事)。 測試覆蓋 測試實是重要。 而Easer目前遠不及過分測試的程度——事實上,多數代碼並沒有相應的自動測試。 如願意幫助貢獻測試代碼——尤其是對於核心部分(包括UI、數據後端以及服務)的測試——這裏實在感激不盡。 GitHub: https://github.com/renyuneyun/Easer

You may also be interested