diff options
| author | Harsh Shandilya <me@msfjarvis.dev> | 2021-01-12 21:42:53 +0530 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-12 21:42:53 +0530 |
| commit | 1e9e5686afc2a6515f871c5f2ad4dc2ddc4731c4 (patch) | |
| tree | 3cce3972dd01f6c5cc4884e5c7b99c5e2db7eae5 /app/src/main/java/dev/msfjarvis/aps/ui | |
| parent | 8bd156dea6e87eb667f76f4738fde992323ce0cf (diff) | |
| download | HardenedPass-1e9e5686afc2a6515f871c5f2ad4dc2ddc4731c4.tar.gz HardenedPass-1e9e5686afc2a6515f871c5f2ad4dc2ddc4731c4.zip | |
Allow configuring pull behaviour (#1276)
Diffstat (limited to 'app/src/main/java/dev/msfjarvis/aps/ui')
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() |
