update deps, fix some lint warnings
This commit is contained in:
parent
35f4512e6c
commit
15d607b799
10 changed files with 32 additions and 41 deletions
|
@ -59,7 +59,7 @@ android {
|
||||||
}
|
}
|
||||||
|
|
||||||
ext.supportLibraryVersion = '28.0.0'
|
ext.supportLibraryVersion = '28.0.0'
|
||||||
ext.daggerVersion = '2.17'
|
ext.daggerVersion = '2.19'
|
||||||
|
|
||||||
|
|
||||||
// if libraries are changed here, they should also be changed in LicenseActivity
|
// if libraries are changed here, they should also be changed in LicenseActivity
|
||||||
|
@ -105,16 +105,16 @@ dependencies {
|
||||||
implementation "com.google.dagger:dagger-android:$daggerVersion"
|
implementation "com.google.dagger:dagger-android:$daggerVersion"
|
||||||
implementation "com.google.dagger:dagger-android-support:$daggerVersion"
|
implementation "com.google.dagger:dagger-android-support:$daggerVersion"
|
||||||
kapt "com.google.dagger:dagger-android-processor:$daggerVersion"
|
kapt "com.google.dagger:dagger-android-processor:$daggerVersion"
|
||||||
testImplementation 'org.robolectric:robolectric:4.0-alpha-3'
|
testImplementation 'org.robolectric:robolectric:4.0.2'
|
||||||
testImplementation 'org.mockito:mockito-inline:2.21.0'
|
testImplementation 'org.mockito:mockito-inline:2.23.0'
|
||||||
androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.1', {
|
androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.1', {
|
||||||
exclude group: 'com.android.support', module: 'support-annotations'
|
exclude group: 'com.android.support', module: 'support-annotations'
|
||||||
})
|
})
|
||||||
debugImplementation 'im.dino:dbinspector:3.4.1@aar'
|
debugImplementation 'im.dino:dbinspector:3.4.1@aar'
|
||||||
implementation 'io.reactivex.rxjava2:rxjava:2.2.1'
|
implementation 'io.reactivex.rxjava2:rxjava:2.2.3'
|
||||||
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
|
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
|
||||||
implementation 'io.reactivex.rxjava2:rxkotlin:2.3.0'
|
implementation 'io.reactivex.rxjava2:rxkotlin:2.3.0'
|
||||||
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
|
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
|
||||||
implementation 'com.uber.autodispose:autodispose-android-archcomponents:1.0.0-RC2'
|
implementation 'com.uber.autodispose:autodispose-android-archcomponents:1.0.0-RC3'
|
||||||
implementation 'com.uber.autodispose:autodispose-ktx:1.0.0-RC2'
|
implementation 'com.uber.autodispose:autodispose-ktx:1.0.0-RC3'
|
||||||
}
|
}
|
||||||
|
|
|
@ -373,9 +373,9 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasSupportF
|
||||||
accountFollowingTextView.text = numberFormat.format(account.followingCount)
|
accountFollowingTextView.text = numberFormat.format(account.followingCount)
|
||||||
accountStatusesTextView.text = numberFormat.format(account.statusesCount)
|
accountStatusesTextView.text = numberFormat.format(account.statusesCount)
|
||||||
|
|
||||||
accountFloatingActionButton.setOnClickListener { _ -> mention() }
|
accountFloatingActionButton.setOnClickListener { mention() }
|
||||||
|
|
||||||
accountFollowButton.setOnClickListener { _ ->
|
accountFollowButton.setOnClickListener {
|
||||||
if (isSelf) {
|
if (isSelf) {
|
||||||
val intent = Intent(this@AccountActivity, EditProfileActivity::class.java)
|
val intent = Intent(this@AccountActivity, EditProfileActivity::class.java)
|
||||||
startActivity(intent)
|
startActivity(intent)
|
||||||
|
|
|
@ -142,7 +142,7 @@ class EditProfileActivity : BaseActivity(), Injectable {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
is Error -> {
|
is Error -> {
|
||||||
val snackbar = Snackbar.make(avatarButton, R.string.error_generic, Snackbar.LENGTH_LONG);
|
val snackbar = Snackbar.make(avatarButton, R.string.error_generic, Snackbar.LENGTH_LONG)
|
||||||
snackbar.setAction(R.string.action_retry) {
|
snackbar.setAction(R.string.action_retry) {
|
||||||
viewModel.obtainProfile()
|
viewModel.obtainProfile()
|
||||||
}
|
}
|
||||||
|
|
|
@ -139,7 +139,7 @@ class ViewMediaActivity : BaseActivity(), ViewImageFragment.PhotoActionsListener
|
||||||
actionBar.setDisplayShowHomeEnabled(true)
|
actionBar.setDisplayShowHomeEnabled(true)
|
||||||
actionBar.title = adapter.getPageTitle(initialPosition)
|
actionBar.title = adapter.getPageTitle(initialPosition)
|
||||||
}
|
}
|
||||||
toolbar.setNavigationOnClickListener { _ -> supportFinishAfterTransition() }
|
toolbar.setNavigationOnClickListener { supportFinishAfterTransition() }
|
||||||
toolbar.setOnMenuItemClickListener { item: MenuItem ->
|
toolbar.setOnMenuItemClickListener { item: MenuItem ->
|
||||||
when (item.itemId) {
|
when (item.itemId) {
|
||||||
R.id.action_download -> downloadMedia()
|
R.id.action_download -> downloadMedia()
|
||||||
|
@ -194,7 +194,7 @@ class ViewMediaActivity : BaseActivity(), ViewImageFragment.PhotoActionsListener
|
||||||
if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
||||||
downloadMedia()
|
downloadMedia()
|
||||||
} else {
|
} else {
|
||||||
showErrorDialog(toolbar, R.string.error_media_download_permission, R.string.action_retry) { _ -> downloadMedia() }
|
showErrorDialog(toolbar, R.string.error_media_download_permission, R.string.action_retry) { downloadMedia() }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,10 +49,6 @@ class ViewImageFragment : ViewMediaFragment() {
|
||||||
private lateinit var toolbar: View
|
private lateinit var toolbar: View
|
||||||
override lateinit var descriptionView : TextView
|
override lateinit var descriptionView : TextView
|
||||||
|
|
||||||
companion object {
|
|
||||||
private const val TAG = "ViewImageFragment"
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onAttach(context: Context) {
|
override fun onAttach(context: Context) {
|
||||||
super.onAttach(context)
|
super.onAttach(context)
|
||||||
photoActionsListener = context as PhotoActionsListener
|
photoActionsListener = context as PhotoActionsListener
|
||||||
|
@ -64,9 +60,9 @@ class ViewImageFragment : ViewMediaFragment() {
|
||||||
attacher = PhotoViewAttacher(photoView)
|
attacher = PhotoViewAttacher(photoView)
|
||||||
|
|
||||||
// Clicking outside the photo closes the viewer.
|
// Clicking outside the photo closes the viewer.
|
||||||
attacher.setOnOutsidePhotoTapListener { _ -> photoActionsListener.onDismiss() }
|
attacher.setOnOutsidePhotoTapListener { photoActionsListener.onDismiss() }
|
||||||
|
|
||||||
attacher.setOnClickListener { _ -> onMediaTap() }
|
attacher.setOnClickListener { onMediaTap() }
|
||||||
|
|
||||||
/* A vertical swipe motion also closes the viewer. This is especially useful when the photo
|
/* A vertical swipe motion also closes the viewer. This is especially useful when the photo
|
||||||
* mostly fills the screen so clicking outside is difficult. */
|
* mostly fills the screen so clicking outside is difficult. */
|
||||||
|
|
|
@ -37,7 +37,6 @@ abstract class ViewMediaFragment : BaseFragment() {
|
||||||
@JvmStatic protected val ARG_START_POSTPONED_TRANSITION = "startPostponedTransition"
|
@JvmStatic protected val ARG_START_POSTPONED_TRANSITION = "startPostponedTransition"
|
||||||
@JvmStatic protected val ARG_ATTACHMENT = "attach"
|
@JvmStatic protected val ARG_ATTACHMENT = "attach"
|
||||||
@JvmStatic protected val ARG_AVATAR_URL = "avatarUrl"
|
@JvmStatic protected val ARG_AVATAR_URL = "avatarUrl"
|
||||||
private const val TAG = "ViewMediaFragment"
|
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun newInstance(attachment: Attachment, shouldStartPostponedTransition: Boolean): ViewMediaFragment {
|
fun newInstance(attachment: Attachment, shouldStartPostponedTransition: Boolean): ViewMediaFragment {
|
||||||
|
|
|
@ -49,10 +49,6 @@ class ViewVideoFragment : ViewMediaFragment() {
|
||||||
override lateinit var descriptionView : TextView
|
override lateinit var descriptionView : TextView
|
||||||
private lateinit var mediaController : MediaController
|
private lateinit var mediaController : MediaController
|
||||||
|
|
||||||
companion object {
|
|
||||||
private const val TAG = "ViewVideoFragment"
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun setUserVisibleHint(isVisibleToUser: Boolean) {
|
override fun setUserVisibleHint(isVisibleToUser: Boolean) {
|
||||||
// Start/pause/resume video playback as fragment is shown/hidden
|
// Start/pause/resume video playback as fragment is shown/hidden
|
||||||
super.setUserVisibleHint(isVisibleToUser)
|
super.setUserVisibleHint(isVisibleToUser)
|
||||||
|
|
|
@ -42,21 +42,21 @@ class PreferencesFragment : PreferenceFragmentCompat() {
|
||||||
textSizePreference.icon = IconicsDrawable(context, GoogleMaterial.Icon.gmd_format_size).sizePx(iconSize).color(ThemeUtils.getColor(context, R.attr.toolbar_icon_tint))
|
textSizePreference.icon = IconicsDrawable(context, GoogleMaterial.Icon.gmd_format_size).sizePx(iconSize).color(ThemeUtils.getColor(context, R.attr.toolbar_icon_tint))
|
||||||
|
|
||||||
val timelineFilterPreferences = findPreference("timelineFilterPreferences")
|
val timelineFilterPreferences = findPreference("timelineFilterPreferences")
|
||||||
timelineFilterPreferences.setOnPreferenceClickListener { _ ->
|
timelineFilterPreferences.setOnPreferenceClickListener {
|
||||||
activity?.let {
|
activity?.let { activity ->
|
||||||
val intent = PreferencesActivity.newIntent(it, PreferencesActivity.TAB_FILTER_PREFERENCES)
|
val intent = PreferencesActivity.newIntent(activity, PreferencesActivity.TAB_FILTER_PREFERENCES)
|
||||||
it.startActivity(intent)
|
activity.startActivity(intent)
|
||||||
it.overridePendingTransition(R.anim.slide_from_right, R.anim.slide_to_left)
|
activity.overridePendingTransition(R.anim.slide_from_right, R.anim.slide_to_left)
|
||||||
}
|
}
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
val httpProxyPreferences = findPreference("httpProxyPreferences")
|
val httpProxyPreferences = findPreference("httpProxyPreferences")
|
||||||
httpProxyPreferences.setOnPreferenceClickListener { _ ->
|
httpProxyPreferences.setOnPreferenceClickListener {
|
||||||
activity?.let {
|
activity?.let { activity ->
|
||||||
val intent = PreferencesActivity.newIntent(it, PreferencesActivity.PROXY_PREFERENCES)
|
val intent = PreferencesActivity.newIntent(activity, PreferencesActivity.PROXY_PREFERENCES)
|
||||||
it.startActivity(intent)
|
activity.startActivity(intent)
|
||||||
it.overridePendingTransition(R.anim.slide_from_right, R.anim.slide_to_left)
|
activity.overridePendingTransition(R.anim.slide_from_right, R.anim.slide_to_left)
|
||||||
}
|
}
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@ package com.keylesspalace.tusky
|
||||||
|
|
||||||
import android.text.Spannable
|
import android.text.Spannable
|
||||||
import com.keylesspalace.tusky.util.highlightSpans
|
import com.keylesspalace.tusky.util.highlightSpans
|
||||||
import junit.framework.Assert
|
import org.junit.Assert
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.junit.runner.RunWith
|
import org.junit.runner.RunWith
|
||||||
import org.junit.runners.Parameterized
|
import org.junit.runners.Parameterized
|
||||||
|
@ -21,7 +21,7 @@ class SpanUtilsTest {
|
||||||
fun doesntMergeAdjacentURLs() {
|
fun doesntMergeAdjacentURLs() {
|
||||||
val firstURL = "http://first.thing"
|
val firstURL = "http://first.thing"
|
||||||
val secondURL = "https://second.thing"
|
val secondURL = "https://second.thing"
|
||||||
val inputSpannable = FakeSpannable("${firstURL} ${secondURL}")
|
val inputSpannable = FakeSpannable("$firstURL $secondURL")
|
||||||
highlightSpans(inputSpannable, 0xffffff)
|
highlightSpans(inputSpannable, 0xffffff)
|
||||||
val spans = inputSpannable.spans
|
val spans = inputSpannable.spans
|
||||||
Assert.assertEquals(2, spans.size)
|
Assert.assertEquals(2, spans.size)
|
||||||
|
@ -55,7 +55,7 @@ class SpanUtilsTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun matchesSpanNotAtStart() {
|
fun matchesSpanNotAtStart() {
|
||||||
val inputSpannable = FakeSpannable(" ${thingToHighlight}")
|
val inputSpannable = FakeSpannable(" $thingToHighlight")
|
||||||
highlightSpans(inputSpannable, 0xffffff)
|
highlightSpans(inputSpannable, 0xffffff)
|
||||||
val spans = inputSpannable.spans
|
val spans = inputSpannable.spans
|
||||||
Assert.assertEquals(1, spans.size)
|
Assert.assertEquals(1, spans.size)
|
||||||
|
@ -82,12 +82,12 @@ class SpanUtilsTest {
|
||||||
fun spansDoNotOverlap() {
|
fun spansDoNotOverlap() {
|
||||||
val begin = "@begin"
|
val begin = "@begin"
|
||||||
val end = "#end"
|
val end = "#end"
|
||||||
val inputSpannable = FakeSpannable("${begin} ${thingToHighlight} ${end}")
|
val inputSpannable = FakeSpannable("$begin $thingToHighlight $end")
|
||||||
highlightSpans(inputSpannable, 0xffffff)
|
highlightSpans(inputSpannable, 0xffffff)
|
||||||
val spans = inputSpannable.spans
|
val spans = inputSpannable.spans
|
||||||
Assert.assertEquals(3, spans.size)
|
Assert.assertEquals(3, spans.size)
|
||||||
|
|
||||||
val middleSpan = spans.single ({ span -> span.start > 0 && span.end < inputSpannable.lastIndex })
|
val middleSpan = spans.single { span -> span.start > 0 && span.end < inputSpannable.lastIndex }
|
||||||
Assert.assertEquals(begin.length + 1, middleSpan.start)
|
Assert.assertEquals(begin.length + 1, middleSpan.start)
|
||||||
Assert.assertEquals(inputSpannable.length - end.length - 1, middleSpan.end)
|
Assert.assertEquals(inputSpannable.length - end.length - 1, middleSpan.end)
|
||||||
}
|
}
|
||||||
|
@ -104,15 +104,15 @@ class SpanUtilsTest {
|
||||||
val matching = if (type == null) {
|
val matching = if (type == null) {
|
||||||
ArrayList<T>()
|
ArrayList<T>()
|
||||||
} else {
|
} else {
|
||||||
spans.filter ({ it.start >= start && it.end <= end && type?.isAssignableFrom(it.span?.javaClass) })
|
spans.filter { it.start >= start && it.end <= end && type.isAssignableFrom(it.span?.javaClass) }
|
||||||
.map({ it -> it.span })
|
.map { it -> it.span }
|
||||||
.let { ArrayList(it) }
|
.let { ArrayList(it) }
|
||||||
}
|
}
|
||||||
return matching.toArray() as Array<T>
|
return matching.toArray() as Array<T>
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun removeSpan(what: Any?) {
|
override fun removeSpan(what: Any?) {
|
||||||
spans.removeIf({ span -> span.span == what})
|
spans.removeIf { span -> span.span == what}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun toString(): String {
|
override fun toString(): String {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
ext.kotlin_version = '1.2.71'
|
ext.kotlin_version = '1.3.0'
|
||||||
repositories {
|
repositories {
|
||||||
jcenter()
|
jcenter()
|
||||||
google()
|
google()
|
||||||
|
|
Loading…
Add table
Reference in a new issue