diff --git a/app/src/main/java/com/itsaky/androidide/handlers/FileTreeActionHandler.kt b/app/src/main/java/com/itsaky/androidide/handlers/FileTreeActionHandler.kt index 8da02e6812..dad2018ff4 100644 --- a/app/src/main/java/com/itsaky/androidide/handlers/FileTreeActionHandler.kt +++ b/app/src/main/java/com/itsaky/androidide/handlers/FileTreeActionHandler.kt @@ -25,6 +25,7 @@ import com.blankj.utilcode.util.ClipboardUtils import com.blankj.utilcode.util.FileIOUtils import com.blankj.utilcode.util.FileUtils import com.blankj.utilcode.util.IntentUtils +import com.itsaky.androidide.utils.IntentUtils.shareFile import com.itsaky.androidide.EditorActivity import com.itsaky.androidide.R import com.itsaky.androidide.R.string @@ -84,6 +85,7 @@ class FileTreeActionHandler : BaseEventHandler() { const val ID_DELETE_FILE = 2 const val ID_NEW_FILE = 3 const val ID_NEW_FOLDER = 4 + const val ID_OPEN_WITH = 5 } @Subscribe(threadMode = MAIN) @@ -137,6 +139,7 @@ class FileTreeActionHandler : BaseEventHandler() { ID_DELETE_FILE -> delete(context, file) ID_NEW_FILE -> createNewFile(context, file) ID_NEW_FOLDER -> createNewFolder(context, file) + ID_OPEN_WITH -> openWith(context, file) } } @@ -157,9 +160,17 @@ class FileTreeActionHandler : BaseEventHandler() { ) } + if (file.isFile) { + fragment.addOption(SheetOption(ID_OPEN_WITH, R.drawable.ic_open_with, string.open_with, file)) + } + return fragment } + private fun openWith(context: Context, file: File) { + shareFile(context, file, "*/*") + } + private fun createNewFile(context: Context, file: File) { createNewFile(context, file, false) } diff --git a/app/src/main/res/drawable/ic_open_with.xml b/app/src/main/res/drawable/ic_open_with.xml new file mode 100644 index 0000000000..c8f8c93ec7 --- /dev/null +++ b/app/src/main/res/drawable/ic_open_with.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 374a501e8c..3613633e6d 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -184,6 +184,7 @@ Проверка разрешений на взаимодействие с памятью Невозможно без разрешения на взаимодействие с памятью Разрешение на взаимодействие с памятью получено! + Открыть с помощью... Отмена действия diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a325243654..65ea90aeb0 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -183,6 +183,7 @@ Failed to list project files! Can\'t proceed without storage permissions Storage permissions granted! + Open with... Undo