aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/dev/msfjarvis/aps/ui
diff options
context:
space:
mode:
authorHarsh Shandilya <me@msfjarvis.dev>2021-01-12 21:42:53 +0530
committerGitHub <noreply@github.com>2021-01-12 21:42:53 +0530
commit1e9e5686afc2a6515f871c5f2ad4dc2ddc4731c4 (patch)
tree3cce3972dd01f6c5cc4884e5c7b99c5e2db7eae5 /app/src/main/java/dev/msfjarvis/aps/ui
parent8bd156dea6e87eb667f76f4738fde992323ce0cf (diff)
downloadHardenedPass-1e9e5686afc2a6515f871c5f2ad4dc2ddc4731c4.tar.gz
HardenedPass-1e9e5686afc2a6515f871c5f2ad4dc2ddc4731c4.zip
Allow configuring pull behaviour (#1276)
Diffstat (limited to 'app/src/main/java/dev/msfjarvis/aps/ui')
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/ui/git/base/BaseGitActivity.kt4
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/ui/git/config/GitConfigActivity.kt9
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/ui/settings/RepositorySettings.kt6
3 files changed, 13 insertions, 6 deletions
diff --git a/app/src/main/java/dev/msfjarvis/aps/ui/git/base/BaseGitActivity.kt b/app/src/main/java/dev/msfjarvis/aps/ui/git/base/BaseGitActivity.kt
index 8b288d00..e5737227 100644
--- a/app/src/main/java/dev/msfjarvis/aps/ui/git/base/BaseGitActivity.kt
+++ b/app/src/main/java/dev/msfjarvis/aps/ui/git/base/BaseGitActivity.kt
@@ -66,9 +66,9 @@ abstract class BaseGitActivity : ContinuationContainerActivity() {
}
val op = when (operation) {
GitOp.CLONE -> CloneOperation(this, GitSettings.url!!)
- GitOp.PULL -> PullOperation(this)
+ GitOp.PULL -> PullOperation(this, GitSettings.rebaseOnPull)
GitOp.PUSH -> PushOperation(this)
- GitOp.SYNC -> SyncOperation(this)
+ GitOp.SYNC -> SyncOperation(this, GitSettings.rebaseOnPull)
GitOp.BREAK_OUT_OF_DETACHED -> BreakOutOfDetached(this)
GitOp.RESET -> ResetToRemoteOperation(this)
}
diff --git a/app/src/main/java/dev/msfjarvis/aps/ui/git/config/GitConfigActivity.kt b/app/src/main/java/dev/msfjarvis/aps/ui/git/config/GitConfigActivity.kt
index d354ce4e..2a31aeee 100644
--- a/app/src/main/java/dev/msfjarvis/aps/ui/git/config/GitConfigActivity.kt
+++ b/app/src/main/java/dev/msfjarvis/aps/ui/git/config/GitConfigActivity.kt
@@ -29,6 +29,7 @@ import dev.msfjarvis.aps.util.extensions.viewBinding
import kotlinx.coroutines.launch
import org.eclipse.jgit.lib.Constants
import org.eclipse.jgit.lib.Repository
+import org.eclipse.jgit.lib.RepositoryState
class GitConfigActivity : BaseGitActivity() {
@@ -79,10 +80,10 @@ class GitConfigActivity : BaseGitActivity() {
val repo = PasswordRepository.getRepository(null)
if (repo != null) {
binding.gitHeadStatus.text = headStatusMsg(repo)
- // enable the abort button only if we're rebasing
- val isRebasing = repo.repositoryState.isRebasing
- binding.gitAbortRebase.isEnabled = isRebasing
- binding.gitAbortRebase.alpha = if (isRebasing) 1.0f else 0.5f
+ // enable the abort button only if we're rebasing or merging
+ val needsAbort = repo.repositoryState.isRebasing || repo.repositoryState == RepositoryState.MERGING
+ binding.gitAbortRebase.isEnabled = needsAbort
+ binding.gitAbortRebase.alpha = if (needsAbort) 1.0f else 0.5f
}
binding.gitLog.setOnClickListener {
runCatching {
diff --git a/app/src/main/java/dev/msfjarvis/aps/ui/settings/RepositorySettings.kt b/app/src/main/java/dev/msfjarvis/aps/ui/settings/RepositorySettings.kt
index 32d04c9b..22ac899a 100644
--- a/app/src/main/java/dev/msfjarvis/aps/ui/settings/RepositorySettings.kt
+++ b/app/src/main/java/dev/msfjarvis/aps/ui/settings/RepositorySettings.kt
@@ -56,6 +56,12 @@ class RepositorySettings(private val activity: FragmentActivity) : SettingsProvi
override fun provideSettings(builder: PreferenceScreen.Builder) {
builder.apply {
+ checkBox(PreferenceKeys.REBASE_ON_PULL) {
+ titleRes = R.string.pref_rebase_on_pull_title
+ summaryRes = R.string.pref_rebase_on_pull_summary
+ summaryOnRes = R.string.pref_rebase_on_pull_summary_on
+ defaultValue = true
+ }
pref(PreferenceKeys.GIT_SERVER_INFO) {
titleRes = R.string.pref_edit_git_server_settings
visible = PasswordRepository.isGitRepo()