From df379478f12b5eb0840fd4302fc0a32f95b77a4b Mon Sep 17 00:00:00 2001 From: Akash Yadav Date: Tue, 17 May 2022 19:05:00 +0530 Subject: [PATCH] Implemented the new IProject service in the IDE --- .idea/google-java-format.xml | 1 - .../assets/data/common/tooling-api-all.jar | Bin 12858410 -> 12860549 bytes .../com/itsaky/androidide/EditorActivity.java | 3106 ++++++++--------- .../androidide/projects/CachingProject.kt | 117 + .../androidide/projects/ProjectManager.kt | 190 +- .../services/GradleBuildService.java | 10 +- build-tools/builder-model-impl/.gitignore | 1 + build-tools/builder-model-impl/build.gradle | 31 + .../builder/model}/DefaultAndroidArtifact.kt | 2 +- .../DefaultAndroidGradlePluginProjectFlags.kt | 3 +- .../model}/DefaultAndroidLibraryData.kt | 2 +- .../builder/model}/DefaultApiVersion.kt | 2 +- .../model}/DefaultArtifactDependencies.kt | 3 +- .../builder/model}/DefaultBundleInfo.kt | 2 +- .../model}/DefaultCustomSourceDirectory.kt | 2 +- .../builder/model}/DefaultGraphItem.kt | 3 +- .../builder/model}/DefaultJavaArtifact.kt | 3 +- .../model}/DefaultJavaCompileOptions.kt | 2 +- .../builder/model}/DefaultLibrary.kt | 3 +- .../builder/model}/DefaultLibraryInfo.kt | 2 +- .../model}/DefaultModelBuilderParameter.kt | 2 +- .../builder/model}/DefaultModelSyncFile.kt | 2 +- .../builder/model}/DefaultProjectInfo.kt | 2 +- .../model}/DefaultProjectSyncIssues.kt | 3 +- .../builder/model}/DefaultSourceProvider.kt | 3 +- .../model}/DefaultSourceSetContainer.kt | 3 +- .../builder/model}/DefaultSyncIssue.kt | 2 +- .../builder/model}/DefaultTestInfo.kt | 2 +- .../model}/DefaultTestedTargetVariant.kt | 2 +- .../model}/DefaultUnresolvedDependency.kt | 2 +- .../builder/model}/DefaultVariant.kt | 3 +- .../model}/DefaultVariantDependencies.kt | 3 +- .../model}/DefaultViewBindingOptions.kt | 2 +- .../itsaky/androidide/tooling/impl/Main.java | 1 - .../tooling/impl/ToolingApiServerImpl.kt | 3 +- .../impl/model/InternalForwardingProject.kt | 15 +- .../tooling/impl/util/ModelInfoContainer.kt | 2 +- .../tooling/impl/util/ProjectReader.java | 2 +- .../tooling/impl/ToolingApiImplTest.kt | 2 +- .../test/test-home/.androidide/init/model.jar | Bin 85813 -> 43185 bytes build-tools/tooling-api-model/build.gradle | 3 +- .../androidide/tooling/api/IProject.java | 98 + .../api/messages/result/SimpleModuleData.kt | 27 + .../tooling/api/model/IProject.java | 79 - .../tooling/api/model/IdeAndroidModule.kt | 16 +- .../tooling/api/model/IdeGradleProject.kt | 22 +- .../model/util/AndroidModulePropertyCopier.kt | 48 +- .../tooling/api/model/util/ProjectBuilder.kt | 10 +- .../api/messages/result/InitializeResult.kt | 2 +- .../tooling/api/util/ToolingApiLauncher.java | 11 +- settings.gradle | 1 + 51 files changed, 2020 insertions(+), 1838 deletions(-) create mode 100644 app/src/main/java/com/itsaky/androidide/projects/CachingProject.kt create mode 100644 build-tools/builder-model-impl/.gitignore create mode 100644 build-tools/builder-model-impl/build.gradle rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultAndroidArtifact.kt (97%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultAndroidGradlePluginProjectFlags.kt (95%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultAndroidLibraryData.kt (96%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultApiVersion.kt (94%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultArtifactDependencies.kt (95%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultBundleInfo.kt (95%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultCustomSourceDirectory.kt (94%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultGraphItem.kt (94%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultJavaArtifact.kt (96%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultJavaCompileOptions.kt (95%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultLibrary.kt (95%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultLibraryInfo.kt (95%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultModelBuilderParameter.kt (94%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultModelSyncFile.kt (95%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultProjectInfo.kt (95%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultProjectSyncIssues.kt (94%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultSourceProvider.kt (96%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultSourceSetContainer.kt (95%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultSyncIssue.kt (94%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultTestInfo.kt (95%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultTestedTargetVariant.kt (94%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultUnresolvedDependency.kt (94%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultVariant.kt (96%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultVariantDependencies.kt (95%) rename build-tools/{tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal => builder-model-impl/src/main/java/com/itsaky/androidide/builder/model}/DefaultViewBindingOptions.kt (94%) create mode 100644 build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/IProject.java create mode 100644 build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/messages/result/SimpleModuleData.kt delete mode 100644 build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IProject.java diff --git a/.idea/google-java-format.xml b/.idea/google-java-format.xml index 05946a82a..8b57f4527 100644 --- a/.idea/google-java-format.xml +++ b/.idea/google-java-format.xml @@ -2,6 +2,5 @@ \ No newline at end of file diff --git a/app/src/main/assets/data/common/tooling-api-all.jar b/app/src/main/assets/data/common/tooling-api-all.jar index 2422976262e8aa8adf5fa8ae39c9d1e74364095b..a5502f9a5833c147c6dd6052cbe01f62930e8e7d 100644 GIT binary patch delta 319644 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


OeM97^?Q<2B*pNJIhAIo5QnF>qhy{d&w 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 diff --git a/app/src/main/java/com/itsaky/androidide/EditorActivity.java b/app/src/main/java/com/itsaky/androidide/EditorActivity.java index 4ef7d10b0..4ca6e747e 100755 --- a/app/src/main/java/com/itsaky/androidide/EditorActivity.java +++ b/app/src/main/java/com/itsaky/androidide/EditorActivity.java @@ -79,6 +79,7 @@ import com.itsaky.androidide.adapters.DiagnosticsAdapter; import com.itsaky.androidide.adapters.EditorBottomSheetTabAdapter; import com.itsaky.androidide.adapters.SearchListAdapter; import com.itsaky.androidide.app.StudioActivity; +import com.itsaky.androidide.app.StudioApp; import com.itsaky.androidide.databinding.ActivityEditorBinding; import com.itsaky.androidide.databinding.LayoutDiagnosticInfoBinding; import com.itsaky.androidide.databinding.LayoutSearchProjectBinding; @@ -109,6 +110,7 @@ import com.itsaky.androidide.projects.ProjectManager; import com.itsaky.androidide.services.GradleBuildService; import com.itsaky.androidide.services.LogReceiver; import com.itsaky.androidide.shell.ShellServer; +import com.itsaky.androidide.tooling.api.messages.result.SimpleModuleData; import com.itsaky.androidide.tooling.api.messages.result.TaskExecutionResult; import com.itsaky.androidide.tooling.api.model.IdeGradleProject; import com.itsaky.androidide.utils.CharSequenceInputStream; @@ -147,6 +149,7 @@ import java.util.Map; import java.util.Objects; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionException; +import java.util.concurrent.ExecutionException; import java.util.function.Consumer; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -157,1670 +160,1649 @@ import me.piruin.quickaction.ActionItem; import me.piruin.quickaction.QuickAction; public class EditorActivity extends StudioActivity - implements FileTreeFragment.FileActionListener, - TabLayout.OnTabSelectedListener, - NavigationView.OnNavigationItemSelectedListener, - DiagnosticClickListener, - IDEHandler.Provider, - EditorActivityProvider, - OptionsListFragment.OnOptionsClickListener { + implements FileTreeFragment.FileActionListener, + TabLayout.OnTabSelectedListener, + NavigationView.OnNavigationItemSelectedListener, + DiagnosticClickListener, + IDEHandler.Provider, + EditorActivityProvider, + OptionsListFragment.OnOptionsClickListener { - public static final String EXTRA_PROJECT_PATH = "project_path"; - public static final String KEY_BOTTOM_SHEET_SHOWN = "editor_bottomSheetShown"; - private static final String TAG_FILE_OPTIONS_FRAGMENT = "file_options_fragment"; - private static final int ACTION_ID_CLOSE = 100; - private static final int ACTION_ID_OTHERS = 101; - private static final int ACTION_ID_ALL = 102; - private static final ILogger LOG = ILogger.newInstance("EditorActivity"); - private final EditorEventListener mBuildEventListener = new EditorEventListener(); - private ActivityEditorBinding mBinding; - private LayoutDiagnosticInfoBinding mDiagnosticInfoBinding; - private EditorBottomSheetTabAdapter bottomSheetTabAdapter; - private final LogReceiver mLogReceiver = new LogReceiver().setLogListener(this::appendApkLog); - private FileTreeFragment mFileTreeFragment; - private TreeNode mLastHeld; - private SymbolInputView symbolInput; - private FileOptionsHandler mFileOptionsHandler; - private QuickAction mTabCloseAction; - private TextSheetFragment mDaemonStatusFragment; - private OptionsListFragment mFileOptionsFragment; - private ProgressSheet mSearchingProgress; - private AlertDialog mFindInProjectDialog; - private ActivityResultLauncher mUIDesignerLauncher; - private EditorBottomSheetBehavior mEditorBottomSheet; - private EditorViewModel mViewModel; + public static final String EXTRA_PROJECT_PATH = "project_path"; + public static final String KEY_BOTTOM_SHEET_SHOWN = "editor_bottomSheetShown"; + private static final String TAG_FILE_OPTIONS_FRAGMENT = "file_options_fragment"; + private static final int ACTION_ID_CLOSE = 100; + private static final int ACTION_ID_OTHERS = 101; + private static final int ACTION_ID_ALL = 102; + private static final ILogger LOG = ILogger.newInstance("EditorActivity"); + private final EditorEventListener mBuildEventListener = new EditorEventListener(); + private ActivityEditorBinding mBinding; + private LayoutDiagnosticInfoBinding mDiagnosticInfoBinding; + private EditorBottomSheetTabAdapter bottomSheetTabAdapter; + private final LogReceiver mLogReceiver = new LogReceiver().setLogListener(this::appendApkLog); + private FileTreeFragment mFileTreeFragment; + private TreeNode mLastHeld; + private SymbolInputView symbolInput; + private FileOptionsHandler mFileOptionsHandler; + private QuickAction mTabCloseAction; + private TextSheetFragment mDaemonStatusFragment; + private OptionsListFragment mFileOptionsFragment; + private ProgressSheet mSearchingProgress; + private AlertDialog mFindInProjectDialog; + private ActivityResultLauncher mUIDesignerLauncher; + private EditorBottomSheetBehavior mEditorBottomSheet; + private EditorViewModel mViewModel; - private IdeGradleProject mRootProject; - private GradleBuildService mBuildService; - private final ServiceConnection mGradleServiceConnection = - new ServiceConnection() { - @Override - public void onServiceConnected(ComponentName name, IBinder service) { - mBuildService = ((GradleBuildService.GradleServiceBinder) service).getService(); - LOG.info("Gradle build service has been started..."); + private GradleBuildService mBuildService; + private final ServiceConnection mGradleServiceConnection = + new ServiceConnection() { + @Override + public void onServiceConnected(ComponentName name, IBinder service) { + mBuildService = ((GradleBuildService.GradleServiceBinder) service).getService(); + LOG.info("Gradle build service has been started..."); - mBuildService - .setEventListener(mBuildEventListener) - .startToolingServer(() -> initializeProject()); - } - - @Override - public void onServiceDisconnected(ComponentName name) { - mBuildService = null; - LOG.info("Disconnected from Gradle build service..."); - } - }; - - @Override - public void onBackPressed() { - if (mBinding.getRoot().isDrawerOpen(GravityCompat.END)) { - mBinding.getRoot().closeDrawer(GravityCompat.END); - } else if (mBinding.getRoot().isDrawerOpen(GravityCompat.START)) { - mBinding.getRoot().closeDrawer(GravityCompat.START); - } else if (getDaemonStatusFragment().isShowing()) { - getDaemonStatusFragment().dismiss(); - } else if (mFileOptionsFragment != null && mFileOptionsFragment.isShowing()) { - mFileOptionsFragment.dismiss(); - } else if (mEditorBottomSheet.getState() == BottomSheetBehavior.STATE_EXPANDED) { - mEditorBottomSheet.setState(BottomSheetBehavior.STATE_COLLAPSED); - } else { - confirmProjectClose(); - } - } - - @SuppressLint("RestrictedApi") - @Override - public boolean onCreateOptionsMenu(Menu menu) { - if (menu instanceof MenuBuilder) { - MenuBuilder builder = (MenuBuilder) menu; - builder.setOptionalIconsVisible(true); + mBuildService + .setEventListener(mBuildEventListener) + .startToolingServer(() -> initializeProject()); } - return true; - } - - @Override - public boolean onPrepareOptionsMenu(Menu menu) { - ensureToolbarMenu(menu); - return true; - } - - public void ensureToolbarMenu(@NonNull Menu menu) { - menu.clear(); - - final var data = new ActionData(); - final var currentEditor = getCurrentEditor(); - data.put(Context.class, EditorActivity.this); - data.put(CodeEditorView.class, currentEditor); - - if (currentEditor != null) { - data.put(IDEEditor.class, currentEditor.getEditor()); - data.put(File.class, currentEditor.getEditor().getFile()); + @Override + public void onServiceDisconnected(ComponentName name) { + mBuildService = null; + LOG.info("Disconnected from Gradle build service..."); } + }; - ActionsRegistry.getInstance() - .fillMenu( - data, - com.itsaky.androidide.actions.ActionItem.Location.EDITOR_TOOLBAR, - menu); + @Override + public void onBackPressed() { + if (mBinding.getRoot().isDrawerOpen(GravityCompat.END)) { + mBinding.getRoot().closeDrawer(GravityCompat.END); + } else if (mBinding.getRoot().isDrawerOpen(GravityCompat.START)) { + mBinding.getRoot().closeDrawer(GravityCompat.START); + } else if (getDaemonStatusFragment().isShowing()) { + getDaemonStatusFragment().dismiss(); + } else if (mFileOptionsFragment != null && mFileOptionsFragment.isShowing()) { + mFileOptionsFragment.dismiss(); + } else if (mEditorBottomSheet.getState() == BottomSheetBehavior.STATE_EXPANDED) { + mEditorBottomSheet.setState(BottomSheetBehavior.STATE_COLLAPSED); + } else { + confirmProjectClose(); + } + } + + @SuppressLint("RestrictedApi") + @Override + public boolean onCreateOptionsMenu(Menu menu) { + if (menu instanceof MenuBuilder) { + MenuBuilder builder = (MenuBuilder) menu; + builder.setOptionalIconsVisible(true); } - @Nullable - public CodeEditorView getCurrentEditor() { - if (mViewModel.getCurrentFileIndex() != -1) { - return getEditorAtIndex(mViewModel.getCurrentFileIndex()); - } + return true; + } - return null; + @Override + public boolean onPrepareOptionsMenu(Menu menu) { + ensureToolbarMenu(menu); + return true; + } + + public void ensureToolbarMenu(@NonNull Menu menu) { + menu.clear(); + + final var data = new ActionData(); + final var currentEditor = getCurrentEditor(); + data.put(Context.class, EditorActivity.this); + data.put(CodeEditorView.class, currentEditor); + + if (currentEditor != null) { + data.put(IDEEditor.class, currentEditor.getEditor()); + data.put(File.class, currentEditor.getEditor().getFile()); } - @Nullable - public CodeEditorView getEditorAtIndex(final int index) { - return (CodeEditorView) mBinding.editorContainer.getChildAt(index); + ActionsRegistry.getInstance() + .fillMenu(data, com.itsaky.androidide.actions.ActionItem.Location.EDITOR_TOOLBAR, menu); + } + + @Nullable + public CodeEditorView getCurrentEditor() { + if (mViewModel.getCurrentFileIndex() != -1) { + return getEditorAtIndex(mViewModel.getCurrentFileIndex()); } - @Override - public EditorActivity provide() { - return this; + return null; + } + + @Nullable + public CodeEditorView getEditorAtIndex(final int index) { + return (CodeEditorView) mBinding.editorContainer.getChildAt(index); + } + + @Override + public EditorActivity provide() { + return this; + } + + @Override + public EditorActivity provideEditorActivity() { + return this; + } + + public void handleSearchResults(Map> results) { + setSearchResultAdapter( + new com.itsaky.androidide.adapters.SearchListAdapter( + results, + file -> { + openFile(file); + hideViewOptions(); + }, + match -> { + openFileAndSelect(match.file, match); + hideViewOptions(); + })); + + showSearchResults(); + + if (mSearchingProgress != null && mSearchingProgress.isShowing()) { + mSearchingProgress.dismiss(); + } + } + + public void appendApkLog(LogLine line) { + final var logFragment = bottomSheetTabAdapter.getLogFragment(); + if (logFragment != null) { + logFragment.appendLog(line); + } + } + + public void showDaemonStatus() { + ShellServer shell = getApp().newShell(t -> getDaemonStatusFragment().append(t)); + shell.bgAppend(String.format("echo '%s'", getString(R.string.msg_getting_daemom_status))); + shell.bgAppend( + String.format( + "cd '%s' && sh gradlew --status", + Objects.requireNonNull(ProjectManager.INSTANCE.getProjectDirPath()))); + if (!getDaemonStatusFragment().isShowing()) { + getDaemonStatusFragment().show(getSupportFragmentManager(), "daemon_status"); + } + } + + public TextSheetFragment getDaemonStatusFragment() { + return mDaemonStatusFragment == null + ? mDaemonStatusFragment = + new TextSheetFragment() + .setTextSelectable(true) + .setTitleText(R.string.gradle_daemon_status) + : mDaemonStatusFragment; + } + + public void showSearchResults() { + if (mEditorBottomSheet.getState() != BottomSheetBehavior.STATE_EXPANDED) { + mEditorBottomSheet.setState(BottomSheetBehavior.STATE_EXPANDED); } - @Override - public EditorActivity provideEditorActivity() { - return this; + final int index = bottomSheetTabAdapter.findIndexOfFragmentByClass(SearchResultFragment.class); + if (index >= 0 && index < mBinding.bottomSheet.tabs.getTabCount()) { + final var tab = mBinding.bottomSheet.tabs.getTabAt(index); + if (tab != null) { + tab.select(); + } } + } - public void handleSearchResults(Map> results) { - setSearchResultAdapter( - new com.itsaky.androidide.adapters.SearchListAdapter( - results, - file -> { - openFile(file); - hideViewOptions(); - }, - match -> { - openFileAndSelect(match.file, match); - hideViewOptions(); - })); + public void handleDiagnosticsResultVisibility(boolean errorVisible) { + runOnUiThread( + () -> { + final var diagnosticsFragment = bottomSheetTabAdapter.getDiagnosticsFragment(); + if (diagnosticsFragment != null) { + diagnosticsFragment.handleResultVisibility(errorVisible); + } + }); + } - showSearchResults(); + public void handleSearchResultVisibility(boolean errorVisible) { + runOnUiThread( + () -> { + final var searchResultFragment = bottomSheetTabAdapter.getSearchResultFragment(); + if (searchResultFragment != null) { + searchResultFragment.handleResultVisibility(errorVisible); + } + }); + } - if (mSearchingProgress != null && mSearchingProgress.isShowing()) { - mSearchingProgress.dismiss(); - } + public void showFirstBuildNotice() { + DialogUtils.newMaterialDialogBuilder(this) + .setPositiveButton(android.R.string.ok, null) + .setTitle(R.string.title_first_build) + .setMessage(R.string.msg_first_build) + .setCancelable(false) + .create() + .show(); + } + + @Override + public void onGroupClick(DiagnosticGroup group) { + if (group != null + && group.file != null + && group.file.exists() + && FileUtils.isUtf8(group.file)) { + openFile(group.file); + hideViewOptions(); } + } - public void appendApkLog(LogLine line) { - final var logFragment = bottomSheetTabAdapter.getLogFragment(); - if (logFragment != null) { - logFragment.appendLog(line); - } - } + @Override + public void onDiagnosticClick(File file, @NonNull DiagnosticItem diagnostic) { + openFileAndSelect(file, diagnostic.getRange()); + hideViewOptions(); + } - public void showDaemonStatus() { - ShellServer shell = getApp().newShell(t -> getDaemonStatusFragment().append(t)); - shell.bgAppend(String.format("echo '%s'", getString(R.string.msg_getting_daemom_status))); - shell.bgAppend( - String.format( - "cd '%s' && sh gradlew --status", - Objects.requireNonNull(ProjectManager.INSTANCE.getProjectDirPath()))); - if (!getDaemonStatusFragment().isShowing()) { - getDaemonStatusFragment().show(getSupportFragmentManager(), "daemon_status"); - } - } - - public TextSheetFragment getDaemonStatusFragment() { - return mDaemonStatusFragment == null - ? mDaemonStatusFragment = - new TextSheetFragment() - .setTextSelectable(true) - .setTitleText(R.string.gradle_daemon_status) - : mDaemonStatusFragment; - } - - public void showSearchResults() { - if (mEditorBottomSheet.getState() != BottomSheetBehavior.STATE_EXPANDED) { - mEditorBottomSheet.setState(BottomSheetBehavior.STATE_EXPANDED); - } - - final int index = - bottomSheetTabAdapter.findIndexOfFragmentByClass(SearchResultFragment.class); - if (index >= 0 && index < mBinding.bottomSheet.tabs.getTabCount()) { - final var tab = mBinding.bottomSheet.tabs.getTabAt(index); - if (tab != null) { - tab.select(); - } - } - } - - public void handleDiagnosticsResultVisibility(boolean errorVisible) { - runOnUiThread( - () -> { - final var diagnosticsFragment = bottomSheetTabAdapter.getDiagnosticsFragment(); - if (diagnosticsFragment != null) { - diagnosticsFragment.handleResultVisibility(errorVisible); - } - }); - } - - public void handleSearchResultVisibility(boolean errorVisible) { - runOnUiThread( - () -> { - final var searchResultFragment = - bottomSheetTabAdapter.getSearchResultFragment(); - if (searchResultFragment != null) { - searchResultFragment.handleResultVisibility(errorVisible); - } - }); - } - - public void showFirstBuildNotice() { - DialogUtils.newMaterialDialogBuilder(this) - .setPositiveButton(android.R.string.ok, null) - .setTitle(R.string.title_first_build) - .setMessage(R.string.msg_first_build) - .setCancelable(false) - .create() - .show(); - } - - @Override - public void onGroupClick(DiagnosticGroup group) { - if (group != null - && group.file != null - && group.file.exists() - && FileUtils.isUtf8(group.file)) { - openFile(group.file); - hideViewOptions(); - } - } - - @Override - public void onDiagnosticClick(File file, @NonNull DiagnosticItem diagnostic) { - openFileAndSelect(file, diagnostic.getRange()); - hideViewOptions(); - } - - public void openFileAndSelect(File file, Range selection) { - openFile(file, selection); - final var opened = getEditorForFile(file); - if (opened != null && opened.getEditor() != null) { - final var editor = opened.getEditor(); - final var range = editor.validateRange(selection); - editor.post( - () -> { - if (LSPUtils.isEqual(range.getStart(), range.getEnd())) { - editor.setSelection( - range.getStart().getLine(), range.getEnd().getColumn()); - } else { - editor.setSelection(range); - } - }); - } - } - - @Nullable - public CodeEditorView getEditorForFile(@NonNull final File file) { - for (int i = 0; i < mViewModel.getOpenedFileCount(); i++) { - final CodeEditorView editor = (CodeEditorView) mBinding.editorContainer.getChildAt(i); - if (file.equals(editor.getFile())) { - return editor; - } - } - - return null; - } - - @Override - public CodeEditorView openFile(File file) { - return openFile(file, null); - } - - public void hideViewOptions() { - if (mEditorBottomSheet.getState() != BottomSheetBehavior.STATE_COLLAPSED) { - mEditorBottomSheet.setState(BottomSheetBehavior.STATE_COLLAPSED); - } - } - - public CodeEditorView openFile(File file, com.itsaky.lsp.models.Range selection) { - if (selection == null) { - selection = com.itsaky.lsp.models.Range.NONE; - } - - int index = openFileAndGetIndex(file, selection); - final var tab = mBinding.tabs.getTabAt(index); - if (tab != null && index >= 0 && !tab.isSelected()) { - tab.select(); - } - - if (mBinding.editorDrawerLayout.isDrawerOpen(GravityCompat.END)) { - mBinding.editorDrawerLayout.closeDrawer(GravityCompat.END); - } - - mBinding.editorContainer.setDisplayedChild(index); - - try { - return getEditorAtIndex(index); - } catch (Throwable th) { - LOG.error("Unable to get editor fragment at opened file index", index); - LOG.error(th); - return null; - } - } - - @SuppressLint("NotifyDataSetChanged") - public int openFileAndGetIndex(File file, com.itsaky.lsp.models.Range selection) { - final var openedFileIndex = findIndexOfEditorByFile(file); - - if (openedFileIndex != -1) { - LOG.error("File is already opened. File: " + file); - return openedFileIndex; - } - - final var position = mViewModel.getOpenedFileCount(); - - LOG.info("Opening file at index:", position, "file: ", file); - - final var editor = new CodeEditorView(this, file, selection); - editor.getEditor().subscribeEvent(ContentChangeEvent.class, this::onEditorContentChanged); - editor.setLayoutParams( - new ViewGroup.LayoutParams( - ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); - - mBinding.editorContainer.addView(editor); - mBinding.editorContainer.setDisplayedChild(position); - mBinding.tabs.addTab(mBinding.tabs.newTab().setText(file.getName())); - - mViewModel.addFile(file); - mViewModel.setCurrentFile(position, file); - - return position; - } - - public int findIndexOfEditorByFile(File file) { - if (file == null) { - LOG.error("Cannot find index of a null file."); - return -1; - } - - for (int i = 0; i < mViewModel.getOpenedFileCount(); i++) { - final var opened = mViewModel.getOpenedFile(i); - if (opened.equals(file)) { - return i; - } - } - - return -1; - } - - private void onEditorContentChanged(ContentChangeEvent event, Unsubscribe unsubscribe) { - if (event.getAction() != ContentChangeEvent.ACTION_SET_NEW_TEXT) { - mViewModel.setFilesModified(true); - } - } - - @Override - public void showFileOptions(File thisFile, TreeNode node) { - mLastHeld = node; - getFileOptionsFragment(thisFile) - .show(getSupportFragmentManager(), TAG_FILE_OPTIONS_FRAGMENT); - } - - public OptionsListFragment getFileOptionsFragment(File file) { - mFileOptionsFragment = new OptionsListFragment(); - mFileOptionsFragment.addOption( - new SheetOption(0, R.drawable.ic_file_copy_path, R.string.copy_path, file)); - mFileOptionsFragment.addOption( - new SheetOption(1, R.drawable.ic_file_rename, R.string.rename_file, file)); - mFileOptionsFragment.addOption( - new SheetOption(2, R.drawable.ic_delete, R.string.delete_file, file)); - if (file.isDirectory()) { - mFileOptionsFragment.addOption( - new SheetOption(3, R.drawable.ic_new_file, R.string.new_file, file)); - mFileOptionsFragment.addOption( - new SheetOption(4, R.drawable.ic_new_folder, R.string.new_folder, file)); - } - - return mFileOptionsFragment; - } - - public ActivityEditorBinding getBinding() { - return mBinding; - } - - public LayoutDiagnosticInfoBinding getDiagnosticBinding() { - return mDiagnosticInfoBinding; - } - - @Override - public void onTabSelected(@NonNull TabLayout.Tab tab) { - final var position = tab.getPosition(); - mBinding.editorContainer.setDisplayedChild(position); - - final var editorView = getEditorAtIndex(position); - Objects.requireNonNull(editorView); - - editorView.onEditorSelected(); - mViewModel.setCurrentFile(position, editorView.getFile()); - refreshSymbolInput(editorView); - } - - @Override - public void onTabUnselected(@NonNull TabLayout.Tab tab) { - final var position = tab.getPosition(); - final var editorView = getEditorAtIndex(position); - if (editorView != null) { - final var editor = editorView.getEditor(); - if (editor != null) { - editor.ensureWindowsDismissed(); - } - } - } - - @Override - public void onTabReselected(@NonNull TabLayout.Tab tab) { - mTabCloseAction.show(tab.view); - } - - private void refreshSymbolInput(@NonNull CodeEditorView frag) { - symbolInput.bindEditor(frag.getEditor()); - symbolInput.setSymbols(Symbols.forFile(frag.getFile())); - } - - @Override - public boolean onNavigationItemSelected(@NonNull MenuItem p1) { - final int id = p1.getItemId(); - if (id == R.id.editornav_discuss) { - getApp().openTelegramGroup(); - } else if (id == R.id.editornav_suggest) { - getApp().openGitHub(); - } else if (id == R.id.editornav_needHelp) { - showNeedHelpDialog(); - } else if (id == R.id.editornav_settings) { - startActivity(new Intent(this, PreferencesActivity.class)); - } else if (id == R.id.editornav_share) { - startActivity(IntentUtils.getShareTextIntent(getString(R.string.msg_share_app))); - } else if (id == R.id.editornav_close_project) { - confirmProjectClose(); - } else if (id == R.id.editornav_terminal) { - openTerminal(); - } - mBinding.getRoot().closeDrawer(GravityCompat.START); - return false; - } - - public void loadFragment(Fragment fragment) { - super.loadFragment(fragment, mBinding.editorFrameLayout.getId()); - } - - public FileTreeFragment getFileTreeFragment() { - return mFileTreeFragment; - } - - public TreeNode getLastHoldTreeNode() { - return mLastHeld; - } - - public ProgressSheet getProgressSheet(int msg) { - if (mSearchingProgress != null && mSearchingProgress.isShowing()) { - mSearchingProgress.dismiss(); - } - mSearchingProgress = new ProgressSheet(); - mSearchingProgress.setCancelable(false); - mSearchingProgress.setWelcomeTextEnabled(false); - mSearchingProgress.setMessage(getString(msg)); - mSearchingProgress.setSubMessageEnabled(false); - return mSearchingProgress; - } - - public void setDiagnosticsAdapter(@NonNull final DiagnosticsAdapter adapter) { - runOnUiThread( - () -> { - final var diagnosticsFragment = bottomSheetTabAdapter.getDiagnosticsFragment(); - if (diagnosticsFragment != null) { - diagnosticsFragment.setAdapter(adapter); - } - }); - } - - public void setSearchResultAdapter(@NonNull final SearchListAdapter adapter) { - runOnUiThread( - () -> { - final var searchResultFragment = - bottomSheetTabAdapter.getSearchResultFragment(); - if (searchResultFragment != null) { - searchResultFragment.setAdapter(adapter); - } - }); - } - - @SuppressWarnings("UnusedReturnValue") - public boolean saveAll() { - return saveAll(true); - } - - public void closeFile(int index) { - if (index >= 0 && index < mViewModel.getOpenedFileCount()) { - var opened = mViewModel.getOpenedFile(index); - LOG.info("Closing file:", opened); - final var editor = getEditorAtIndex(index); - - if (editor != null && editor.isModified()) { - notifyFilesUnsaved(Collections.singletonList(editor), () -> closeFile(index)); - return; - } - - if (editor != null && editor.getEditor() != null) { - editor.getEditor().close(); + public void openFileAndSelect(File file, Range selection) { + openFile(file, selection); + final var opened = getEditorForFile(file); + if (opened != null && opened.getEditor() != null) { + final var editor = opened.getEditor(); + final var range = editor.validateRange(selection); + editor.post( + () -> { + if (LSPUtils.isEqual(range.getStart(), range.getEnd())) { + editor.setSelection(range.getStart().getLine(), range.getEnd().getColumn()); } else { - LOG.error("Cannot save file before close. Editor instance is null"); + editor.setSelection(range); } + }); + } + } - mViewModel.removeFile(index); - mBinding.tabs.removeTabAt(index); - mBinding.editorContainer.removeViewAt(index); + @Nullable + public CodeEditorView getEditorForFile(@NonNull final File file) { + for (int i = 0; i < mViewModel.getOpenedFileCount(); i++) { + final CodeEditorView editor = (CodeEditorView) mBinding.editorContainer.getChildAt(i); + if (file.equals(editor.getFile())) { + return editor; + } + } + + return null; + } + + @Override + public CodeEditorView openFile(File file) { + return openFile(file, null); + } + + public void hideViewOptions() { + if (mEditorBottomSheet.getState() != BottomSheetBehavior.STATE_COLLAPSED) { + mEditorBottomSheet.setState(BottomSheetBehavior.STATE_COLLAPSED); + } + } + + public CodeEditorView openFile(File file, com.itsaky.lsp.models.Range selection) { + if (selection == null) { + selection = com.itsaky.lsp.models.Range.NONE; + } + + int index = openFileAndGetIndex(file, selection); + final var tab = mBinding.tabs.getTabAt(index); + if (tab != null && index >= 0 && !tab.isSelected()) { + tab.select(); + } + + if (mBinding.editorDrawerLayout.isDrawerOpen(GravityCompat.END)) { + mBinding.editorDrawerLayout.closeDrawer(GravityCompat.END); + } + + mBinding.editorContainer.setDisplayedChild(index); + + try { + return getEditorAtIndex(index); + } catch (Throwable th) { + LOG.error("Unable to get editor fragment at opened file index", index); + LOG.error(th); + return null; + } + } + + @SuppressLint("NotifyDataSetChanged") + public int openFileAndGetIndex(File file, com.itsaky.lsp.models.Range selection) { + final var openedFileIndex = findIndexOfEditorByFile(file); + + if (openedFileIndex != -1) { + LOG.error("File is already opened. File: " + file); + return openedFileIndex; + } + + final var position = mViewModel.getOpenedFileCount(); + + LOG.info("Opening file at index:", position, "file: ", file); + + final var editor = new CodeEditorView(this, file, selection); + editor.getEditor().subscribeEvent(ContentChangeEvent.class, this::onEditorContentChanged); + editor.setLayoutParams( + new ViewGroup.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); + + mBinding.editorContainer.addView(editor); + mBinding.editorContainer.setDisplayedChild(position); + mBinding.tabs.addTab(mBinding.tabs.newTab().setText(file.getName())); + + mViewModel.addFile(file); + mViewModel.setCurrentFile(position, file); + + return position; + } + + public int findIndexOfEditorByFile(File file) { + if (file == null) { + LOG.error("Cannot find index of a null file."); + return -1; + } + + for (int i = 0; i < mViewModel.getOpenedFileCount(); i++) { + final var opened = mViewModel.getOpenedFile(i); + if (opened.equals(file)) { + return i; + } + } + + return -1; + } + + private void onEditorContentChanged(ContentChangeEvent event, Unsubscribe unsubscribe) { + if (event.getAction() != ContentChangeEvent.ACTION_SET_NEW_TEXT) { + mViewModel.setFilesModified(true); + } + } + + @Override + public void showFileOptions(File thisFile, TreeNode node) { + mLastHeld = node; + getFileOptionsFragment(thisFile).show(getSupportFragmentManager(), TAG_FILE_OPTIONS_FRAGMENT); + } + + public OptionsListFragment getFileOptionsFragment(File file) { + mFileOptionsFragment = new OptionsListFragment(); + mFileOptionsFragment.addOption( + new SheetOption(0, R.drawable.ic_file_copy_path, R.string.copy_path, file)); + mFileOptionsFragment.addOption( + new SheetOption(1, R.drawable.ic_file_rename, R.string.rename_file, file)); + mFileOptionsFragment.addOption( + new SheetOption(2, R.drawable.ic_delete, R.string.delete_file, file)); + if (file.isDirectory()) { + mFileOptionsFragment.addOption( + new SheetOption(3, R.drawable.ic_new_file, R.string.new_file, file)); + mFileOptionsFragment.addOption( + new SheetOption(4, R.drawable.ic_new_folder, R.string.new_folder, file)); + } + + return mFileOptionsFragment; + } + + public ActivityEditorBinding getBinding() { + return mBinding; + } + + public LayoutDiagnosticInfoBinding getDiagnosticBinding() { + return mDiagnosticInfoBinding; + } + + @Override + public void onTabSelected(@NonNull TabLayout.Tab tab) { + final var position = tab.getPosition(); + mBinding.editorContainer.setDisplayedChild(position); + + final var editorView = getEditorAtIndex(position); + Objects.requireNonNull(editorView); + + editorView.onEditorSelected(); + mViewModel.setCurrentFile(position, editorView.getFile()); + refreshSymbolInput(editorView); + } + + @Override + public void onTabUnselected(@NonNull TabLayout.Tab tab) { + final var position = tab.getPosition(); + final var editorView = getEditorAtIndex(position); + if (editorView != null) { + final var editor = editorView.getEditor(); + if (editor != null) { + editor.ensureWindowsDismissed(); + } + } + } + + @Override + public void onTabReselected(@NonNull TabLayout.Tab tab) { + mTabCloseAction.show(tab.view); + } + + private void refreshSymbolInput(@NonNull CodeEditorView frag) { + symbolInput.bindEditor(frag.getEditor()); + symbolInput.setSymbols(Symbols.forFile(frag.getFile())); + } + + @Override + public boolean onNavigationItemSelected(@NonNull MenuItem p1) { + final int id = p1.getItemId(); + if (id == R.id.editornav_discuss) { + getApp().openTelegramGroup(); + } else if (id == R.id.editornav_suggest) { + getApp().openGitHub(); + } else if (id == R.id.editornav_needHelp) { + showNeedHelpDialog(); + } else if (id == R.id.editornav_settings) { + startActivity(new Intent(this, PreferencesActivity.class)); + } else if (id == R.id.editornav_share) { + startActivity(IntentUtils.getShareTextIntent(getString(R.string.msg_share_app))); + } else if (id == R.id.editornav_close_project) { + confirmProjectClose(); + } else if (id == R.id.editornav_terminal) { + openTerminal(); + } + mBinding.getRoot().closeDrawer(GravityCompat.START); + return false; + } + + public void loadFragment(Fragment fragment) { + super.loadFragment(fragment, mBinding.editorFrameLayout.getId()); + } + + public FileTreeFragment getFileTreeFragment() { + return mFileTreeFragment; + } + + public TreeNode getLastHoldTreeNode() { + return mLastHeld; + } + + public ProgressSheet getProgressSheet(int msg) { + if (mSearchingProgress != null && mSearchingProgress.isShowing()) { + mSearchingProgress.dismiss(); + } + mSearchingProgress = new ProgressSheet(); + mSearchingProgress.setCancelable(false); + mSearchingProgress.setWelcomeTextEnabled(false); + mSearchingProgress.setMessage(getString(msg)); + mSearchingProgress.setSubMessageEnabled(false); + return mSearchingProgress; + } + + public void setDiagnosticsAdapter(@NonNull final DiagnosticsAdapter adapter) { + runOnUiThread( + () -> { + final var diagnosticsFragment = bottomSheetTabAdapter.getDiagnosticsFragment(); + if (diagnosticsFragment != null) { + diagnosticsFragment.setAdapter(adapter); + } + }); + } + + public void setSearchResultAdapter(@NonNull final SearchListAdapter adapter) { + runOnUiThread( + () -> { + final var searchResultFragment = bottomSheetTabAdapter.getSearchResultFragment(); + if (searchResultFragment != null) { + searchResultFragment.setAdapter(adapter); + } + }); + } + + @SuppressWarnings("UnusedReturnValue") + public boolean saveAll() { + return saveAll(true); + } + + public void closeFile(int index) { + if (index >= 0 && index < mViewModel.getOpenedFileCount()) { + var opened = mViewModel.getOpenedFile(index); + LOG.info("Closing file:", opened); + final var editor = getEditorAtIndex(index); + + if (editor != null && editor.isModified()) { + notifyFilesUnsaved(Collections.singletonList(editor), () -> closeFile(index)); + return; + } + + if (editor != null && editor.getEditor() != null) { + editor.getEditor().close(); + } else { + LOG.error("Cannot save file before close. Editor instance is null"); + } + + mViewModel.removeFile(index); + mBinding.tabs.removeTabAt(index); + mBinding.editorContainer.removeViewAt(index); + } else { + LOG.error("Invalid file index. Cannot close."); + return; + } + + mBinding.tabs.requestLayout(); + } + + public void closeAll() { + closeAll(null); + } + + /** + * Close all opened files. If all the files are saved successfully, then the provided {@link + * Runnable} will be called. + * + * @param onSaved The {@link Runnable} to run when all the files are saved. + */ + public void closeAll(Runnable onSaved) { + final var count = mViewModel.getOpenedFileCount(); + final var unsavedFiles = + mViewModel.getOpenedFiles().stream() + .map(this::getEditorForFile) + .filter(editor -> editor != null && editor.isModified()) + .collect(Collectors.toList()); + + if (unsavedFiles.isEmpty()) { + // Files were already saved, close all files one by one + for (int i = 0; i < count; i++) { + final var editor = getEditorAtIndex(i); + if (editor != null && editor.getEditor() != null) { + editor.getEditor().close(); } else { - LOG.error("Invalid file index. Cannot close."); - return; + LOG.error("Unable to close file at index:", i); } + } - mBinding.tabs.requestLayout(); + mViewModel.removeAllFiles(); + mBinding.tabs.removeAllTabs(); + mBinding.tabs.requestLayout(); + mBinding.editorContainer.removeAllViews(); + + if (onSaved != null) { + onSaved.run(); + } + } else { + // There are unsaved files + notifyFilesUnsaved(unsavedFiles, () -> closeAll(onSaved)); } + } - public void closeAll() { - closeAll(null); - } + public boolean areFilesModified() { + return mViewModel.areFilesModified(); + } - /** - * Close all opened files. If all the files are saved successfully, then the provided {@link - * Runnable} will be called. - * - * @param onSaved The {@link Runnable} to run when all the files are saved. - */ - public void closeAll(Runnable onSaved) { - final var count = mViewModel.getOpenedFileCount(); - final var unsavedFiles = - mViewModel.getOpenedFiles().stream() - .map(this::getEditorForFile) - .filter(editor -> editor != null && editor.isModified()) - .collect(Collectors.toList()); + public EditorViewModel getViewModel() { + return mViewModel; + } - if (unsavedFiles.isEmpty()) { - // Files were already saved, close all files one by one - for (int i = 0; i < count; i++) { - final var editor = getEditorAtIndex(i); - if (editor != null && editor.getEditor() != null) { - editor.getEditor().close(); - } else { - LOG.error("Unable to close file at index:", i); - } - } + public void closeOthers() { + final var unsavedFiles = + mViewModel.getOpenedFiles().stream() + .map(this::getEditorForFile) + .filter(editor -> editor != null && editor.isModified()) + .collect(Collectors.toList()); - mViewModel.removeAllFiles(); - mBinding.tabs.removeAllTabs(); - mBinding.tabs.requestLayout(); - mBinding.editorContainer.removeAllViews(); + if (unsavedFiles.isEmpty()) { + final var file = mViewModel.getCurrentFile(); + for (int i = 0; i < mViewModel.getOpenedFileCount(); i++) { + final var editor = getEditorAtIndex(i); - if (onSaved != null) { - onSaved.run(); - } + // Index of files changes as we keep close files + // So we compare the files instead of index + if (editor != null) { + if (!file.equals(editor.getFile())) { + closeFile(i); + } } else { - // There are unsaved files - notifyFilesUnsaved(unsavedFiles, () -> closeAll(onSaved)); + LOG.error("Unable to save file at index:", i); } + } + } else { + notifyFilesUnsaved(unsavedFiles, this::closeOthers); + } + } + + public void previewLayout() { + try { + + if (getCurrentEditor() == null || getCurrentEditor().getFile() == null) { + LOG.error("No file is opened. Cannot preview layout."); + return; + } + + saveAll(false); + + getResourceDirPaths() + .whenComplete( + (dirs, error) -> { + runOnUiThread( + () -> { + final Intent intent = new Intent(this, DesignerActivity.class); + intent.putExtra( + DesignerActivity.KEY_LAYOUT_PATH, + getCurrentEditor().getFile().getAbsolutePath()); + intent.putStringArrayListExtra(DesignerActivity.KEY_RES_DIRS, dirs); + LOG.info("Launching UI Designer..."); + mUIDesignerLauncher.launch(intent); + }); + }); + } catch (Throwable th) { + LOG.error(getString(R.string.err_cannot_preview_layout), th); + getApp().toast(R.string.msg_cannot_preview_layout, Toaster.Type.ERROR); + } + } + + public boolean saveAll(boolean notify) { + return saveAll(notify, false); + } + + @NonNull + private CompletableFuture> getResourceDirPaths() { + return getResourceDirs() + .thenApply( + files -> + files.stream() + .filter(Objects::nonNull) + .map(File::getAbsolutePath) + .collect(Collectors.toCollection(ArrayList::new))); + } + + public boolean saveAll(boolean notify, boolean canProcessResources) { + SaveResult result = saveAllResult(); + + if (notify) { + getApp().toast(R.string.all_saved, Toaster.Type.SUCCESS); } - public boolean areFilesModified() { - return mViewModel.areFilesModified(); + if (result.gradleSaved) { + notifySyncNeeded(); } - public EditorViewModel getViewModel() { - return mViewModel; + if (canProcessResources) { + ProjectManager.INSTANCE.generateSources(mBuildService); } - public void closeOthers() { - final var unsavedFiles = - mViewModel.getOpenedFiles().stream() - .map(this::getEditorForFile) - .filter(editor -> editor != null && editor.isModified()) - .collect(Collectors.toList()); + return result.gradleSaved; + } - if (unsavedFiles.isEmpty()) { - final var file = mViewModel.getCurrentFile(); - for (int i = 0; i < mViewModel.getOpenedFileCount(); i++) { - final var editor = getEditorAtIndex(i); + private CompletableFuture> getResourceDirs() { + return ProjectManager.INSTANCE.getApplicationResDirectories(); + } - // Index of files changes as we keep close files - // So we compare the files instead of index - if (editor != null) { - if (!file.equals(editor.getFile())) { - closeFile(i); - } - } else { - LOG.error("Unable to save file at index:", i); - } - } - } else { - notifyFilesUnsaved(unsavedFiles, this::closeOthers); - } + public SaveResult saveAllResult() { + SaveResult result = new SaveResult(); + for (int i = 0; i < mViewModel.getOpenedFileCount(); i++) { + saveResult(i, result); } - public void previewLayout() { - try { + return result; + } - if (getCurrentEditor() == null || getCurrentEditor().getFile() == null) { - LOG.error("No file is opened. Cannot preview layout."); - return; - } + public void notifySyncNeeded() { + if (mBuildService != null && !mBuildService.isBuildInProgress()) { + getSyncBanner() + .setNegative(android.R.string.cancel, null) + .setPositive(android.R.string.ok, v -> initializeProject()) + .show(); + } + } - saveAll(false); + public void saveResult(int index, SaveResult result) { + if (index >= 0 && index < mViewModel.getOpenedFileCount()) { + var frag = getEditorAtIndex(index); + if (frag == null || frag.getFile() == null) { + return; + } - final Intent intent = new Intent(this, DesignerActivity.class); - intent.putExtra( - DesignerActivity.KEY_LAYOUT_PATH, - getCurrentEditor().getFile().getAbsolutePath()); - intent.putStringArrayListExtra( - DesignerActivity.KEY_RES_DIRS, (ArrayList) getResourceDirectories()); - LOG.info("Launching UI Designer..."); - mUIDesignerLauncher.launch(intent); - } catch (Throwable th) { - LOG.error(getString(R.string.err_cannot_preview_layout), th); - getApp().toast(R.string.msg_cannot_preview_layout, Toaster.Type.ERROR); - } + // Must be called before frag.save() + // Otherwise, it'll always return false + final boolean modified = frag.isModified(); + + frag.save(); + + final boolean isGradle = frag.getFile().getName().endsWith(".gradle"); + final boolean isXml = frag.getFile().getName().endsWith(".xml"); + + if (!result.gradleSaved) { + result.gradleSaved = modified && isGradle; + } + + if (!result.xmlSaved) { + result.xmlSaved = modified && isXml; + } } - public boolean saveAll(boolean notify) { - return saveAll(notify, false); + var modified = false; + for (var file : mViewModel.getOpenedFiles()) { + var editor = getEditorForFile(file); + if (editor == null) { + continue; + } + modified = modified || editor.isModified(); } - @NonNull - private List getResourceDirectories() { - final var dirs = ProjectManager.INSTANCE.getApplicationResDirectories(); - if (dirs == null) { - return Collections.emptyList(); - } + final boolean finalModified = modified; + ThreadUtils.runOnUiThread(() -> mViewModel.setFilesModified(finalModified)); + } - return dirs.stream().map(File::getAbsolutePath).collect(Collectors.toList()); + public MaterialBanner getSyncBanner() { + return mBinding + .syncBanner + .setContentTextColor(ContextCompat.getColor(this, R.color.primaryTextColor)) + .setBannerBackgroundColor(ContextCompat.getColor(this, R.color.primaryLightColor)) + .setButtonTextColor(ContextCompat.getColor(this, R.color.secondaryColor)) + .setIcon(R.drawable.ic_sync) + .setContentText(R.string.msg_sync_needed); + } + + private void initializeProject() { + final var projectPath = ProjectManager.INSTANCE.getProjectDirPath(); + if (projectPath == null) { + LOG.error("Cannot initialize project. Project model is null."); + return; } - public boolean saveAll(boolean notify, boolean canProcessResources) { - SaveResult result = saveAllResult(); - - if (notify) { - getApp().toast(R.string.all_saved, Toaster.Type.SUCCESS); - } - - if (result.gradleSaved) { - notifySyncNeeded(); - } - - if (canProcessResources) { - ProjectManager.INSTANCE.generateSources(mBuildService); - } - - return result.gradleSaved; + final var projectDir = new File(projectPath); + if (!projectDir.exists()) { + LOG.error("Project directory does not exist. Cannot initialize project"); + return; } - public SaveResult saveAllResult() { - SaveResult result = new SaveResult(); - for (int i = 0; i < mViewModel.getOpenedFileCount(); i++) { - saveResult(i, result); - } + ThreadUtils.runOnUiThread( + () -> { + setStatus(getString(R.string.msg_initializing_project)); + mBinding.buildProgressIndicator.setVisibility(View.VISIBLE); + }); - return result; - } - - public void notifySyncNeeded() { - if (mBuildService != null && !mBuildService.isBuildInProgress()) { - getSyncBanner() - .setNegative(android.R.string.cancel, null) - .setPositive(android.R.string.ok, v -> initializeProject()) - .show(); - } - } - - public void saveResult(int index, SaveResult result) { - if (index >= 0 && index < mViewModel.getOpenedFileCount()) { - var frag = getEditorAtIndex(index); - if (frag == null || frag.getFile() == null) { - return; - } - - // Must be called before frag.save() - // Otherwise, it'll always return false - final boolean modified = frag.isModified(); - - frag.save(); - - final boolean isGradle = frag.getFile().getName().endsWith(".gradle"); - final boolean isXml = frag.getFile().getName().endsWith(".xml"); - - if (!result.gradleSaved) { - result.gradleSaved = modified && isGradle; - } - - if (!result.xmlSaved) { - result.xmlSaved = modified && isXml; - } - } - - var modified = false; - for (var file : mViewModel.getOpenedFiles()) { - var editor = getEditorForFile(file); - if (editor == null) { - continue; - } - modified = modified || editor.isModified(); - } - - final boolean finalModified = modified; - ThreadUtils.runOnUiThread(() -> mViewModel.setFilesModified(finalModified)); - } - - public MaterialBanner getSyncBanner() { - return mBinding.syncBanner - .setContentTextColor(ContextCompat.getColor(this, R.color.primaryTextColor)) - .setBannerBackgroundColor(ContextCompat.getColor(this, R.color.primaryLightColor)) - .setButtonTextColor(ContextCompat.getColor(this, R.color.secondaryColor)) - .setIcon(R.drawable.ic_sync) - .setContentText(R.string.msg_sync_needed); - } - - private void initializeProject() { - final var projectPath = ProjectManager.INSTANCE.getProjectDirPath(); - if (projectPath == null) { - LOG.error("Cannot initialize project. Project model is null."); + final var future = mBuildService.initializeProject(projectDir.getAbsolutePath()); + future.whenComplete( + (result, error) -> { + final var root = result == null ? null : result.getProject(); + if (result == null || root == null || error != null) { + LOG.error("An error occurred initializing the project with Tooling API", error); + setStatus(getString(R.string.msg_project_initialization_failed)); return; - } + } - final var projectDir = new File(projectPath); - if (!projectDir.exists()) { - LOG.error("Project directory does not exist. Cannot initialize project"); - return; - } + onProjectInitialized(root); + }); + } - ThreadUtils.runOnUiThread( - () -> { - setStatus(getString(R.string.msg_initializing_project)); - mBinding.buildProgressIndicator.setVisibility(View.VISIBLE); - }); + public void setStatus(final CharSequence text) { + setStatus(text, Gravity.CENTER); + } - final var future = mBuildService.initializeProject(projectDir.getAbsolutePath()); + protected void onProjectInitialized(IdeGradleProject root) { + ProjectManager.INSTANCE.setRootProject(root); + ProjectManager.INSTANCE.notifyProjectUpdate(); + ThreadUtils.runOnUiThread( + () -> { + setStatus(getString(R.string.msg_project_initialized)); + mBinding.buildProgressIndicator.setVisibility(View.GONE); + if (mFindInProjectDialog != null && mFindInProjectDialog.isShowing()) { + mFindInProjectDialog.dismiss(); + } + + mFindInProjectDialog = null; // Create the dialog again if needed + }); + } + + public void setStatus(final CharSequence text, @GravityInt int gravity) { + try { + runOnUiThread( + () -> { + mBinding.bottomSheet.statusText.setGravity(gravity); + mBinding.bottomSheet.statusText.setText(text); + }); + } catch (Throwable th) { + LOG.error("Failed to update status text", th); + } + } + + public void assembleDebug(boolean installApk) { + execTasks(installApk ? installableTaskResultConsumer("debug") : null, "assembleDebug"); + } + + @SuppressWarnings("UnusedReturnValue") + @NonNull + public CompletableFuture execTasks( + Consumer resultHandler, String... tasks) { + ThreadUtils.runOnUiThread( + () -> appendBuildOut("Executing tasks: " + TextUtils.join(", ", tasks))); + return mBuildService + .executeTasks(tasks) + .whenComplete( + ((executionResult, throwable) -> { + if (executionResult == null || throwable != null) { + LOG.error("Tasks failed to execute", TextUtils.join(", ", tasks)); + } + + if (resultHandler != null) { + resultHandler.accept(executionResult); + } + })); + } + + public Consumer installableTaskResultConsumer(@NonNull String variantName) { + return task -> { + if (task != null) { + LOG.debug("Installing APK(s) for variant:", variantName); + // TODO Handle multiple application modules + final var future = ProjectManager.INSTANCE.getApplicationModule(); future.whenComplete( - (result, error) -> { - final var root = result == null ? null : result.getProject(); - if (result == null || root == null || error != null) { - LOG.error( - "An error occurred initializing the project with Tooling API", - error); - setStatus(getString(R.string.msg_project_initialization_failed)); - return; - } + (app, error) -> { + if (app == null) { + return; + } - onProjectInitialized(root); - }); - } + final var variants = app.getVariants(); + final var foundVariant = + variants.stream() + .filter(variant -> variant.getName().equals(variantName)) + .findFirst(); - public void setStatus(final CharSequence text) { - setStatus(text, Gravity.CENTER); - } - - protected void onProjectInitialized(IdeGradleProject root) { - mRootProject = root; - ProjectManager.INSTANCE.setRootProject(mRootProject); - ProjectManager.INSTANCE.notifyProjectUpdate(); - ThreadUtils.runOnUiThread( - () -> { - setStatus(getString(R.string.msg_project_initialized)); - mBinding.buildProgressIndicator.setVisibility(View.GONE); - if (mFindInProjectDialog != null && mFindInProjectDialog.isShowing()) { - mFindInProjectDialog.dismiss(); - } - - mFindInProjectDialog = null; // Create the dialog again if needed - }); - } - - public void setStatus(final CharSequence text, @GravityInt int gravity) { - try { - runOnUiThread( - () -> { - mBinding.bottomSheet.statusText.setGravity(gravity); - mBinding.bottomSheet.statusText.setText(text); - }); - } catch (Throwable th) { - LOG.error("Failed to update status text", th); - } - } - - public void assembleDebug(boolean installApk) { - execTasks(installApk ? installableTaskResultConsumer("debug") : null, "assembleDebug"); - } - - @SuppressWarnings("UnusedReturnValue") - @NonNull - public CompletableFuture execTasks( - Consumer resultHandler, String... tasks) { - ThreadUtils.runOnUiThread( - () -> appendBuildOut("Executing tasks: " + TextUtils.join(", ", tasks))); - return mBuildService - .executeTasks(tasks) - .whenComplete( - ((executionResult, throwable) -> { - if (executionResult == null || throwable != null) { - LOG.error("Tasks failed to execute", TextUtils.join(", ", tasks)); - } - - if (resultHandler != null) { - resultHandler.accept(executionResult); - } - })); - } - - public Consumer installableTaskResultConsumer( - @NonNull String variantName) { - return task -> { - if (task != null) { - LOG.debug("Installing APK(s) for variant:", variantName); - // TODO Handle multiple application modules - final var app = mRootProject.findFirstAndroidModule(); - if (app == null) { - LOG.error("No application module found in root project. Cannot install APKs"); - return; + if (foundVariant.isPresent()) { + final var variant = foundVariant.get(); + final var main = variant.getMainArtifact(); + final var outputListingFile = main.getAssembleTaskOutputListingFile(); + if (outputListingFile == null) { + LOG.error("No output listing file provided with project model"); + return; } - final var variants = app.getVariants(); - final var foundVariant = - variants.stream() - .filter(variant -> variant.getName().equals(variantName)) - .findFirst(); - - if (foundVariant.isPresent()) { - final var variant = foundVariant.get(); - final var main = variant.getMainArtifact(); - final var outputListingFile = main.getAssembleTaskOutputListingFile(); - if (outputListingFile == null) { - LOG.error("No output listing file provided with project model"); - return; - } - - final var apkFile = ApkMetadata.findApkFile(outputListingFile); - if (apkFile == null) { - LOG.error( - "No apk file specified in output listing file:", outputListingFile); - return; - } - - if (!apkFile.exists()) { - LOG.error( - "APK file specified in output listing file does not exist!", - apkFile); - return; - } - - install(apkFile); - } else { - LOG.error( - "No", - variantName, - "variant found in application module", - app.getProjectPath()); + final var apkFile = ApkMetadata.findApkFile(outputListingFile); + if (apkFile == null) { + LOG.error("No apk file specified in output listing file:", outputListingFile); + return; } - } - }; + + if (!apkFile.exists()) { + LOG.error("APK file specified in output listing file does not exist!", apkFile); + return; + } + + install(apkFile); + } else { + LOG.error( + "No", variantName, "variant found in application module", app.getProjectPath()); + } + }); + } + }; + } + + public void appendBuildOut(final String str) { + final var frag = bottomSheetTabAdapter.getBuildOutputFragment(); + + if (frag != null) { + frag.appendOutput(str); } - - public void appendBuildOut(final String str) { - final var frag = bottomSheetTabAdapter.getBuildOutputFragment(); - - if (frag != null) { - frag.appendOutput(str); - } - } - - public void install(@NonNull File apk) { - ThreadUtils.runOnUiThread( - () -> { - LOG.debug("Installing APK:", apk); - if (apk.exists()) { - Intent i = IntentUtils.getInstallAppIntent(apk); - if (i != null) { - startActivity(i); - } else { - getApp().toast( - R.string.msg_apk_install_intent_failed, - Toaster.Type.ERROR); - } - } else { - LOG.error("APK file does not exist!"); - } - }); - } - - public void assembleRelease() { - execTasks(null, "assembleRelease"); - } - - public void build() { - execTasks(null, "build"); - } - - public void clean() { - execTasks(null, "clean"); - } - - public void bundle() { - execTasks(null, "bundle"); - } - - public void lint() { - execTasks(null, "lint"); - } - - public void lintDebug() { - execTasks(null, "lintDebug"); - } - - public void lintRelease() { - execTasks(null, "lintRelease"); - } - - public void cleanAndRebuild() { - execTasks(null, "clean", "build"); - } - - ///////////////////////////////////////////////// - ////////////// PRIVATE APIS ///////////////////// - ///////////////////////////////////////////////// - - public AlertDialog getFindInProjectDialog() { - return mFindInProjectDialog == null ? createFindInProjectDialog() : mFindInProjectDialog; - } - - @Override - public void onOptionsClick(SheetOption option) { - if (mFileOptionsHandler != null) { - mFileOptionsHandler.onOptionsClick(option); - } - } - - public GradleBuildService getBuildService() { - return mBuildService; - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - setSupportActionBar(mBinding.editorToolbar); - - mViewModel = new ViewModelProvider(this).get(EditorViewModel.class); - getProjectFromIntent(); - - mFileTreeFragment = FileTreeFragment.newInstance(); - mDaemonStatusFragment = new TextSheetFragment().setTextSelectable(true); - - setupDrawerToggle(); - loadFragment(mFileTreeFragment); - - symbolInput = new SymbolInputView(this); - mBinding.bottomSheet.textContainer.addView( - symbolInput, 0, new ViewGroup.LayoutParams(-1, -2)); - mBinding.tabs.addOnTabSelectedListener(this); - - setupEditorBottomSheet(); - createQuickActions(); - - mBuildEventListener.setActivity(this); - mFileOptionsHandler = new FileOptionsHandler(this); - - startServices(); - - KeyboardUtils.registerSoftInputChangedListener(this, __ -> onSoftInputChanged()); - registerLogReceiver(); - setupContainers(); - setupDiagnosticInfo(); - - mUIDesignerLauncher = - registerForActivityResult( - new ActivityResultContracts.StartActivityForResult(), - this::onGetUIDesignerResult); - - EditorActivityActions.register(this); - } - - @Override - protected View bindLayout() { - mBinding = ActivityEditorBinding.inflate(getLayoutInflater()); - mDiagnosticInfoBinding = mBinding.diagnosticInfo; - return mBinding.getRoot(); - } - - @Override - protected void onPause() { - super.onPause(); - dispatchOnPauseToEditors(); - EditorActivityActions.clear(); - - if (mFileTreeFragment != null) { - mFileTreeFragment.saveTreeState(); - } - } - - @Override - protected void onResume() { - super.onResume(); - - EditorActivityActions.register(this); - - try { - checkForCompilerModule(); - dispatchOnResumeToEditors(); - - if (mFileTreeFragment != null) { - mFileTreeFragment.listProjectFiles(); - } - } catch (Throwable th) { - LOG.error("Failed to update files list", th); - getApp().toast(R.string.msg_failed_list_files, Toaster.Type.ERROR); - } - } - - @SuppressWarnings("deprecation") - private void checkForCompilerModule() { - if (!Environment.isCompilerModuleInstalled()) { - final var pd = - ProgressDialog.show( - this, - getString(R.string.title_compiler_module_install), - getString(R.string.msg_compiler_module_install), - true, - false); - - final CompletableFuture future = - CompletableFuture.supplyAsync( - () -> { - final var tmpModule = - new File(Environment.TMP_DIR, "compiler-module.zip"); - if (!ResourceUtils.copyFileFromAssets( - ToolsManager.getCommonAsset("compiler-module.zip"), - tmpModule.getAbsolutePath())) { - throw new CompletionException( - new RuntimeException( - "Unable to copy compiler-module.zip")); - } - - try { - ZipUtils.unzipFile(tmpModule, Environment.COMPILER_MODULE); - } catch (Throwable e) { - throw new CompletionException(e); - } - - if (!Environment.isCompilerModuleInstalled()) { - throw new CompletionException( - new RuntimeException("Unknown error")); - } - - try { - FileUtils.delete(tmpModule); - } catch (Exception e) { - // ignored - } - - return true; - }); - - future.whenComplete( - (result, error) -> { - pd.dismiss(); - - if (error != null) { - showCompilerModuleInstallError(error); - return; - } - - getApp().toast( - getString(R.string.msg_compiler_module_installed), - Toaster.Type.SUCCESS); - }); - } - } - - private void dispatchOnResumeToEditors() { - CompletableFuture.runAsync( - () -> { - for (int i = 0; i < mViewModel.getOpenedFileCount(); i++) { - final var editor = getEditorAtIndex(i); - if (editor != null) { - editor.onResume(); - } - } - }); - } - - private void showCompilerModuleInstallError(Throwable error) { - final var stacktrace = ThrowableUtils.getFullStackTrace(error); - final var builder = DialogUtils.newMaterialDialogBuilder(this); - builder.setTitle(R.string.title_installation_failed); - builder.setMessage(getString(R.string.msg_compiler_module_install_failed, stacktrace)); - builder.setCancelable(false); - builder.setPositiveButton(android.R.string.ok, (dialog, which) -> dialog.dismiss()); - builder.setNegativeButton( - R.string.copy, - (dialog, which) -> { - ClipboardUtils.copyText(stacktrace); - dialog.dismiss(); - }); - builder.show(); - } - - private void dispatchOnPauseToEditors() { - CompletableFuture.runAsync( - () -> { - for (int i = 0; i < mViewModel.getOpenedFileCount(); i++) { - final var editor = getEditorAtIndex(i); - if (editor != null) { - editor.onPause(); - } - } - }); - } - - @Override - protected void onDestroy() { - closeProject(false); - try { - unregisterReceiver(mLogReceiver); - } catch (Throwable th) { - LOG.error("Failed to unregister LogReceiver", th); - } - unbindService(mGradleServiceConnection); - super.onDestroy(); - } - - private void setupDrawerToggle() { - ActionBarDrawerToggle toggle = - new ActionBarDrawerToggle( - this, - mBinding.editorDrawerLayout, - mBinding.editorToolbar, - R.string.app_name, - R.string.app_name); - mBinding.editorDrawerLayout.addDrawerListener(toggle); - mBinding.startNav.setNavigationItemSelectedListener(this); - toggle.syncState(); - } - - private void setupEditorBottomSheet() { - bottomSheetTabAdapter = new EditorBottomSheetTabAdapter(this); - mBinding.bottomSheet.pager.setAdapter(bottomSheetTabAdapter); - - final var mediator = - new TabLayoutMediator( - mBinding.bottomSheet.tabs, - mBinding.bottomSheet.pager, - true, - true, - (tab, position) -> tab.setText(bottomSheetTabAdapter.getTitle(position))); - - mediator.attach(); - mBinding.bottomSheet.pager.setUserInputEnabled(false); - mBinding.bottomSheet.pager.setOffscreenPageLimit( - bottomSheetTabAdapter.getItemCount() - 1); // DO not remove any views - - mEditorBottomSheet = - (EditorBottomSheetBehavior) - EditorBottomSheetBehavior.from(mBinding.bottomSheet.getRoot()); - mEditorBottomSheet.setBinding(mBinding.bottomSheet); - mEditorBottomSheet.addBottomSheetCallback( - new BottomSheetBehavior.BottomSheetCallback() { - @Override - public void onStateChanged(@NonNull View bottomSheet, int newState) { - mBinding.bottomSheet.textContainer.setVisibility( - newState == BottomSheetBehavior.STATE_EXPANDED - ? View.INVISIBLE - : View.VISIBLE); - - if (newState == BottomSheetBehavior.STATE_EXPANDED) { - final var editor = getCurrentEditor(); - if (editor != null && editor.getEditor() != null) { - editor.getEditor().ensureWindowsDismissed(); - } - } - } - - @Override - public void onSlide(@NonNull View bottomSheet, float slideOffset) { - mBinding.bottomSheet.textContainer.setAlpha(1f - slideOffset); - } - }); - - mBinding.bottomSheet.tabs.addOnTabSelectedListener( - new TabLayout.OnTabSelectedListener() { - - @Override - public void onTabSelected(TabLayout.Tab tab) { - final var fragment = - bottomSheetTabAdapter.getFragmentAtIndex(tab.getPosition()); - if (fragment instanceof NonEditableEditorFragment) { - mBinding.bottomSheet.clearFab.show(); - mBinding.bottomSheet.shareOutputFab.show(); - } else { - mBinding.bottomSheet.clearFab.hide(); - mBinding.bottomSheet.shareOutputFab.hide(); - } - } - - @Override - public void onTabUnselected(TabLayout.Tab tab) {} - - @Override - public void onTabReselected(TabLayout.Tab tab) {} - }); - - TooltipCompat.setTooltipText( - mBinding.bottomSheet.clearFab, getString(R.string.title_clear_output)); - mBinding.bottomSheet.clearFab.setOnClickListener( - v -> { - final var fragment = - bottomSheetTabAdapter.getFragmentAtIndex( - mBinding.bottomSheet.tabs.getSelectedTabPosition()); - if (fragment instanceof NonEditableEditorFragment) { - final var editor = (NonEditableEditorFragment) fragment; - if (editor.getEditor() != null) { - editor.getEditor().setText(""); - } - } - }); - - mBinding.bottomSheet.shareOutputFab.setOnClickListener( - v -> { - final var fragment = - bottomSheetTabAdapter.getFragmentAtIndex( - mBinding.bottomSheet.tabs.getSelectedTabPosition()); - if (fragment instanceof NonEditableEditorFragment) { - final var editor = (NonEditableEditorFragment) fragment; - if (editor.getEditor() != null) { - final var text = editor.getEditor().getText(); - final var type = - editor instanceof SimpleOutputFragment - ? "build_output" - : editor instanceof IDELogFragment - ? "ide_logs" - : editor instanceof LogViewFragment - ? "app_logs" - : "unknown_type"; - shareText(text, type); - } - } - }); - - if (!getApp().getPrefManager().getBoolean(KEY_BOTTOM_SHEET_SHOWN) - && mEditorBottomSheet.getState() != BottomSheetBehavior.STATE_EXPANDED) { - mEditorBottomSheet.setState(BottomSheetBehavior.STATE_EXPANDED); - new Handler(Looper.getMainLooper()) - .postDelayed( - () -> { - mEditorBottomSheet.setState(BottomSheetBehavior.STATE_COLLAPSED); - getApp().getPrefManager().putBoolean(KEY_BOTTOM_SHEET_SHOWN, true); - }, - 1500); - } - } - - @SuppressWarnings("deprecation") - private void shareText(CharSequence text, String type) { - final var pd = - ProgressDialog.show(this, null, getString(R.string.please_wait), true, false); - CompletableFuture.supplyAsync(() -> writeTempFile(text, type)) - .whenComplete( - (result, error) -> { - ThreadUtils.runOnUiThread(pd::dismiss); - if (result == null || error != null) { - LOG.warn("Unable to share output", error); - return; - } - - ThreadUtils.runOnUiThread( - () -> { - shareFile(result); - }); - }); - } - - private void shareFile(File file) { - final var uri = - FileProvider.getUriForFile( - this, BuildConfig.APPLICATION_ID + ".utilcode.fileprovider", file); - final var intent = new Intent(Intent.ACTION_SEND); - intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); - intent.setType("text/plain"); - intent.putExtra(Intent.EXTRA_STREAM, uri); - - startActivity(Intent.createChooser(intent, null)); - } - - @NonNull - private File writeTempFile(CharSequence text, String type) { - final var in = new CharSequenceInputStream(text, StandardCharsets.UTF_8); - final var file = new File(getFilesDir(), type + ".txt"); // use a common name to avoid multiple files - if (!FileIOUtils.writeFileFromIS(file, in)) { - LOG.error("Unable to write output of type", type, "to temporary file", file); - throw new RuntimeException(new IOException("Cannot write output to temp file")); - } - - return file; - } - - private void notifyFilesUnsaved(List unsavedEditors, Runnable invokeAfter) { - //noinspection ConstantConditions - final var mapped = - unsavedEditors.stream() - .map(CodeEditorView::getFile) - .filter(Objects::nonNull) - .map(File::getAbsolutePath) - .collect(Collectors.toList()); - final var builder = - DialogUtils.newYesNoDialog( - this, - getString(R.string.title_files_unsaved), // title - getString( - R.string.msg_files_unsaved, - TextUtils.join("\n", mapped)), // message - (dialog, which) -> { // 'yes' click - dialog.dismiss(); - saveAll(true); - invokeAfter.run(); - }, - (dialog, which) -> { // 'no' click - dialog.dismiss(); - // Mark all the files as saved, then try to close them all - for (var editor : unsavedEditors) { - editor.markAsSaved(); - } - - invokeAfter.run(); - }); - builder.show(); - } - - @Contract(pure = true) - private void onGetUIDesignerResult(@NonNull ActivityResult result) { - final var index = mBinding.editorContainer.getDisplayedChild(); - final var editor = getEditorAtIndex(index); - if (editor != null && result.getResultCode() == RESULT_OK) { - final var data = result.getData(); - if (data != null && data.hasExtra(DesignerActivity.KEY_GENERATED_CODE)) { - final var code = data.getStringExtra(DesignerActivity.KEY_GENERATED_CODE); - editor.getEditor().setText(code); - saveAll(); + } + + public void install(@NonNull File apk) { + ThreadUtils.runOnUiThread( + () -> { + LOG.debug("Installing APK:", apk); + if (apk.exists()) { + Intent i = IntentUtils.getInstallAppIntent(apk); + if (i != null) { + startActivity(i); } else { - final var msg = getString(R.string.msg_invalid_designer_result); - getApp().toast(msg, Toaster.Type.ERROR); - LOG.error(msg, "Data returned by UI Designer is null or is invalid."); + getApp().toast(R.string.msg_apk_install_intent_failed, Toaster.Type.ERROR); } - } else { - LOG.error( - "UI Designer returned an invalid result code.", - "Result code: " + result.getResultCode()); - } + } else { + LOG.error("APK file does not exist!"); + } + }); + } + + public void assembleRelease() { + execTasks(null, "assembleRelease"); + } + + public void build() { + execTasks(null, "build"); + } + + public void clean() { + execTasks(null, "clean"); + } + + public void bundle() { + execTasks(null, "bundle"); + } + + public void lint() { + execTasks(null, "lint"); + } + + public void lintDebug() { + execTasks(null, "lintDebug"); + } + + public void lintRelease() { + execTasks(null, "lintRelease"); + } + + public void cleanAndRebuild() { + execTasks(null, "clean", "build"); + } + + ///////////////////////////////////////////////// + ////////////// PRIVATE APIS ///////////////////// + ///////////////////////////////////////////////// + + public AlertDialog getFindInProjectDialog() { + return mFindInProjectDialog == null + ? createFindInProjectDialog() + : mFindInProjectDialog; + } + + @Override + public void onOptionsClick(SheetOption option) { + if (mFileOptionsHandler != null) { + mFileOptionsHandler.onOptionsClick(option); } + } - private void openTerminal() { - final Intent intent = new Intent(this, TerminalActivity.class); - intent.putExtra( - TerminalActivity.KEY_WORKING_DIRECTORY, - Objects.requireNonNull(ProjectManager.INSTANCE.getProjectDirPath())); - startActivity(intent); + public GradleBuildService getBuildService() { + return mBuildService; + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + setSupportActionBar(mBinding.editorToolbar); + + mViewModel = new ViewModelProvider(this).get(EditorViewModel.class); + getProjectFromIntent(); + + mFileTreeFragment = FileTreeFragment.newInstance(); + mDaemonStatusFragment = new TextSheetFragment().setTextSelectable(true); + + setupDrawerToggle(); + loadFragment(mFileTreeFragment); + + symbolInput = new SymbolInputView(this); + mBinding.bottomSheet.textContainer.addView(symbolInput, 0, new ViewGroup.LayoutParams(-1, -2)); + mBinding.tabs.addOnTabSelectedListener(this); + + setupEditorBottomSheet(); + createQuickActions(); + + mBuildEventListener.setActivity(this); + mFileOptionsHandler = new FileOptionsHandler(this); + + startServices(); + + KeyboardUtils.registerSoftInputChangedListener(this, __ -> onSoftInputChanged()); + registerLogReceiver(); + setupContainers(); + setupDiagnosticInfo(); + + mUIDesignerLauncher = + registerForActivityResult( + new ActivityResultContracts.StartActivityForResult(), this::onGetUIDesignerResult); + + EditorActivityActions.register(this); + } + + @Override + protected View bindLayout() { + mBinding = ActivityEditorBinding.inflate(getLayoutInflater()); + mDiagnosticInfoBinding = mBinding.diagnosticInfo; + return mBinding.getRoot(); + } + + @Override + protected void onPause() { + super.onPause(); + dispatchOnPauseToEditors(); + EditorActivityActions.clear(); + + if (mFileTreeFragment != null) { + mFileTreeFragment.saveTreeState(); } + } - private void getProjectFromIntent() { - final var project = getIntent().getStringExtra(EXTRA_PROJECT_PATH); - ProjectManager.INSTANCE.setProjectPath(project); + @Override + protected void onResume() { + super.onResume(); - getApp().getPrefManager() - .setOpenedProject( - Objects.requireNonNull(ProjectManager.INSTANCE.getProjectDirPath())); + EditorActivityActions.register(this); - try { - //noinspection ConstantConditions - getSupportActionBar() - .setSubtitle(new File(ProjectManager.INSTANCE.getProjectDirPath()).getName()); - } catch (Throwable th) { - // ignored - } + try { + checkForCompilerModule(); + dispatchOnResumeToEditors(); - CompletableFuture.runAsync( - () -> - ValuesTableFactory.setupWithResDirectories( - getResourceDirectories().stream() - .map(File::new) - .toArray(File[]::new))); + if (mFileTreeFragment != null) { + mFileTreeFragment.listProjectFiles(); + } + } catch (Throwable th) { + LOG.error("Failed to update files list", th); + getApp().toast(R.string.msg_failed_list_files, Toaster.Type.ERROR); } + } - private void setupDiagnosticInfo() { - GradientDrawable gd = new GradientDrawable(); - gd.setShape(GradientDrawable.RECTANGLE); - gd.setColor(0xff212121); - gd.setStroke(1, 0xffffffff); - gd.setCornerRadius(8); - mDiagnosticInfoBinding.getRoot().setBackground(gd); - mDiagnosticInfoBinding.getRoot().setVisibility(View.GONE); - } + @SuppressWarnings("deprecation") + private void checkForCompilerModule() { + if (!Environment.isCompilerModuleInstalled()) { + final var pd = + ProgressDialog.show( + this, + getString(R.string.title_compiler_module_install), + getString(R.string.msg_compiler_module_install), + true, + false); - private void setupContainers() { - handleDiagnosticsResultVisibility(true); - handleSearchResultVisibility(true); - } + final CompletableFuture future = + CompletableFuture.supplyAsync( + () -> { + final var tmpModule = new File(Environment.TMP_DIR, "compiler-module.zip"); + if (!ResourceUtils.copyFileFromAssets( + ToolsManager.getCommonAsset("compiler-module.zip"), + tmpModule.getAbsolutePath())) { + throw new CompletionException( + new RuntimeException("Unable to copy compiler-module.zip")); + } - private void startServices() { + try { + ZipUtils.unzipFile(tmpModule, Environment.COMPILER_MODULE); + } catch (Throwable e) { + throw new CompletionException(e); + } - if (bindService( - new Intent(this, GradleBuildService.class), - mGradleServiceConnection, - Context.BIND_AUTO_CREATE)) { - LOG.info("Bind request for Gradle build service was successful..."); - } else { - LOG.error("Gradle build service doesn't exist or the IDE is not allowed to access it."); - } + if (!Environment.isCompilerModuleInstalled()) { + throw new CompletionException(new RuntimeException("Unknown error")); + } - if (!IDELanguageClientImpl.isInitialized()) { - IDELanguageClientImpl.initialize(this); - } + try { + FileUtils.delete(tmpModule); + } catch (Exception e) { + // ignored + } - initializeLanguageServers(); + return true; + }); - // Actually, we don't need to start FileOptionsHandler - // Because it would work anyway - // But still we do... - mFileOptionsHandler.start(); - } + future.whenComplete( + (result, error) -> { + pd.dismiss(); - private void initializeLanguageServers() { - final var client = IDELanguageClientImpl.getInstance(); - final var javaLanguageServer = getApp().getJavaLanguageServer(); - final var workspaceRoots = new HashSet(); - workspaceRoots.add( - new File(Objects.requireNonNull(ProjectManager.INSTANCE.getProjectDirPath())) - .toPath()); - workspaceRoots.add(Environment.HOME.toPath().resolve("logsender")); - - final var params = new InitializeParams(workspaceRoots); - - javaLanguageServer.connectClient(client); - javaLanguageServer.applySettings(JavaServerSettings.getInstance()); - javaLanguageServer.initialize(params); - } - - private void stopServices() { - - if (IDELanguageClientImpl.isInitialized()) { - IDELanguageClientImpl.shutdown(); - } - - shutdownLanguageServers(); - if (mFileOptionsHandler != null) { - mFileOptionsHandler.stop(); - } - } - - private void shutdownLanguageServers() { - final var javaServer = getApp().getJavaLanguageServer(); - javaServer.shutdown(); - } - - private void onSoftInputChanged() { - invalidateOptionsMenu(); - if (KeyboardUtils.isSoftInputVisible(this)) { - TransitionManager.beginDelayedTransition(mBinding.getRoot(), new Slide(Gravity.TOP)); - symbolInput.setVisibility(View.VISIBLE); - mBinding.bottomSheet.statusText.setVisibility(View.GONE); - mBinding.bottomSheet.swipeHint.setVisibility(View.GONE); - } else { - TransitionManager.beginDelayedTransition(mBinding.getRoot(), new Slide(Gravity.BOTTOM)); - symbolInput.setVisibility(View.GONE); - mBinding.bottomSheet.statusText.setVisibility(View.VISIBLE); - mBinding.bottomSheet.swipeHint.setVisibility(View.VISIBLE); - } - } - - private void closeProject(boolean manualFinish) { - stopServices(); - - // Make sure we close files - // This fill further make sure that file contents are not erased. - closeAll( - () -> { - getApp().getPrefManager().setOpenedProject(PreferenceManager.NO_OPENED_PROJECT); - - if (manualFinish) { - finish(); - } - }); - } - - private void confirmProjectClose() { - final MaterialAlertDialogBuilder builder = DialogUtils.newMaterialDialogBuilder(this); - builder.setTitle(R.string.title_confirm_project_close); - builder.setMessage(R.string.msg_confirm_project_close); - builder.setNegativeButton(R.string.no, null); - builder.setPositiveButton( - R.string.yes, - (d, w) -> { - d.dismiss(); - closeProject(true); - }); - builder.show(); - } - - @Nullable - private AlertDialog createFindInProjectDialog() { - final var rootProject = ProjectManager.INSTANCE.getRootProject(); - if (rootProject == null) { - LOG.warn("No root project model found. Is the project initialized?"); - getApp().toast(getString(R.string.msg_project_not_initialized), Toaster.Type.ERROR); - return null; - } - - final var moduleDirs = - rootProject.getModules().stream() - .map(IdeGradleProject::getProjectDir) - .collect(Collectors.toList()); - - final List srcDirs = new ArrayList<>(); - final LayoutSearchProjectBinding binding = - LayoutSearchProjectBinding.inflate(getLayoutInflater()); - binding.modulesContainer.removeAllViews(); - for (int i = 0; i < moduleDirs.size(); i++) { - final File module = moduleDirs.get(i); - final File src = new File(module, "src"); - if (!module.exists() || !module.isDirectory() || !src.exists() || !src.isDirectory()) { - continue; + if (error != null) { + showCompilerModuleInstallError(error); + return; } - CheckBox check = new CheckBox(this); - check.setText(module.getName()); - check.setChecked(true); + getApp().toast(getString(R.string.msg_compiler_module_installed), Toaster.Type.SUCCESS); + }); + } + } - LinearLayout.MarginLayoutParams params = new LinearLayout.MarginLayoutParams(-2, -2); - params.bottomMargin = SizeUtils.dp2px(4); - binding.modulesContainer.addView(check, params); + private void dispatchOnResumeToEditors() { + CompletableFuture.runAsync( + () -> { + for (int i = 0; i < mViewModel.getOpenedFileCount(); i++) { + final var editor = getEditorAtIndex(i); + if (editor != null) { + editor.onResume(); + } + } + }); + } - srcDirs.add(src); - } - final MaterialAlertDialogBuilder builder = DialogUtils.newMaterialDialogBuilder(this); - builder.setTitle(R.string.menu_find_project); - builder.setView(binding.getRoot()); - builder.setCancelable(false); - builder.setPositiveButton( - R.string.menu_find, - (dialog, which) -> { - final String text = - Objects.requireNonNull(binding.input.getEditText()) - .getText() - .toString() - .trim(); - if (text.isEmpty()) { - getApp().toast(R.string.msg_empty_search_query, Toaster.Type.ERROR); - return; - } + private void showCompilerModuleInstallError(Throwable error) { + final var stacktrace = ThrowableUtils.getFullStackTrace(error); + final var builder = DialogUtils.newMaterialDialogBuilder(this); + builder.setTitle(R.string.title_installation_failed); + builder.setMessage(getString(R.string.msg_compiler_module_install_failed, stacktrace)); + builder.setCancelable(false); + builder.setPositiveButton(android.R.string.ok, (dialog, which) -> dialog.dismiss()); + builder.setNegativeButton( + R.string.copy, + (dialog, which) -> { + ClipboardUtils.copyText(stacktrace); + dialog.dismiss(); + }); + builder.show(); + } - final List searchDirs = new ArrayList<>(); - for (int i = 0; i < mViewModel.getOpenedFileCount(); i++) { - CheckBox check = (CheckBox) binding.modulesContainer.getChildAt(i); - if (check.isChecked()) { - searchDirs.add(srcDirs.get(i)); - } - } + private void dispatchOnPauseToEditors() { + CompletableFuture.runAsync( + () -> { + for (int i = 0; i < mViewModel.getOpenedFileCount(); i++) { + final var editor = getEditorAtIndex(i); + if (editor != null) { + editor.onPause(); + } + } + }); + } - final String extensions = - Objects.requireNonNull(binding.filter.getEditText()) - .getText() - .toString() - .trim(); - final List extensionList = new ArrayList<>(); - if (!extensions.isEmpty()) { - if (extensions.contains("|")) { - for (String str : extensions.split(Pattern.quote("|"))) { - if (str == null || str.trim().isEmpty()) { - continue; - } + @Override + protected void onDestroy() { + closeProject(false); + try { + unregisterReceiver(mLogReceiver); + } catch (Throwable th) { + LOG.error("Failed to unregister LogReceiver", th); + } + unbindService(mGradleServiceConnection); + super.onDestroy(); + } - extensionList.add(str); - } - } else { - extensionList.add(extensions); - } - } + private void setupDrawerToggle() { + ActionBarDrawerToggle toggle = + new ActionBarDrawerToggle( + this, + mBinding.editorDrawerLayout, + mBinding.editorToolbar, + R.string.app_name, + R.string.app_name); + mBinding.editorDrawerLayout.addDrawerListener(toggle); + mBinding.startNav.setNavigationItemSelectedListener(this); + toggle.syncState(); + } - if (searchDirs.isEmpty()) { - getApp().toast(R.string.msg_select_search_modules, Toaster.Type.ERROR); - } else { - dialog.dismiss(); - getProgressSheet(R.string.msg_searching_project) - .show(getSupportFragmentManager(), "search_in_project_progress"); - RecursiveFileSearcher.searchRecursiveAsync( - text, extensionList, searchDirs, this::handleSearchResults); - } - }); - builder.setNegativeButton(android.R.string.cancel, (__, ___) -> __.dismiss()); - mFindInProjectDialog = builder.create(); - return mFindInProjectDialog; + private void setupEditorBottomSheet() { + bottomSheetTabAdapter = new EditorBottomSheetTabAdapter(this); + mBinding.bottomSheet.pager.setAdapter(bottomSheetTabAdapter); + + final var mediator = + new TabLayoutMediator( + mBinding.bottomSheet.tabs, + mBinding.bottomSheet.pager, + true, + true, + (tab, position) -> tab.setText(bottomSheetTabAdapter.getTitle(position))); + + mediator.attach(); + mBinding.bottomSheet.pager.setUserInputEnabled(false); + mBinding.bottomSheet.pager.setOffscreenPageLimit( + bottomSheetTabAdapter.getItemCount() - 1); // DO not remove any views + + mEditorBottomSheet = + (EditorBottomSheetBehavior) + EditorBottomSheetBehavior.from(mBinding.bottomSheet.getRoot()); + mEditorBottomSheet.setBinding(mBinding.bottomSheet); + mEditorBottomSheet.addBottomSheetCallback( + new BottomSheetBehavior.BottomSheetCallback() { + @Override + public void onStateChanged(@NonNull View bottomSheet, int newState) { + mBinding.bottomSheet.textContainer.setVisibility( + newState == BottomSheetBehavior.STATE_EXPANDED ? View.INVISIBLE : View.VISIBLE); + + if (newState == BottomSheetBehavior.STATE_EXPANDED) { + final var editor = getCurrentEditor(); + if (editor != null && editor.getEditor() != null) { + editor.getEditor().ensureWindowsDismissed(); + } + } + } + + @Override + public void onSlide(@NonNull View bottomSheet, float slideOffset) { + mBinding.bottomSheet.textContainer.setAlpha(1f - slideOffset); + } + }); + + mBinding.bottomSheet.tabs.addOnTabSelectedListener( + new TabLayout.OnTabSelectedListener() { + + @Override + public void onTabSelected(TabLayout.Tab tab) { + final var fragment = bottomSheetTabAdapter.getFragmentAtIndex(tab.getPosition()); + if (fragment instanceof NonEditableEditorFragment) { + mBinding.bottomSheet.clearFab.show(); + mBinding.bottomSheet.shareOutputFab.show(); + } else { + mBinding.bottomSheet.clearFab.hide(); + mBinding.bottomSheet.shareOutputFab.hide(); + } + } + + @Override + public void onTabUnselected(TabLayout.Tab tab) {} + + @Override + public void onTabReselected(TabLayout.Tab tab) {} + }); + + TooltipCompat.setTooltipText( + mBinding.bottomSheet.clearFab, getString(R.string.title_clear_output)); + mBinding.bottomSheet.clearFab.setOnClickListener( + v -> { + final var fragment = + bottomSheetTabAdapter.getFragmentAtIndex( + mBinding.bottomSheet.tabs.getSelectedTabPosition()); + if (fragment instanceof NonEditableEditorFragment) { + final var editor = (NonEditableEditorFragment) fragment; + if (editor.getEditor() != null) { + editor.getEditor().setText(""); + } + } + }); + + mBinding.bottomSheet.shareOutputFab.setOnClickListener( + v -> { + final var fragment = + bottomSheetTabAdapter.getFragmentAtIndex( + mBinding.bottomSheet.tabs.getSelectedTabPosition()); + if (fragment instanceof NonEditableEditorFragment) { + final var editor = (NonEditableEditorFragment) fragment; + if (editor.getEditor() != null) { + final var text = editor.getEditor().getText(); + final var type = + editor instanceof SimpleOutputFragment + ? "build_output" + : editor instanceof IDELogFragment + ? "ide_logs" + : editor instanceof LogViewFragment ? "app_logs" : "unknown_type"; + shareText(text, type); + } + } + }); + + if (!getApp().getPrefManager().getBoolean(KEY_BOTTOM_SHEET_SHOWN) + && mEditorBottomSheet.getState() != BottomSheetBehavior.STATE_EXPANDED) { + mEditorBottomSheet.setState(BottomSheetBehavior.STATE_EXPANDED); + new Handler(Looper.getMainLooper()) + .postDelayed( + () -> { + mEditorBottomSheet.setState(BottomSheetBehavior.STATE_COLLAPSED); + getApp().getPrefManager().putBoolean(KEY_BOTTOM_SHEET_SHOWN, true); + }, + 1500); + } + } + + @SuppressWarnings("deprecation") + private void shareText(CharSequence text, String type) { + final var pd = ProgressDialog.show(this, null, getString(R.string.please_wait), true, false); + CompletableFuture.supplyAsync(() -> writeTempFile(text, type)) + .whenComplete( + (result, error) -> { + ThreadUtils.runOnUiThread(pd::dismiss); + if (result == null || error != null) { + LOG.warn("Unable to share output", error); + return; + } + + ThreadUtils.runOnUiThread( + () -> { + shareFile(result); + }); + }); + } + + private void shareFile(File file) { + final var uri = + FileProvider.getUriForFile( + this, BuildConfig.APPLICATION_ID + ".utilcode.fileprovider", file); + final var intent = new Intent(Intent.ACTION_SEND); + intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); + intent.setType("text/plain"); + intent.putExtra(Intent.EXTRA_STREAM, uri); + + startActivity(Intent.createChooser(intent, null)); + } + + @NonNull + private File writeTempFile(CharSequence text, String type) { + final var in = new CharSequenceInputStream(text, StandardCharsets.UTF_8); + final var file = + new File(getFilesDir(), type + ".txt"); // use a common name to avoid multiple files + if (!FileIOUtils.writeFileFromIS(file, in)) { + LOG.error("Unable to write output of type", type, "to temporary file", file); + throw new RuntimeException(new IOException("Cannot write output to temp file")); } - private void registerLogReceiver() { - IntentFilter filter = new IntentFilter(); - filter.addAction(LogReceiver.APPEND_LOG); - registerReceiver(mLogReceiver, filter); + return file; + } + + private void notifyFilesUnsaved(List unsavedEditors, Runnable invokeAfter) { + //noinspection ConstantConditions + final var mapped = + unsavedEditors.stream() + .map(CodeEditorView::getFile) + .filter(Objects::nonNull) + .map(File::getAbsolutePath) + .collect(Collectors.toList()); + final var builder = + DialogUtils.newYesNoDialog( + this, + getString(R.string.title_files_unsaved), // title + getString(R.string.msg_files_unsaved, TextUtils.join("\n", mapped)), // message + (dialog, which) -> { // 'yes' click + dialog.dismiss(); + saveAll(true); + invokeAfter.run(); + }, + (dialog, which) -> { // 'no' click + dialog.dismiss(); + // Mark all the files as saved, then try to close them all + for (var editor : unsavedEditors) { + editor.markAsSaved(); + } + + invokeAfter.run(); + }); + builder.show(); + } + + @Contract(pure = true) + private void onGetUIDesignerResult(@NonNull ActivityResult result) { + final var index = mBinding.editorContainer.getDisplayedChild(); + final var editor = getEditorAtIndex(index); + if (editor != null && result.getResultCode() == RESULT_OK) { + final var data = result.getData(); + if (data != null && data.hasExtra(DesignerActivity.KEY_GENERATED_CODE)) { + final var code = data.getStringExtra(DesignerActivity.KEY_GENERATED_CODE); + editor.getEditor().setText(code); + saveAll(); + } else { + final var msg = getString(R.string.msg_invalid_designer_result); + getApp().toast(msg, Toaster.Type.ERROR); + LOG.error(msg, "Data returned by UI Designer is null or is invalid."); + } + } else { + LOG.error( + "UI Designer returned an invalid result code.", "Result code: " + result.getResultCode()); + } + } + + private void openTerminal() { + final Intent intent = new Intent(this, TerminalActivity.class); + intent.putExtra( + TerminalActivity.KEY_WORKING_DIRECTORY, + Objects.requireNonNull(ProjectManager.INSTANCE.getProjectDirPath())); + startActivity(intent); + } + + private void getProjectFromIntent() { + final var project = getIntent().getStringExtra(EXTRA_PROJECT_PATH); + ProjectManager.INSTANCE.setProjectPath(project); + + getApp() + .getPrefManager() + .setOpenedProject(Objects.requireNonNull(ProjectManager.INSTANCE.getProjectDirPath())); + + try { + //noinspection ConstantConditions + getSupportActionBar() + .setSubtitle(new File(ProjectManager.INSTANCE.getProjectDirPath()).getName()); + } catch (Throwable th) { + // ignored } - private void showNeedHelpDialog() { - MaterialAlertDialogBuilder builder = DialogUtils.newMaterialDialogBuilder(this); - builder.setTitle(R.string.need_help); - builder.setMessage(R.string.msg_need_help); - builder.setPositiveButton(android.R.string.ok, null); - builder.create().show(); + getResourceDirs() + .thenAccept( + dirs -> { + dirs.removeIf(Objects::isNull); + ValuesTableFactory.setupWithResDirectories(dirs.toArray(new File[0])); + }); + } + + private void setupDiagnosticInfo() { + GradientDrawable gd = new GradientDrawable(); + gd.setShape(GradientDrawable.RECTANGLE); + gd.setColor(0xff212121); + gd.setStroke(1, 0xffffffff); + gd.setCornerRadius(8); + mDiagnosticInfoBinding.getRoot().setBackground(gd); + mDiagnosticInfoBinding.getRoot().setVisibility(View.GONE); + } + + private void setupContainers() { + handleDiagnosticsResultVisibility(true); + handleSearchResultVisibility(true); + } + + private void startServices() { + + if (bindService( + new Intent(this, GradleBuildService.class), + mGradleServiceConnection, + Context.BIND_AUTO_CREATE)) { + LOG.info("Bind request for Gradle build service was successful..."); + } else { + LOG.error("Gradle build service doesn't exist or the IDE is not allowed to access it."); } - private void createQuickActions() { - ActionItem closeThis = - new ActionItem( - ACTION_ID_CLOSE, - getString(R.string.action_closeThis), - R.drawable.ic_close_this); - ActionItem closeOthers = - new ActionItem( - ACTION_ID_OTHERS, - getString(R.string.action_closeOthers), - R.drawable.ic_close_others); - ActionItem closeAll = - new ActionItem( - ACTION_ID_ALL, - getString(R.string.action_closeAll), - R.drawable.ic_close_all); - mTabCloseAction = new QuickAction(this, QuickAction.HORIZONTAL); - mTabCloseAction.addActionItem(closeThis, closeOthers, closeAll); - mTabCloseAction.setColorRes(R.color.tabAction_background); - mTabCloseAction.setTextColorRes(R.color.tabAction_text); - - mTabCloseAction.setOnActionItemClickListener( - (item) -> { - final int id = item.getActionId(); - if (getApp().getPrefManager() - .getBoolean(PreferenceManager.KEY_EDITOR_AUTO_SAVE, false)) { - saveAll(); - } - - if (id == ACTION_ID_CLOSE) { - closeFile(mBinding.tabs.getSelectedTabPosition()); - } - - if (id == ACTION_ID_OTHERS) { - closeOthers(); - } - - if (id == ACTION_ID_ALL) { - closeAll(); - } - }); + if (!IDELanguageClientImpl.isInitialized()) { + IDELanguageClientImpl.initialize(this); } + + initializeLanguageServers(); + + // Actually, we don't need to start FileOptionsHandler + // Because it would work anyway + // But still we do... + mFileOptionsHandler.start(); + } + + private void initializeLanguageServers() { + final var client = IDELanguageClientImpl.getInstance(); + final var javaLanguageServer = getApp().getJavaLanguageServer(); + final var workspaceRoots = new HashSet(); + workspaceRoots.add( + new File(Objects.requireNonNull(ProjectManager.INSTANCE.getProjectDirPath())).toPath()); + workspaceRoots.add(Environment.HOME.toPath().resolve("logsender")); + + final var params = new InitializeParams(workspaceRoots); + + javaLanguageServer.connectClient(client); + javaLanguageServer.applySettings(JavaServerSettings.getInstance()); + javaLanguageServer.initialize(params); + } + + private void stopServices() { + + if (IDELanguageClientImpl.isInitialized()) { + IDELanguageClientImpl.shutdown(); + } + + shutdownLanguageServers(); + if (mFileOptionsHandler != null) { + mFileOptionsHandler.stop(); + } + } + + private void shutdownLanguageServers() { + final var javaServer = getApp().getJavaLanguageServer(); + javaServer.shutdown(); + } + + private void onSoftInputChanged() { + invalidateOptionsMenu(); + if (KeyboardUtils.isSoftInputVisible(this)) { + TransitionManager.beginDelayedTransition(mBinding.getRoot(), new Slide(Gravity.TOP)); + symbolInput.setVisibility(View.VISIBLE); + mBinding.bottomSheet.statusText.setVisibility(View.GONE); + mBinding.bottomSheet.swipeHint.setVisibility(View.GONE); + } else { + TransitionManager.beginDelayedTransition(mBinding.getRoot(), new Slide(Gravity.BOTTOM)); + symbolInput.setVisibility(View.GONE); + mBinding.bottomSheet.statusText.setVisibility(View.VISIBLE); + mBinding.bottomSheet.swipeHint.setVisibility(View.VISIBLE); + } + } + + private void closeProject(boolean manualFinish) { + stopServices(); + + // Make sure we close files + // This fill further make sure that file contents are not erased. + closeAll( + () -> { + getApp().getPrefManager().setOpenedProject(PreferenceManager.NO_OPENED_PROJECT); + + if (manualFinish) { + finish(); + } + }); + } + + private void confirmProjectClose() { + final MaterialAlertDialogBuilder builder = DialogUtils.newMaterialDialogBuilder(this); + builder.setTitle(R.string.title_confirm_project_close); + builder.setMessage(R.string.msg_confirm_project_close); + builder.setNegativeButton(R.string.no, null); + builder.setPositiveButton( + R.string.yes, + (d, w) -> { + d.dismiss(); + closeProject(true); + }); + builder.show(); + } + + @Nullable + private AlertDialog createFindInProjectDialog() { + final var rootProject = ProjectManager.INSTANCE.getRootProject(); + if (rootProject == null) { + LOG.warn("No root project model found. Is the project initialized?"); + getApp().toast(getString(R.string.msg_project_not_initialized), Toaster.Type.ERROR); + return null; + } + + List moduleDirs; + try { + moduleDirs = + rootProject.listModules().get().stream() + .map(SimpleModuleData::getProjectDir) + .collect(Collectors.toList()); + } catch (Throwable e) { + StudioApp.getInstance().toast(getString(R.string.msg_no_modules), Toaster.Type.ERROR); + moduleDirs = Collections.emptyList(); + } + + return createFindInProjectDialog (moduleDirs); + } + + private AlertDialog createFindInProjectDialog (List moduleDirs) { + final List srcDirs = new ArrayList<>(); + final LayoutSearchProjectBinding binding = + LayoutSearchProjectBinding.inflate(getLayoutInflater()); + binding.modulesContainer.removeAllViews(); + for (int i = 0; i < moduleDirs.size(); i++) { + final File module = moduleDirs.get(i); + final File src = new File(module, "src"); + if (!module.exists() || !module.isDirectory() || !src.exists() || !src.isDirectory()) { + continue; + } + + CheckBox check = new CheckBox(this); + check.setText(module.getName()); + check.setChecked(true); + + LinearLayout.MarginLayoutParams params = new LinearLayout.MarginLayoutParams(-2, -2); + params.bottomMargin = SizeUtils.dp2px(4); + binding.modulesContainer.addView(check, params); + + srcDirs.add(src); + } + + final MaterialAlertDialogBuilder builder = DialogUtils.newMaterialDialogBuilder(this); + builder.setTitle(R.string.menu_find_project); + builder.setView(binding.getRoot()); + builder.setCancelable(false); + builder.setPositiveButton( + R.string.menu_find, + (dialog, which) -> { + final String text = + Objects.requireNonNull(binding.input.getEditText()).getText().toString().trim(); + if (text.isEmpty()) { + getApp().toast(R.string.msg_empty_search_query, Toaster.Type.ERROR); + return; + } + + final List searchDirs = new ArrayList<>(); + for (int i = 0; i < mViewModel.getOpenedFileCount(); i++) { + CheckBox check = (CheckBox) binding.modulesContainer.getChildAt(i); + if (check.isChecked()) { + searchDirs.add(srcDirs.get(i)); + } + } + + final String extensions = + Objects.requireNonNull(binding.filter.getEditText()) + .getText() + .toString() + .trim(); + final List extensionList = new ArrayList<>(); + if (!extensions.isEmpty()) { + if (extensions.contains("|")) { + for (String str : extensions.split(Pattern.quote("|"))) { + if (str == null || str.trim().isEmpty()) { + continue; + } + + extensionList.add(str); + } + } else { + extensionList.add(extensions); + } + } + + if (searchDirs.isEmpty()) { + getApp().toast(R.string.msg_select_search_modules, Toaster.Type.ERROR); + } else { + dialog.dismiss(); + getProgressSheet(R.string.msg_searching_project) + .show(getSupportFragmentManager(), "search_in_project_progress"); + RecursiveFileSearcher.searchRecursiveAsync( + text, extensionList, searchDirs, this::handleSearchResults); + } + }); + builder.setNegativeButton(android.R.string.cancel, (__, ___) -> __.dismiss()); + mFindInProjectDialog = builder.create(); + return mFindInProjectDialog; + } + + private void registerLogReceiver() { + IntentFilter filter = new IntentFilter(); + filter.addAction(LogReceiver.APPEND_LOG); + registerReceiver(mLogReceiver, filter); + } + + private void showNeedHelpDialog() { + MaterialAlertDialogBuilder builder = DialogUtils.newMaterialDialogBuilder(this); + builder.setTitle(R.string.need_help); + builder.setMessage(R.string.msg_need_help); + builder.setPositiveButton(android.R.string.ok, null); + builder.create().show(); + } + + private void createQuickActions() { + ActionItem closeThis = + new ActionItem( + ACTION_ID_CLOSE, getString(R.string.action_closeThis), R.drawable.ic_close_this); + ActionItem closeOthers = + new ActionItem( + ACTION_ID_OTHERS, getString(R.string.action_closeOthers), R.drawable.ic_close_others); + ActionItem closeAll = + new ActionItem(ACTION_ID_ALL, getString(R.string.action_closeAll), R.drawable.ic_close_all); + mTabCloseAction = new QuickAction(this, QuickAction.HORIZONTAL); + mTabCloseAction.addActionItem(closeThis, closeOthers, closeAll); + mTabCloseAction.setColorRes(R.color.tabAction_background); + mTabCloseAction.setTextColorRes(R.color.tabAction_text); + + mTabCloseAction.setOnActionItemClickListener( + (item) -> { + final int id = item.getActionId(); + if (getApp().getPrefManager().getBoolean(PreferenceManager.KEY_EDITOR_AUTO_SAVE, false)) { + saveAll(); + } + + if (id == ACTION_ID_CLOSE) { + closeFile(mBinding.tabs.getSelectedTabPosition()); + } + + if (id == ACTION_ID_OTHERS) { + closeOthers(); + } + + if (id == ACTION_ID_ALL) { + closeAll(); + } + }); + } } diff --git a/app/src/main/java/com/itsaky/androidide/projects/CachingProject.kt b/app/src/main/java/com/itsaky/androidide/projects/CachingProject.kt new file mode 100644 index 000000000..de722c6d2 --- /dev/null +++ b/app/src/main/java/com/itsaky/androidide/projects/CachingProject.kt @@ -0,0 +1,117 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * AndroidIDE is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with AndroidIDE. If not, see . + */ + +package com.itsaky.androidide.projects + +import com.itsaky.androidide.tooling.api.IProject +import com.itsaky.androidide.tooling.api.messages.result.SimpleModuleData +import com.itsaky.androidide.tooling.api.model.IdeAndroidModule +import com.itsaky.androidide.tooling.api.model.IdeGradleProject +import com.itsaky.androidide.tooling.api.model.IdeGradleTask +import com.itsaky.androidide.utils.ILogger +import java.io.File +import java.util.concurrent.* + +/** + * A project which lazily caches some required properties of the given project. + * + * @author Akash Yadav + */ +class CachingProject(val project: IProject) : IProject { + + private val log = ILogger.newInstance(javaClass.simpleName) + + private val mName: String by lazy { this.project.name.get() } + private val mDescription: String by lazy { this.project.description.get() } + private val mProjectPath: String by lazy { this.project.projectPath.get() } + private val mProjectDir: File by lazy { this.project.projectDir.get() } + private val mBuildDir: File by lazy { this.project.buildDir.get() } + private val mBuildScript: File by lazy { this.project.buildScript.get() } + + private var mFirstAppModule: IdeAndroidModule? = null + private val mModules: MutableList = mutableListOf() + + override fun getName(): CompletableFuture { + return CompletableFuture.completedFuture(this.mName) + } + + override fun getDescription(): CompletableFuture { + return CompletableFuture.completedFuture(mDescription) + } + + override fun getProjectPath(): CompletableFuture { + return CompletableFuture.completedFuture(mProjectPath) + } + + override fun getProjectDir(): CompletableFuture { + return CompletableFuture.completedFuture(mProjectDir) + } + + override fun getBuildDir(): CompletableFuture { + return CompletableFuture.completedFuture(mBuildDir) + } + + override fun getBuildScript(): CompletableFuture { + return CompletableFuture.completedFuture(mBuildScript) + } + + override fun getTasks(): CompletableFuture> { + return this.project.tasks + } + + override fun getModules(): CompletableFuture> { + return this.project.modules + } + + override fun listModules(): CompletableFuture> { + return if (this.mModules.isNotEmpty()) { + CompletableFuture.completedFuture(mModules) + } else { + this.project.listModules().whenComplete { modules, err -> + if (err != null || modules == null || modules.isEmpty()) { + log.warn("Unable to fetch module data", err) + return@whenComplete + } + + this.mModules.clear() + this.mModules.addAll(modules.filterNotNull()) + } + } + } + + override fun findByPath(path: String): CompletableFuture { + return this.project.findByPath(path) + } + + override fun findAndroidModules(): CompletableFuture> { + return this.project.findAndroidModules() + } + + override fun findFirstAndroidModule(): CompletableFuture { + return this.project.findFirstAndroidModule() + } + + override fun findFirstAndroidAppModule(): CompletableFuture { + if (mFirstAppModule != null) { + return CompletableFuture.completedFuture(mFirstAppModule) + } + + return this.project.findFirstAndroidAppModule().whenComplete { module, _ -> + this.mFirstAppModule = module + } + } +} diff --git a/app/src/main/java/com/itsaky/androidide/projects/ProjectManager.kt b/app/src/main/java/com/itsaky/androidide/projects/ProjectManager.kt index 47db018c1..a3573153b 100644 --- a/app/src/main/java/com/itsaky/androidide/projects/ProjectManager.kt +++ b/app/src/main/java/com/itsaky/androidide/projects/ProjectManager.kt @@ -21,29 +21,50 @@ import com.android.builder.model.v2.ide.LibraryType.JAVA_LIBRARY import com.android.builder.model.v2.ide.LibraryType.PROJECT import com.itsaky.androidide.app.StudioApp import com.itsaky.androidide.services.BuildService +import com.itsaky.androidide.tooling.api.IProject import com.itsaky.androidide.tooling.api.model.IdeAndroidModule -import com.itsaky.androidide.tooling.api.model.IdeGradleProject import com.itsaky.androidide.tooling.api.model.IdeJavaModule import com.itsaky.androidide.tooling.api.model.IdeModule +import com.itsaky.androidide.utils.ILogger import com.itsaky.lsp.java.models.JavaServerConfiguration import java.io.File import java.nio.file.Path +import java.util.concurrent.* /** * Manages projects in AndroidIDE. * * @author Akash Yadav */ +@Suppress("MemberVisibilityCanBePrivate") object ProjectManager { - private val log = com.itsaky.androidide.utils.ILogger.newInstance(javaClass.simpleName) - var rootProject: IdeGradleProject? = null + private val log = ILogger.newInstance(javaClass.simpleName) + var rootProject: IProject? = null + set(value) { + field = if (value == null) null else CachingProject(value) + + // Cache the module data in advance for future use + if (field != null) { + field!!.listModules() + } + } var projectPath: String? = null - fun getProjectDir(): File? = - if (getProjectDirPath() == null) null else File(getProjectDirPath()!!) + fun isInitialized() = this.rootProject != null && this.rootProject!!.isInitialized.get() + + fun checkInit(): Boolean { + if (isInitialized()) { + return true + } + + log.warn("Project is not initialized yet!") + return false + } + + fun getProjectDir(): File? = if (!checkInit()) null else File(getProjectDirPath()!!) fun getProjectDirPath(): String? = - if (rootProject == null) projectPath else rootProject!!.projectDir!!.absolutePath + if (!checkInit()) projectPath else rootProject!!.projectDir.get().absolutePath fun generateSources(builder: BuildService?) { if (builder == null) { @@ -51,62 +72,63 @@ object ProjectManager { return } - val app = - getApplicationModule() - ?: kotlin.run { - log.error("Cannot generate resources...") - return - } - - val debug = app.variants.firstOrNull { it.name == "debug" } - if (debug == null) { - log.warn("No debug variant found in application project ${app.name}") - return - } - - val mainArtifact = app.variants.first { it.name == "debug" }.mainArtifact - val genResourcesTask = mainArtifact.resGenTaskName - val genSourcesTask = mainArtifact.sourceGenTaskName - builder - .executeProjectTasks( - app.projectPath!!, - genResourcesTask ?: "", - genSourcesTask, - - // If view binding is enabled, generate the view binding classes too - if (app.viewBindingOptions != null && app.viewBindingOptions!!.isEnabled) - "dataBindingGenBaseClassesDebug" - else "") - .whenComplete { result, err -> - if (!result.isSuccessful || err != null) { - log.warn( - "Execution for tasks '$genResourcesTask' and '$genSourcesTask' failed.", - err ?: "") - return@whenComplete - } - - notifyProjectUpdate() + getApplicationModule().whenComplete { app, _ -> + if (app == null) { + log.warn( + "Cannot run resource and source generation task. No application module found.") + return@whenComplete } + + val debug = app.variants.firstOrNull { it.name == "debug" } + if (debug == null) { + log.warn("No debug variant found in application project ${app.name}") + return@whenComplete + } + + val mainArtifact = app.variants.first { it.name == "debug" }.mainArtifact + val genResourcesTask = mainArtifact.resGenTaskName + val genSourcesTask = mainArtifact.sourceGenTaskName + builder + .executeProjectTasks( + app.projectPath, + genResourcesTask ?: "", + genSourcesTask, + + // If view binding is enabled, generate the view binding classes too + if (app.viewBindingOptions != null && app.viewBindingOptions!!.isEnabled) + "dataBindingGenBaseClassesDebug" + else "") + .whenComplete { result, taskErr -> + if (!result.isSuccessful || taskErr != null) { + log.warn( + "Execution for tasks '$genResourcesTask' and '$genSourcesTask' failed.", + taskErr ?: "") + } else { + notifyProjectUpdate() + } + } + } } - fun getApplicationModule(): IdeAndroidModule? { + fun getApplicationModule(): CompletableFuture { if (rootProject == null) { log.error( "No root project instance is set. Is the project initialization process finished?") - return null + return CompletableFuture.completedFuture(null) } - val app = rootProject!!.findFirstAndroidModule() - if (app == null) { - log.error("No application module found in root project.") - return null + return rootProject!!.findFirstAndroidAppModule().whenComplete { app, err -> + if (app == null || err != null) { + log.debug("An error occurred while fetching model for application module.") + return@whenComplete + } } - - return app } - fun getApplicationResDirectories(): List? { - return collectResDirectories(getApplicationModule() ?: return null) + fun getApplicationResDirectories(): CompletableFuture?> { + return getApplicationModule().thenApplyAsync { + if (it == null) null else collectResDirectories(it) + } } fun collectResDirectories(android: IdeAndroidModule): List { @@ -133,15 +155,21 @@ object ProjectManager { } fun notifyProjectUpdate() { - val server = StudioApp.getInstance().javaLanguageServer - val sourceDirs = collectApplicationSourceDirs() - val classPaths = collectApplicationClassPaths() - val configuration = JavaServerConfiguration(classPaths, sourceDirs) - server.configurationChanged(configuration) + getApplicationModule().thenAccept { + if (it == null) { + log.debug("Cannot find application module. Unable to update class paths to LSP.") + return@thenAccept + } + + val server = StudioApp.getInstance().javaLanguageServer + val sourceDirs = collectSourceDirs(it) + val classPaths = collectClassPaths(it) + val configuration = JavaServerConfiguration(classPaths, sourceDirs) + server.configurationChanged(configuration) + } } - private fun collectApplicationClassPaths(): Set { - val app = getApplicationModule() ?: return emptySet() + private fun collectClassPaths(app: IdeAndroidModule): Set { val libraries = app.variantDependencies["debug"]!!.libraries val paths = mutableSetOf() @@ -153,7 +181,7 @@ object ProjectManager { paths.add(value.artifact!!.toPath()) } else { val project = - rootProject!!.findByPath(value.projectInfo!!.projectPath)!! as IdeModule + rootProject!!.findByPath(value.projectInfo!!.projectPath).get() as IdeModule paths.add(project.getGeneratedJar("debug").toPath()) if (project is IdeAndroidModule && project.projectPath != app.projectPath) { @@ -171,8 +199,7 @@ object ProjectManager { return paths } - private fun collectApplicationSourceDirs(): Set { - val app = getApplicationModule() ?: return emptySet() + private fun collectSourceDirs(app: IdeAndroidModule): Set { val sources = app.mainSourceSet ?: return emptySet() val javaDirs = sources.sourceProvider.javaDirectories val sourcePaths = javaDirs.toMutableSet() @@ -181,15 +208,12 @@ object ProjectManager { return sourcePaths.map { it.toPath() }.toSet() } - fun collectProjectDependencies( - project: IdeGradleProject, - app: IdeAndroidModule - ): List { + fun collectProjectDependencies(project: IProject, app: IdeAndroidModule): List { return app.variantDependencies["debug"]!! .libraries.values .filter { it.type == PROJECT } - .mapNotNull { project.findByPath(it.projectInfo!!.projectPath) } + .map { project.findByPath(it.projectInfo!!.projectPath) } .filterIsInstance(IdeModule::class.java) } @@ -245,38 +269,4 @@ object ProjectManager { android.variants.first { it.name == "debug" }.mainArtifact.generatedSourceFolders) return sources } - - /** - * Finds the module in which the given file exists. - * - * @return The module in which the given file exists or `null` if the module cannot be found. - */ - fun findModuleForFile(file: File): IdeModule? { - if (rootProject == null) { - log.warn( - "No root project instance is set. Is the project initialization process finished?") - return null - } - - val path = file.canonicalPath - val modules = rootProject!!.getModules() - - var longestPath = "" - var longestPathModule: IdeModule? = null - for (module in modules) { - val modulePath = module.projectDir!!.canonicalPath - if (path.startsWith(modulePath)) { - if (longestPath.length < modulePath.length && module is IdeModule) { - longestPathModule = module - longestPath = modulePath - } - } - } - - if (longestPath.isEmpty()) { - return null - } - - return longestPathModule - } } diff --git a/app/src/main/java/com/itsaky/androidide/services/GradleBuildService.java b/app/src/main/java/com/itsaky/androidide/services/GradleBuildService.java index eff5919d6..9f6965e92 100644 --- a/app/src/main/java/com/itsaky/androidide/services/GradleBuildService.java +++ b/app/src/main/java/com/itsaky/androidide/services/GradleBuildService.java @@ -54,6 +54,7 @@ import com.itsaky.androidide.tooling.api.messages.result.BuildResult; import com.itsaky.androidide.tooling.api.messages.result.GradleWrapperCheckResult; import com.itsaky.androidide.tooling.api.messages.result.InitializeResult; import com.itsaky.androidide.tooling.api.messages.result.TaskExecutionResult; +import com.itsaky.androidide.tooling.api.IProject; import com.itsaky.androidide.tooling.api.util.ToolingApiLauncher; import com.itsaky.androidide.tooling.events.ProgressEvent; import com.itsaky.androidide.utils.Environment; @@ -486,14 +487,16 @@ public class GradleBuildService extends Service implements BuildService, IToolin Environment.TOOLING_API_JAR.getAbsolutePath()); final var launcher = - ToolingApiLauncher.createClientLauncher( + ToolingApiLauncher.newClientLauncher( GradleBuildService.this, serverStreams.in, serverStreams.out); final var future = launcher.startListening(); GradleBuildService.this.startServerOutputReader(serverStreams.err); - GradleBuildService.this.server = launcher.getRemoteProxy(); + GradleBuildService.this.server = (IToolingApiServer) launcher.getRemoteProxy(); GradleBuildService.this.isToolingServerStarted = true; + ProjectManager.INSTANCE.setRootProject((IProject) launcher.getRemoteProxy()); + if (listener != null) { listener.onServerStarted(); } @@ -505,7 +508,8 @@ public class GradleBuildService extends Service implements BuildService, IToolin if (!(err instanceof CancellationException) && !(err instanceof InterruptedException)) { LOG.error( - "An error occurred while waiting for tooling API server to terminate", err); + "An error occurred while waiting for tooling API server to terminate", + err); } } diff --git a/build-tools/builder-model-impl/.gitignore b/build-tools/builder-model-impl/.gitignore new file mode 100644 index 000000000..42afabfd2 --- /dev/null +++ b/build-tools/builder-model-impl/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/build-tools/builder-model-impl/build.gradle b/build-tools/builder-model-impl/build.gradle new file mode 100644 index 000000000..b1466b94c --- /dev/null +++ b/build-tools/builder-model-impl/build.gradle @@ -0,0 +1,31 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * AndroidIDE is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with AndroidIDE. If not, see . + */ + +plugins { + id 'java-library' + id 'org.jetbrains.kotlin.jvm' +} + +java { + sourceCompatibility = rootProject.ext.javaSourceVersion + targetCompatibility = rootProject.ext.javaTargetVersion +} + +dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" + api "com.android.tools.build:builder-model:${project.property ("androidide.tooling.supportedAgpVersion")}" +} \ No newline at end of file diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultAndroidArtifact.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultAndroidArtifact.kt similarity index 97% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultAndroidArtifact.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultAndroidArtifact.kt index b2e678c1c..fa8e250ed 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultAndroidArtifact.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultAndroidArtifact.kt @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with AndroidIDE. If not, see . */ -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ide.AndroidArtifact import com.android.builder.model.v2.ide.CodeShrinker diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultAndroidGradlePluginProjectFlags.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultAndroidGradlePluginProjectFlags.kt similarity index 95% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultAndroidGradlePluginProjectFlags.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultAndroidGradlePluginProjectFlags.kt index 432323b35..b6dc65fc8 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultAndroidGradlePluginProjectFlags.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultAndroidGradlePluginProjectFlags.kt @@ -14,8 +14,7 @@ * You should have received a copy of the GNU General Public License * along with AndroidIDE. If not, see . */ - -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ide.AndroidGradlePluginProjectFlags import com.android.builder.model.v2.ide.AndroidGradlePluginProjectFlags.BooleanFlag diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultAndroidLibraryData.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultAndroidLibraryData.kt similarity index 96% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultAndroidLibraryData.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultAndroidLibraryData.kt index 30c73a7e5..14431aca8 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultAndroidLibraryData.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultAndroidLibraryData.kt @@ -15,7 +15,7 @@ * along with AndroidIDE. If not, see . */ -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ide.AndroidLibraryData import java.io.File diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultApiVersion.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultApiVersion.kt similarity index 94% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultApiVersion.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultApiVersion.kt index efb511379..687ed4f5a 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultApiVersion.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultApiVersion.kt @@ -15,7 +15,7 @@ * along with AndroidIDE. If not, see . */ -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ide.ApiVersion import java.io.Serializable diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultArtifactDependencies.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultArtifactDependencies.kt similarity index 95% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultArtifactDependencies.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultArtifactDependencies.kt index ce0ec0143..8be32f7eb 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultArtifactDependencies.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultArtifactDependencies.kt @@ -14,8 +14,7 @@ * You should have received a copy of the GNU General Public License * along with AndroidIDE. If not, see . */ - -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ide.ArtifactDependencies import java.io.Serializable diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultBundleInfo.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultBundleInfo.kt similarity index 95% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultBundleInfo.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultBundleInfo.kt index 5b4582e73..d9c4f5f9e 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultBundleInfo.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultBundleInfo.kt @@ -15,7 +15,7 @@ * along with AndroidIDE. If not, see . */ -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ide.BundleInfo import java.io.File diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultCustomSourceDirectory.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultCustomSourceDirectory.kt similarity index 94% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultCustomSourceDirectory.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultCustomSourceDirectory.kt index 478a65fb4..bb3e04845 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultCustomSourceDirectory.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultCustomSourceDirectory.kt @@ -15,7 +15,7 @@ * along with AndroidIDE. If not, see . */ -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.CustomSourceDirectory import java.io.File diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultGraphItem.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultGraphItem.kt similarity index 94% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultGraphItem.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultGraphItem.kt index b972a6239..6168c857a 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultGraphItem.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultGraphItem.kt @@ -14,8 +14,7 @@ * You should have received a copy of the GNU General Public License * along with AndroidIDE. If not, see . */ - -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ide.GraphItem import java.io.Serializable diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultJavaArtifact.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultJavaArtifact.kt similarity index 96% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultJavaArtifact.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultJavaArtifact.kt index 65a688557..5cb5b9a05 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultJavaArtifact.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultJavaArtifact.kt @@ -14,8 +14,7 @@ * You should have received a copy of the GNU General Public License * along with AndroidIDE. If not, see . */ - -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ide.JavaArtifact import java.io.File diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultJavaCompileOptions.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultJavaCompileOptions.kt similarity index 95% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultJavaCompileOptions.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultJavaCompileOptions.kt index af4d86f05..900d8c603 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultJavaCompileOptions.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultJavaCompileOptions.kt @@ -15,7 +15,7 @@ * along with AndroidIDE. If not, see . */ -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ide.JavaCompileOptions import java.io.Serializable diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultLibrary.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultLibrary.kt similarity index 95% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultLibrary.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultLibrary.kt index 906cf2630..d40306ed0 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultLibrary.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultLibrary.kt @@ -14,8 +14,7 @@ * You should have received a copy of the GNU General Public License * along with AndroidIDE. If not, see . */ - -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ide.Library import com.android.builder.model.v2.ide.LibraryType diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultLibraryInfo.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultLibraryInfo.kt similarity index 95% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultLibraryInfo.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultLibraryInfo.kt index 70f6efb1e..7676c45fb 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultLibraryInfo.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultLibraryInfo.kt @@ -15,7 +15,7 @@ * along with AndroidIDE. If not, see . */ -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ide.LibraryInfo import java.io.Serializable diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultModelBuilderParameter.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultModelBuilderParameter.kt similarity index 94% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultModelBuilderParameter.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultModelBuilderParameter.kt index 08b35ef52..a60685d19 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultModelBuilderParameter.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultModelBuilderParameter.kt @@ -15,7 +15,7 @@ * along with AndroidIDE. If not, see . */ -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.models.ModelBuilderParameter import java.io.Serializable diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultModelSyncFile.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultModelSyncFile.kt similarity index 95% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultModelSyncFile.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultModelSyncFile.kt index ed5b87882..ff088a62b 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultModelSyncFile.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultModelSyncFile.kt @@ -15,7 +15,7 @@ * along with AndroidIDE. If not, see . */ -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ModelSyncFile import com.android.builder.model.v2.ModelSyncFile.ModelSyncType diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultProjectInfo.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultProjectInfo.kt similarity index 95% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultProjectInfo.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultProjectInfo.kt index 4f58772f4..d6a4b8c1e 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultProjectInfo.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultProjectInfo.kt @@ -15,7 +15,7 @@ * along with AndroidIDE. If not, see . */ -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ide.ProjectInfo import java.io.Serializable diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultProjectSyncIssues.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultProjectSyncIssues.kt similarity index 94% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultProjectSyncIssues.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultProjectSyncIssues.kt index 4e6a06baa..5a5659cd3 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultProjectSyncIssues.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultProjectSyncIssues.kt @@ -14,8 +14,7 @@ * You should have received a copy of the GNU General Public License * along with AndroidIDE. If not, see . */ - -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.models.ProjectSyncIssues import java.io.Serializable diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultSourceProvider.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultSourceProvider.kt similarity index 96% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultSourceProvider.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultSourceProvider.kt index 98c34148d..f41b131dc 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultSourceProvider.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultSourceProvider.kt @@ -14,8 +14,7 @@ * You should have received a copy of the GNU General Public License * along with AndroidIDE. If not, see . */ - -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ide.SourceProvider import java.io.File diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultSourceSetContainer.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultSourceSetContainer.kt similarity index 95% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultSourceSetContainer.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultSourceSetContainer.kt index ab3653ba6..4e587d5c8 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultSourceSetContainer.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultSourceSetContainer.kt @@ -14,8 +14,7 @@ * You should have received a copy of the GNU General Public License * along with AndroidIDE. If not, see . */ - -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ide.SourceSetContainer import java.io.Serializable diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultSyncIssue.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultSyncIssue.kt similarity index 94% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultSyncIssue.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultSyncIssue.kt index f494f27ee..e14820e54 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultSyncIssue.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultSyncIssue.kt @@ -15,7 +15,7 @@ * along with AndroidIDE. If not, see . */ -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ide.SyncIssue import java.io.Serializable diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultTestInfo.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultTestInfo.kt similarity index 95% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultTestInfo.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultTestInfo.kt index 785446034..a531b87e9 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultTestInfo.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultTestInfo.kt @@ -15,7 +15,7 @@ * along with AndroidIDE. If not, see . */ -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ide.TestInfo import com.android.builder.model.v2.ide.TestInfo.Execution diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultTestedTargetVariant.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultTestedTargetVariant.kt similarity index 94% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultTestedTargetVariant.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultTestedTargetVariant.kt index ecd0a1d3a..faaa8e995 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultTestedTargetVariant.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultTestedTargetVariant.kt @@ -15,7 +15,7 @@ * along with AndroidIDE. If not, see . */ -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ide.TestedTargetVariant import java.io.Serializable diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultUnresolvedDependency.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultUnresolvedDependency.kt similarity index 94% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultUnresolvedDependency.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultUnresolvedDependency.kt index 7c1a946c3..9bc67e8bd 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultUnresolvedDependency.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultUnresolvedDependency.kt @@ -15,7 +15,7 @@ * along with AndroidIDE. If not, see . */ -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ide.UnresolvedDependency import java.io.Serializable diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultVariant.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultVariant.kt similarity index 96% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultVariant.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultVariant.kt index fc082d0c1..af1c70b4d 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultVariant.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultVariant.kt @@ -14,8 +14,7 @@ * You should have received a copy of the GNU General Public License * along with AndroidIDE. If not, see . */ - -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ide.Variant import java.io.File diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultVariantDependencies.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultVariantDependencies.kt similarity index 95% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultVariantDependencies.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultVariantDependencies.kt index 8784b7d55..9b68d6ccf 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultVariantDependencies.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultVariantDependencies.kt @@ -14,8 +14,7 @@ * You should have received a copy of the GNU General Public License * along with AndroidIDE. If not, see . */ - -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.models.VariantDependencies import java.io.Serializable diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultViewBindingOptions.kt b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultViewBindingOptions.kt similarity index 94% rename from build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultViewBindingOptions.kt rename to build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultViewBindingOptions.kt index ed218ac8b..1d3f52fcd 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/internal/DefaultViewBindingOptions.kt +++ b/build-tools/builder-model-impl/src/main/java/com/itsaky/androidide/builder/model/DefaultViewBindingOptions.kt @@ -15,7 +15,7 @@ * along with AndroidIDE. If not, see . */ -package com.itsaky.androidide.tooling.api.model.internal +package com.itsaky.androidide.builder.model import com.android.builder.model.v2.ide.ViewBindingOptions import java.io.Serializable diff --git a/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/Main.java b/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/Main.java index 9330e310a..66097c4c0 100644 --- a/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/Main.java +++ b/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/Main.java @@ -21,7 +21,6 @@ import static com.itsaky.androidide.utils.ILogger.newInstance; import com.itsaky.androidide.models.LogLine; import com.itsaky.androidide.tooling.api.IToolingApiClient; -import com.itsaky.androidide.tooling.api.model.IProject; import com.itsaky.androidide.tooling.api.util.ToolingApiLauncher; import com.itsaky.androidide.tooling.impl.model.InternalForwardingProject; import com.itsaky.androidide.tooling.impl.progress.ForwardingProgressListener; diff --git a/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/ToolingApiServerImpl.kt b/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/ToolingApiServerImpl.kt index 605d831d5..9325aa9d6 100644 --- a/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/ToolingApiServerImpl.kt +++ b/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/ToolingApiServerImpl.kt @@ -37,7 +37,7 @@ import com.itsaky.androidide.tooling.api.messages.result.TaskExecutionResult.Fai import com.itsaky.androidide.tooling.api.messages.result.TaskExecutionResult.Failure.UNSUPPORTED_CONFIGURATION import com.itsaky.androidide.tooling.api.messages.result.TaskExecutionResult.Failure.UNSUPPORTED_GRADLE_VERSION import com.itsaky.androidide.tooling.api.model.IdeGradleProject -import com.itsaky.androidide.tooling.api.model.internal.DefaultProjectSyncIssues +import com.itsaky.androidide.builder.model.DefaultProjectSyncIssues import com.itsaky.androidide.tooling.impl.model.InternalForwardingProject import com.itsaky.androidide.tooling.impl.progress.ForwardingProgressListener import com.itsaky.androidide.tooling.impl.util.ProjectReader @@ -229,6 +229,7 @@ internal class ToolingApiServerImpl(private val forwardingProject: InternalForwa this.client = null this.project = null this.buildCancellationToken = null + this.forwardingProject.project = null Main.future = null Main.client = null diff --git a/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/model/InternalForwardingProject.kt b/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/model/InternalForwardingProject.kt index 9a4c6d93d..a259e1542 100644 --- a/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/model/InternalForwardingProject.kt +++ b/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/model/InternalForwardingProject.kt @@ -17,8 +17,9 @@ package com.itsaky.androidide.tooling.impl.model +import com.itsaky.androidide.tooling.api.IProject import com.itsaky.androidide.tooling.api.IToolingApiClient -import com.itsaky.androidide.tooling.api.model.IProject +import com.itsaky.androidide.tooling.api.messages.result.SimpleModuleData import com.itsaky.androidide.tooling.api.model.IdeAndroidModule import com.itsaky.androidide.tooling.api.model.IdeGradleProject import com.itsaky.androidide.tooling.api.model.IdeGradleTask @@ -40,6 +41,10 @@ class InternalForwardingProject(var project: IProject?) : IProject { private val log = ILogger.newInstance(javaClass.simpleName) + override fun isInitialized(): CompletableFuture { + return CompletableFuture.completedFuture(this.project != null) + } + override fun getName(): CompletableFuture = if (this.project != null) this.project!!.name else CompletableFuture.completedFuture("") @@ -71,6 +76,10 @@ class InternalForwardingProject(var project: IProject?) : IProject { if (this.project != null) this.project!!.modules else CompletableFuture.completedFuture(mutableListOf()) + override fun listModules(): CompletableFuture> = + if (this.project != null) project!!.listModules() + else CompletableFuture.completedFuture(mutableListOf()) + override fun findByPath(path: String): CompletableFuture = if (this.project != null) this.project!!.findByPath(path) else CompletableFuture.completedFuture(null) @@ -82,4 +91,8 @@ class InternalForwardingProject(var project: IProject?) : IProject { override fun findFirstAndroidModule(): CompletableFuture = if (this.project != null) this.project!!.findFirstAndroidModule() else CompletableFuture.completedFuture(null) + + override fun findFirstAndroidAppModule(): CompletableFuture = + if (this.project != null) this.project!!.findFirstAndroidAppModule() + else CompletableFuture.completedFuture(null) } diff --git a/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/util/ModelInfoContainer.kt b/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/util/ModelInfoContainer.kt index 29c87a1cd..0268124bc 100644 --- a/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/util/ModelInfoContainer.kt +++ b/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/util/ModelInfoContainer.kt @@ -18,7 +18,7 @@ package com.itsaky.androidide.tooling.impl.util import com.itsaky.androidide.tooling.api.model.IdeAndroidModule -import com.itsaky.androidide.tooling.api.model.internal.DefaultProjectSyncIssues +import com.itsaky.androidide.builder.model.DefaultProjectSyncIssues import java.io.Serializable /** @author Akash Yadav */ diff --git a/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/util/ProjectReader.java b/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/util/ProjectReader.java index def052872..de7062272 100644 --- a/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/util/ProjectReader.java +++ b/build-tools/tooling-api-impl/src/main/java/com/itsaky/androidide/tooling/impl/util/ProjectReader.java @@ -36,7 +36,7 @@ import com.itsaky.androidide.tooling.api.model.JavaModuleDependency; import com.itsaky.androidide.tooling.api.model.JavaModuleExternalDependency; import com.itsaky.androidide.tooling.api.model.JavaModuleProjectDependency; import com.itsaky.androidide.tooling.api.model.JavaSourceDirectory; -import com.itsaky.androidide.tooling.api.model.internal.DefaultProjectSyncIssues; +import com.itsaky.androidide.builder.model.DefaultProjectSyncIssues; import com.itsaky.androidide.tooling.api.model.util.AndroidModulePropertyCopier; import com.itsaky.androidide.tooling.api.model.util.ProjectBuilder; import com.itsaky.androidide.tooling.impl.Main; diff --git a/build-tools/tooling-api-impl/src/test/java/com/itsaky/androidide/tooling/impl/ToolingApiImplTest.kt b/build-tools/tooling-api-impl/src/test/java/com/itsaky/androidide/tooling/impl/ToolingApiImplTest.kt index 96cf7f5a5..a50a02ecd 100644 --- a/build-tools/tooling-api-impl/src/test/java/com/itsaky/androidide/tooling/impl/ToolingApiImplTest.kt +++ b/build-tools/tooling-api-impl/src/test/java/com/itsaky/androidide/tooling/impl/ToolingApiImplTest.kt @@ -27,7 +27,7 @@ import com.itsaky.androidide.tooling.api.IToolingApiServer import com.itsaky.androidide.tooling.api.messages.InitializeProjectMessage import com.itsaky.androidide.tooling.api.messages.result.BuildResult import com.itsaky.androidide.tooling.api.messages.result.GradleWrapperCheckResult -import com.itsaky.androidide.tooling.api.model.IProject +import com.itsaky.androidide.tooling.api.IProject import com.itsaky.androidide.tooling.api.model.IdeAndroidModule import com.itsaky.androidide.tooling.api.model.IdeJavaModule import com.itsaky.androidide.tooling.api.util.ToolingApiLauncher diff --git a/build-tools/tooling-api-impl/src/test/test-home/.androidide/init/model.jar b/build-tools/tooling-api-impl/src/test/test-home/.androidide/init/model.jar index 0a5f4759ce53326e0468984e3219b92b84c6e56c..c056714b496283b04b96e6919b40ea53fa0c1626 100644 GIT binary patch delta 29125 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

*95(rW3za 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 Sz+eu9eZXe$L~~&4n*jiS;e_k} diff --git a/build-tools/tooling-api-model/build.gradle b/build-tools/tooling-api-model/build.gradle index 2e59871c7..8ab540808 100644 --- a/build-tools/tooling-api-model/build.gradle +++ b/build-tools/tooling-api-model/build.gradle @@ -14,7 +14,6 @@ * You should have received a copy of the GNU General Public License * along with AndroidIDE. If not, see . */ - plugins { id 'java-library' id 'org.jetbrains.kotlin.jvm' @@ -34,9 +33,9 @@ repositories { dependencies { implementation project (path: ':build-tools:logger') implementation project (path: ':build-tools:xml-dom') + api project (path: ':build-tools:builder-model-impl') implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" - api "com.android.tools.build:builder-model:${project.property ("androidide.tooling.supportedAgpVersion")}" } task copyToTestDir (type: Copy) { diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/IProject.java b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/IProject.java new file mode 100644 index 000000000..f30fb870f --- /dev/null +++ b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/IProject.java @@ -0,0 +1,98 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * AndroidIDE is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with AndroidIDE. If not, see . + */ + +package com.itsaky.androidide.tooling.api; + +import com.itsaky.androidide.tooling.api.messages.result.SimpleModuleData; +import com.itsaky.androidide.tooling.api.model.IdeAndroidModule; +import com.itsaky.androidide.tooling.api.model.IdeGradleProject; +import com.itsaky.androidide.tooling.api.model.IdeGradleTask; + +import org.eclipse.lsp4j.jsonrpc.services.JsonRequest; +import org.eclipse.lsp4j.jsonrpc.services.JsonSegment; +import org.jetbrains.annotations.NotNull; + +import java.io.File; +import java.util.List; +import java.util.concurrent.CompletableFuture; + +/** + * Root Gradle project. The getter methods return completed {@link CompletableFuture}s. + * + * @author Akash Yadav + */ +@JsonSegment("project") +public interface IProject { + + @NotNull + @JsonRequest + default CompletableFuture isInitialized() { + return CompletableFuture.completedFuture(true); + } + + @NotNull + @JsonRequest + CompletableFuture getName(); + + @NotNull + @JsonRequest + CompletableFuture getDescription(); + + @NotNull + @JsonRequest + CompletableFuture getProjectPath(); + + @NotNull + @JsonRequest + CompletableFuture getProjectDir(); + + @NotNull + @JsonRequest + CompletableFuture getBuildDir(); + + @NotNull + @JsonRequest + CompletableFuture getBuildScript(); + + @NotNull + @JsonRequest + CompletableFuture> getTasks(); + + @NotNull + @JsonRequest + CompletableFuture> getModules(); + + @NotNull + @JsonRequest + CompletableFuture> listModules(); + + @NotNull + @JsonRequest + CompletableFuture findByPath(@NotNull String path); + + @NotNull + @JsonRequest + CompletableFuture findFirstAndroidModule(); + + @NotNull + @JsonRequest + CompletableFuture findFirstAndroidAppModule(); + + @NotNull + @JsonRequest + CompletableFuture> findAndroidModules(); +} diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/messages/result/SimpleModuleData.kt b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/messages/result/SimpleModuleData.kt new file mode 100644 index 000000000..6dc9d4299 --- /dev/null +++ b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/messages/result/SimpleModuleData.kt @@ -0,0 +1,27 @@ +/* + * This file is part of AndroidIDE. + * + * AndroidIDE is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * AndroidIDE is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with AndroidIDE. If not, see . + */ + +package com.itsaky.androidide.tooling.api.messages.result + +import java.io.File + +/** + * Container for basic data about module projects. + * + * @author Akash Yadav + */ +data class SimpleModuleData(val name: String, val path: String, val projectDir: File) diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IProject.java b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IProject.java deleted file mode 100644 index 74dbf04d6..000000000 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IProject.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * This file is part of AndroidIDE. - * - * AndroidIDE is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * AndroidIDE is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with AndroidIDE. If not, see . - */ - -package com.itsaky.androidide.tooling.api.model; - -import org.eclipse.lsp4j.jsonrpc.services.JsonRequest; -import org.eclipse.lsp4j.jsonrpc.services.JsonSegment; -import org.jetbrains.annotations.NotNull; - -import java.io.File; -import java.util.List; -import java.util.concurrent.CompletableFuture; - -/** - * Root Gradle project. The getter methods return completed {@link CompletableFuture}s. - * - * @author Akash Yadav - */ -@JsonSegment("project") -public interface IProject { - - @NotNull - @JsonRequest - CompletableFuture getName(); - - @NotNull - @JsonRequest - CompletableFuture getDescription(); - - @NotNull - @JsonRequest - CompletableFuture getProjectPath(); - - @NotNull - @JsonRequest - CompletableFuture getProjectDir(); - - @NotNull - @JsonRequest - CompletableFuture getBuildDir(); - - @NotNull - @JsonRequest - CompletableFuture getBuildScript(); - - @NotNull - @JsonRequest - CompletableFuture> getTasks(); - - @NotNull - @JsonRequest - CompletableFuture> getModules(); - - @NotNull - @JsonRequest - CompletableFuture findByPath(@NotNull String path); - - @NotNull - @JsonRequest - CompletableFuture> findAndroidModules(); - - @NotNull - @JsonRequest - CompletableFuture findFirstAndroidModule(); -} diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IdeAndroidModule.kt b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IdeAndroidModule.kt index dfcf10ee0..4ff48f267 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IdeAndroidModule.kt +++ b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IdeAndroidModule.kt @@ -18,14 +18,14 @@ package com.itsaky.androidide.tooling.api.model import com.android.builder.model.v2.ide.ProjectType import com.android.builder.model.v2.models.AndroidProject -import com.itsaky.androidide.tooling.api.model.internal.DefaultAndroidGradlePluginProjectFlags -import com.itsaky.androidide.tooling.api.model.internal.DefaultJavaCompileOptions -import com.itsaky.androidide.tooling.api.model.internal.DefaultModelSyncFile -import com.itsaky.androidide.tooling.api.model.internal.DefaultSourceProvider -import com.itsaky.androidide.tooling.api.model.internal.DefaultSourceSetContainer -import com.itsaky.androidide.tooling.api.model.internal.DefaultVariant -import com.itsaky.androidide.tooling.api.model.internal.DefaultVariantDependencies -import com.itsaky.androidide.tooling.api.model.internal.DefaultViewBindingOptions +import com.itsaky.androidide.builder.model.DefaultAndroidGradlePluginProjectFlags +import com.itsaky.androidide.builder.model.DefaultJavaCompileOptions +import com.itsaky.androidide.builder.model.DefaultModelSyncFile +import com.itsaky.androidide.builder.model.DefaultSourceProvider +import com.itsaky.androidide.builder.model.DefaultSourceSetContainer +import com.itsaky.androidide.builder.model.DefaultVariant +import com.itsaky.androidide.builder.model.DefaultVariantDependencies +import com.itsaky.androidide.builder.model.DefaultViewBindingOptions import org.eclipse.lemminx.dom.DOMParser import org.eclipse.lemminx.uriresolver.URIResolverExtensionManager import java.io.File diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IdeGradleProject.kt b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IdeGradleProject.kt index 6e583c87f..b96386371 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IdeGradleProject.kt +++ b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/IdeGradleProject.kt @@ -16,10 +16,12 @@ */ package com.itsaky.androidide.tooling.api.model +import com.android.builder.model.v2.ide.ProjectType.APPLICATION +import com.itsaky.androidide.tooling.api.messages.result.SimpleModuleData +import org.eclipse.lsp4j.jsonrpc.CompletableFutures import java.io.File import java.io.Serializable import java.util.concurrent.* -import org.eclipse.lsp4j.jsonrpc.CompletableFutures /** * A root Gradle project. @@ -34,7 +36,7 @@ open class IdeGradleProject( @JvmField val buildScript: File, @JvmField val parent: IdeGradleProject?, @JvmField val tasks: List, -) : IProject, Serializable { +) : com.itsaky.androidide.tooling.api.IProject, Serializable { private val serialVersionUID = 1L private val gsonType: String = javaClass.name @@ -72,6 +74,14 @@ open class IdeGradleProject( return CompletableFutures.computeAsync { this.moduleProjects.toMutableList() } } + override fun listModules(): CompletableFuture> { + return CompletableFutures.computeAsync { + return@computeAsync this.moduleProjects + .map { SimpleModuleData(it.name, it.projectPath, it.projectDir) } + .toMutableList() + } + } + override fun findByPath(path: String): CompletableFuture { return CompletableFutures.computeAsync { if (path == this.projectPath) { @@ -91,4 +101,12 @@ open class IdeGradleProject( override fun findFirstAndroidModule(): CompletableFuture { return findAndroidModules().thenApply { it.firstOrNull() } } + + override fun findFirstAndroidAppModule(): CompletableFuture { + return findAndroidModules().thenApply { modules -> + val application = + modules.stream().filter { it != null && it.projectType == APPLICATION }.findFirst() + application.orElse(null) + } + } } diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/util/AndroidModulePropertyCopier.kt b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/util/AndroidModulePropertyCopier.kt index 7b089c211..8c2ff504a 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/util/AndroidModulePropertyCopier.kt +++ b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/util/AndroidModulePropertyCopier.kt @@ -43,30 +43,30 @@ import com.android.builder.model.v2.ide.ViewBindingOptions import com.android.builder.model.v2.models.ProjectSyncIssues import com.android.builder.model.v2.models.VariantDependencies import com.itsaky.androidide.tooling.api.model.IdeAndroidModule -import com.itsaky.androidide.tooling.api.model.internal.DefaultAndroidArtifact -import com.itsaky.androidide.tooling.api.model.internal.DefaultAndroidGradlePluginProjectFlags -import com.itsaky.androidide.tooling.api.model.internal.DefaultAndroidLibraryData -import com.itsaky.androidide.tooling.api.model.internal.DefaultApiVersion -import com.itsaky.androidide.tooling.api.model.internal.DefaultArtifactDependencies -import com.itsaky.androidide.tooling.api.model.internal.DefaultBundleInfo -import com.itsaky.androidide.tooling.api.model.internal.DefaultCustomSourceDirectory -import com.itsaky.androidide.tooling.api.model.internal.DefaultGraphItem -import com.itsaky.androidide.tooling.api.model.internal.DefaultJavaArtifact -import com.itsaky.androidide.tooling.api.model.internal.DefaultJavaCompileOptions -import com.itsaky.androidide.tooling.api.model.internal.DefaultLibrary -import com.itsaky.androidide.tooling.api.model.internal.DefaultLibraryInfo -import com.itsaky.androidide.tooling.api.model.internal.DefaultModelSyncFile -import com.itsaky.androidide.tooling.api.model.internal.DefaultProjectInfo -import com.itsaky.androidide.tooling.api.model.internal.DefaultProjectSyncIssues -import com.itsaky.androidide.tooling.api.model.internal.DefaultSourceProvider -import com.itsaky.androidide.tooling.api.model.internal.DefaultSourceSetContainer -import com.itsaky.androidide.tooling.api.model.internal.DefaultSyncIssue -import com.itsaky.androidide.tooling.api.model.internal.DefaultTestInfo -import com.itsaky.androidide.tooling.api.model.internal.DefaultTestedTargetVariant -import com.itsaky.androidide.tooling.api.model.internal.DefaultUnresolvedDependency -import com.itsaky.androidide.tooling.api.model.internal.DefaultVariant -import com.itsaky.androidide.tooling.api.model.internal.DefaultVariantDependencies -import com.itsaky.androidide.tooling.api.model.internal.DefaultViewBindingOptions +import com.itsaky.androidide.builder.model.DefaultAndroidArtifact +import com.itsaky.androidide.builder.model.DefaultAndroidGradlePluginProjectFlags +import com.itsaky.androidide.builder.model.DefaultAndroidLibraryData +import com.itsaky.androidide.builder.model.DefaultApiVersion +import com.itsaky.androidide.builder.model.DefaultArtifactDependencies +import com.itsaky.androidide.builder.model.DefaultBundleInfo +import com.itsaky.androidide.builder.model.DefaultCustomSourceDirectory +import com.itsaky.androidide.builder.model.DefaultGraphItem +import com.itsaky.androidide.builder.model.DefaultJavaArtifact +import com.itsaky.androidide.builder.model.DefaultJavaCompileOptions +import com.itsaky.androidide.builder.model.DefaultLibrary +import com.itsaky.androidide.builder.model.DefaultLibraryInfo +import com.itsaky.androidide.builder.model.DefaultModelSyncFile +import com.itsaky.androidide.builder.model.DefaultProjectInfo +import com.itsaky.androidide.builder.model.DefaultProjectSyncIssues +import com.itsaky.androidide.builder.model.DefaultSourceProvider +import com.itsaky.androidide.builder.model.DefaultSourceSetContainer +import com.itsaky.androidide.builder.model.DefaultSyncIssue +import com.itsaky.androidide.builder.model.DefaultTestInfo +import com.itsaky.androidide.builder.model.DefaultTestedTargetVariant +import com.itsaky.androidide.builder.model.DefaultUnresolvedDependency +import com.itsaky.androidide.builder.model.DefaultVariant +import com.itsaky.androidide.builder.model.DefaultVariantDependencies +import com.itsaky.androidide.builder.model.DefaultViewBindingOptions import com.itsaky.androidide.utils.ILogger /** diff --git a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/util/ProjectBuilder.kt b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/util/ProjectBuilder.kt index bc8113332..85a5e5f9f 100644 --- a/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/util/ProjectBuilder.kt +++ b/build-tools/tooling-api-model/src/main/java/com/itsaky/androidide/tooling/api/model/util/ProjectBuilder.kt @@ -23,11 +23,11 @@ import com.itsaky.androidide.tooling.api.model.IdeGradleTask import com.itsaky.androidide.tooling.api.model.IdeJavaModule import com.itsaky.androidide.tooling.api.model.JavaContentRoot import com.itsaky.androidide.tooling.api.model.JavaModuleDependency -import com.itsaky.androidide.tooling.api.model.internal.DefaultAndroidGradlePluginProjectFlags -import com.itsaky.androidide.tooling.api.model.internal.DefaultJavaCompileOptions -import com.itsaky.androidide.tooling.api.model.internal.DefaultModelSyncFile -import com.itsaky.androidide.tooling.api.model.internal.DefaultVariant -import com.itsaky.androidide.tooling.api.model.internal.DefaultViewBindingOptions +import com.itsaky.androidide.builder.model.DefaultAndroidGradlePluginProjectFlags +import com.itsaky.androidide.builder.model.DefaultJavaCompileOptions +import com.itsaky.androidide.builder.model.DefaultModelSyncFile +import com.itsaky.androidide.builder.model.DefaultVariant +import com.itsaky.androidide.builder.model.DefaultViewBindingOptions import java.io.File /** diff --git a/build-tools/tooling-api/src/main/java/com/itsaky/androidide/tooling/api/messages/result/InitializeResult.kt b/build-tools/tooling-api/src/main/java/com/itsaky/androidide/tooling/api/messages/result/InitializeResult.kt index e62c763c5..f9bf57eab 100644 --- a/build-tools/tooling-api/src/main/java/com/itsaky/androidide/tooling/api/messages/result/InitializeResult.kt +++ b/build-tools/tooling-api/src/main/java/com/itsaky/androidide/tooling/api/messages/result/InitializeResult.kt @@ -18,7 +18,7 @@ package com.itsaky.androidide.tooling.api.messages.result import com.itsaky.androidide.tooling.api.model.IdeGradleProject -import com.itsaky.androidide.tooling.api.model.internal.DefaultProjectSyncIssues +import com.itsaky.androidide.builder.model.DefaultProjectSyncIssues /** * Result received after an initialize project request. diff --git a/build-tools/tooling-api/src/main/java/com/itsaky/androidide/tooling/api/util/ToolingApiLauncher.java b/build-tools/tooling-api/src/main/java/com/itsaky/androidide/tooling/api/util/ToolingApiLauncher.java index 875a85dfd..a7eda1bd0 100644 --- a/build-tools/tooling-api/src/main/java/com/itsaky/androidide/tooling/api/util/ToolingApiLauncher.java +++ b/build-tools/tooling-api/src/main/java/com/itsaky/androidide/tooling/api/util/ToolingApiLauncher.java @@ -20,7 +20,7 @@ package com.itsaky.androidide.tooling.api.util; import com.google.gson.GsonBuilder; import com.itsaky.androidide.tooling.api.IToolingApiClient; import com.itsaky.androidide.tooling.api.IToolingApiServer; -import com.itsaky.androidide.tooling.api.model.IProject; +import com.itsaky.androidide.tooling.api.IProject; import com.itsaky.androidide.tooling.api.model.IdeAndroidModule; import com.itsaky.androidide.tooling.api.model.IdeGradleProject; import com.itsaky.androidide.tooling.api.model.IdeGradleTask; @@ -86,10 +86,6 @@ import java.util.concurrent.Executors; * @author Akash Yadav */ public class ToolingApiLauncher { - public static Launcher createClientLauncher( - IToolingApiClient client, InputStream in, OutputStream out) { - return createIOLauncher(client, IToolingApiServer.class, in, out); - } public static Launcher createIOLauncher( Object local, Class remote, InputStream in, OutputStream out) { @@ -265,9 +261,4 @@ public class ToolingApiLauncher { return newIoLauncher( new Object[] {server, project}, new Class[] {IToolingApiClient.class}, in, out); } - - public static Launcher createServerLauncher( - IToolingApiServer server, InputStream in, OutputStream out) { - return createIOLauncher(server, IToolingApiClient.class, in, out); - } } diff --git a/settings.gradle b/settings.gradle index 00ce7150e..8df61a0cc 100755 --- a/settings.gradle +++ b/settings.gradle @@ -27,3 +27,4 @@ include ':build-tools:tooling-api-model' include ':build-tools:xml-dom' include ':build-tools:xml-formatter' include ':build-tools:fuzzysearch' +include ':build-tools:builder-model-impl'