diff --git a/app/src/main/java/com/itsaky/androidide/actions/etc/FileTreeAction.kt b/app/src/main/java/com/itsaky/androidide/actions/etc/FileTreeAction.kt index 00e22e0f9..62751bab6 100644 --- a/app/src/main/java/com/itsaky/androidide/actions/etc/FileTreeAction.kt +++ b/app/src/main/java/com/itsaky/androidide/actions/etc/FileTreeAction.kt @@ -45,10 +45,10 @@ class FileTreeAction(context: Context) : EditorActivityAction() { val context = data.getActivity() ?: return false context.binding.root.apply { -// if (!isDrawerOpen(GravityCompat.END)) { -// openDrawer(GravityCompat.END) -// return true -// } + if (!isDrawerOpen(GravityCompat.START)) { + openDrawer(GravityCompat.START) + return true + } } return false diff --git a/app/src/main/java/com/itsaky/androidide/actions/sidebar/FileTreeSidebarAction.kt b/app/src/main/java/com/itsaky/androidide/actions/sidebar/FileTreeSidebarAction.kt index 075daeba2..95337bc92 100644 --- a/app/src/main/java/com/itsaky/androidide/actions/sidebar/FileTreeSidebarAction.kt +++ b/app/src/main/java/com/itsaky/androidide/actions/sidebar/FileTreeSidebarAction.kt @@ -31,7 +31,11 @@ import kotlin.reflect.KClass */ class FileTreeSidebarAction(context: Context) : AbstractSidebarAction() { - override val id: String = "ide.editor.sidebar.projectFiles" + companion object { + const val ID ="ide.editor.sidebar.projectFiles" + } + + override val id: String = ID override val fragmentClass: KClass = FileTreeFragment::class override val order: Int = 1 diff --git a/app/src/main/java/com/itsaky/androidide/actions/sidebar/HomeSidebarAction.kt b/app/src/main/java/com/itsaky/androidide/actions/sidebar/HomeSidebarAction.kt deleted file mode 100644 index df769eaa7..000000000 --- a/app/src/main/java/com/itsaky/androidide/actions/sidebar/HomeSidebarAction.kt +++ /dev/null @@ -1,47 +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.actions.sidebar - -import android.content.Context -import androidx.core.content.ContextCompat -import androidx.fragment.app.Fragment -import com.itsaky.androidide.R -import com.itsaky.androidide.fragments.sidebar.HomeSidebarFragment -import kotlin.reflect.KClass - -/** - * Miscellaneous items shown in the sidebar. - * - * @author Akash Yadav - */ -class HomeSidebarAction(context: Context) : AbstractSidebarAction() { - - companion object { - - const val ID = "ide.editor.sidebar.home" - } - - override val fragmentClass: KClass = HomeSidebarFragment::class - override val id: String = ID - override val order: Int = 0 - - init { - label = context.getString(R.string.title_home) - icon = ContextCompat.getDrawable(context, R.drawable.ic_home) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/itsaky/androidide/fragments/EmptyStateFragment.kt b/app/src/main/java/com/itsaky/androidide/fragments/EmptyStateFragment.kt index d1818883f..3d2779704 100644 --- a/app/src/main/java/com/itsaky/androidide/fragments/EmptyStateFragment.kt +++ b/app/src/main/java/com/itsaky/androidide/fragments/EmptyStateFragment.kt @@ -31,8 +31,10 @@ import com.itsaky.androidide.viewmodel.EmptyStateFragmentViewModel * * @author Akash Yadav */ -abstract class EmptyStateFragment(layout: Int, - bind: (View) -> T) : FragmentWithBinding(layout, bind) { +abstract class EmptyStateFragment : FragmentWithBinding { + + constructor(layout: Int, bind: (View) -> T) : super(layout, bind) + constructor(inflate: (LayoutInflater, ViewGroup?, Boolean) -> T) : super(inflate) protected var emptyStateBinding: FragmentEmptyStateBinding? = null private set diff --git a/app/src/main/java/com/itsaky/androidide/fragments/RecyclerViewFragment.kt b/app/src/main/java/com/itsaky/androidide/fragments/RecyclerViewFragment.kt index 27d0e92a5..bb7286481 100644 --- a/app/src/main/java/com/itsaky/androidide/fragments/RecyclerViewFragment.kt +++ b/app/src/main/java/com/itsaky/androidide/fragments/RecyclerViewFragment.kt @@ -31,8 +31,7 @@ import com.itsaky.androidide.databinding.FragmentRecyclerviewBinding * @author Akash Yadav */ abstract class RecyclerViewFragment> : - EmptyStateFragment(R.layout.fragment_recyclerview, - FragmentRecyclerviewBinding::bind) { + EmptyStateFragment(FragmentRecyclerviewBinding::inflate) { private var unsavedAdapter: A? = null diff --git a/app/src/main/java/com/itsaky/androidide/fragments/sidebar/HomeSidebarFragment.kt b/app/src/main/java/com/itsaky/androidide/fragments/sidebar/HomeSidebarFragment.kt deleted file mode 100644 index 5dc7c699d..000000000 --- a/app/src/main/java/com/itsaky/androidide/fragments/sidebar/HomeSidebarFragment.kt +++ /dev/null @@ -1,31 +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.fragments.sidebar - -import com.itsaky.androidide.databinding.FragmentEditorSidebarHomeBinding -import com.itsaky.androidide.fragments.FragmentWithBinding - -/** - * Container which shows other fragments in the editor activity's sidebar. - * - * @author Akash Yadav - */ -class HomeSidebarFragment : - FragmentWithBinding( - FragmentEditorSidebarHomeBinding::inflate) { -} \ No newline at end of file diff --git a/app/src/main/java/com/itsaky/androidide/utils/EditorSidebarActions.kt b/app/src/main/java/com/itsaky/androidide/utils/EditorSidebarActions.kt index b663647bd..e3ab2433c 100644 --- a/app/src/main/java/com/itsaky/androidide/utils/EditorSidebarActions.kt +++ b/app/src/main/java/com/itsaky/androidide/utils/EditorSidebarActions.kt @@ -39,7 +39,6 @@ import com.itsaky.androidide.actions.SidebarActionItem import com.itsaky.androidide.actions.internal.DefaultActionsRegistry import com.itsaky.androidide.actions.sidebar.CloseProjectSidebarAction import com.itsaky.androidide.actions.sidebar.FileTreeSidebarAction -import com.itsaky.androidide.actions.sidebar.HomeSidebarAction import com.itsaky.androidide.actions.sidebar.TerminalSidebarAction import com.itsaky.androidide.fragments.sidebar.EditorSidebarFragment @@ -55,7 +54,6 @@ internal object EditorSidebarActions { @JvmStatic fun registerActions(context: Context) { val registry = ActionsRegistry.getInstance() - registry.registerAction(HomeSidebarAction(context)) registry.registerAction(FileTreeSidebarAction(context)) registry.registerAction(TerminalSidebarAction(context)) registry.registerAction(CloseProjectSidebarAction(context)) @@ -119,7 +117,7 @@ internal object EditorSidebarActions { registry.fillMenu(params) - controller.graph = controller.createGraph(startDestination = HomeSidebarAction.ID) { + controller.graph = controller.createGraph(startDestination = FileTreeSidebarAction.ID) { actions.forEach { (actionId, action) -> if (action !is SidebarActionItem) { throw IllegalStateException( @@ -146,7 +144,7 @@ internal object EditorSidebarActions { rail.setupWithNavController(controller) // make sure the 'Home' item is checked by default - rail.menu.findItem(HomeSidebarAction.ID.hashCode())?.isChecked = true + rail.menu.findItem(FileTreeSidebarAction.ID.hashCode())?.isChecked = true } /** diff --git a/resources/src/main/res/drawable/ic_home.xml b/resources/src/main/res/drawable/ic_home.xml deleted file mode 100644 index 4c5e85410..000000000 --- a/resources/src/main/res/drawable/ic_home.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/resources/src/main/res/values/strings.xml b/resources/src/main/res/values/strings.xml index 8270707f5..c319dcb7f 100644 --- a/resources/src/main/res/values/strings.xml +++ b/resources/src/main/res/values/strings.xml @@ -594,5 +594,4 @@ Failed to perform code action Enable LogSender When disabled, logs from applications won\'t be shown in AndroidIDE - Home