Skip to content
Snippets Groups Projects
Commit f3e82dde authored by adi.bk's avatar adi.bk
Browse files

Merge branch 'develop' of https://gitlab.com/Commit451/LabCoat into develop

parents 22e86f78 1b72c8f4
No related branches found
No related tags found
1 merge request!24Issue #231 - Open images in full screen when clicked
Showing
with 132 additions and 104 deletions
# LabCoat for GitLab
 
[![build status](https://gitlab.com/ci/projects/7701/status.png?ref=master)](https://gitlab.com/ci/projects/7701?ref=master)
[![build status](https://gitlab.com/Commit451/LabCoat/badges/master/build.svg)](https://gitlab.com/Commit451/LabCoat/commits/master)
 
![Image](https://gitlab.com/Commit451/LabCoat/raw/master/art/screenshot-1.png)
[![Google Play](https://gitlab.com/Commit451/LabCoat/raw/master/art/google-play-badge.png)](https://play.google.com/store/apps/details?id=com.commit451.gitlab)
 
## Issues
Loading
Loading
Loading
Loading
@@ -19,8 +19,8 @@ apply plugin: 'io.fabric'
 
def versionMajor = 2
def versionMinor = 4
def versionPatch = 4
def versionBuild = 1 // bump for dogfood builds, public betas, etc.
def versionPatch = 5
def versionBuild = 0 // bump for dogfood builds, public betas, etc.
 
android {
compileSdkVersion 25
Loading
Loading
@@ -74,16 +74,18 @@ android {
}
 
ext {
supportLibVersion = '25.2.0'
supportLibVersion = '25.3.1'
retrofitVersion = '2.2.0'
okHttpVersion = '3.6.0'
butterknifeVersion = '8.5.1'
loganSquareVersion = '1.3.7'
parcelerVersion = '1.1.6'
reptarVersion = '2.3.0'
reptarVersion = '2.4.1'
adapterLayout = '1.1.0'
materialDialogsVersion = '0.9.4.1'
materialDialogsVersion = '0.9.4.3'
leakCanaryVersion = '1.5'
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
 
Loading
Loading
@@ -116,25 +118,59 @@ dependencies {
kapt "com.jakewharton:butterknife-compiler:$butterknifeVersion"
 
 
compile 'io.reactivex.rxjava2:rxjava:2.0.8'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
 
compile 'com.trello.rxlifecycle2:rxlifecycle-components:2.0.1'
 
compile 'net.danlew:android.joda:2.9.9'
 
compile "org.parceler:parceler-api:$parcelerVersion"
kapt "org.parceler:parceler:$parcelerVersion"
 
compile "com.github.Commit451.Reptar:reptar:$reptarVersion@aar"
compile "com.github.Commit451.Reptar:reptar-retrofit:$reptarVersion@aar"
compile "com.github.Commit451.Reptar:reptar-kotlin:$reptarVersion@aar"
compile "com.github.Commit451.Reptar:reptar:$reptarVersion"
compile "com.github.Commit451.Reptar:reptar-retrofit:$reptarVersion"
compile "com.github.Commit451.Reptar:reptar-kotlin:$reptarVersion"
compile 'com.github.Commit451:bypasses:1.1.0'
compile 'com.github.Commit451:ElasticDragDismissLayout:1.0.4'
compile "com.github.Commit451.AdapterLayout:adapterlayout:$adapterLayout"
compile "com.github.Commit451.AdapterLayout:adapterflowlayout:$adapterLayout"
compile ("com.github.Commit451.AdapterLayout:adapterflowlayout:$adapterLayout") {
exclude group: 'com.wefika', module: 'flowlayout'
}
//https://github.com/blazsolar/FlowLayout/issues/31
compile ("com.wefika:flowlayout:0.4.1") {
exclude group: 'com.intellij', module: 'annotations'
}
compile 'com.github.Commit451.Easel:easel:2.1.1'
compile 'com.github.Commit451:Gimbal:2.0.2'
compile 'com.github.Commit451:Teleprinter:1.0.2'
compile 'com.github.Commit451:BypassPicassoImageGetter:1.1.1'
compile 'com.github.Commit451:Jounce:1.0.2'
compile 'com.github.Commit451:ForegroundViews:2.3.1'
compile 'com.github.Commit451:MorphTransitions:2.0.0'
compile 'com.github.Commit451.Alakazam:alakazam:1.0.1'
compile 'com.github.Commit451:Lift:1.2.0'
compile 'com.github.Commit451:OkioProGuardRules:1.11.0.0'
compile 'com.github.Commit451:RetrofitProguardRules:2.2.0.0'
compile 'com.github.Commit451:LoganSquareProGuardRules:1.3.7.0'
compile 'com.github.Commit451:EventBusProGuardRules:3.0.0.0'
compile 'com.github.chrisbanes:PhotoView:2.0.0'
 
compile 'me.zhanghai.android.materialprogressbar:library:1.3.0'
 
compile 'com.github.Jawnnypoo:PhysicsLayout:2.1.0'
 
compile 'com.alexgwyn.recyclerviewsquire:recyclerviewsquire:0.0.6'
 
compile 'com.github.ivbaranov:materiallettericon:0.2.2'
 
compile 'com.github.johnkil.android-robototextview:robototextview:3.0.0'
 
compile 'com.github.alorma:diff-textview:1.3.0'
 
compile 'com.wdullaer:materialdatetimepicker:3.1.3'
 
compile 'com.github.novoda:simple-chrome-custom-tabs:0.1.4'
 
compile "com.afollestad.material-dialogs:core:$materialDialogsVersion"
compile "com.afollestad.material-dialogs:commons:$materialDialogsVersion"
Loading
Loading
@@ -153,48 +189,10 @@ dependencies {
transitive = true;
}
 
debugCompile "com.squareup.leakcanary:leakcanary-android:$leakCanaryVersion"
releaseCompile "com.squareup.leakcanary:leakcanary-android-no-op:$leakCanaryVersion"
testCompile "com.squareup.leakcanary:leakcanary-android-no-op:$leakCanaryVersion"
 
compile 'com.android.support:multidex:1.0.1'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.github.aurae.retrofit2:converter-logansquare:1.4.1'
compile 'com.jakewharton.picasso:picasso2-okhttp3-downloader:1.1.0'
compile 'com.jakewharton.timber:timber:4.5.1'
compile 'org.greenrobot:eventbus:3.0.0'
compile 'io.reactivex.rxjava2:rxjava:2.0.7'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'com.trello.rxlifecycle2:rxlifecycle-components:2.0.1'
compile 'net.danlew:android.joda:2.9.7'
compile 'com.github.Commit451:bypasses:1.1.0'
compile 'com.github.Commit451:ElasticDragDismissLayout:1.0.4'
compile 'com.github.Commit451.Easel:easel:2.1.1@aar'
compile 'com.github.Commit451:Gimbal:2.0.2'
compile 'com.github.Commit451:Teleprinter:1.0.2'
compile 'com.github.Commit451:BypassPicassoImageGetter:1.1.1'
compile 'com.github.Commit451:Jounce:1.0.1'
compile 'com.github.Commit451:ForegroundViews:2.3.1'
compile 'com.github.Commit451:MorphTransitions:2.0.0'
compile 'com.github.Commit451.Alakazam:alakazam:1.0.1@aar'
compile 'com.github.Commit451:Lift:1.2.0'
compile 'com.github.Commit451:OkioProGuardRules:1.11.0.0'
compile 'com.github.Commit451:RetrofitProguardRules:2.2.0.0'
compile 'com.github.Commit451:LoganSquareProGuardRules:1.3.7.0'
compile 'com.github.Commit451:EventBusProGuardRules:3.0.0.0'
compile 'me.zhanghai.android.materialprogressbar:library:1.3.0'
compile 'com.github.Jawnnypoo:PhysicsLayout:2.1.0'
compile 'com.alexgwyn.recyclerviewsquire:recyclerviewsquire:0.0.6'
compile 'com.github.ivbaranov:materiallettericon:0.2.2'
compile 'com.github.johnkil.android-robototextview:robototextview:3.0.0'
compile 'com.github.alorma:diff-textview:1.3.0'
compile 'com.wdullaer:materialdatetimepicker:3.1.3'
compile 'com.github.novoda:simple-chrome-custom-tabs:0.1.4'
compile 'de.hdodenhof:circleimageview:2.1.0'
compile 'com.github.jkwiecien:EasyImage:1.4.1'
compile 'com.github.chrisbanes:PhotoView:2.0.0'
compile 'com.android.support:support-v4:25.2.0'
testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
testCompile 'junit:junit:4.12'
testCompile 'org.robolectric:robolectric:3.3.1'
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
testCompile 'org.robolectric:robolectric:3.3.2'
}
app/src/debug/res/drawable-hdpi/leak_canary_icon.png

4.58 KiB

app/src/debug/res/drawable-mdpi/leak_canary_icon.png

2.95 KiB

app/src/debug/res/drawable-xhdpi/leak_canary_icon.png

6.12 KiB

app/src/debug/res/drawable-xxhdpi/leak_canary_icon.png

9.81 KiB

app/src/debug/res/drawable-xxxhdpi/leak_canary_icon.png

13.6 KiB

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="leak_canary_display_activity_label">LabCoat Leaks</string>
</resources>
\ No newline at end of file
Loading
Loading
@@ -127,6 +127,12 @@
android:name="android.appwidget.provider"
android:resource="@xml/widget_project_feed"/>
</receiver>
<service
android:name=".widget.ProjectFeedWidgetService"
android:exported="false"
android:permission="android.permission.BIND_REMOTEVIEWS" />
</application>
 
</manifest>
\ No newline at end of file
</manifest>
Loading
Loading
@@ -67,6 +67,14 @@ class ActivityActivity : BaseActivity() {
return true
}
 
override fun onBackPressed() {
if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
drawerLayout.closeDrawer(GravityCompat.START)
} else {
super.onBackPressed()
}
}
override fun onDestroy() {
super.onDestroy()
App.bus().unregister(this)
Loading
Loading
Loading
Loading
@@ -8,13 +8,11 @@ import android.os.Parcelable
import android.support.design.widget.Snackbar
import android.support.design.widget.TextInputLayout
import android.support.v7.app.AlertDialog
import android.support.v7.widget.SwitchCompat
import android.support.v7.widget.Toolbar
import android.text.TextUtils
import android.view.View
import android.view.ViewGroup
import android.widget.CheckBox
import android.widget.EditText
import android.widget.FrameLayout
import android.widget.Spinner
import android.widget.TextView
import butterknife.BindView
Loading
Loading
@@ -28,6 +26,7 @@ import com.commit451.gitlab.adapter.AssigneeSpinnerAdapter
import com.commit451.gitlab.adapter.MilestoneSpinnerAdapter
import com.commit451.gitlab.event.IssueChangedEvent
import com.commit451.gitlab.event.IssueCreatedEvent
import com.commit451.gitlab.extension.checkValid
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.*
import com.commit451.gitlab.navigation.Navigator
Loading
Loading
@@ -63,7 +62,7 @@ class AddIssueActivity : MorphActivity() {
}
}
 
@BindView(R.id.root) lateinit var root: FrameLayout
@BindView(R.id.root) lateinit var root: ViewGroup
@BindView(R.id.toolbar) lateinit var toolbar: Toolbar
@BindView(R.id.title_text_input_layout) lateinit var textInputLayoutTitle: TextInputLayout
@BindView(R.id.description) lateinit var textDescription: EditText
Loading
Loading
@@ -76,7 +75,7 @@ class AddIssueActivity : MorphActivity() {
@BindView(R.id.labels_progress) lateinit var progressLabels: View
@BindView(R.id.root_add_labels) lateinit var rootAddLabels: ViewGroup
@BindView(R.id.list_labels) lateinit var listLabels: AdapterFlowLayout
@BindView(R.id.confidential_switch) lateinit var switchConfidential: SwitchCompat
@BindView(R.id.check_confidential) lateinit var checkConfidential: CheckBox
 
lateinit var adapterLabels: AddIssueLabelAdapter
lateinit var teleprinter: Teleprinter
Loading
Loading
@@ -144,7 +143,7 @@ class AddIssueActivity : MorphActivity() {
spinnerMilestone.visibility = View.GONE
}
 
override fun responseSuccess(milestones: List<Milestone>) {
override fun responseNonNullSuccess(milestones: List<Milestone>) {
progressMilestone.visibility = View.GONE
spinnerMilestone.visibility = View.VISIBLE
val maybeNullMilestones = mutableListOf<Milestone?>()
Loading
Loading
@@ -168,7 +167,7 @@ class AddIssueActivity : MorphActivity() {
progressAssignee.visibility = View.GONE
}
 
override fun responseSuccess(members: List<Member>) {
override fun responseNonNullSuccess(members: List<Member>) {
this@AddIssueActivity.members.addAll(members)
if (project.belongsToGroup()) {
Timber.d("Project belongs to a group, loading those users too")
Loading
Loading
@@ -182,7 +181,7 @@ class AddIssueActivity : MorphActivity() {
progressAssignee.visibility = View.GONE
}
 
override fun responseSuccess(members: List<Member>) {
override fun responseNonNullSuccess(members: List<Member>) {
this@AddIssueActivity.members.addAll(members)
setAssignees()
}
Loading
Loading
@@ -218,13 +217,13 @@ class AddIssueActivity : MorphActivity() {
}
 
private fun bindIssue() {
if (!TextUtils.isEmpty(issue!!.title)) {
if (!issue?.title.isNullOrEmpty()) {
textInputLayoutTitle.editText!!.setText(issue!!.title)
}
if (!TextUtils.isEmpty(issue!!.description)) {
if (!issue?.description.isNullOrEmpty()) {
textDescription.setText(issue!!.description)
}
switchConfidential.isChecked = issue!!.isConfidential
checkConfidential.isChecked = issue!!.isConfidential
}
 
private fun setAssignees() {
Loading
Loading
@@ -278,9 +277,8 @@ class AddIssueActivity : MorphActivity() {
}
 
private fun save() {
if (!TextUtils.isEmpty(textInputLayoutTitle.editText!!.text)) {
if (textInputLayoutTitle.checkValid()) {
teleprinter.hideKeyboard()
textInputLayoutTitle.error = null
showLoading()
var assigneeId: Long? = null
if (spinnerAssignee.adapter != null) {
Loading
Loading
@@ -311,9 +309,7 @@ class AddIssueActivity : MorphActivity() {
assigneeId,
milestoneId,
labelsCommaSeperated,
switchConfidential.isChecked)
} else {
textInputLayoutTitle.error = getString(R.string.required_field)
checkConfidential.isChecked)
}
}
 
Loading
Loading
Loading
Loading
@@ -7,7 +7,6 @@ import android.os.Parcelable
import android.support.design.widget.Snackbar
import android.support.design.widget.TextInputLayout
import android.support.v7.widget.Toolbar
import android.text.TextUtils
import android.view.View
import android.widget.Button
import android.widget.EditText
Loading
Loading
@@ -20,6 +19,7 @@ import com.commit451.gitlab.App
import com.commit451.gitlab.R
import com.commit451.gitlab.event.MilestoneChangedEvent
import com.commit451.gitlab.event.MilestoneCreatedEvent
import com.commit451.gitlab.extension.checkValid
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.model.api.Milestone
import com.commit451.gitlab.rx.CustomSingleObserver
Loading
Loading
@@ -115,8 +115,7 @@ class AddMilestoneActivity : MorphActivity() {
 
fun createMilestone() {
teleprinter.hideKeyboard()
if (TextUtils.isEmpty(textTitle.text)) {
textInputLayoutTitle.error = getString(R.string.required_field)
if (!textInputLayoutTitle.checkValid()) {
return
}
 
Loading
Loading
Loading
Loading
@@ -9,7 +9,6 @@ import android.support.annotation.ColorInt
import android.support.design.widget.Snackbar
import android.support.design.widget.TextInputLayout
import android.support.v7.widget.Toolbar
import android.text.TextUtils
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
Loading
Loading
@@ -21,6 +20,7 @@ import com.afollestad.materialdialogs.color.ColorChooserDialog
import com.commit451.gitlab.App
import com.commit451.gitlab.R
import com.commit451.gitlab.extension.checkValid
import com.commit451.gitlab.extension.text
import com.commit451.gitlab.model.api.Label
import com.commit451.gitlab.rx.CustomResponseSingleObserver
import com.commit451.gitlab.util.ColorUtil
Loading
Loading
@@ -105,9 +105,9 @@ class AddNewLabelActivity : BaseActivity(), ColorChooserDialog.ColorCallback {
.show()
return
}
val title = textInputLayoutTitle.editText!!.text.toString()
val title = textInputLayoutTitle.text()
var description: String? = null
if (!TextUtils.isEmpty(textDescription.text)) {
if (!textDescription.text.isNullOrEmpty()) {
description = textDescription.text.toString()
}
var color: String? = null
Loading
Loading
@@ -136,7 +136,7 @@ class AddNewLabelActivity : BaseActivity(), ColorChooserDialog.ColorCallback {
}
}
 
override fun responseSuccess(label: Label) {
override fun responseNonNullSuccess(label: Label) {
val data = Intent()
data.putExtra(KEY_NEW_LABEL, Parcels.wrap(label))
setResult(Activity.RESULT_OK, data)
Loading
Loading
Loading
Loading
@@ -10,7 +10,6 @@ import android.support.v4.widget.SwipeRefreshLayout
import android.support.v7.widget.GridLayoutManager
import android.support.v7.widget.RecyclerView
import android.support.v7.widget.Toolbar
import android.text.TextUtils
import android.view.View
import android.view.ViewGroup
import android.widget.EditText
Loading
Loading
@@ -87,8 +86,8 @@ class AddUserActivity : MorphActivity() {
}
 
@OnEditorAction(R.id.search)
internal fun onEditorAction(): Boolean {
if (!TextUtils.isEmpty(textSearch.text)) {
fun onEditorAction(): Boolean {
if (!textSearch.text.isNullOrEmpty()) {
query = textSearch.text.toString()
loadData()
}
Loading
Loading
@@ -96,8 +95,8 @@ class AddUserActivity : MorphActivity() {
}
 
@OnTextChanged(R.id.search)
internal fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
if (TextUtils.isEmpty(s)) {
fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
if (s.isNullOrEmpty()) {
buttonClear.animate()
.alpha(0.0f)
.withEndAction(HideRunnable(buttonClear))
Loading
Loading
@@ -169,7 +168,7 @@ class AddUserActivity : MorphActivity() {
.show()
}
 
override fun responseSuccess(users: List<UserBasic>) {
override fun responseNonNullSuccess(users: List<UserBasic>) {
swipeRefreshLayout.isRefreshing = false
loading = false
adapter.setData(users)
Loading
Loading
@@ -192,7 +191,7 @@ class AddUserActivity : MorphActivity() {
adapter.setLoading(false)
}
 
override fun responseSuccess(users: List<UserBasic>) {
override fun responseNonNullSuccess(users: List<UserBasic>) {
loading = false
adapter.setLoading(false)
adapter.addData(users)
Loading
Loading
@@ -217,7 +216,7 @@ class AddUserActivity : MorphActivity() {
.show()
}
 
override fun responseSuccess(member: Member) {
override fun responseNonNullSuccess(member: Member) {
Snackbar.make(root, R.string.user_added_successfully, Snackbar.LENGTH_SHORT)
.show()
dialogAccess.dismiss()
Loading
Loading
Loading
Loading
@@ -156,7 +156,7 @@ class BuildActivity : BaseActivity() {
project = Parcels.unwrap<Project>(intent.getParcelableExtra<Parcelable>(KEY_PROJECT))
build = Parcels.unwrap<Build>(intent.getParcelableExtra<Parcelable>(KEY_BUILD))
 
toolbar.title = getString(R.string.build_number) + build.id
toolbar.title = String.format(getString(R.string.build_number), build.id)
toolbar.setNavigationIcon(R.drawable.ic_back_24dp)
toolbar.setNavigationOnClickListener { onBackPressed() }
toolbar.subtitle = project.nameWithNamespace
Loading
Loading
Loading
Loading
@@ -91,6 +91,14 @@ class GroupsActivity : BaseActivity() {
load()
}
 
override fun onBackPressed() {
if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
drawerLayout.closeDrawer(GravityCompat.START)
} else {
super.onBackPressed()
}
}
override fun onDestroy() {
super.onDestroy()
App.bus().unregister(this)
Loading
Loading
@@ -115,7 +123,7 @@ class GroupsActivity : BaseActivity() {
textMessage.setText(R.string.connection_error)
}
 
override fun responseSuccess(groups: List<Group>) {
override fun responseNonNullSuccess(groups: List<Group>) {
loading = false
swipeRefreshLayout.isRefreshing = false
if (groups.isEmpty()) {
Loading
Loading
@@ -151,7 +159,7 @@ class GroupsActivity : BaseActivity() {
loading = false
}
 
override fun responseSuccess(groups: List<Group>) {
override fun responseNonNullSuccess(groups: List<Group>) {
loading = false
adapterGroup.addGroups(groups)
nextPageUrl = LinkHeaderParser.parse(response()).next
Loading
Loading
Loading
Loading
@@ -271,7 +271,7 @@ class IssueActivity : BaseActivity() {
.show()
}
 
override fun responseSuccess(notes: List<Note>) {
override fun responseNonNullSuccess(notes: List<Note>) {
loading = false
swipeRefreshLayout.isRefreshing = false
nextPageUrl = LinkHeaderParser.parse(response()).next
Loading
Loading
@@ -295,7 +295,7 @@ class IssueActivity : BaseActivity() {
adapterIssueDetails.setLoading(false)
}
 
override fun responseSuccess(notes: List<Note>) {
override fun responseNonNullSuccess(notes: List<Note>) {
loading = false
adapterIssueDetails.setLoading(false)
nextPageUrl = LinkHeaderParser.parse(response()).next
Loading
Loading
Loading
Loading
@@ -11,6 +11,7 @@ import android.support.design.widget.Snackbar
import android.support.design.widget.TextInputLayout
import android.support.v7.widget.Toolbar
import android.text.method.LinkMovementMethod
import android.util.Patterns
import android.view.View
import android.widget.EditText
import android.widget.TextView
Loading
Loading
@@ -24,12 +25,14 @@ import com.commit451.gitlab.BuildConfig
import com.commit451.gitlab.R
import com.commit451.gitlab.api.GitLabFactory
import com.commit451.gitlab.api.OkHttpClientFactory
import com.commit451.gitlab.api.request.SessionRequest
import com.commit451.gitlab.data.Prefs
import com.commit451.gitlab.dialog.HttpLoginDialog
import com.commit451.gitlab.event.LoginEvent
import com.commit451.gitlab.event.ReloadDataEvent
import com.commit451.gitlab.extension.checkValid
import com.commit451.gitlab.extension.setup
import com.commit451.gitlab.extension.text
import com.commit451.gitlab.model.Account
import com.commit451.gitlab.model.api.Message
import com.commit451.gitlab.model.api.UserFull
Loading
Loading
@@ -41,7 +44,6 @@ import com.commit451.gitlab.ssl.CustomKeyManager
import com.commit451.gitlab.ssl.X509CertificateException
import com.commit451.gitlab.ssl.X509Util
import com.commit451.teleprinter.Teleprinter
import io.reactivex.Single
import okhttp3.Credentials
import okhttp3.HttpUrl
import okhttp3.logging.HttpLoggingInterceptor
Loading
Loading
@@ -90,6 +92,9 @@ class LoginActivity : BaseActivity() {
lateinit var teleprinter: Teleprinter
 
var isNormalLogin = true
val emailPattern : Pattern by lazy {
Patterns.EMAIL_ADDRESS
}
var account: Account = Account()
 
@OnEditorAction(R.id.password_input, R.id.token_input)
Loading
Loading
@@ -216,20 +221,24 @@ class LoginActivity : BaseActivity() {
}
 
fun connectByAuth() {
val request = SessionRequest()
request.setPassword(textInputLayoutPassword.text())
val usernameOrEmail = textInputLayoutUser.text()
if (emailPattern.matcher(usernameOrEmail).matches()) {
request.setEmail(usernameOrEmail)
} else {
request.setLogin(usernameOrEmail)
}
attemptLogin(request)
}
fun attemptLogin(request: SessionRequest) {
val gitlabClientBuilder = OkHttpClientFactory.create(account)
if (BuildConfig.DEBUG) {
gitlabClientBuilder.addInterceptor(HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY))
}
val gitLab = GitLabFactory.create(account, gitlabClientBuilder.build())
if (textUser.text.toString().contains("@")) {
attemptLogin(gitLab.loginWithEmail(textUser.text.toString(), textPassword.text.toString()))
} else {
attemptLogin(gitLab.loginWithEmail(textUser.text.toString(), textPassword.text.toString()))
}
}
fun attemptLogin(observable: Single<Response<UserLogin>>) {
observable
gitLab.login(request)
.setup(bindToLifecycle())
.subscribe(object : CustomResponseSingleObserver<UserLogin>() {
 
Loading
Loading
@@ -242,7 +251,7 @@ class LoginActivity : BaseActivity() {
}
}
 
override fun responseSuccess(userLogin: UserLogin) {
override fun responseNonNullSuccess(userLogin: UserLogin) {
account.privateToken = userLogin.privateToken
loadUser()
}
Loading
Loading
@@ -341,7 +350,7 @@ class LoginActivity : BaseActivity() {
}
}
 
override fun responseSuccess(userFull: UserFull) {
override fun responseNonNullSuccess(userFull: UserFull) {
progress.visibility = View.GONE
account.user = userFull
account.lastUsed = Date()
Loading
Loading
Loading
Loading
@@ -105,7 +105,7 @@ class MergeRequestActivity : BaseActivity() {
.show()
}
 
override fun responseSuccess(mergeRequest: MergeRequest) {
override fun responseNonNullSuccess(mergeRequest: MergeRequest) {
progress.visibility = View.GONE
Snackbar.make(root, R.string.merge_request_accepted, Snackbar.LENGTH_LONG)
.show()
Loading
Loading
Loading
Loading
@@ -155,7 +155,7 @@ class MilestoneActivity : BaseActivity() {
adapterMilestoneIssues.setIssues(null)
}
 
override fun responseSuccess(issues: List<Issue>) {
override fun responseNonNullSuccess(issues: List<Issue>) {
swipeRefreshLayout.isRefreshing = false
loading = false
 
Loading
Loading
@@ -191,7 +191,7 @@ class MilestoneActivity : BaseActivity() {
loading = false
}
 
override fun responseSuccess(issues: List<Issue>) {
override fun responseNonNullSuccess(issues: List<Issue>) {
loading = false
nextPageUrl = LinkHeaderParser.parse(response()).next
adapterMilestoneIssues.addIssues(issues)
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment