From c80fa68dbeb0fa4292139156fb6e03d11c014531 Mon Sep 17 00:00:00 2001 From: Konrad Pozniak Date: Mon, 6 Apr 2020 11:46:38 +0200 Subject: [PATCH] upgrade dependencies, fix some warnings (#1747) * upgrade dependencies, fix some warnings * fix tests --- app/build.gradle | 20 +++++++++--------- .../res/mipmap-hdpi/ic_shortcut_compose.png | Bin 4047 -> 0 bytes .../res/mipmap-mdpi/ic_shortcut_compose.png | Bin 2352 -> 0 bytes .../res/mipmap-xhdpi/ic_shortcut_compose.png | Bin 6118 -> 0 bytes .../res/mipmap-xxhdpi/ic_shortcut_compose.png | Bin 10037 -> 0 bytes .../mipmap-xxxhdpi/ic_shortcut_compose.png | Bin 12931 -> 0 bytes .../keylesspalace/tusky/AccountActivity.kt | 8 +++---- .../tusky/AccountsInListFragment.kt | 8 +++---- .../com/keylesspalace/tusky/ListsActivity.kt | 2 +- .../tusky/TabPreferenceActivity.kt | 2 +- .../tusky/fragment/AccountMediaFragment.kt | 8 +++---- .../tusky/fragment/TimelineFragment.java | 2 +- .../tusky/fragment/ViewImageFragment.kt | 4 ++-- .../tusky/fragment/ViewVideoFragment.kt | 6 +++--- app/src/main/res/values/dimens.xml | 1 - .../com/keylesspalace/tusky/FilterTest.kt | 5 +++++ .../keylesspalace/tusky/TuskyApplication.kt | 4 ---- build.gradle | 4 ++-- gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew.bat | 3 +++ 20 files changed, 40 insertions(+), 39 deletions(-) delete mode 100644 app/src/blue/res/mipmap-hdpi/ic_shortcut_compose.png delete mode 100644 app/src/blue/res/mipmap-mdpi/ic_shortcut_compose.png delete mode 100644 app/src/blue/res/mipmap-xhdpi/ic_shortcut_compose.png delete mode 100644 app/src/blue/res/mipmap-xxhdpi/ic_shortcut_compose.png delete mode 100644 app/src/blue/res/mipmap-xxxhdpi/ic_shortcut_compose.png diff --git a/app/build.gradle b/app/build.gradle index 1defe9f7..8e3931eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -96,23 +96,23 @@ project.tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all { } ext.lifecycleVersion = "2.2.0" -ext.roomVersion = '2.2.4' -ext.retrofitVersion = '2.7.1' -ext.okhttpVersion = '4.3.1' -ext.glideVersion = '4.10.0' -ext.daggerVersion = '2.26' +ext.roomVersion = '2.2.5' +ext.retrofitVersion = '2.8.1' +ext.okhttpVersion = '4.4.0' +ext.glideVersion = '4.11.0' +ext.daggerVersion = '2.27' // if libraries are changed here, they should also be changed in LicenseActivity dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" implementation "androidx.core:core-ktx:1.2.0" - implementation "androidx.appcompat:appcompat:1.2.0-alpha02" - implementation "androidx.fragment:fragment-ktx:1.2.2" + implementation "androidx.appcompat:appcompat:1.2.0-beta01" + implementation "androidx.fragment:fragment-ktx:1.2.4" implementation "androidx.browser:browser:1.2.0" implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0" implementation "androidx.recyclerview:recyclerview:1.1.0" - implementation "androidx.exifinterface:exifinterface:1.1.0" + implementation "androidx.exifinterface:exifinterface:1.2.0" implementation "androidx.cardview:cardview:1.0.0" implementation "androidx.preference:preference:1.1.0" implementation "androidx.sharetarget:sharetarget:1.0.0-rc01" @@ -122,7 +122,7 @@ dependencies { implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycleVersion" implementation "androidx.lifecycle:lifecycle-reactivestreams-ktx:$lifecycleVersion" implementation "androidx.constraintlayout:constraintlayout:1.1.3" - implementation "androidx.paging:paging-runtime-ktx:2.1.1" + implementation "androidx.paging:paging-runtime-ktx:2.1.2" implementation "androidx.viewpager2:viewpager2:1.0.0" implementation "androidx.room:room-runtime:$roomVersion" implementation "androidx.room:room-rxjava2:$roomVersion" @@ -137,7 +137,7 @@ dependencies { implementation "com.squareup.okhttp3:okhttp:$okhttpVersion" implementation "com.squareup.okhttp3:logging-interceptor:$okhttpVersion" - implementation "org.conscrypt:conscrypt-android:2.2.1" + implementation "org.conscrypt:conscrypt-android:2.4.0" implementation "com.github.bumptech.glide:glide:$glideVersion" implementation "com.github.bumptech.glide:okhttp3-integration:$glideVersion" diff --git a/app/src/blue/res/mipmap-hdpi/ic_shortcut_compose.png b/app/src/blue/res/mipmap-hdpi/ic_shortcut_compose.png deleted file mode 100644 index 03ac90029135cae6aebe5cb339f2f49e83e4d5af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4047 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 diff --git a/app/src/blue/res/mipmap-xxhdpi/ic_shortcut_compose.png b/app/src/blue/res/mipmap-xxhdpi/ic_shortcut_compose.png deleted file mode 100644 index 1ad9ff5ae3829f54a01e22184fd4ecd8fa93f5d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10037 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%0A)iR-s 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 LNkvXXu0mjf6n6`+ diff --git a/app/src/blue/res/mipmap-xxxhdpi/ic_shortcut_compose.png b/app/src/blue/res/mipmap-xxxhdpi/ic_shortcut_compose.png deleted file mode 100644 index a1d41bcef64c02b3da588e65e54e10f21abaf617..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12931 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 Yg)p+MkoDjGTmsO3XrNJ}W*7PY0Cv{oWdHyG diff --git a/app/src/main/java/com/keylesspalace/tusky/AccountActivity.kt b/app/src/main/java/com/keylesspalace/tusky/AccountActivity.kt index 333eb09d..485f6a8a 100644 --- a/app/src/main/java/com/keylesspalace/tusky/AccountActivity.kt +++ b/app/src/main/java/com/keylesspalace/tusky/AccountActivity.kt @@ -52,8 +52,6 @@ import com.keylesspalace.tusky.components.compose.ComposeActivity import com.keylesspalace.tusky.components.report.ReportActivity import com.keylesspalace.tusky.di.ViewModelFactory import com.keylesspalace.tusky.entity.Account -import com.keylesspalace.tusky.entity.Field -import com.keylesspalace.tusky.entity.IdentityProof import com.keylesspalace.tusky.entity.Relationship import com.keylesspalace.tusky.interfaces.ActionButtonActivity import com.keylesspalace.tusky.interfaces.LinkListener @@ -311,7 +309,7 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI * Subscribe to data loaded at the view model */ private fun subscribeObservables() { - viewModel.accountData.observe(this, Observer> { + viewModel.accountData.observe(this, Observer { when (it) { is Success -> onAccountChanged(it.data) is Error -> { @@ -321,7 +319,7 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI } } }) - viewModel.relationshipData.observe(this, Observer> { + viewModel.relationshipData.observe(this, Observer { val relation = it?.data if (relation != null) { onRelationshipChanged(relation) @@ -334,7 +332,7 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI } }) - viewModel.accountFieldData.observe(this, Observer>> { + viewModel.accountFieldData.observe(this, Observer { accountFieldAdapter.fields = it accountFieldAdapter.notifyDataSetChanged() diff --git a/app/src/main/java/com/keylesspalace/tusky/AccountsInListFragment.kt b/app/src/main/java/com/keylesspalace/tusky/AccountsInListFragment.kt index 9477b844..06edd80b 100644 --- a/app/src/main/java/com/keylesspalace/tusky/AccountsInListFragment.kt +++ b/app/src/main/java/com/keylesspalace/tusky/AccountsInListFragment.kt @@ -77,7 +77,7 @@ class AccountsInListFragment : DialogFragment(), Injectable { super.onCreate(savedInstanceState) setStyle(STYLE_NORMAL, R.style.TuskyDialogFragmentStyle) viewModel = viewModelFactory.create(AccountsInListViewModel::class.java) - val args = arguments!! + val args = requireArguments() listId = args.getString(LIST_ID_ARG)!! listName = args.getString(LIST_NAME_ARG)!! @@ -255,12 +255,12 @@ class AccountsInListFragment : DialogFragment(), Injectable { loadAvatar(account.avatar, avatar, radius, animateAvatar) rejectButton.apply { - if (inAList) { + contentDescription = if (inAList) { setImageResource(R.drawable.ic_reject_24dp) - contentDescription = getString(R.string.action_remove_from_list) + getString(R.string.action_remove_from_list) } else { setImageResource(R.drawable.ic_plus_24dp) - contentDescription = getString(R.string.action_add_to_list) + getString(R.string.action_add_to_list) } } } diff --git a/app/src/main/java/com/keylesspalace/tusky/ListsActivity.kt b/app/src/main/java/com/keylesspalace/tusky/ListsActivity.kt index 54aca897..539dcfe0 100644 --- a/app/src/main/java/com/keylesspalace/tusky/ListsActivity.kt +++ b/app/src/main/java/com/keylesspalace/tusky/ListsActivity.kt @@ -135,7 +135,7 @@ class ListsActivity : BaseActivity(), Injectable, HasAndroidInjector { val positiveButton = dialog.getButton(Dialog.BUTTON_POSITIVE) editText.onTextChanged { s, _, _, _ -> - positiveButton.isEnabled = !s.isNullOrBlank() + positiveButton.isEnabled = !s.isBlank() } editText.setText(list?.title) editText.text?.let { editText.setSelection(it.length) } diff --git a/app/src/main/java/com/keylesspalace/tusky/TabPreferenceActivity.kt b/app/src/main/java/com/keylesspalace/tusky/TabPreferenceActivity.kt index 864a7208..26e85deb 100644 --- a/app/src/main/java/com/keylesspalace/tusky/TabPreferenceActivity.kt +++ b/app/src/main/java/com/keylesspalace/tusky/TabPreferenceActivity.kt @@ -277,7 +277,7 @@ class TabPreferenceActivity : BaseActivity(), Injectable, ItemInteractionListene addTabAdapter.updateData(addableTabs) maxTabsInfo.visible(addableTabs.size == 0 || currentTabs.size >= MAX_TAB_COUNT) - currentTabsAdapter.setRemoveButtonVisible(currentTabs.size > MIN_TAB_COUNT); + currentTabsAdapter.setRemoveButtonVisible(currentTabs.size > MIN_TAB_COUNT) } override fun onStartDelete(viewHolder: RecyclerView.ViewHolder) { diff --git a/app/src/main/java/com/keylesspalace/tusky/fragment/AccountMediaFragment.kt b/app/src/main/java/com/keylesspalace/tusky/fragment/AccountMediaFragment.kt index 0f89c3e0..74c97b6c 100644 --- a/app/src/main/java/com/keylesspalace/tusky/fragment/AccountMediaFragment.kt +++ b/app/src/main/java/com/keylesspalace/tusky/fragment/AccountMediaFragment.kt @@ -199,10 +199,10 @@ class AccountMediaFragment : BaseFragment(), RefreshableFragment, Injectable { val itemCount = layoutManager.itemCount val lastItem = layoutManager.findLastCompletelyVisibleItemPosition() if (itemCount <= lastItem + 3 && fetchingStatus == FetchingStatus.NOT_FETCHING) { - statuses.lastOrNull()?.let { last -> - Log.d(TAG, "Requesting statuses with max_id: ${last.id}, (bottom)") + statuses.lastOrNull()?.let { (id) -> + Log.d(TAG, "Requesting statuses with max_id: ${id}, (bottom)") fetchingStatus = FetchingStatus.FETCHING_BOTTOM - currentCall = api.accountStatuses(accountId, last.id, null, null, null, true, null) + currentCall = api.accountStatuses(accountId, id, null, null, null, true, null) currentCall?.enqueue(bottomCallback) } } @@ -254,7 +254,7 @@ class AccountMediaFragment : BaseFragment(), RefreshableFragment, Injectable { if (view != null && activity != null) { val url = items[currentIndex].attachment.url ViewCompat.setTransitionName(view, url) - val options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity!!, view, url) + val options = ActivityOptionsCompat.makeSceneTransitionAnimation(requireActivity(), view, url) startActivity(intent, options.toBundle()) } else { startActivity(intent) diff --git a/app/src/main/java/com/keylesspalace/tusky/fragment/TimelineFragment.java b/app/src/main/java/com/keylesspalace/tusky/fragment/TimelineFragment.java index 0c20cfaf..7cbfde5e 100644 --- a/app/src/main/java/com/keylesspalace/tusky/fragment/TimelineFragment.java +++ b/app/src/main/java/com/keylesspalace/tusky/fragment/TimelineFragment.java @@ -212,7 +212,7 @@ public class TimelineFragment extends SFragment implements @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); - Bundle arguments = Objects.requireNonNull(getArguments()); + Bundle arguments = requireArguments(); kind = Kind.valueOf(arguments.getString(KIND_ARG)); if (kind == Kind.TAG || kind == Kind.USER diff --git a/app/src/main/java/com/keylesspalace/tusky/fragment/ViewImageFragment.kt b/app/src/main/java/com/keylesspalace/tusky/fragment/ViewImageFragment.kt index 1c367251..2831100d 100644 --- a/app/src/main/java/com/keylesspalace/tusky/fragment/ViewImageFragment.kt +++ b/app/src/main/java/com/keylesspalace/tusky/fragment/ViewImageFragment.kt @@ -89,7 +89,7 @@ class ViewImageFragment : ViewMediaFragment() { } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { - toolbar = activity!!.toolbar + toolbar = requireActivity().toolbar this.transition = BehaviorSubject.create() return inflater.inflate(R.layout.fragment_view_image, container, false) } @@ -97,7 +97,7 @@ class ViewImageFragment : ViewMediaFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - val arguments = this.arguments!! + val arguments = this.requireArguments() val attachment = arguments.getParcelable(ARG_ATTACHMENT) this.shouldStartTransition = arguments.getBoolean(ARG_START_POSTPONED_TRANSITION) val url: String? diff --git a/app/src/main/java/com/keylesspalace/tusky/fragment/ViewVideoFragment.kt b/app/src/main/java/com/keylesspalace/tusky/fragment/ViewVideoFragment.kt index 0b3a23a7..09c29d47 100644 --- a/app/src/main/java/com/keylesspalace/tusky/fragment/ViewVideoFragment.kt +++ b/app/src/main/java/com/keylesspalace/tusky/fragment/ViewVideoFragment.kt @@ -136,12 +136,12 @@ class ViewVideoFragment : ViewMediaFragment() { progressBar.hide() mp.isLooping = true - if (arguments!!.getBoolean(ARG_START_POSTPONED_TRANSITION)) { + if (requireArguments().getBoolean(ARG_START_POSTPONED_TRANSITION)) { videoView.start() } } - if (arguments!!.getBoolean(ARG_START_POSTPONED_TRANSITION)) { + if (requireArguments().getBoolean(ARG_START_POSTPONED_TRANSITION)) { mediaActivity.onBringUp() } } @@ -151,7 +151,7 @@ class ViewVideoFragment : ViewMediaFragment() { } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { - toolbar = activity!!.toolbar + toolbar = requireActivity().toolbar mediaActivity = activity as ViewMediaActivity return inflater.inflate(R.layout.fragment_view_video, container, false) } diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index daa6252a..bbffc0a9 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -7,7 +7,6 @@ 8dp 0dp 120dp - 8dp 14dp 16dp 36dp diff --git a/app/src/test/java/com/keylesspalace/tusky/FilterTest.kt b/app/src/test/java/com/keylesspalace/tusky/FilterTest.kt index 8b0c916a..12f7bab5 100644 --- a/app/src/test/java/com/keylesspalace/tusky/FilterTest.kt +++ b/app/src/test/java/com/keylesspalace/tusky/FilterTest.kt @@ -11,6 +11,7 @@ import com.keylesspalace.tusky.fragment.SFragment import com.keylesspalace.tusky.network.MastodonApi import com.nhaarman.mockitokotlin2.mock import okhttp3.Request +import okio.Timeout import org.junit.Assert.assertFalse import org.junit.Assert.assertTrue import org.junit.Before @@ -99,6 +100,10 @@ class FilterTest { ) ) } + + override fun timeout(): Timeout { + throw Error("not implemented") + } }) activity.mastodonApi = apiMock diff --git a/app/src/test/java/com/keylesspalace/tusky/TuskyApplication.kt b/app/src/test/java/com/keylesspalace/tusky/TuskyApplication.kt index aaa2b349..7f82e249 100644 --- a/app/src/test/java/com/keylesspalace/tusky/TuskyApplication.kt +++ b/app/src/test/java/com/keylesspalace/tusky/TuskyApplication.kt @@ -18,13 +18,9 @@ package com.keylesspalace.tusky import android.app.Application import android.content.Context import android.content.res.Configuration -import android.util.Log import androidx.emoji.text.EmojiCompat import com.keylesspalace.tusky.util.LocaleManager -import dagger.android.DispatchingAndroidInjector -import dagger.android.HasAndroidInjector import de.c1710.filemojicompat.FileEmojiCompatConfig -import javax.inject.Inject // override TuskyApplication for Robolectric tests, only initialize the necessary stuff class TuskyApplication : Application() { diff --git a/build.gradle b/build.gradle index 38f3d2b4..cb3ee21f 100644 --- a/build.gradle +++ b/build.gradle @@ -1,11 +1,11 @@ buildscript { - ext.kotlin_version = '1.3.70' + ext.kotlin_version = '1.3.71' repositories { google() jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.6.1' + classpath 'com.android.tools.build:gradle:3.6.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 6254d2d4..6623300b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.2.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew.bat b/gradlew.bat index 24467a14..9109989e 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -29,6 +29,9 @@ if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"