Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
}
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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 -> ""
}

Expand Down
2 changes: 1 addition & 1 deletion app/src/main/res/layout/fragment_clone_repository.xml
Original file line number Diff line number Diff line change
Expand Up @@ -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" />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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"
}
2 changes: 1 addition & 1 deletion resources/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1156,7 +1156,7 @@
<string name="use_authentication">Use Authentication</string>
<string name="username">Username</string>
<string name="personal_access_token">Personal access token</string>
<string name="clone">Clone project</string>
<string name="download_project">Download project</string>
<string name="destination_directory_not_empty">Destination directory is not empty</string>
<string name="clone_successful">Clone successful!</string>
<string name="clone_failed">Clone failed: %1$s</string>
Expand Down