Commit Graph

1361 Commits

Author SHA1 Message Date
Akash Yadav 79958f9d9f fix: parse OpenedFilesCache manually to avoid ClassCastException in release builds (fixes #1102) 2023-07-14 17:37:33 +05:30
Akash Yadav d2d9595bcb chore: add generated APK directories to gitignore 2023-07-12 15:21:27 +05:30
Akash Yadav 0332eb187d chore: update proguard rules for ide statistics 2023-07-12 15:21:26 +05:30
Akash Yadav fa592a8722 fix: ignore 'Instanstiatable' lint error 2023-07-12 15:21:26 +05:30
Akash Yadav cfbbbc4440 fix: editor activity can be accessed even if the tools are not installed 2023-06-28 17:10:33 +05:30
Akash Yadav 2549757454 fix(logview): slight lag while trimming log lines 2023-06-28 16:49:18 +05:30
Akash Yadav 61d24c2727 fix(logview): lag and freeze when the number of log lines reach MAX_LINE_COUNT
This commit fixes a major bug which caused the IDE to lag and freeze when the number of lines in the log view reached 5000 lines.
When this threshold id is reached, the IDE starts to trim lines at the start. However, it trims one line at a time which causes the lag when the frequency of log lines is high.

With this commit, the IDE will trim the lines as usual but a large number of lines will be trimmed at once (300 lines as of this commit). This will delay the next trim cycle and would not block the UI thread.
2023-06-28 14:16:58 +05:30
Akash Yadav 7b52e70231 feat: add option to dump AndroidIDE logs to file 2023-06-26 20:01:32 +05:30
Akash Yadav 7356b146dc refactor: remove unused legacy template zips from assets 2023-06-24 23:46:07 +05:30
Akash Yadav b2cb1a2a0e fix: use BuildInfo.VERSION_NAME_SIMPLE for changelog URL 2023-06-21 16:41:37 +05:30
Akash Yadav 048db4a14f fix: back button/gesture doesn't work on main screen in main activity 2023-06-21 16:41:37 +05:30
Akash Yadav af6f45ea85 feat: anonymous stat collection (2/2) 2023-06-21 16:41:36 +05:30
Akash Yadav e45dfc146b feat: anonymous stat collection (1/2) 2023-06-21 16:41:36 +05:30
Akash Yadav 5a035da056 refactor: remove unused legacy project creator 2023-06-21 16:41:35 +05:30
Akash Yadav faf2c3b916 fix: task names are trimmed from build output before build is executed (closes #1045) 2023-06-18 23:53:45 +05:30
Akash Yadav 066eaa88d4 refactor: remove unused LogLinesAdapter class 2023-06-16 17:38:11 +05:30
Akash Yadav a5cb7c165f fix: avoid unnecessary loading of tree sitter grammars 2023-06-13 22:56:53 +05:30
Smooth E ea15a3687d fix(edge-to-edge): crash on startup due to leftover callback assignment (#1030) 2023-06-11 11:20:52 +05:30
Akash Yadav 87cfa0040a build: configure flavors for all modules 2023-06-11 00:20:33 +05:30
Akash Yadav a407842c55 build: include all product flavor names in BuildConfig 2023-06-11 00:20: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 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 c489e71525 fix: invalidate options menu on file save 2023-06-04 20:31:18 +05:30
Akash Yadav 7be1df4177 feat: never show disabled actions in toolbar 2023-06-04 20:29:44 +05:30
Smooth E fe169fc0e8 Always show the File Tree button in the toolbar (#1019)
* Implement a preference to always show the File Tree action in the toolbar

* Create the ExtendedMenuToolbar which tries to keep as many actions as possible outside of the overflow menu

* Repurpose the show-file-tree-button preference into hide-file-tree-button. Reason: the button is always technically shown, especially if we consider users with large screens.

* Move ExtendedMenuToolbar.kt into com.itsaky.androidide.ui in :common. Fix resource compilation error by escaping the apostrophe.

* Check whether the gesture navigation is enabled for setting the default value of idepref_editor_hide_file_tree_button

* Remove an unnecessary onAttachedToWindow() override
2023-06-04 17:42:28 +05:30
Smooth E 04ae82f910 Fix summary for the *Visible password flag* editor preference (#1020) 2023-06-04 16:12:48 +05:30
Akash Yadav 386a218538 fix(logsender): do not start logsender in AndroidIDE 2023-06-03 09:39:47 +05:30
Akash Yadav dbb2e6fd26 build(deps): update robolectric to 4.10.3 2023-05-28 19:53:12 +05:30
Akash Yadav 30b394628a fix: do not perform code action if the activity is being destroyed (fixes #950) 2023-05-27 23:33:11 +05:30
Akash Yadav 96340f8582 fix(xml-inflater): limit GridLayout to 'rowCount * columnCount' children (fixes #982) 2023-05-27 20:55:37 +05:30
Akash Yadav d79caba532 fix: synchronize client operations in MultiLogSenderHandler 2023-05-27 18:48:48 +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 a85acbf2d0 fix: avoid potential memory leaks in build service 2023-05-27 00:05:08 +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 ceebaafadf build: avoid downloading signing key in CI builds 2023-05-25 20:31:29 +05:30
Akash Yadav 7a27c33a66 fix: use 'latest.integration' as logsender version for local AndroidIDE builds 2023-05-25 18:47:21 +05:30
Akash Yadav e68b08d216 refactor(templates): make Parameter.value non-null 2023-05-24 17:46:33 +05:30
Akash Yadav 676e336310 fix: template recipe result not set to ProjectTemplate 2023-05-22 23:40:04 +05:30
Akash Yadav 4c9b6b6088 feat(templates): add ability to return results from TemplateRecipe 2023-05-22 22:52:11 +05:30
Akash Yadav 68cdb02965 feat: implement logic for creating template projects 2023-05-22 17:42:26 +05:30
Akash Yadav f6564fbe43 fix: template details fragment is not shown sometimes 2023-05-21 23:01:50 +05:30
Akash Yadav 84e2ed5f9b feat: implement UI for new templates API 2023-05-21 18:36:55 +05:30
Akash Yadav 7d35b0c990 fix: rename 'sponsor' text to 'donate' 2023-05-19 20:51:13 +05:30
Akash Yadav 455e3900ee feat(templates): add basic activity template 2023-05-14 18:33:52 +05:30
Akash Yadav d9331eca80 fix(templates): use XmlBuilder from 'xml-dom' module for building XML files 2023-05-13 22:40:29 +05:30
Akash Yadav 59b9913fd9 feat(templates): add API to generate Java source files 2023-05-08 14:38:56 +05:30