@@ -11,7 +11,6 @@ import androidx.recyclerview.widget.LinearLayoutManager
1111import com.google.android.material.dialog.MaterialAlertDialogBuilder
1212import com.itsaky.androidide.R
1313import com.itsaky.androidide.databinding.DialogGitCommitHistoryBinding
14- import com.itsaky.androidide.databinding.DialogGitCredentialsBinding
1514import com.itsaky.androidide.fragments.git.adapter.GitCommitHistoryAdapter
1615import com.itsaky.androidide.git.core.GitCredentialsManager
1716import com.itsaky.androidide.git.core.models.CommitHistoryUiState
@@ -66,19 +65,17 @@ class GitCommitHistoryDialog : DialogFragment() {
6665 true
6766 }
6867
69- binding.rvCommitHistory.onLongPress {
70- TooltipManager .showIdeCategoryTooltip(
71- context = binding.root.context,
72- anchorView = binding.root,
73- tag = TooltipTag .GIT_COMMIT_HISTORY
74- )
75- }
76-
7768 binding.rvCommitHistory.apply {
7869 layoutManager = linearLayoutManager
7970 addItemDecoration(dividerItemDecoration)
8071 adapter = commitHistoryAdapter
81- }
72+ onLongPress {
73+ TooltipManager .showIdeCategoryTooltip(
74+ context = binding.root.context,
75+ anchorView = binding.root,
76+ tag = TooltipTag .GIT_COMMIT_HISTORY
77+ )
78+ }
8279
8380 binding.btnBack.setOnClickListener {
8481 dismiss()
@@ -117,17 +114,35 @@ class GitCommitHistoryDialog : DialogFragment() {
117114 }
118115
119116 setupPushUI()
120- }
117+ }}
121118
122119 private fun setupPushUI () {
120+ binding.btnPush.setOnClickListener {
121+ val username = credentialsManager.getUsername()
122+ val token = credentialsManager.getToken()
123+ if (! username.isNullOrBlank() && ! token.isNullOrBlank()) {
124+ viewModel.push(username, token)
125+ } else {
126+ showGitCredentialsDialog(
127+ credentialsManager = credentialsManager,
128+ positiveButtonTextResId = R .string.push
129+ ) { user, accessToken ->
130+ viewModel.push(user, accessToken)
131+ }}
132+
123133 binding.btnPush.apply {
124134 setOnClickListener {
125135 val username = credentialsManager.getUsername()
126136 val token = credentialsManager.getToken()
127137 if (! username.isNullOrBlank() && ! token.isNullOrBlank()) {
128138 viewModel.push(username, token)
129139 } else {
130- showCredentialsDialog()
140+ showGitCredentialsDialog(
141+ credentialsManager = credentialsManager,
142+ positiveButtonTextResId = R .string.pull
143+ ) { user, accessToken ->
144+ viewModel.pull(user, accessToken)
145+ }
131146 }
132147 }
133148 setOnLongClickListener { view ->
@@ -192,30 +207,7 @@ class GitCommitHistoryDialog : DialogFragment() {
192207 }
193208 }
194209
195- }
196-
197- private fun showCredentialsDialog () {
198- val dialogBinding = DialogGitCredentialsBinding .inflate(layoutInflater)
199-
200- dialogBinding.username.setText(credentialsManager.getUsername())
201- dialogBinding.token.setText(credentialsManager.getToken())
202-
203- MaterialAlertDialogBuilder (requireContext())
204- .setTitle(R .string.git_credentials_title)
205- .setView(dialogBinding.root)
206- .setPositiveButton(R .string.push) { _, _ ->
207- val username = dialogBinding.username.text?.toString()?.trim()
208- val token = dialogBinding.token.text?.toString()?.trim()
209- if (! username.isNullOrBlank() && ! token.isNullOrBlank()) {
210- viewModel.push(username, token)
211- }
212- }
213- .setNeutralButton(R .string.git_credentials_clear) { _, _ ->
214- credentialsManager.clearCredentials()
215- }
216- .setNegativeButton(android.R .string.cancel, null )
217- .show()
218- }
210+ }}
219211
220212 override fun onDestroyView () {
221213 super .onDestroyView()
0 commit comments