diff --git a/.idea/misc.xml b/.idea/misc.xml
index af8abee99..ebaaa959f 100755
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -35,6 +35,7 @@
+
@@ -43,6 +44,7 @@
+
diff --git a/app/src/main/java/com/itsaky/androidide/EditorActivity.java b/app/src/main/java/com/itsaky/androidide/EditorActivity.java
index dd53d4dd3..827a45526 100755
--- a/app/src/main/java/com/itsaky/androidide/EditorActivity.java
+++ b/app/src/main/java/com/itsaky/androidide/EditorActivity.java
@@ -890,7 +890,7 @@ public class EditorActivity extends StudioActivity
.setContentText(R.string.msg_sync_needed);
}
- private void initializeProject() {
+ public void initializeProject() {
final var projectPath = ProjectManager.INSTANCE.getProjectPath();
if (projectPath == null) {
LOG.error("Cannot initialize project. Project model is null.");
@@ -960,8 +960,7 @@ public class EditorActivity extends StudioActivity
@NonNull
public CompletableFuture execTasks(
Consumer resultHandler, String... tasks) {
- ThreadUtils.runOnUiThread(
- () -> appendBuildOut("Executing tasks: " + TextUtils.join(", ", tasks)));
+ runOnUiThread(() -> appendBuildOut("Executing tasks: " + TextUtils.join(", ", tasks)));
return mBuildService
.executeTasks(tasks)
.whenComplete(
diff --git a/app/src/main/java/com/itsaky/androidide/utils/EditorActivityActions.kt b/app/src/main/java/com/itsaky/androidide/utils/EditorActivityActions.kt
index ed7395786..5377659c3 100644
--- a/app/src/main/java/com/itsaky/androidide/utils/EditorActivityActions.kt
+++ b/app/src/main/java/com/itsaky/androidide/utils/EditorActivityActions.kt
@@ -14,30 +14,13 @@
* You should have received a copy of the GNU General Public License
* along with AndroidIDE. If not, see .
*/
-
-/*
- * 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.utils
import android.content.Context
import com.itsaky.androidide.actions.ActionItem
import com.itsaky.androidide.actions.ActionsRegistry
import com.itsaky.androidide.actions.build.CancelBuildAction
+import com.itsaky.androidide.actions.build.ProjectSyncAction
import com.itsaky.androidide.actions.build.QuickRunAction
import com.itsaky.androidide.actions.build.RunActionMenu
import com.itsaky.androidide.actions.editor.CopyAction
@@ -79,6 +62,7 @@ class EditorActivityActions {
registry.registerAction(FileTreeAction(context))
registry.registerAction(DaemonStatusAction(context))
registry.registerAction(CancelBuildAction(context))
+ registry.registerAction(ProjectSyncAction(context))
// editor text actions
registry.registerAction(ExpandSelectionAction(context))
diff --git a/app/src/main/res/drawable/ic_sync.xml b/app/src/main/res/drawable/ic_sync.xml
index 707f42f66..f16a1b06e 100755
--- a/app/src/main/res/drawable/ic_sync.xml
+++ b/app/src/main/res/drawable/ic_sync.xml
@@ -1,11 +1,5 @@
-
-
-
-
-
\ No newline at end of file
+
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 81ec94891..ac0b593be 100755
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -369,6 +369,7 @@
Project is not initialized
Running task: \'%1$s\'
Replacement
+ Sync project
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 51376e590..f2c643c48 100644
Binary files a/build-tools/tooling-api-impl/src/test/test-home/.androidide/init/model.jar and b/build-tools/tooling-api-impl/src/test/test-home/.androidide/init/model.jar differ