diff --git a/app/src/main/java/com/itsaky/androidide/fragments/CloneRepositoryFragment.kt b/app/src/main/java/com/itsaky/androidide/fragments/CloneRepositoryFragment.kt
index f7c88f8ba5..6cdf18215f 100644
--- a/app/src/main/java/com/itsaky/androidide/fragments/CloneRepositoryFragment.kt
+++ b/app/src/main/java/com/itsaky/androidide/fragments/CloneRepositoryFragment.kt
@@ -4,18 +4,23 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.widget.EditText
import androidx.core.widget.doAfterTextChanged
import androidx.fragment.app.activityViewModels
import androidx.fragment.app.viewModels
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
+import com.google.android.material.textfield.TextInputLayout
import com.itsaky.androidide.activities.MainActivity
import com.itsaky.androidide.databinding.FragmentCloneRepositoryBinding
import com.itsaky.androidide.viewmodel.CloneRepositoryViewModel
import com.itsaky.androidide.viewmodel.MainViewModel
import com.itsaky.androidide.git.core.models.CloneRepoUiState
import com.itsaky.androidide.R
+import com.itsaky.androidide.idetooltips.TooltipManager
+import com.itsaky.androidide.idetooltips.TooltipTag
+import com.itsaky.androidide.utils.forEachViewRecursively
import kotlinx.coroutines.launch
import java.io.File
@@ -88,6 +93,20 @@ class CloneRepositoryFragment : BaseFragment() {
exitButton.setOnClickListener {
mainViewModel.setScreen(MainViewModel.SCREEN_MAIN)
}
+
+ root.forEachViewRecursively { child ->
+ if (child is EditText || child is TextInputLayout) {
+ return@forEachViewRecursively
+ }
+ child.setOnLongClickListener { v ->
+ TooltipManager.showIdeCategoryTooltip(
+ context = requireContext(),
+ anchorView = v,
+ tag = TooltipTag.GIT_DOWNLOAD_SCREEN
+ )
+ true
+ }
+ }
}
}
diff --git a/app/src/main/java/com/itsaky/androidide/fragments/MainFragment.kt b/app/src/main/java/com/itsaky/androidide/fragments/MainFragment.kt
index ae8e852f8e..8b132a622a 100644
--- a/app/src/main/java/com/itsaky/androidide/fragments/MainFragment.kt
+++ b/app/src/main/java/com/itsaky/androidide/fragments/MainFragment.kt
@@ -14,6 +14,7 @@ import com.itsaky.androidide.adapters.MainActionsListAdapter
import com.itsaky.androidide.databinding.FragmentMainBinding
import com.itsaky.androidide.idetooltips.TooltipManager
import com.itsaky.androidide.idetooltips.TooltipTag.MAIN_GET_STARTED
+import com.itsaky.androidide.idetooltips.TooltipTag.MAIN_GIT
import com.itsaky.androidide.idetooltips.TooltipTag.MAIN_HELP
import com.itsaky.androidide.idetooltips.TooltipTag.MAIN_PREFERENCES
import com.itsaky.androidide.idetooltips.TooltipTag.MAIN_PROJECT_DELETE
@@ -138,6 +139,7 @@ class MainFragment : BaseFragment() {
ACTION_DOCS -> MAIN_HELP
ACTION_OPEN_TERMINAL -> MAIN_TERMINAL
ACTION_PREFERENCES -> MAIN_PREFERENCES
+ ACTION_CLONE_REPO -> MAIN_GIT
else -> ""
}
diff --git a/app/src/main/res/layout/fragment_clone_repository.xml b/app/src/main/res/layout/fragment_clone_repository.xml
index 7f738aaa86..8b6b90b732 100644
--- a/app/src/main/res/layout/fragment_clone_repository.xml
+++ b/app/src/main/res/layout/fragment_clone_repository.xml
@@ -123,7 +123,7 @@
android:layout_marginTop="24dp"
app:layout_goneMarginTop="16dp"
android:enabled="false"
- android:text="@string/clone"
+ android:text="@string/download_project"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/passwordLayout" />
diff --git a/idetooltips/src/main/java/com/itsaky/androidide/idetooltips/TooltipTag.kt b/idetooltips/src/main/java/com/itsaky/androidide/idetooltips/TooltipTag.kt
index 89bfc6df2e..36374bfcf6 100644
--- a/idetooltips/src/main/java/com/itsaky/androidide/idetooltips/TooltipTag.kt
+++ b/idetooltips/src/main/java/com/itsaky/androidide/idetooltips/TooltipTag.kt
@@ -80,6 +80,7 @@ object TooltipTag {
const val FEEDBACK = "feedback"
const val MAIN_PREFERENCES = "main.prefs"
const val MAIN_TERMINAL = "main.terminal"
+ const val MAIN_GIT = "main.git"
// Editor toolbar
const val EDITOR_TOOLBAR_NAV_ICON = "project.menu"
@@ -158,4 +159,7 @@ object TooltipTag {
const val DEBUGGER_ACTION_RESTART = "debug.toolbar.restart"
const val PROJECT_PLUGIN_TAB = "project.plugin.tab"
+
+ // Git
+ const val GIT_DOWNLOAD_SCREEN = "git.download"
}
diff --git a/resources/src/main/res/values/strings.xml b/resources/src/main/res/values/strings.xml
index 2c7e566923..5c286cf69e 100644
--- a/resources/src/main/res/values/strings.xml
+++ b/resources/src/main/res/values/strings.xml
@@ -1156,7 +1156,7 @@
Use Authentication
Username
Personal access token
- Clone project
+ Download project
Destination directory is not empty
Clone successful!
Clone failed: %1$s