Commit Graph

3087 Commits

Author SHA1 Message Date
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 0b22af8993 refactor: fix some kotlin warnings 2023-10-12 23:22:14 +05:30
Akash Yadav 1b1551f23b fix(deps): update KotlinX Coroutines to v1.7.3 2023-10-12 23:20:39 +05:30
Akash Yadav b2447c28ff fix: log warning if cache-hit rate is below specified threshold 2023-10-09 19:50:05 +05:30
Akash Yadav 1e0dc747e0 fix: make LogLine recyclable 2023-10-09 18:24:00 +05:30
Akash Yadav 5d03ac85b0 feat: add RecyclableObjectPool to recycle frequently used objects 2023-10-09 18:17:56 +05:30
Akash Yadav 777dd773f8 fix: replace usage of Map with SparseArray 2023-10-09 11:30:22 +05:30
Akash Yadav 8901e2b566 fix: misleading error message is shown when installing APK after build (#1369) 2023-10-09 01:00:02 +05:30
Akash Yadav abe585eba0 fix: save action is not invalidated when 'Quick run' action is executed (#1369) 2023-10-09 00:55:18 +05:30
Akash Yadav 52844b201e fix: migrate Actions API to Kotlin Coroutines 2023-10-09 00:25:57 +05:30
Akash Yadav f02a381adf fix: symbol input view is not shown for files
This is caused because the File instance in the IDEEditor is set in postRead() method which is called AFTER the symbols in the SymbolInputView are updated (#1369)
2023-10-08 23:55:02 +05:30
Akash Yadav e7072086bf refactor: extract layout files for editor bottom sheet 2023-10-08 23:53:22 +05:30
Akash Yadav 4b513ccdd5 chore: partially revert 8b7b374a6 2023-10-08 23:10:52 +05:30
Akash Yadav 8b7b374a68 chore: try to setup CI instrumentation tests 2023-10-08 15:22:54 +05:30
Akash Yadav 8e500547b7 fix: show configuration warning only once 2023-10-08 14:15:53 +05:30
Akash Yadav 044599f6e2 fix: add warnings for incompatible or unsupported IDE build configurations 2023-10-08 12:52:04 +05:30
Akash Yadav 18e320f729 refactor: move MainFragmentTest to 'fragments' package 2023-10-08 00:11:09 +05:30
Akash Yadav cc0a6391f6 fix: add tests for MainFragment and refactor testing modules 2023-10-07 23:37:34 +05:30
Akash Yadav 3816ec5866 feat: add action to launch installed application (fixes #1336) 2023-10-06 00:15:41 +05:30
Akash Yadav 57c89a3f18 tests(projects): update failing test 2023-10-05 22:06:49 +05:30
Akash Yadav 6017b79a5a tests(tooling-api): update test to check for sync issues instead of build output 2023-10-05 21:45:51 +05:30
Akash Yadav fc2afcf093 tests(lsp/java): run Java LSP tests with Robolectric 2023-10-05 21:16:48 +05:30
Akash Yadav 18ad0fb0e5 tests(tooling-api): do add unresolved dependency when config cache is enabled 2023-10-05 20:22:31 +05:30
Akash Yadav 5562dc2069 feat(tooling-api): fetch project sync issues from the Android Gradle Plugin 2023-10-05 20:05:16 +05:30
Akash Yadav 69e5671fb9 fix(tooling-api): NPE due to TaskOperationDescriptor.getOriginPlugin() being null (fixes #1358) 2023-10-04 20:20:47 +05:30
Akash Yadav 7317e49c37 refactor: move CodeEditorView to package 'com.itsaky.androidide.ui' 2023-10-04 19:45:13 +05:30
Akash Yadav 9db0b802cd fix(editor): use coroutines for reading/writing files in CodeEditorView 2023-10-04 18:49:51 +05:30
Akash Yadav 1a79c0bbf2 refactor: reformat code 2023-10-04 18:08:34 +05:30
Rafael de Moura Dev 019abd04ff fix: wrong icon in flash message when build fails (#1363) 2023-10-03 23:57:52 +05:30
Akash Yadav 6899e1f8fc fix(build-service,tooling-api): Gradle Daemon and ToolingAPI server is not stopped properly
The Tooling API server (which is executed in a separate process) was not being stopped properly after IToolingApiServer.shutdown() was called. As a result, the Gradle daemon started by the tooling API was not stopped as well.

This commit fixes this issue by properly implementing the shutdown() call in Tooling API. Now, when the user closes a project and the GradleBuildService is destroyed, the Tooling API server stops the Gradle daemon(s) and then shutdowns itself.
2023-10-03 22:36:20 +05:30
Akash Yadav 023bbab9e4 fix(editor): modified status is not updated after save (fixes #1359) 2023-10-03 17:59:25 +05:30
Akash Yadav d73a9c88f7 fix(lsp/java): UninitializedPropertyAccessException when accessing analyze result 2023-10-02 18:59:22 +05:30
Akash Yadav 66aa9099b4 fix(projects): parallelize project indexing with coroutines 2023-10-02 15:05:21 +05:30
Akash Yadav 1d54a3ff4d tests: fix compilation issues 2023-10-02 12:27:56 +05:30
Akash Yadav 7a01b2f449 fix(deps): migrate to jgit v6 2023-10-02 12:27:55 +05:30
renovate[bot] 8fcd978d93 fix(deps): update dependency com.android.tools.build:aapt2-proto to v8.1.2-10154469 (#1343)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-02 11:51:52 +05:30
renovate[bot] 2205d0fea1 fix(deps): update dependency com.android.tools:common to v31.1.2 (#1345)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-02 11:51:30 +05:30
Akash Yadav 07b114f4a9 fix(gradle-plugin): add composite build in sample project to check for issues in resolving 'kotlin-dsl' plugin 2023-10-02 11:48:14 +05:30
Akash Yadav b8ddb19727 fix(gradle-plugin): mark logsender dependency as non-changing to avoid unnecessary network operations 2023-10-02 11:47:04 +05:30
Akash Yadav d8d9d93677 fix(templates): NoSuchMethodError (String.indent) due to compile SDK upgradation (fixes #1354) 2023-10-02 08:56:45 +05:30
Akash Yadav 42dec0b16f fix(tooling-api): do not log cancellation exception 2023-10-02 08:49:12 +05:30
Akash Yadav b05710c524 fix(editor): modified status is not changed after content modification 2023-10-01 23:31:53 +05:30
Akash Yadav 75e722391e fix: migrate build service to use coroutines 2023-10-01 22:04:32 +05:30
Akash Yadav 9aeaa2c6b5 fix: migrate log receiver handlers to coroutines 2023-10-01 22:04:13 +05:30
Akash Yadav 53a445e53e fix: migrate FilterableRecyclerView to coroutines 2023-09-30 22:18:17 +05:30
Akash Yadav 1874b911e7 fix(tooling-api): avoid recreating ProjectConnection multiple times
Also, the TaskExecutionMessage now only accepts the tasks to run, not the project path and the Gradle distribution params
2023-09-30 22:02:58 +05:30
Akash Yadav 4c95232854 fix(tooling-api): reuse GradleConnector whenever possible 2023-09-30 21:35:25 +05:30
Akash Yadav 2e3946279b fix: duplicate tasks are shown in 'Run tasks' dialog (fixes #1352) 2023-09-30 21:12:07 +05:30