diff --git a/app/build.gradle b/app/build.gradle index 5b98e2e27..7502c1e9b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -45,14 +45,14 @@ android { signingConfigs { debug { - storeFile file("/sdcard/Android App Projects/publishKey.keystore") + storeFile file("/sdcard/AndroidAppProjects/publishKey.keystore") storePassword "itsaky" keyAlias "itsaky" keyPassword "itsaky" } release { - storeFile file("/sdcard/Android App Projects/publishKey.keystore") + storeFile file("/sdcard/AndroidAppProjects/publishKey.keystore") storePassword "itsaky" keyAlias "itsaky" keyPassword "itsaky" diff --git a/app/libs/lsp4j-android-desugared.jar b/app/libs/lsp4j-android-desugared.jar deleted file mode 100644 index 9f2352ae5..000000000 Binary files a/app/libs/lsp4j-android-desugared.jar and /dev/null differ diff --git a/app/libs/lsp4j-android.jar b/app/libs/lsp4j-android.jar new file mode 100644 index 000000000..0ac9a4d57 Binary files /dev/null and b/app/libs/lsp4j-android.jar differ diff --git a/app/src/main/assets/data/jls.jar b/app/src/main/assets/data/jls.jar index 3d4ab85bc..0b8c395f8 100644 Binary files a/app/src/main/assets/data/jls.jar and b/app/src/main/assets/data/jls.jar differ diff --git a/app/src/main/java/com/itsaky/androidide/lsp/AbstractLanguageClient.java b/app/src/main/java/com/itsaky/androidide/lsp/AbstractLanguageClient.java index 297f54665..b19206dbc 100644 --- a/app/src/main/java/com/itsaky/androidide/lsp/AbstractLanguageClient.java +++ b/app/src/main/java/com/itsaky/androidide/lsp/AbstractLanguageClient.java @@ -129,29 +129,6 @@ public abstract class AbstractLanguageClient implements IDELanguageClient { } } - public void showCodeActions(List> actions) { - final String[] titles = new String[actions.size()]; - - int i=0; - for(Either either : actions) { - if(either.isLeft()) { - titles[i] = "[Command] " + either.getLeft().getTitle(); - } else if(either.isRight()) { - titles[i] = "[Action] " + either.getRight().getTitle(); - } - ++i; - } - final MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(activity(), R.style.AppTheme_MaterialAlertDialog); - builder.setTitle(R.string.msg_code_actions); - builder.setItems(titles, null); - builder.show(); - } - - public void hideCodeActions() { - if(activity() == null) return; - - } - public void showDiagnostic(Diagnostic diagnostic, final CodeEditor editor) { if(activity() == null || activity().getDiagnosticBinding() == null) { return; @@ -165,11 +142,6 @@ public abstract class AbstractLanguageClient implements IDELanguageClient { final LayoutDiagnosticInfoBinding binding = activity().getDiagnosticBinding(); binding.getRoot().setText(diagnostic.getMessage()); - TransitionSet set = new TransitionSet(); - set.addTransition(new ChangeBounds()); - set.addTransition(new Fade()); - set.setDuration(DIAGNOSTIC_TRANSITION_DURATION); - binding.getRoot().setVisibility(View.VISIBLE); final float[] cursor = editor.getCursorPosition(); diff --git a/app/src/main/java/io/github/rosemoe/editor/widget/CodeEditor.java b/app/src/main/java/io/github/rosemoe/editor/widget/CodeEditor.java index 2a48376b6..ef2630dcb 100644 --- a/app/src/main/java/io/github/rosemoe/editor/widget/CodeEditor.java +++ b/app/src/main/java/io/github/rosemoe/editor/widget/CodeEditor.java @@ -4831,28 +4831,14 @@ public class CodeEditor extends View implements ContentListener, TextAnalyzer.Ca * Called by {@link EditorTouchEventHandler} *

* TODO The current implementation in JLS does not work. Make it work! + * + * @return A {@link CompletableFuture}. May return {@code null}. */ - public void requestCodeActions() { - if(mLanguageServer == null && mLanguageClient == null) return; + public CompletableFuture>> requestCodeActions() { + if(mLanguageServer == null && mLanguageClient == null) return null; final List diagnostics = findDiagnosticsContainingLine(getCursor().getLeftLine()); - final CompletableFuture>> future = mCodeActionProvider.codeActions(mLanguageServer, getDocumentIdentifier(), getCursorRange(), diagnostics); - - if(future == null) { - return; - } - - future.whenComplete((l, t) -> { - final List> actions = l; - final Throwable th = t; - - if(future.isCancelled() || future.isCompletedExceptionally() || actions == null || actions.isEmpty()) { - mLanguageClient.hideCodeActions(); - return; - } - - mLanguageClient.showCodeActions(actions); - }); + return mCodeActionProvider.codeActions(mLanguageServer, getDocumentIdentifier(), getCursorRange(), diagnostics); } public Position getCursorAsLSPPosition() { diff --git a/lsp/libs/lsp4j-android-desugared.jar b/lsp/libs/lsp4j-android-desugared.jar deleted file mode 100644 index 9f2352ae5..000000000 Binary files a/lsp/libs/lsp4j-android-desugared.jar and /dev/null differ diff --git a/lsp/libs/lsp4j-android.jar b/lsp/libs/lsp4j-android.jar new file mode 100644 index 000000000..0ac9a4d57 Binary files /dev/null and b/lsp/libs/lsp4j-android.jar differ