Commit Graph

209 Commits

Author SHA1 Message Date
Akash Yadav a4daca4fd4 tests: add test for onboarding permissions behavior for Android < R 2024-01-12 19:17:52 +05:30
Akash Yadav 00766f3e86 tests: fix tests 2024-01-10 17:32:57 +05:30
Akash Yadav c30dabe50a tests: add UI tests for onboarding activity 2024-01-07 13:42:26 +05:30
Akash Yadav 3c2da85091 chore: update XML formatter options 2023-12-27 16:18:46 +05:30
Akash Yadav b7b9d695e9 fix(flashbar): use material components in FlashbarView 2023-12-27 16:11:22 +05:30
Akash Yadav 1e14419a58 feat: rewrite about activity and add contributors table 2023-12-27 08:31:20 +05:30
Akash Yadav 26fbb79929 feat: add support for x86_64 devices/emulators 2023-12-16 00:01:44 +05:30
Akash Yadav be10fe7e1e feat: integrate full Termux application 2023-12-15 20:22:33 +05:30
Akash Yadav 328ff93b1a fix(lsp/java): avoid crash during Java source code analysis
This issue was reported in #1279 (https://github.com/AndroidIDEOfficial/AndroidIDE/issues/1279\#issuecomment-1826706454).
2023-12-14 19:14:50 +05:30
Akash Yadav e1382f13a7 fix(editor): file modification status is not updated while closing files (fixes #1485) 2023-11-25 23:32:16 +05:30
Akash Yadav b2ff61043b chore(deps): update ATS to latest snapshot 2023-11-25 19:13:26 +05:30
Akash Yadav 3f97f24b4c fix: TSTree instances are sometimes not closed, causing memory leak 2023-11-21 17:39:52 +05:30
Akash Yadav 525fa5ee34 fix(editor): do not automatically select first completion item for soft input (fixes #1201) 2023-11-14 23:17:07 +05:30
Akash Yadav f1207d24e4 fix: convert 'google-java-format' to an Android module 2023-10-22 09:27:03 +05:30
Akash Yadav c98fbbdcd5 fix: add base patches for Android 2023-10-22 09:27:02 +05:30
Akash Yadav 3ecf4d7259 fix: TsBracketPairs uses recycled TSNode instances 2023-10-15 23:54:53 +05:30
Akash Yadav 088bdce6c6 fix: properly implement TSTree edition and query execution 2023-10-15 23:47:20 +05:30
Akash Yadav f2cfd865e8 fix: opened files are not highlighted with tree sitter
This happens because the tree-sitter nodes and trees are inaccessible when the files are opened
2023-10-15 18:38:43 +05:30
Akash Yadav d5910c6fc0 fix(editor): various improvements related to tree sitter code analysis
- Integrate the 'language-treesitter' module from sora-editor into the IDE itself for better control and customization of the tree sitter analysis.

- Invalidate line span generator when tree is edited - This is required because TSTree instances are not thread-safe and the spans generator tries to query the tree after it is edited.
 This results in SEGV_MAPERR errors in native code because the TSNodes are invalidatd after TSTree.edit() calls and the cursor tries to query those invalidated nodes.

- Recycle and reuse TS* instances - When analyzing the source code using Tree Sitter, a huge number of objects are created and deleted. This results in an increased of times the garbage
 collector is invoked.
2023-10-15 17:55:11 +05:30
Akash Yadav 971fc605ff fix: include language-treesitter from sora-editor locally 2023-10-13 23:03:57 +05:30
Akash Yadav 1e0dc747e0 fix: make LogLine recyclable 2023-10-09 18:24:00 +05:30
Akash Yadav 8b7b374a68 chore: try to setup CI instrumentation tests 2023-10-08 15:22:54 +05:30
Akash Yadav cc0a6391f6 fix: add tests for MainFragment and refactor testing modules 2023-10-07 23:37:34 +05:30
Akash Yadav 047956b8ae fix: add file name checks when creating new files (fixes #1322) 2023-09-19 20:09:56 +05:30
Akash Yadav 7a03b76d25 chore(renovate): add package rules for AndroidX Navigation dependencies 2023-09-13 08:54:44 +05:30
Akash Yadav 42ac697856 fix(gradle-plugin): do not add logsender dependency if it is disabled (#1274) 2023-09-09 13:09:23 +05:30
Akash Yadav de5e55c86e feat(tooling-api): new tooling API model implementation 2023-09-05 17:36:28 +05:30
Akash Yadav 3511fb26c2 fix(templates): template instances are unnecessarily released in MainActivity
This releases the observers from the template parameters and as a result, the package name is not updated when the app name is changed.
2023-08-27 09:42:18 +05:30
Akash Yadav 51e67f2922 fix(logreceiver): start LogReceiverService only when the log sender application is started 2023-08-13 23:42:26 +05:30
Akash Yadav e6944b848c fix(logsender): remove references to AndroidX annotations 2023-08-11 14:25:09 +05:30
Akash Yadav bd0bfe827f refactor: remove unused ':subprojects:classfile' module 2023-07-31 22:47:10 +05:30
Akash Yadav 456deeb336 fix(logsender): log sender clients are not properly handled
This commit commit fixes a bug which caused the log sender client not being released when the client application crashes or is killed by the system. This resulted in resources being unnecessarily held by the IDE causing lags
and sometimes, battery drain (#1107).
2023-07-30 12:13:34 +05:30
Akash Yadav 85b8350c8f fix: add 'runTestsInCI' task to projects for running tests in CI 2023-06-21 23:00:31 +05:30
Akash Yadav af6f45ea85 feat: anonymous stat collection (2/2) 2023-06-21 16:41:36 +05:30
Akash Yadav 38935039f3 chore: fix invalid APK path in workflow 2023-06-11 09:55:33 +05:30
Akash Yadav 4cb6fdfef5 chore: configure product flavors and split APKs to reduce APK size 2023-06-11 00:20:30 +05:30
Akash Yadav f35dcd2e5a chore: add generated lexer files to gitignore 2023-06-11 00:20:02 +05:30
Akash Yadav d31f57b07c fix(deps): migrate to android-tree-sitter v3.0.0 2023-06-11 00:20:02 +05:30
Akash Yadav b3e3bfec70 build(deps): add tree-sitter-log dependency 2023-06-11 00:20:01 +05:30
Akash Yadav e78b9068f4 feat: use tree-sitter for log highlighting 2023-06-11 00:20:00 +05:30
Smooth E 1ee2f34c12 feat: various design improvements (#1023)
* refactor: A bunch of (mostly XML) styling

* fix(Main Activity): Make use of a dedicated Splash Activity to enable Dynamic coloring in MainActivity

* feat(edge-to-edge): Ground work to support edge-to-edge experiences throughout the IDE

* fix(edge-to-edge): Manually set bottom padding for fragment containment

* feat(edge-to-edge): Allow full activity rebuild on configuration changes for MainActivity. This allows to ship more specific layout changes and is a ground work to support split screen mode.

* Bug introduced: templates are not shown in the TemplateListFragment after full activity rebuild

* fix: Finish the Splash Activity after launching the Main one

* fix(templates): The list of templates no longer disappears after an activity rebuild or a configuration change

* fix(templates): Keep OnGlobalLayoutListener attached while the View is alive. This ensures that the last item in template list is always aligned to the start.

* feat(design): Custom layout for MainActivity's main fragment in landscape mode

* feat(edge-to-edge): Implement edge-to-edge for PreferencesActivity, move InsetUtils outside of the LimitlessIDEActivity.

* refactor(IDEPreferencesFragment.kt): Comply with the line-length rule, fix a one-line if statement to follow the general codestyle

* refactor(edge-to-edge): Remove PaddingUtils.kt
The reasoning behind this is that after `view.setPadding(left, top, right, bottom)` is executed, `view.getPaddingBottom()` (or for any other side) still returns the old value of padding before the view is measured again. Therefore the implementation of PaddingUtils.kt produces an unwanted and unexpected behaviour.

* feat(edge-to-edge): Create a BottomInsetHeightDistributor view

* fix(templates/design): Use OutlinedButton style for the *Exit* button inside the *New project* wizard's footer

* refactor: Comply with AndroidIDE's code style

* refactor: Make use of helper methods. Optimize XML

* fix(edge-to-edge): Wrong system bar coloring in Dark Mode
2023-06-09 23:09:41 +05:30
Akash Yadav cd9aaf7045 fix: chevron icon visible for files in file tree (closes #1015) 2023-06-04 22:58:29 +05:30
Akash Yadav 7be1df4177 feat: never show disabled actions in toolbar 2023-06-04 20:29:44 +05:30
Akash Yadav dbb2e6fd26 build(deps): update robolectric to 4.10.3 2023-05-28 19:53:12 +05:30
Akash Yadav 9b547f8255 fix: bind templates to MainActivity's lifecycle to prevent memory leaks 2023-05-27 18:37:42 +05:30
Akash Yadav ded44092be fix: release build service instance from binder when service is destroyed (#870) 2023-05-27 00:00:29 +05:30
Akash Yadav ae58c958f2 feat(templates): implement logic for creating layout file for emptyActivity 2023-05-10 21:39:40 +05:30
Akash Yadav 98d1597157 feat(templates): add base configuration for creating templates 2023-05-08 23:53:50 +05:30
Akash Yadav 04feadbae8 feat: add base files for the Templates API 2023-05-05 13:17:07 +05:30
Akash Yadav defc76a187 fix: avoid using ServiceLoader in test environment 2023-05-01 20:07:53 +05:30