Commit Graph

303 Commits

Author SHA1 Message Date
Akash Yadav 51ef3b115c fix: JDK is not recognized if only JDK 21 is installed (fixes #1616)
This also adds a preference in 'Build & run' which allows user to select the currently installed JDK version
2024-01-11 18:54:20 +05:30
Akash Yadav 21d94526c9 fix(common): remove unnecessary fallback case for JAVA_HOME 2024-01-10 19:07:43 +05:30
Akash Yadav 5e84be7d77 fix(common): remove unused fields in Environment 2024-01-10 19:07:15 +05:30
Akash Yadav 26742432f0 fix(common): remove usage of ide-environment.properties file 2024-01-10 18:29:47 +05:30
Akash Yadav c30dabe50a tests: add UI tests for onboarding activity 2024-01-07 13:42:26 +05:30
Akash Yadav dcf8a5f74c fix: use Build.SUPPORTED_ABIS to check whether the device is supported 2024-01-04 10:02:38 +05:30
Akash Yadav d41ad49905 fix: gracefully handle unsupported ABIs 2024-01-04 01:32:50 +05:30
Akash Yadav e55fabdc32 fix: remove product flavors and use APK splits 2024-01-04 00:49:32 +05:30
Akash Yadav 3611d833a6 fix: include aapt2 as native library 2024-01-03 22:45:47 +05:30
Akash Yadav 415a0f2a7d fix: download termux-packages during build instead of storing them in assets (#545) 2024-01-01 22:15:41 +05:30
Akash Yadav 5b827e4158 fix: update docs URL 2024-01-01 15:01:47 +05:30
Akash Yadav 85d7cde431 fix: remove maxLines restriction from simple icon-title-desc layout 2023-12-27 23:27:23 +05:30
Akash Yadav 1e14419a58 feat: rewrite about activity and add contributors table 2023-12-27 08:31:20 +05:30
Akash Yadav 5f11cd5cac fix: annotate isAtLeast(int) with @ChecksSdkIntAtLeast 2023-12-21 16:16:08 +05:30
Vivek Kumar Sahani d942d81b5c feat: replace one-time dialogs and permissions with app intro (fixes #1399) (#1541)
Co-authored-by: Akash Yadav <itsaky01@gmail.com>
2023-12-21 15:38:00 +05:30
Akash Yadav 46fcd0a73d fix: use Kotlin coroutines for git clone (fixes #1452) 2023-12-17 00:40:58 +05:30
Akash Yadav dee27ef9b6 fix(common): remove unused fields and methods from 'Environment' 2023-12-16 12:02:54 +05:30
Akash Yadav 26fbb79929 feat: add support for x86_64 devices/emulators 2023-12-16 00:01:44 +05:30
Akash Yadav ddaecc7042 fix(terminal): use TermuxShellEnvironment for retrieving the env vars 2023-12-15 20:24:50 +05:30
Akash Yadav 944f7dbcf5 fix(preferences): remove preference for JDK 11 tag pointer fix 2023-12-15 20:24:48 +05:30
Akash Yadav 01173ab5bd fix: subscribe to EventBus in activities only if explicitly enabled 2023-12-15 20:23:08 +05:30
Akash Yadav be10fe7e1e feat: integrate full Termux application 2023-12-15 20:22:33 +05:30
Akash Yadav fdcc86b465 fix: migrate IDEColorSchemeProvider to Kotlin coroutines 2023-11-25 09:42:07 +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 5373698e84 fix(lsp): make signature help requests cancellable (fixes #1393) 2023-11-11 15:33:03 +05:30
Akash Yadav 728a08557e refactor: inline CoroutineScope.launchAsyncWithProgress calls 2023-11-10 21:35:44 +05:30
Akash Yadav 35b7185ce1 fix: replace usage of sparse arrays with AndroidX Collections 2023-11-05 23:51:31 +05:30
Akash Yadav 4adbe6c7d4 feat: add support for multiple AndroidIDE themes 2023-11-04 23:48:39 +05:30
Akash Yadav 777dd773f8 fix: replace usage of Map with SparseArray 2023-10-09 11:30:22 +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 cc0a6391f6 fix: add tests for MainFragment and refactor testing modules 2023-10-07 23:37:34 +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
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 75e722391e fix: migrate build service to use coroutines 2023-10-01 22:04:32 +05:30
Akash Yadav 1f35c4ecf0 fix: migrate IDELogcatReader to coroutines 2023-09-30 19:19:29 +05:30
Akash Yadav 230ccfa536 fix(editor): rewrite IDEEditor in Kotlin with Coroutines 2023-09-30 15:08:28 +05:30
Akash Yadav 0f81698c97 fix: remove data dir APIs from BaseApplication 2023-09-14 21:00:57 +05:30
Akash Yadav 98d6cc2937 feat: allow user to select the app module to build and install in case of multi-app project 2023-09-05 17:36:40 +05:30
Akash Yadav 166a9d1e10 fix: do not update file tree state on background thread 2023-09-05 17:36:33 +05:30
Akash Yadav 08d376f370 feat: merge file tree to left drawer using navigation rail 2023-09-05 17:36:32 +05:30
Akash Yadav 6b05c0221b fix: package installation sessions are not abandoned properly (fixes #1213) 2023-08-22 21:34:02 +05:30
Akash Yadav 94bbd0a4f4 fix: show empty state hints for bottom sheet fragments (closes #1157, closes #1158) 2023-07-31 22:47:11 +05:30
Akash Yadav 764a6fa8c2 fix(lsp): progress dialog for 'find references' action is shown indefinitely
This happens because the 'ReferenceProvider' in the Java LSP tries to start another compilation process while working with the current compilation task.
This results in a deadlock where the current task waits for the new compilation request to return and the new compilation request waits for the current task to finish. This commit fixes this issue.

Apart from fixing this issue, this commit also makes the 'Go to definition' and 'Find references' actions cancelable. Also, it eliminates the usage of the deprecated 'ProgressDialog' class for these two actions.
2023-07-09 12:56:28 +05:30
Akash Yadav 74c5bebdbf fix: update documentation URL 2023-06-30 19:06:54 +05:30
Akash Yadav 9e9f2787de fix: readers not closed in ToolsManager and IDEColorSchemeProvider 2023-06-25 10:27:28 +05:30
Akash Yadav af6f45ea85 feat: anonymous stat collection (2/2) 2023-06-21 16:41:36 +05:30
Akash Yadav 1ccfc40860 fix: configure product flavors for app module only 2023-06-13 22:56:51 +05:30
Akash Yadav e564895b9a feat: use BuildConfig to determine ABI at runtime 2023-06-11 00:20:33 +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