Fix a bunch of deprecations in Kotlin, and a few misc things
This commit is contained in:
parent
894a4aa325
commit
536371eb89
|
@ -28,6 +28,7 @@ import android.database.Cursor
|
|||
import android.graphics.PorterDuff.Mode
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import androidx.loader.app.LoaderManager
|
||||
import androidx.loader.app.LoaderManager.LoaderCallbacks
|
||||
import androidx.loader.content.CursorLoader
|
||||
import androidx.loader.content.Loader
|
||||
|
@ -157,7 +158,7 @@ class QuickSearchBarActivity : BaseActivity(), OnClickListener, LoaderCallbacks<
|
|||
searchQuery.setSelection(searchQuery.length())
|
||||
}
|
||||
|
||||
supportLoaderManager.initLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, null, this)
|
||||
|
||||
updateSubmitButton()
|
||||
promotionService.loadBanner(adContainer)
|
||||
|
@ -179,7 +180,7 @@ class QuickSearchBarActivity : BaseActivity(), OnClickListener, LoaderCallbacks<
|
|||
adapter.addRemovedPositions(reverseSortedPositions)
|
||||
ContentResolverUtils.bulkDelete(contentResolver, SearchHistory.CONTENT_URI, SearchHistory._ID,
|
||||
false, ids, null, null)
|
||||
supportLoaderManager.restartLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).restartLoader(0, null, this)
|
||||
}
|
||||
|
||||
override fun onClick(v: View) {
|
||||
|
@ -298,7 +299,7 @@ class QuickSearchBarActivity : BaseActivity(), OnClickListener, LoaderCallbacks<
|
|||
}
|
||||
|
||||
override fun onItemSelected(parent: AdapterView<*>, view: View?, position: Int, id: Long) {
|
||||
supportLoaderManager.restartLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).restartLoader(0, null, this)
|
||||
}
|
||||
|
||||
override fun onNothingSelected(parent: AdapterView<*>) {
|
||||
|
|
|
@ -583,9 +583,9 @@ class SignInActivity : BaseActivity(), OnClickListener, TextWatcher,
|
|||
val builder = AlertDialog.Builder(requireContext())
|
||||
builder.setView(R.layout.dialog_expandable_list)
|
||||
val dialog = builder.create()
|
||||
dialog.onShow {
|
||||
it.applyTheme()
|
||||
val listView = it.expandableList
|
||||
dialog.onShow { alertDialog ->
|
||||
alertDialog.applyTheme()
|
||||
val listView = alertDialog.expandableList
|
||||
val adapter = LoginTypeAdapter(requireContext())
|
||||
listView.setAdapter(adapter)
|
||||
listView.setOnGroupClickListener { _, _, groupPosition, _ ->
|
||||
|
@ -613,7 +613,7 @@ class SignInActivity : BaseActivity(), OnClickListener, TextWatcher,
|
|||
return@setOnChildClickListener true
|
||||
}
|
||||
|
||||
loaderManager.initLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, null, this)
|
||||
}
|
||||
return dialog
|
||||
}
|
||||
|
|
|
@ -275,6 +275,24 @@ class TrendsLocationSelectorActivity : BaseActivity() {
|
|||
dest.writeTypedArray(children, flags)
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean {
|
||||
if (this === other) return true
|
||||
if (javaClass != other?.javaClass) return false
|
||||
|
||||
other as LocationsData
|
||||
|
||||
if (root != other.root) return false
|
||||
if (!children.contentEquals(other.children)) return false
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
var result = root.hashCode()
|
||||
result = 31 * result + children.contentHashCode()
|
||||
return result
|
||||
}
|
||||
|
||||
companion object {
|
||||
@JvmField
|
||||
val CREATOR = object : Parcelable.Creator<LocationsData> {
|
||||
|
|
|
@ -55,7 +55,7 @@ class UserListSelectorActivity : BaseActivity(),
|
|||
|
||||
override var refreshing: Boolean
|
||||
get() {
|
||||
return supportLoaderManager.hasRunningLoadersSafe()
|
||||
return LoaderManager.getInstance(this).hasRunningLoadersSafe()
|
||||
}
|
||||
set(value) {
|
||||
}
|
||||
|
@ -199,9 +199,9 @@ class UserListSelectorActivity : BaseActivity(),
|
|||
}
|
||||
if (!loaderInitialized) {
|
||||
loaderInitialized = true
|
||||
supportLoaderManager.initLoader(0, args, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, args, this)
|
||||
} else {
|
||||
supportLoaderManager.restartLoader(0, args, this)
|
||||
LoaderManager.getInstance(this).restartLoader(0, args, this)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -153,10 +153,10 @@ class UserSelectorActivity : BaseActivity(), OnItemClickListener, LoaderManager.
|
|||
this[EXTRA_FROM_CACHE] = fromCache
|
||||
}
|
||||
if (loaderInitialized) {
|
||||
supportLoaderManager.initLoader(0, args, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, args, this)
|
||||
loaderInitialized = true
|
||||
} else {
|
||||
supportLoaderManager.restartLoader(0, args, this)
|
||||
LoaderManager.getInstance(this).restartLoader(0, args, this)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -177,7 +177,7 @@ class WebLinkHandlerActivity : Activity() {
|
|||
if (pathSegments[0] in TWITTER_RESERVED_PATHS) {
|
||||
return Pair(null, true)
|
||||
}
|
||||
return handleUserSpecificPageIntent(uri, pathSegments, pathSegments[0])
|
||||
return handleUserSpecificPageIntent(pathSegments, pathSegments[0])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -185,7 +185,7 @@ class WebLinkHandlerActivity : Activity() {
|
|||
return Pair(homeIntent, true)
|
||||
}
|
||||
|
||||
private fun handleUserSpecificPageIntent(uri: Uri, pathSegments: List<String>, screenName: String): Pair<Intent?, Boolean> {
|
||||
private fun handleUserSpecificPageIntent(pathSegments: List<String>, screenName: String): Pair<Intent?, Boolean> {
|
||||
val segsSize = pathSegments.size
|
||||
if (segsSize == 1) {
|
||||
val builder = Uri.Builder()
|
||||
|
|
|
@ -104,7 +104,7 @@ class DummyItemAdapter(
|
|||
|
||||
override fun getAccountKey(position: Int, raw: Boolean) = UserKey.INVALID
|
||||
|
||||
override fun findStatusById(accountKey: UserKey, statusId: String) = null
|
||||
override fun findStatusById(accountKey: UserKey, statusId: String): Nothing? = null
|
||||
|
||||
override fun isCardNumbersShown(position: Int): Boolean {
|
||||
if (position == RecyclerView.NO_POSITION) return showCardNumbers
|
||||
|
|
|
@ -22,7 +22,7 @@ package org.mariotaku.twidere.adapter
|
|||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.database.CursorIndexOutOfBoundsException
|
||||
import androidx.legacy.widget.Space
|
||||
import android.widget.Space
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
|
|
|
@ -24,7 +24,7 @@ import android.database.CursorIndexOutOfBoundsException
|
|||
import android.util.SparseBooleanArray
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.legacy.widget.Space
|
||||
import android.widget.Space
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.RequestManager
|
||||
import org.mariotaku.kpreferences.get
|
||||
|
|
|
@ -71,26 +71,26 @@ fun Activity.toParcelable(accountKey: UserKey, accountType: String, isGap: Boole
|
|||
it.toParcelable(accountKey, accountType, profileImageSize = profileImageSize)
|
||||
}
|
||||
|
||||
result.targets = ParcelableActivity.RelatedObject().also {
|
||||
it.statuses = targetStatuses?.mapToArray {
|
||||
result.targets = ParcelableActivity.RelatedObject().also { relatedObject ->
|
||||
relatedObject.statuses = targetStatuses?.mapToArray {
|
||||
it.toParcelable(accountKey, accountType, profileImageSize)
|
||||
}
|
||||
it.users = targetUsers?.mapToArray {
|
||||
relatedObject.users = targetUsers?.mapToArray {
|
||||
it.toParcelable(accountKey, accountType, profileImageSize = profileImageSize)
|
||||
}
|
||||
it.user_lists = targetUserLists?.mapToArray {
|
||||
relatedObject.user_lists = targetUserLists?.mapToArray {
|
||||
it.toParcelable(accountKey, profileImageSize = profileImageSize)
|
||||
}
|
||||
}
|
||||
|
||||
result.target_objects = ParcelableActivity.RelatedObject().also {
|
||||
it.statuses = targetObjectStatuses?.mapToArray {
|
||||
result.target_objects = ParcelableActivity.RelatedObject().also { relatedObject ->
|
||||
relatedObject.statuses = targetObjectStatuses?.mapToArray {
|
||||
it.toParcelable(accountKey, accountType, profileImageSize)
|
||||
}
|
||||
it.users = targetObjectUsers?.mapToArray {
|
||||
relatedObject.users = targetObjectUsers?.mapToArray {
|
||||
it.toParcelable(accountKey, accountType, profileImageSize = profileImageSize)
|
||||
}
|
||||
it.user_lists = targetObjectUserLists?.mapToArray {
|
||||
relatedObject.user_lists = targetObjectUserLists?.mapToArray {
|
||||
it.toParcelable(accountKey, profileImageSize = profileImageSize)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -152,7 +152,7 @@ class APIEditorDialogFragment : BaseDialogFragment() {
|
|||
adapter = CustomAPIConfigArrayAdapter(requireContext())
|
||||
val builder = AlertDialog.Builder(requireContext())
|
||||
builder.setAdapter(adapter, this)
|
||||
loaderManager.initLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, null, this)
|
||||
val dialog = builder.create()
|
||||
dialog.onShow { it.applyTheme() }
|
||||
return dialog
|
||||
|
|
|
@ -33,6 +33,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
|||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.recyclerview.widget.RecyclerView.OnScrollListener
|
||||
import android.view.*
|
||||
import androidx.loader.app.LoaderManager
|
||||
import com.squareup.otto.Subscribe
|
||||
import kotlinx.android.synthetic.main.fragment_content_recyclerview.*
|
||||
import org.mariotaku.kpreferences.get
|
||||
|
@ -110,7 +111,7 @@ abstract class AbsActivitiesFragment protected constructor() :
|
|||
|
||||
val loaderArgs = Bundle(arguments)
|
||||
loaderArgs.putBoolean(EXTRA_FROM_USER, true)
|
||||
loaderManager.initLoader(loaderId, loaderArgs, this)
|
||||
LoaderManager.getInstance(this).initLoader(loaderId, loaderArgs, this)
|
||||
showProgress()
|
||||
}
|
||||
|
||||
|
@ -531,7 +532,7 @@ abstract class AbsActivitiesFragment protected constructor() :
|
|||
return true
|
||||
}
|
||||
else -> activity?.let {
|
||||
fragmentManager?.let { fragmentManager ->
|
||||
parentFragmentManager.let { fragmentManager ->
|
||||
MenuUtils.handleStatusClick(it, this, fragmentManager,
|
||||
preferences, userColorNameManager, twitterWrapper, status, item)
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ package org.mariotaku.twidere.fragment
|
|||
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
import androidx.loader.app.LoaderManager
|
||||
import androidx.loader.app.LoaderManager.LoaderCallbacks
|
||||
import androidx.loader.app.hasRunningLoadersSafe
|
||||
import androidx.loader.content.Loader
|
||||
|
@ -49,7 +50,7 @@ abstract class AbsMediaStatusesFragment : AbsContentRecyclerViewFragment<Stagger
|
|||
final override var refreshing: Boolean
|
||||
get() {
|
||||
if (context == null || isDetached) return false
|
||||
return loaderManager.hasRunningLoadersSafe()
|
||||
return LoaderManager.getInstance(this).hasRunningLoadersSafe()
|
||||
}
|
||||
set(value) {
|
||||
super.refreshing = value
|
||||
|
@ -69,7 +70,7 @@ abstract class AbsMediaStatusesFragment : AbsContentRecyclerViewFragment<Stagger
|
|||
adapter.statusClickListener = this
|
||||
val loaderArgs = Bundle(arguments)
|
||||
loaderArgs.putBoolean(EXTRA_FROM_USER, true)
|
||||
loaderManager.initLoader(loaderId, loaderArgs, this)
|
||||
LoaderManager.getInstance(this).initLoader(loaderId, loaderArgs, this)
|
||||
showProgress()
|
||||
}
|
||||
|
||||
|
|
|
@ -35,6 +35,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
|||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.recyclerview.widget.RecyclerView.OnScrollListener
|
||||
import android.view.*
|
||||
import androidx.loader.app.LoaderManager
|
||||
import com.squareup.otto.Subscribe
|
||||
import kotlinx.android.synthetic.main.fragment_content_recyclerview.*
|
||||
import org.mariotaku.kpreferences.get
|
||||
|
@ -490,7 +491,7 @@ abstract class AbsStatusesFragment : AbsContentListRecyclerViewFragment<Parcelab
|
|||
if (isDetached || host == null || loaderInitialized) return
|
||||
val loaderArgs = Bundle(arguments)
|
||||
loaderArgs.putBoolean(EXTRA_FROM_USER, true)
|
||||
loaderManager.initLoader(loaderId, loaderArgs, this)
|
||||
LoaderManager.getInstance(this).initLoader(loaderId, loaderArgs, this)
|
||||
loaderInitialized = true
|
||||
}
|
||||
|
||||
|
@ -575,7 +576,7 @@ abstract class AbsStatusesFragment : AbsContentListRecyclerViewFragment<Parcelab
|
|||
resolver?.update(contentUri, values, where, null)
|
||||
return true
|
||||
}
|
||||
else -> return MenuUtils.handleStatusClick(requireActivity(), this, requireFragmentManager(),
|
||||
else -> return MenuUtils.handleStatusClick(requireActivity(), this, parentFragmentManager,
|
||||
preferences, userColorNameManager, twitterWrapper, status, item)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -46,6 +46,7 @@ import androidx.appcompat.view.SupportMenuInflater
|
|||
import androidx.appcompat.widget.ActionMenuView.OnMenuItemClickListener
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.view.MenuItemCompat
|
||||
import androidx.loader.app.LoaderManager
|
||||
import androidx.loader.app.LoaderManager.LoaderCallbacks
|
||||
import androidx.loader.content.FixedAsyncTaskLoader
|
||||
import androidx.loader.content.Loader
|
||||
|
@ -286,9 +287,9 @@ class AccountsDashboardFragment : BaseFragment(), LoaderCallbacks<AccountsInfo>,
|
|||
fun loadAccounts() {
|
||||
if (!loaderInitialized) {
|
||||
loaderInitialized = true
|
||||
loaderManager.initLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, null, this)
|
||||
} else {
|
||||
loaderManager.restartLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).restartLoader(0, null, this)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -659,7 +660,25 @@ class AccountsDashboardFragment : BaseFragment(), LoaderCallbacks<AccountsInfo>,
|
|||
data class AccountsInfo(
|
||||
val accounts: Array<AccountDetails>,
|
||||
val draftsCount: Int
|
||||
)
|
||||
) {
|
||||
override fun equals(other: Any?): Boolean {
|
||||
if (this === other) return true
|
||||
if (javaClass != other?.javaClass) return false
|
||||
|
||||
other as AccountsInfo
|
||||
|
||||
if (!accounts.contentEquals(other.accounts)) return false
|
||||
if (draftsCount != other.draftsCount) return false
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
var result = accounts.contentHashCode()
|
||||
result = 31 * result + draftsCount
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
||||
class AccountsInfoLoader(
|
||||
context: Context,
|
||||
|
|
|
@ -86,7 +86,7 @@ class AccountsManagerFragment : BaseFragment(), LoaderManager.LoaderCallbacks<Li
|
|||
emptyIcon.setImageResource(R.drawable.ic_info_error_generic)
|
||||
setListShown(false)
|
||||
|
||||
loaderManager.initLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, null, this)
|
||||
}
|
||||
|
||||
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||
|
|
|
@ -29,6 +29,7 @@ import android.os.Bundle
|
|||
import android.os.Handler
|
||||
import androidx.loader.content.Loader
|
||||
import android.widget.Toast
|
||||
import androidx.loader.app.LoaderManager
|
||||
import com.squareup.otto.Subscribe
|
||||
import org.mariotaku.ktextension.*
|
||||
import org.mariotaku.library.objectcursor.ObjectCursor
|
||||
|
@ -174,7 +175,7 @@ abstract class CursorActivitiesFragment : AbsActivitiesFragment() {
|
|||
}
|
||||
|
||||
override val shouldAbort: Boolean
|
||||
get() = currentContext == null
|
||||
get() = false
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -237,7 +238,7 @@ abstract class CursorActivitiesFragment : AbsActivitiesFragment() {
|
|||
args.putAll(fragmentArgs)
|
||||
args.putBoolean(EXTRA_FROM_USER, true)
|
||||
}
|
||||
loaderManager.restartLoader(loaderId, args, this)
|
||||
LoaderManager.getInstance(this).restartLoader(loaderId, args, this)
|
||||
}
|
||||
|
||||
fun replaceStatusStates(result: ParcelableStatus?) {
|
||||
|
|
|
@ -28,6 +28,7 @@ import android.os.Bundle
|
|||
import android.os.Handler
|
||||
import androidx.loader.content.Loader
|
||||
import android.widget.Toast
|
||||
import androidx.loader.app.LoaderManager
|
||||
import com.bumptech.glide.RequestManager
|
||||
import com.squareup.otto.Subscribe
|
||||
import kotlinx.android.synthetic.main.fragment_content_recyclerview.*
|
||||
|
@ -236,7 +237,7 @@ abstract class CursorStatusesFragment : AbsStatusesFragment() {
|
|||
args.putAll(fragmentArgs)
|
||||
args.putBoolean(EXTRA_FROM_USER, true)
|
||||
}
|
||||
loaderManager.restartLoader(loaderId, args, this)
|
||||
LoaderManager.getInstance(this).restartLoader(loaderId, args, this)
|
||||
}
|
||||
|
||||
private fun showContentOrError() {
|
||||
|
|
|
@ -39,6 +39,7 @@ import android.view.*
|
|||
import android.widget.*
|
||||
import android.widget.AbsListView.MultiChoiceModeListener
|
||||
import android.widget.AdapterView.OnItemClickListener
|
||||
import androidx.loader.app.LoaderManager
|
||||
import com.mobeta.android.dslv.SimpleDragSortCursorAdapter
|
||||
import kotlinx.android.synthetic.main.dialog_custom_tab_editor.*
|
||||
import kotlinx.android.synthetic.main.layout_draggable_list_with_empty_view.*
|
||||
|
@ -102,7 +103,7 @@ class CustomTabsFragment : BaseFragment(), LoaderCallbacks<Cursor?>, MultiChoice
|
|||
df.arguments = Bundle {
|
||||
this[EXTRA_OBJECT] = tab
|
||||
}
|
||||
fragmentManager?.let { df.show(it, TabEditorDialogFragment.TAG_EDIT_TAB) }
|
||||
parentFragmentManager.let { df.show(it, TabEditorDialogFragment.TAG_EDIT_TAB) }
|
||||
}
|
||||
listView.adapter = adapter
|
||||
listView.emptyView = emptyView
|
||||
|
@ -115,7 +116,7 @@ class CustomTabsFragment : BaseFragment(), LoaderCallbacks<Cursor?>, MultiChoice
|
|||
}
|
||||
emptyText.setText(R.string.no_tab)
|
||||
emptyIcon.setImageResource(R.drawable.ic_info_tab)
|
||||
loaderManager.initLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, null, this)
|
||||
setListShown(false)
|
||||
}
|
||||
|
||||
|
|
|
@ -46,13 +46,13 @@ class EditUserListDialogFragment : BaseDialogFragment() {
|
|||
builder.positive(android.R.string.ok, this::onPositiveClick)
|
||||
builder.setNegativeButton(android.R.string.cancel, null)
|
||||
val dialog = builder.create()
|
||||
dialog.onShow { dialog ->
|
||||
dialog.applyTheme()
|
||||
dialog.editName.addValidator(UserListNameValidator(getString(R.string.invalid_list_name)))
|
||||
dialog.onShow { alertDialog ->
|
||||
alertDialog.applyTheme()
|
||||
alertDialog.editName.addValidator(UserListNameValidator(getString(R.string.invalid_list_name)))
|
||||
if (savedInstanceState == null) {
|
||||
dialog.editName.setText(arguments?.getString(EXTRA_LIST_NAME))
|
||||
dialog.editDescription.setText(arguments?.getString(EXTRA_DESCRIPTION))
|
||||
dialog.isPublic.isChecked = arguments?.getBoolean(EXTRA_IS_PUBLIC, true) ?: true
|
||||
alertDialog.editName.setText(arguments?.getString(EXTRA_LIST_NAME))
|
||||
alertDialog.editDescription.setText(arguments?.getString(EXTRA_DESCRIPTION))
|
||||
alertDialog.isPublic.isChecked = arguments?.getBoolean(EXTRA_IS_PUBLIC, true) ?: true
|
||||
}
|
||||
}
|
||||
return dialog
|
||||
|
|
|
@ -33,6 +33,7 @@ import android.view.MenuItem
|
|||
import android.view.View
|
||||
import android.widget.AdapterView
|
||||
import android.widget.AdapterView.AdapterContextMenuInfo
|
||||
import androidx.loader.app.LoaderManager
|
||||
import com.bumptech.glide.RequestManager
|
||||
import kotlinx.android.synthetic.main.fragment_content_listview.*
|
||||
import org.mariotaku.ktextension.isNullOrEmpty
|
||||
|
@ -52,7 +53,7 @@ class ExtensionsListFragment : AbsContentListViewFragment<ExtensionsAdapter>(),
|
|||
|
||||
listView.onItemClickListener = this
|
||||
|
||||
loaderManager.initLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, null, this)
|
||||
showProgress()
|
||||
}
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ import android.nfc.NdefMessage
|
|||
import android.nfc.NdefRecord
|
||||
import android.nfc.NfcAdapter
|
||||
import android.os.Bundle
|
||||
import androidx.loader.app.LoaderManager
|
||||
import androidx.loader.app.LoaderManager.LoaderCallbacks
|
||||
import androidx.loader.content.FixedAsyncTaskLoader
|
||||
import androidx.loader.content.Loader
|
||||
|
@ -69,7 +70,7 @@ class GroupFragment : AbsToolbarTabPagesFragment(), LoaderCallbacks<SingleRespon
|
|||
|
||||
fun displayGroup(group: ParcelableGroup?) {
|
||||
val activity = activity ?: return
|
||||
loaderManager.destroyLoader(0)
|
||||
LoaderManager.getInstance(this).destroyLoader(0)
|
||||
this.group = group
|
||||
|
||||
if (group != null) {
|
||||
|
@ -82,7 +83,7 @@ class GroupFragment : AbsToolbarTabPagesFragment(), LoaderCallbacks<SingleRespon
|
|||
|
||||
|
||||
fun getGroupInfo(omitIntentExtra: Boolean) {
|
||||
val lm = loaderManager
|
||||
val lm = LoaderManager.getInstance(this)
|
||||
lm.destroyLoader(0)
|
||||
val args = Bundle(arguments)
|
||||
args.putBoolean(EXTRA_OMIT_INTENT_EXTRA, omitIntentExtra)
|
||||
|
|
|
@ -116,14 +116,14 @@ class HostMappingsListFragment : AbsContentListViewFragment<HostMappingsListFrag
|
|||
args.putBoolean(EXTRA_EDIT_MODE, true)
|
||||
val df = AddMappingDialogFragment()
|
||||
df.arguments = args
|
||||
fragmentManager?.let { df.show(it, "add_mapping") }
|
||||
parentFragmentManager.let { df.show(it, "add_mapping") }
|
||||
}
|
||||
|
||||
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
||||
when (item.itemId) {
|
||||
R.id.add -> {
|
||||
val df = AddMappingDialogFragment()
|
||||
fragmentManager?.let { df.show(it, "add_mapping") }
|
||||
parentFragmentManager.let { df.show(it, "add_mapping") }
|
||||
}
|
||||
}
|
||||
return super.onOptionsItemSelected(item)
|
||||
|
|
|
@ -11,6 +11,7 @@ import android.view.ContextMenu
|
|||
import android.view.MenuInflater
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import androidx.loader.app.LoaderManager
|
||||
import com.bumptech.glide.RequestManager
|
||||
import kotlinx.android.synthetic.main.fragment_content_recyclerview.*
|
||||
import org.mariotaku.kpreferences.get
|
||||
|
@ -46,7 +47,7 @@ open class ItemsListFragment : AbsContentListRecyclerViewFragment<VariousItemsAd
|
|||
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
||||
super.onActivityCreated(savedInstanceState)
|
||||
registerForContextMenu(recyclerView)
|
||||
loaderManager.initLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, null, this)
|
||||
refreshEnabled = false
|
||||
showProgress()
|
||||
}
|
||||
|
@ -175,7 +176,7 @@ open class ItemsListFragment : AbsContentListRecyclerViewFragment<VariousItemsAd
|
|||
startActivity(chooser)
|
||||
return true
|
||||
}
|
||||
return MenuUtils.handleStatusClick(requireActivity(), this, requireFragmentManager(),
|
||||
return MenuUtils.handleStatusClick(requireActivity(), this, parentFragmentManager,
|
||||
preferences, userColorNameManager, twitterWrapper, status, item)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@ import android.os.Bundle
|
|||
import androidx.loader.app.LoaderManager.LoaderCallbacks
|
||||
import androidx.loader.content.Loader
|
||||
import android.view.KeyEvent
|
||||
import androidx.loader.app.LoaderManager
|
||||
import androidx.loader.app.hasRunningLoadersSafe
|
||||
import com.bumptech.glide.RequestManager
|
||||
import kotlinx.android.synthetic.main.fragment_content_recyclerview.*
|
||||
|
@ -57,7 +58,7 @@ abstract class ParcelableGroupsFragment : AbsContentListRecyclerViewFragment<Par
|
|||
override var refreshing: Boolean
|
||||
get() {
|
||||
if (context == null || isDetached) return false
|
||||
return loaderManager.hasRunningLoadersSafe()
|
||||
return LoaderManager.getInstance(this).hasRunningLoadersSafe()
|
||||
}
|
||||
set(value) {
|
||||
super.refreshing = value
|
||||
|
@ -101,7 +102,7 @@ abstract class ParcelableGroupsFragment : AbsContentListRecyclerViewFragment<Par
|
|||
val loaderArgs = Bundle(arguments)
|
||||
loaderArgs.putBoolean(EXTRA_FROM_USER, true)
|
||||
loaderArgs.putParcelable(EXTRA_PAGINATION, nextPagination)
|
||||
loaderManager.restartLoader(0, loaderArgs, this)
|
||||
LoaderManager.getInstance(this).restartLoader(0, loaderArgs, this)
|
||||
}
|
||||
|
||||
override fun handleKeyboardShortcutSingle(handler: KeyboardShortcutsHandler, keyCode: Int, event: KeyEvent, metaState: Int): Boolean {
|
||||
|
@ -125,7 +126,7 @@ abstract class ParcelableGroupsFragment : AbsContentListRecyclerViewFragment<Par
|
|||
this)
|
||||
val loaderArgs = Bundle(arguments)
|
||||
loaderArgs.putBoolean(EXTRA_FROM_USER, true)
|
||||
loaderManager.initLoader(0, loaderArgs, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, loaderArgs, this)
|
||||
}
|
||||
|
||||
override fun onCreateLoader(id: Int, args: Bundle?): Loader<List<ParcelableGroup>?> {
|
||||
|
|
|
@ -24,6 +24,7 @@ import android.os.Bundle
|
|||
import androidx.loader.app.hasRunningLoadersSafe
|
||||
import androidx.loader.content.Loader
|
||||
import android.text.TextUtils
|
||||
import androidx.loader.app.LoaderManager
|
||||
import com.bumptech.glide.RequestManager
|
||||
import com.squareup.otto.Subscribe
|
||||
import org.mariotaku.twidere.R
|
||||
|
@ -57,7 +58,7 @@ abstract class ParcelableStatusesFragment : AbsStatusesFragment() {
|
|||
override var refreshing: Boolean
|
||||
get() {
|
||||
if (context == null || isDetached) return false
|
||||
return loaderManager.hasRunningLoadersSafe()
|
||||
return LoaderManager.getInstance(this).hasRunningLoadersSafe()
|
||||
}
|
||||
set(value) {
|
||||
super.refreshing = value
|
||||
|
@ -113,7 +114,7 @@ abstract class ParcelableStatusesFragment : AbsStatusesFragment() {
|
|||
args.putBoolean(EXTRA_LOADING_MORE, param.isLoadingMore)
|
||||
args.putBoolean(EXTRA_FROM_USER, true)
|
||||
args.putParcelable(EXTRA_PAGINATION, param.pagination?.getOrNull(0))
|
||||
loaderManager.restartLoader(loaderId, args, this)
|
||||
LoaderManager.getInstance(this).restartLoader(loaderId, args, this)
|
||||
return true
|
||||
}
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ package org.mariotaku.twidere.fragment
|
|||
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
import androidx.loader.app.LoaderManager
|
||||
import androidx.loader.app.LoaderManager.LoaderCallbacks
|
||||
import androidx.loader.app.hasRunningLoadersSafe
|
||||
import androidx.loader.content.Loader
|
||||
|
@ -62,7 +63,7 @@ abstract class ParcelableUserListsFragment : AbsContentListRecyclerViewFragment<
|
|||
override var refreshing: Boolean
|
||||
get() {
|
||||
if (context == null || isDetached) return false
|
||||
return loaderManager.hasRunningLoadersSafe()
|
||||
return LoaderManager.getInstance(this).hasRunningLoadersSafe()
|
||||
}
|
||||
set(value) {
|
||||
super.refreshing = value
|
||||
|
@ -103,7 +104,7 @@ abstract class ParcelableUserListsFragment : AbsContentListRecyclerViewFragment<
|
|||
val loaderArgs = Bundle(arguments)
|
||||
loaderArgs.putBoolean(EXTRA_FROM_USER, true)
|
||||
loaderArgs.putParcelable(EXTRA_PAGINATION, nextPagination)
|
||||
loaderManager.restartLoader(0, loaderArgs, this)
|
||||
LoaderManager.getInstance(this).restartLoader(0, loaderArgs, this)
|
||||
}
|
||||
|
||||
override fun handleKeyboardShortcutSingle(handler: KeyboardShortcutsHandler, keyCode: Int,
|
||||
|
@ -130,7 +131,7 @@ abstract class ParcelableUserListsFragment : AbsContentListRecyclerViewFragment<
|
|||
this)
|
||||
val loaderArgs = Bundle(arguments)
|
||||
loaderArgs.putBoolean(EXTRA_FROM_USER, true)
|
||||
loaderManager.initLoader(0, loaderArgs, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, loaderArgs, this)
|
||||
}
|
||||
|
||||
override fun onCreateLoader(id: Int, args: Bundle?): Loader<List<ParcelableUserList>> {
|
||||
|
@ -159,7 +160,7 @@ abstract class ParcelableUserListsFragment : AbsContentListRecyclerViewFragment<
|
|||
val loaderArgs = Bundle(arguments).apply {
|
||||
this[EXTRA_FROM_USER] = true
|
||||
}
|
||||
loaderManager.restartLoader(0, loaderArgs, this)
|
||||
LoaderManager.getInstance(this).restartLoader(0, loaderArgs, this)
|
||||
showProgress()
|
||||
return true
|
||||
}
|
||||
|
|
|
@ -28,6 +28,7 @@ import androidx.loader.content.Loader
|
|||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import android.view.KeyEvent
|
||||
import androidx.loader.app.LoaderManager
|
||||
import com.bumptech.glide.RequestManager
|
||||
import com.squareup.otto.Subscribe
|
||||
import kotlinx.android.synthetic.main.fragment_content_recyclerview.*
|
||||
|
@ -65,7 +66,7 @@ abstract class ParcelableUsersFragment : AbsContentListRecyclerViewFragment<Parc
|
|||
override var refreshing: Boolean
|
||||
get() {
|
||||
if (context == null || isDetached) return false
|
||||
return loaderManager.hasRunningLoadersSafe()
|
||||
return LoaderManager.getInstance(this).hasRunningLoadersSafe()
|
||||
}
|
||||
set(value) {
|
||||
super.refreshing = value
|
||||
|
@ -102,7 +103,7 @@ abstract class ParcelableUsersFragment : AbsContentListRecyclerViewFragment<Parc
|
|||
this)
|
||||
val loaderArgs = Bundle(arguments)
|
||||
loaderArgs.putBoolean(EXTRA_FROM_USER, true)
|
||||
loaderManager.initLoader(0, loaderArgs, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, loaderArgs, this)
|
||||
}
|
||||
|
||||
override fun onStart() {
|
||||
|
@ -164,7 +165,7 @@ abstract class ParcelableUsersFragment : AbsContentListRecyclerViewFragment<Parc
|
|||
val loaderArgs = Bundle(arguments)
|
||||
loaderArgs.putBoolean(EXTRA_FROM_USER, true)
|
||||
loaderArgs.putParcelable(EXTRA_PAGINATION, nextPagination)
|
||||
loaderManager.restartLoader(0, loaderArgs, this)
|
||||
LoaderManager.getInstance(this).restartLoader(0, loaderArgs, this)
|
||||
}
|
||||
|
||||
override fun onCreateAdapter(context: Context, requestManager: RequestManager): ParcelableUsersAdapter {
|
||||
|
@ -212,7 +213,7 @@ abstract class ParcelableUsersFragment : AbsContentListRecyclerViewFragment<Parc
|
|||
val accountKey = user.account_key ?: return
|
||||
if (twitterWrapper.isUpdatingRelationship(accountKey, user.key)) return
|
||||
if (user.is_following) {
|
||||
fragmentManager?.let { DestroyFriendshipDialogFragment.show(it, user) }
|
||||
parentFragmentManager.let { DestroyFriendshipDialogFragment.show(it, user) }
|
||||
} else {
|
||||
twitterWrapper.createFriendshipAsync(accountKey, user.key, user.screen_name)
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ package org.mariotaku.twidere.fragment
|
|||
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
import androidx.loader.app.LoaderManager
|
||||
import androidx.loader.app.LoaderManager.LoaderCallbacks
|
||||
import androidx.loader.app.hasRunningLoadersSafe
|
||||
import androidx.loader.content.Loader
|
||||
|
@ -44,7 +45,7 @@ class SavedSearchesListFragment : AbsContentListViewFragment<SavedSearchesAdapte
|
|||
AdapterView.OnItemLongClickListener {
|
||||
|
||||
override var refreshing: Boolean
|
||||
get() = loaderManager.hasRunningLoadersSafe()
|
||||
get() = LoaderManager.getInstance(this).hasRunningLoadersSafe()
|
||||
set(value) {
|
||||
super.refreshing = value
|
||||
}
|
||||
|
@ -56,7 +57,7 @@ class SavedSearchesListFragment : AbsContentListViewFragment<SavedSearchesAdapte
|
|||
super.onActivityCreated(savedInstanceState)
|
||||
listView.onItemClickListener = this
|
||||
listView.onItemLongClickListener = this
|
||||
loaderManager.initLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, null, this)
|
||||
showProgress()
|
||||
}
|
||||
|
||||
|
@ -80,7 +81,7 @@ class SavedSearchesListFragment : AbsContentListViewFragment<SavedSearchesAdapte
|
|||
|
||||
override fun onItemLongClick(view: AdapterView<*>, child: View, position: Int, id: Long): Boolean {
|
||||
val item = adapter.findItem(id) ?: return false
|
||||
fragmentManager?.let { DestroySavedSearchDialogFragment.show(it, accountKey, item.id, item.name) }
|
||||
parentFragmentManager.let { DestroySavedSearchDialogFragment.show(it, accountKey, item.id, item.name) }
|
||||
return true
|
||||
}
|
||||
|
||||
|
@ -104,7 +105,7 @@ class SavedSearchesListFragment : AbsContentListViewFragment<SavedSearchesAdapte
|
|||
|
||||
override fun onRefresh() {
|
||||
if (refreshing) return
|
||||
loaderManager.restartLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).restartLoader(0, null, this)
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
|
|
|
@ -29,6 +29,7 @@ import androidx.loader.content.Loader
|
|||
import android.view.View
|
||||
import android.widget.AdapterView
|
||||
import android.widget.ListView
|
||||
import androidx.loader.app.LoaderManager
|
||||
import com.bumptech.glide.RequestManager
|
||||
import com.squareup.otto.Subscribe
|
||||
import kotlinx.android.synthetic.main.fragment_content_listview.*
|
||||
|
@ -68,7 +69,7 @@ class TrendsSuggestionsFragment : AbsContentListViewFragment<TrendsAdapter>(), L
|
|||
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
||||
super.onActivityCreated(savedInstanceState)
|
||||
listView.onItemClickListener = this
|
||||
loaderManager.initLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, null, this)
|
||||
showProgress()
|
||||
}
|
||||
|
||||
|
@ -123,7 +124,7 @@ class TrendsSuggestionsFragment : AbsContentListViewFragment<TrendsAdapter>(), L
|
|||
|
||||
override fun onStart() {
|
||||
super.onStart()
|
||||
loaderManager.restartLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).restartLoader(0, null, this)
|
||||
bus.register(this)
|
||||
}
|
||||
|
||||
|
|
|
@ -73,6 +73,7 @@ import android.view.View.OnTouchListener
|
|||
import android.view.animation.AnimationUtils
|
||||
import android.widget.TextView
|
||||
import android.widget.Toast
|
||||
import androidx.loader.app.LoaderManager
|
||||
import com.squareup.otto.Subscribe
|
||||
import kotlinx.android.synthetic.main.fragment_user.*
|
||||
import kotlinx.android.synthetic.main.fragment_user.view.*
|
||||
|
@ -432,7 +433,7 @@ class UserFragment : BaseFragment(), OnClickListener, OnLinkClickListener,
|
|||
}
|
||||
profileImage.visibility = View.VISIBLE
|
||||
val resources = resources
|
||||
val lm = loaderManager
|
||||
val lm = LoaderManager.getInstance(this)
|
||||
lm.destroyLoader(LOADER_ID_USER)
|
||||
lm.destroyLoader(LOADER_ID_FRIENDSHIP)
|
||||
cardContent.visibility = View.VISIBLE
|
||||
|
@ -530,7 +531,7 @@ class UserFragment : BaseFragment(), OnClickListener, OnLinkClickListener,
|
|||
externalThemeManager.emoji?.applyTo(it)
|
||||
}
|
||||
|
||||
val userCreationDay = condition@ if (user.created_at >= 0) {
|
||||
val userCreationDay = if (user.created_at >= 0) {
|
||||
val cal = Calendar.getInstance()
|
||||
val currentMonth = cal.get(Calendar.MONTH)
|
||||
val currentDay = cal.get(Calendar.DAY_OF_MONTH)
|
||||
|
@ -577,7 +578,7 @@ class UserFragment : BaseFragment(), OnClickListener, OnLinkClickListener,
|
|||
|
||||
fun getUserInfo(accountKey: UserKey, userKey: UserKey?, screenName: String?,
|
||||
omitIntentExtra: Boolean) {
|
||||
val lm = loaderManager
|
||||
val lm = LoaderManager.getInstance(this)
|
||||
lm.destroyLoader(LOADER_ID_USER)
|
||||
lm.destroyLoader(LOADER_ID_FRIENDSHIP)
|
||||
val args = Bundle()
|
||||
|
@ -787,7 +788,7 @@ class UserFragment : BaseFragment(), OnClickListener, OnLinkClickListener,
|
|||
override fun onDestroyView() {
|
||||
user = null
|
||||
relationship = null
|
||||
val lm = loaderManager
|
||||
val lm = LoaderManager.getInstance(this)
|
||||
lm.destroyLoader(LOADER_ID_USER)
|
||||
lm.destroyLoader(LOADER_ID_FRIENDSHIP)
|
||||
super.onDestroyView()
|
||||
|
@ -903,7 +904,7 @@ class UserFragment : BaseFragment(), OnClickListener, OnLinkClickListener,
|
|||
val twitter = twitterWrapper
|
||||
val user = user ?: return false
|
||||
val accountKey = user.account_key ?: return false
|
||||
val currentFragmentManager = fragmentManager ?: return false
|
||||
val currentFragmentManager = parentFragmentManager
|
||||
val userRelationship = relationship
|
||||
when (item.itemId) {
|
||||
R.id.block -> {
|
||||
|
@ -1221,7 +1222,7 @@ class UserFragment : BaseFragment(), OnClickListener, OnLinkClickListener,
|
|||
|
||||
override fun onClick(view: View) {
|
||||
val activity = activity ?: return
|
||||
val fragmentManager = fragmentManager ?: return
|
||||
val fragmentManager = parentFragmentManager
|
||||
val user = user ?: return
|
||||
val accountKey = user.account_key ?: return
|
||||
when (view.id) {
|
||||
|
@ -1394,7 +1395,7 @@ class UserFragment : BaseFragment(), OnClickListener, OnLinkClickListener,
|
|||
private fun getFriendship() {
|
||||
val user = user ?: return
|
||||
relationship = null
|
||||
val lm = loaderManager
|
||||
val lm = LoaderManager.getInstance(this)
|
||||
lm.destroyLoader(LOADER_ID_FRIENDSHIP)
|
||||
val args = Bundle()
|
||||
args.putParcelable(EXTRA_ACCOUNT_KEY, user.account_key)
|
||||
|
@ -1890,7 +1891,7 @@ class UserFragment : BaseFragment(), OnClickListener, OnLinkClickListener,
|
|||
df.arguments = Bundle {
|
||||
this[EXTRA_ACCOUNT_KEY] = accountKey
|
||||
}
|
||||
df.show(requireFragmentManager(), "create_user_list")
|
||||
df.show(parentFragmentManager, "create_user_list")
|
||||
}
|
||||
}
|
||||
return dialog
|
||||
|
|
|
@ -28,6 +28,7 @@ import android.nfc.NdefMessage
|
|||
import android.nfc.NdefRecord
|
||||
import android.nfc.NfcAdapter.CreateNdefMessageCallback
|
||||
import android.os.Bundle
|
||||
import androidx.loader.app.LoaderManager
|
||||
import androidx.loader.app.LoaderManager.LoaderCallbacks
|
||||
import androidx.loader.content.FixedAsyncTaskLoader
|
||||
import androidx.loader.content.Loader
|
||||
|
@ -81,7 +82,7 @@ class UserListFragment : AbsToolbarTabPagesFragment(), OnClickListener,
|
|||
|
||||
fun displayUserList(userList: ParcelableUserList?) {
|
||||
val activity = activity ?: return
|
||||
loaderManager.destroyLoader(0)
|
||||
LoaderManager.getInstance(this).destroyLoader(0)
|
||||
this.userList = userList
|
||||
|
||||
if (userList != null) {
|
||||
|
@ -93,7 +94,7 @@ class UserListFragment : AbsToolbarTabPagesFragment(), OnClickListener,
|
|||
}
|
||||
|
||||
fun getUserListInfo(omitIntentExtra: Boolean) {
|
||||
val lm = loaderManager
|
||||
val lm = LoaderManager.getInstance(this)
|
||||
lm.destroyLoader(0)
|
||||
val args = Bundle(arguments)
|
||||
args.putBoolean(EXTRA_OMIT_INTENT_EXTRA, omitIntentExtra)
|
||||
|
@ -180,7 +181,7 @@ class UserListFragment : AbsToolbarTabPagesFragment(), OnClickListener,
|
|||
|
||||
override fun onDestroyView() {
|
||||
userList = null
|
||||
loaderManager.destroyLoader(0)
|
||||
LoaderManager.getInstance(this).destroyLoader(0)
|
||||
super.onDestroyView()
|
||||
}
|
||||
|
||||
|
@ -227,7 +228,7 @@ class UserListFragment : AbsToolbarTabPagesFragment(), OnClickListener,
|
|||
val twitter = twitterWrapper
|
||||
val userList = userList ?: return false
|
||||
val activity = activity ?: return false
|
||||
val fragmentManager = fragmentManager ?: return false
|
||||
val fragmentManager = parentFragmentManager
|
||||
when (item.itemId) {
|
||||
R.id.add -> {
|
||||
if (userList.user_key != userList.account_key) return false
|
||||
|
|
|
@ -68,7 +68,7 @@ class UserListsOwnershipsFragment : ParcelableUserListsFragment() {
|
|||
val args = Bundle()
|
||||
args.putParcelable(EXTRA_ACCOUNT_KEY, accountKey)
|
||||
f.arguments = args
|
||||
fragmentManager?.let { f.show(it, null) }
|
||||
parentFragmentManager.let { f.show(it, null) }
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,6 +33,7 @@ import android.text.TextUtils.isEmpty
|
|||
import android.view.*
|
||||
import android.view.View.OnClickListener
|
||||
import android.widget.Toast
|
||||
import androidx.loader.app.LoaderManager
|
||||
import com.twitter.twittertext.Validator
|
||||
import kotlinx.android.synthetic.main.fragment_user_profile_editor.*
|
||||
import nl.komponents.kovenant.combine.and
|
||||
|
@ -337,7 +338,7 @@ class UserProfileEditorFragment : BaseFragment(), OnSizeChangedListener,
|
|||
|
||||
private fun getUserInfo() {
|
||||
if (activity == null || isDetached) return
|
||||
val lm = loaderManager
|
||||
val lm = LoaderManager.getInstance(this)
|
||||
lm.destroyLoader(LOADER_ID_USER)
|
||||
getUserInfoCalled = true
|
||||
if (userInfoLoaderInitialized) {
|
||||
|
|
|
@ -125,13 +125,13 @@ class UserQrDialogFragment : BaseDialogFragment() {
|
|||
return task {
|
||||
try {
|
||||
return@task requestManager.loadOriginalProfileImage(requireContext(), user, 0)
|
||||
.into(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).get()
|
||||
.submit(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).get()
|
||||
} catch (e: ExecutionException) {
|
||||
// Ignore
|
||||
}
|
||||
// Return fallback profile image
|
||||
return@task requestManager.loadProfileImage(requireContext(), user, 0, size = profileImageSize)
|
||||
.into(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).get()
|
||||
.submit(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).get()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -41,6 +41,7 @@ import android.widget.AbsListView.MultiChoiceModeListener
|
|||
import android.widget.AdapterView
|
||||
import android.widget.AdapterView.OnItemClickListener
|
||||
import android.widget.ListView
|
||||
import androidx.loader.app.LoaderManager
|
||||
import com.bumptech.glide.RequestManager
|
||||
import kotlinx.android.synthetic.main.fragment_content_listview.*
|
||||
import org.mariotaku.kpreferences.get
|
||||
|
@ -84,7 +85,7 @@ class DraftsListFragment : AbsContentListViewFragment<DraftsAdapter>(), LoaderCa
|
|||
listView.choiceMode = ListView.CHOICE_MODE_MULTIPLE_MODAL
|
||||
listView.setMultiChoiceModeListener(this)
|
||||
refreshEnabled = false
|
||||
loaderManager.initLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, null, this)
|
||||
showProgress()
|
||||
}
|
||||
|
||||
|
|
|
@ -151,7 +151,7 @@ class AddEditItemFragment : BaseDialogFragment() {
|
|||
val df = ExtraFeaturesIntroductionDialogFragment.create(
|
||||
ExtraFeaturesService.FEATURE_ADVANCED_FILTERS)
|
||||
df.setTargetFragment(this@AddEditItemFragment, REQUEST_CHANGE_SCOPE_PURCHASE)
|
||||
df.show(requireFragmentManager(), ExtraFeaturesIntroductionDialogFragment.FRAGMENT_TAG)
|
||||
df.show(parentFragmentManager, ExtraFeaturesIntroductionDialogFragment.FRAGMENT_TAG)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -88,7 +88,7 @@ abstract class BaseFiltersFragment : AbsContentListViewFragment<SimpleCursorAdap
|
|||
onItemClick(pos)
|
||||
}
|
||||
listView.setMultiChoiceModeListener(this)
|
||||
loaderManager.initLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, null, this)
|
||||
refreshEnabled = false
|
||||
showProgress()
|
||||
}
|
||||
|
@ -235,7 +235,7 @@ abstract class BaseFiltersFragment : AbsContentListViewFragment<SimpleCursorAdap
|
|||
this[EXTRA_VALUE] = value
|
||||
this[EXTRA_SCOPE] = scope
|
||||
}
|
||||
fragmentManager?.let { dialog.show(it, "add_rule") }
|
||||
parentFragmentManager.let { dialog.show(it, "add_rule") }
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ abstract class BaseFiltersImportFragment : AbsContentListRecyclerViewFragment<Se
|
|||
setHasOptionsMenu(true)
|
||||
val loaderArgs = Bundle(arguments)
|
||||
loaderArgs.putBoolean(EXTRA_FROM_USER, true)
|
||||
loaderManager.initLoader(0, loaderArgs, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, loaderArgs, this)
|
||||
}
|
||||
|
||||
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||
|
@ -107,7 +107,7 @@ abstract class BaseFiltersImportFragment : AbsContentListRecyclerViewFragment<Se
|
|||
return true
|
||||
}
|
||||
if (!extraFeaturesService.isAdvancedFiltersEnabled) {
|
||||
fragmentManager?.let {
|
||||
parentFragmentManager.let {
|
||||
ExtraFeaturesIntroductionDialogFragment.show(it,
|
||||
feature = ExtraFeaturesService.FEATURE_ADVANCED_FILTERS,
|
||||
requestCode = REQUEST_PURCHASE_EXTRA_FEATURES)
|
||||
|
@ -182,14 +182,14 @@ abstract class BaseFiltersImportFragment : AbsContentListRecyclerViewFragment<Se
|
|||
val loaderArgs = Bundle(arguments)
|
||||
loaderArgs.putBoolean(EXTRA_FROM_USER, true)
|
||||
loaderArgs.putParcelable(EXTRA_NEXT_PAGINATION, nextPagination)
|
||||
loaderManager.restartLoader(0, loaderArgs, this)
|
||||
LoaderManager.getInstance(this).restartLoader(0, loaderArgs, this)
|
||||
}
|
||||
|
||||
override fun onCreateAdapter(context: Context, requestManager: RequestManager): SelectableUsersAdapter {
|
||||
val adapter = SelectableUsersAdapter(context, this.requestManager)
|
||||
adapter.itemCheckedListener = listener@ { _, _ ->
|
||||
if (!extraFeaturesService.isAdvancedFiltersEnabled) {
|
||||
ExtraFeaturesIntroductionDialogFragment.show(requireFragmentManager(),
|
||||
ExtraFeaturesIntroductionDialogFragment.show(parentFragmentManager,
|
||||
feature = ExtraFeaturesService.FEATURE_ADVANCED_FILTERS,
|
||||
requestCode = REQUEST_PURCHASE_EXTRA_FEATURES)
|
||||
return@listener false
|
||||
|
|
|
@ -67,7 +67,7 @@ class FiltersSubscriptionsFragment : BaseFragment(), LoaderManager.LoaderCallbac
|
|||
|
||||
listContainer.visibility = View.GONE
|
||||
progressContainer.visibility = View.VISIBLE
|
||||
loaderManager.initLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, null, this)
|
||||
|
||||
|
||||
if (!extraFeaturesService.isSupported()) {
|
||||
|
@ -76,7 +76,7 @@ class FiltersSubscriptionsFragment : BaseFragment(), LoaderManager.LoaderCallbac
|
|||
}
|
||||
|
||||
if (savedInstanceState == null) {
|
||||
fragmentManager?.let { fragmentManager ->
|
||||
parentFragmentManager.let { fragmentManager ->
|
||||
when (arguments?.getString(EXTRA_ACTION)) {
|
||||
ACTION_ADD_URL_SUBSCRIPTION -> {
|
||||
if (!extraFeaturesService.isAdvancedFiltersEnabled) {
|
||||
|
@ -131,17 +131,17 @@ class FiltersSubscriptionsFragment : BaseFragment(), LoaderManager.LoaderCallbac
|
|||
when (item.itemId) {
|
||||
R.id.add -> {
|
||||
val df = AddUrlSubscriptionDialogFragment()
|
||||
fragmentManager?.let { df.show(it, "add_url_subscription") }
|
||||
parentFragmentManager.let { df.show(it, "add_url_subscription") }
|
||||
return true
|
||||
}
|
||||
R.id.refresh -> {
|
||||
executeAfterFragmentResumed { fragment ->
|
||||
ProgressDialogFragment.show(fragment.childFragmentManager, FRAGMENT_TAG_RREFRESH_FILTERS)
|
||||
ProgressDialogFragment.show(fragment.childFragmentManager, FRAGMENT_TAG_REFRESH_FILTERS)
|
||||
val task = RefreshFiltersSubscriptionsTask(fragment.requireContext())
|
||||
val fragmentRef = WeakReference(fragment)
|
||||
task.callback = {
|
||||
fragmentRef.get()?.executeAfterFragmentResumed { fragment ->
|
||||
fragment.fragmentManager?.dismissDialogFragment(FRAGMENT_TAG_RREFRESH_FILTERS)
|
||||
fragment.parentFragmentManager.dismissDialogFragment(FRAGMENT_TAG_REFRESH_FILTERS)
|
||||
}
|
||||
}
|
||||
TaskStarter.execute(task)
|
||||
|
@ -255,7 +255,7 @@ class FiltersSubscriptionsFragment : BaseFragment(), LoaderManager.LoaderCallbac
|
|||
this[EXTRA_ADD_SUBSCRIPTION_URL] = arguments?.getString(EXTRA_ADD_SUBSCRIPTION_URL)
|
||||
this[EXTRA_ADD_SUBSCRIPTION_NAME] = arguments?.getString(EXTRA_ADD_SUBSCRIPTION_NAME)
|
||||
}
|
||||
fragmentManager?.let { df.show(it, "add_url_subscription") }
|
||||
parentFragmentManager.let { df.show(it, "add_url_subscription") }
|
||||
}
|
||||
|
||||
class FilterSubscriptionsAdapter(context: Context) : SimpleCursorAdapter(context,
|
||||
|
@ -337,7 +337,7 @@ class FiltersSubscriptionsFragment : BaseFragment(), LoaderManager.LoaderCallbac
|
|||
const val EXTRA_ADD_SUBSCRIPTION_URL = "add_subscription.url"
|
||||
const val EXTRA_ADD_SUBSCRIPTION_NAME = "add_subscription.name"
|
||||
private const val REQUEST_ADD_URL_SUBSCRIPTION_PURCHASE = 101
|
||||
private const val FRAGMENT_TAG_RREFRESH_FILTERS = "refresh_filters"
|
||||
private const val FRAGMENT_TAG_REFRESH_FILTERS = "refresh_filters"
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -28,20 +28,20 @@ import android.content.Intent
|
|||
import android.graphics.Rect
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.view.*
|
||||
import android.widget.CompoundButton
|
||||
import android.widget.EditText
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.appcompat.widget.Toolbar
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import androidx.loader.app.LoaderManager
|
||||
import androidx.loader.content.FixedAsyncTaskLoader
|
||||
import androidx.loader.content.Loader
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.recyclerview.widget.FixedLinearLayoutManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.appcompat.widget.Toolbar
|
||||
import android.view.*
|
||||
import android.widget.CompoundButton
|
||||
import android.widget.EditText
|
||||
import com.bumptech.glide.RequestManager
|
||||
import kotlinx.android.synthetic.main.activity_home_content.view.*
|
||||
import kotlinx.android.synthetic.main.fragment_messages_conversation_info.*
|
||||
|
@ -72,7 +72,6 @@ import org.mariotaku.twidere.adapter.iface.IItemCountsAdapter
|
|||
import org.mariotaku.twidere.annotation.AccountType
|
||||
import org.mariotaku.twidere.annotation.ImageShapeStyle
|
||||
import org.mariotaku.twidere.annotation.ProfileImageSize
|
||||
import org.mariotaku.twidere.constant.IntentConstants
|
||||
import org.mariotaku.twidere.constant.IntentConstants.*
|
||||
import org.mariotaku.twidere.constant.nameFirstKey
|
||||
import org.mariotaku.twidere.constant.profileImageStyleKey
|
||||
|
@ -182,7 +181,7 @@ class MessageConversationInfoFragment : BaseFragment(), IToolBarSupportFragment,
|
|||
}
|
||||
}
|
||||
|
||||
loaderManager.initLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, null, this)
|
||||
}
|
||||
|
||||
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||
|
@ -331,10 +330,10 @@ class MessageConversationInfoFragment : BaseFragment(), IToolBarSupportFragment,
|
|||
ProgressDialogFragment.show(childFragmentManager, "add_participant_progress")
|
||||
val weakThis = WeakReference(this)
|
||||
val task = AddParticipantsTask(requireContext(), accountKey, conversationId, listOf(user))
|
||||
task.callback = callback@ { succeed ->
|
||||
task.callback = callback@ {
|
||||
val f = weakThis.get() ?: return@callback
|
||||
f.dismissDialogThen("add_participant_progress") {
|
||||
loaderManager.restartLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).restartLoader(0, null, this)
|
||||
}
|
||||
}
|
||||
TaskStarter.execute(task)
|
||||
|
@ -347,7 +346,7 @@ class MessageConversationInfoFragment : BaseFragment(), IToolBarSupportFragment,
|
|||
task.callback = callback@ { _ ->
|
||||
val f = weakThis.get() ?: return@callback
|
||||
f.dismissDialogThen("set_notifications_disabled_progress") {
|
||||
loaderManager.restartLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).restartLoader(0, null, this)
|
||||
}
|
||||
}
|
||||
TaskStarter.execute(task)
|
||||
|
@ -470,7 +469,7 @@ class MessageConversationInfoFragment : BaseFragment(), IToolBarSupportFragment,
|
|||
}.alwaysUi {
|
||||
val fragment = weakThis.get() ?: return@alwaysUi
|
||||
fragment.dismissDialogThen(tag) {
|
||||
loaderManager.restartLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).restartLoader(0, null, this)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,16 +25,17 @@ import android.graphics.Canvas
|
|||
import android.graphics.Paint
|
||||
import android.graphics.RectF
|
||||
import android.os.Bundle
|
||||
import androidx.annotation.WorkerThread
|
||||
import androidx.loader.app.LoaderManager.LoaderCallbacks
|
||||
import androidx.loader.content.Loader
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import android.text.Editable
|
||||
import android.text.Spannable
|
||||
import android.text.SpannableStringBuilder
|
||||
import android.text.TextUtils
|
||||
import android.text.style.ReplacementSpan
|
||||
import android.view.*
|
||||
import androidx.annotation.WorkerThread
|
||||
import androidx.loader.app.LoaderManager
|
||||
import androidx.loader.app.LoaderManager.LoaderCallbacks
|
||||
import androidx.loader.content.Loader
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import kotlinx.android.synthetic.main.fragment_messages_conversation_new.*
|
||||
import org.mariotaku.kpreferences.get
|
||||
import org.mariotaku.ktextension.*
|
||||
|
@ -305,10 +306,10 @@ class MessageNewConversationFragment : BaseFragment(), LoaderCallbacks<List<Parc
|
|||
this[EXTRA_FROM_CACHE] = fromType
|
||||
}
|
||||
if (loaderInitialized) {
|
||||
loaderManager.initLoader(0, args, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, args, this)
|
||||
loaderInitialized = true
|
||||
} else {
|
||||
loaderManager.restartLoader(0, args, this)
|
||||
LoaderManager.getInstance(this).restartLoader(0, args, this)
|
||||
}
|
||||
if (performSearchRequestRunnable != null) {
|
||||
editParticipants.removeCallbacks(performSearchRequestRunnable)
|
||||
|
|
|
@ -205,7 +205,7 @@ class MessagesConversationFragment : AbsContentListRecyclerViewFragment<Messages
|
|||
|
||||
updateMediaPreview()
|
||||
|
||||
loaderManager.initLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).initLoader(0, null, this)
|
||||
showProgress()
|
||||
}
|
||||
|
||||
|
@ -413,7 +413,7 @@ class MessagesConversationFragment : AbsContentListRecyclerViewFragment<Messages
|
|||
if (activity is LinkHandlerActivity) {
|
||||
activity.intent = IntentUtils.messageConversation(accountKey, newConversationId)
|
||||
}
|
||||
loaderManager.restartLoader(0, null, this)
|
||||
LoaderManager.getInstance(this).restartLoader(0, null, this)
|
||||
}
|
||||
|
||||
private fun performSendMessage() {
|
||||
|
@ -526,8 +526,7 @@ class MessagesConversationFragment : AbsContentListRecyclerViewFragment<Messages
|
|||
|
||||
val stateIcon = if (conversation.notificationDisabled) {
|
||||
ContextCompat.getDrawable(context, R.drawable.ic_message_type_speaker_muted)?.apply {
|
||||
mutate()
|
||||
setColorFilter(conversationTitle.currentTextColor, PorterDuff.Mode.SRC_ATOP)
|
||||
mutate().setColorFilter(conversationTitle.currentTextColor, PorterDuff.Mode.SRC_ATOP)
|
||||
}
|
||||
} else {
|
||||
null
|
||||
|
|
|
@ -29,6 +29,7 @@ import android.view.ContextMenu
|
|||
import android.view.MenuInflater
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import androidx.loader.app.LoaderManager
|
||||
import com.bumptech.glide.RequestManager
|
||||
import com.squareup.otto.Subscribe
|
||||
import kotlinx.android.synthetic.main.activity_premium_dashboard.*
|
||||
|
@ -86,7 +87,7 @@ class MessagesEntriesFragment : AbsContentListRecyclerViewFragment<MessagesEntri
|
|||
super.onActivityCreated(savedInstanceState)
|
||||
adapter.listener = this
|
||||
adapter.loadMoreSupportedPosition = ILoadMoreSupportAdapter.END
|
||||
loaderManager.initLoader(loaderId, null, this)
|
||||
LoaderManager.getInstance(this).initLoader(loaderId, null, this)
|
||||
registerForContextMenu(recyclerView)
|
||||
}
|
||||
|
||||
|
|
|
@ -79,9 +79,9 @@ abstract class AbsStatusDialogFragment : BaseDialogFragment() {
|
|||
adapter.showAccountsColor = true
|
||||
|
||||
val dialog = builder.create()
|
||||
dialog.onShow {
|
||||
val context = it.context
|
||||
it.applyTheme()
|
||||
dialog.onShow { alertDialog ->
|
||||
val context = alertDialog.context
|
||||
alertDialog.applyTheme()
|
||||
|
||||
val am = AccountManager.get(context)
|
||||
val details = AccountUtils.getAccountDetails(am, accountKey, true) ?: run {
|
||||
|
@ -89,7 +89,7 @@ abstract class AbsStatusDialogFragment : BaseDialogFragment() {
|
|||
return@onShow
|
||||
}
|
||||
val weakThis = WeakReference(this)
|
||||
val weakHolder = WeakReference(StatusViewHolder(adapter = adapter, itemView = it.itemContent).apply {
|
||||
val weakHolder = WeakReference(StatusViewHolder(adapter = adapter, itemView = alertDialog.itemContent).apply {
|
||||
setupViewOptions()
|
||||
})
|
||||
val extraStatus = status
|
||||
|
|
|
@ -50,7 +50,7 @@ class BlockStatusUsersDialogFragment : BaseDialogFragment() {
|
|||
}.toTypedArray()
|
||||
builder.setTitle(R.string.action_status_block_users)
|
||||
builder.setItems(displayNames) { _, which ->
|
||||
CreateUserBlockDialogFragment.show(requireFragmentManager(), referencedUsers[which])
|
||||
CreateUserBlockDialogFragment.show(parentFragmentManager, referencedUsers[which])
|
||||
}
|
||||
val dialog = builder.create()
|
||||
dialog.applyOnShow { applyTheme() }
|
||||
|
|
|
@ -50,7 +50,7 @@ class MuteStatusUsersDialogFragment : BaseDialogFragment() {
|
|||
}.toTypedArray()
|
||||
builder.setTitle(R.string.action_status_mute_users)
|
||||
builder.setItems(displayNames) { _, which ->
|
||||
CreateUserMuteDialogFragment.show(requireFragmentManager(), referencedUsers[which])
|
||||
CreateUserMuteDialogFragment.show(parentFragmentManager, referencedUsers[which])
|
||||
}
|
||||
val dialog = builder.create()
|
||||
dialog.onShow { it.applyTheme() }
|
||||
|
|
|
@ -36,6 +36,7 @@ import android.text.TextUtils
|
|||
import android.view.*
|
||||
import android.widget.Toast
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.loader.app.LoaderManager
|
||||
import androidx.loader.app.LoaderManager.LoaderCallbacks
|
||||
import androidx.loader.app.hasRunningLoadersSafe
|
||||
import androidx.loader.content.FixedAsyncTaskLoader
|
||||
|
@ -210,7 +211,7 @@ class StatusFragment : BaseFragment(), LoaderCallbacks<SingleResponse<Parcelable
|
|||
if (args.containsKey(EXTRA_STATUS)) {
|
||||
args.putParcelable(EXTRA_STATUS, status)
|
||||
}
|
||||
loaderManager.restartLoader(LOADER_ID_DETAIL_STATUS, args, this)
|
||||
LoaderManager.getInstance(this).restartLoader(LOADER_ID_DETAIL_STATUS, args, this)
|
||||
}
|
||||
}
|
||||
REQUEST_SELECT_ACCOUNT -> {
|
||||
|
@ -261,7 +262,7 @@ class StatusFragment : BaseFragment(), LoaderCallbacks<SingleResponse<Parcelable
|
|||
|
||||
setState(STATE_LOADING)
|
||||
|
||||
loaderManager.initLoader(LOADER_ID_DETAIL_STATUS, arguments, this)
|
||||
LoaderManager.getInstance(this).initLoader(LOADER_ID_DETAIL_STATUS, arguments, this)
|
||||
}
|
||||
|
||||
override fun onMediaClick(holder: IStatusViewHolder, view: View, current: ParcelableMedia, statusPosition: Int) {
|
||||
|
@ -425,7 +426,7 @@ class StatusFragment : BaseFragment(), LoaderCallbacks<SingleResponse<Parcelable
|
|||
}
|
||||
|
||||
override val refreshing: Boolean
|
||||
get() = loaderManager.hasRunningLoadersSafe()
|
||||
get() = LoaderManager.getInstance(this).hasRunningLoadersSafe()
|
||||
|
||||
override fun onLoadMoreContents(@IndicatorPosition position: Long) {
|
||||
if (!hasMoreConversation) return
|
||||
|
@ -485,10 +486,10 @@ class StatusFragment : BaseFragment(), LoaderCallbacks<SingleResponse<Parcelable
|
|||
this[EXTRA_STATUS] = status
|
||||
}
|
||||
if (conversationLoaderInitialized) {
|
||||
loaderManager.restartLoader(LOADER_ID_STATUS_CONVERSATIONS, args, conversationsLoaderCallback)
|
||||
LoaderManager.getInstance(this).restartLoader(LOADER_ID_STATUS_CONVERSATIONS, args, conversationsLoaderCallback)
|
||||
return
|
||||
}
|
||||
loaderManager.initLoader(LOADER_ID_STATUS_CONVERSATIONS, args, conversationsLoaderCallback)
|
||||
LoaderManager.getInstance(this).initLoader(LOADER_ID_STATUS_CONVERSATIONS, args, conversationsLoaderCallback)
|
||||
conversationLoaderInitialized = true
|
||||
}
|
||||
|
||||
|
@ -500,10 +501,10 @@ class StatusFragment : BaseFragment(), LoaderCallbacks<SingleResponse<Parcelable
|
|||
this[EXTRA_STATUS_ID] = status.originalId
|
||||
}
|
||||
if (activityLoaderInitialized) {
|
||||
loaderManager.restartLoader(LOADER_ID_STATUS_ACTIVITY, args, statusActivityLoaderCallback)
|
||||
LoaderManager.getInstance(this).restartLoader(LOADER_ID_STATUS_ACTIVITY, args, statusActivityLoaderCallback)
|
||||
return
|
||||
}
|
||||
loaderManager.initLoader(LOADER_ID_STATUS_ACTIVITY, args, statusActivityLoaderCallback)
|
||||
LoaderManager.getInstance(this).initLoader(LOADER_ID_STATUS_ACTIVITY, args, statusActivityLoaderCallback)
|
||||
activityLoaderInitialized = true
|
||||
}
|
||||
|
||||
|
@ -592,7 +593,7 @@ class StatusFragment : BaseFragment(), LoaderCallbacks<SingleResponse<Parcelable
|
|||
|
||||
override fun onContextItemSelected(item: MenuItem): Boolean {
|
||||
val activity = activity ?: return false
|
||||
val fragmentManager = fragmentManager ?: return false
|
||||
val fragmentManager = parentFragmentManager
|
||||
if (!userVisibleHint) return false
|
||||
val contextMenuInfo = item.menuInfo as? ExtendedRecyclerView.ContextMenuInfo ?: return false
|
||||
val status = adapter.getStatus(contextMenuInfo.position)
|
||||
|
@ -650,7 +651,7 @@ class StatusFragment : BaseFragment(), LoaderCallbacks<SingleResponse<Parcelable
|
|||
val fragment = weakThis.get() ?: return@successUi
|
||||
val df = TranslationDestinationDialogFragment.create(languages, accountLanguage)
|
||||
df.setTargetFragment(fragment, 0)
|
||||
df.show(fragment.requireFragmentManager(), "translation_destination_settings")
|
||||
df.show(fragment.parentFragmentManager, "translation_destination_settings")
|
||||
}.alwaysUi {
|
||||
val fragment = weakThis.get() ?: return@alwaysUi
|
||||
fragment.dismissProgressDialog("get_language_settings")
|
||||
|
|
|
@ -52,7 +52,7 @@ class TranslationDestinationDialogFragment : BaseDialogFragment() {
|
|||
builder.setSingleChoiceItems(languages.mapToArray { it.name }, selectedIndex) { _, which ->
|
||||
currentIndex.set(which)
|
||||
}
|
||||
builder.setPositiveButton(android.R.string.ok) lambda@ { di, _ ->
|
||||
builder.setPositiveButton(android.R.string.ok) lambda@ { _, _ ->
|
||||
val idx = currentIndex.get()
|
||||
if (idx < 0) return@lambda
|
||||
preferences[translationDestinationKey] = languages[idx].code
|
||||
|
|
|
@ -21,6 +21,7 @@ package org.mariotaku.twidere.fragment.statuses
|
|||
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
import androidx.loader.app.LoaderManager
|
||||
import androidx.loader.content.Loader
|
||||
import org.mariotaku.twidere.TwidereConstants.*
|
||||
import org.mariotaku.twidere.fragment.AbsMediaStatusesFragment
|
||||
|
@ -52,7 +53,7 @@ class MediaStatusesSearchFragment : AbsMediaStatusesFragment() {
|
|||
args.putString(EXTRA_MAX_ID, maxId)
|
||||
args.putString(EXTRA_SINCE_ID, sinceId)
|
||||
args.putBoolean(EXTRA_FROM_USER, true)
|
||||
loaderManager.restartLoader(loaderId, args, this)
|
||||
LoaderManager.getInstance(this).restartLoader(loaderId, args, this)
|
||||
return 0
|
||||
}
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ package org.mariotaku.twidere.fragment.statuses
|
|||
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
import androidx.loader.app.LoaderManager
|
||||
import androidx.loader.content.Loader
|
||||
import org.mariotaku.twidere.constant.IntentConstants.*
|
||||
import org.mariotaku.twidere.fragment.AbsMediaStatusesFragment
|
||||
|
@ -52,7 +53,7 @@ class UserMediaTimelineFragment : AbsMediaStatusesFragment() {
|
|||
args.putString(EXTRA_MAX_ID, maxId)
|
||||
args.putString(EXTRA_SINCE_ID, sinceId)
|
||||
args.putBoolean(EXTRA_FROM_USER, true)
|
||||
loaderManager.restartLoader(loaderId, args, this)
|
||||
LoaderManager.getInstance(this).restartLoader(loaderId, args, this)
|
||||
return 0
|
||||
}
|
||||
|
||||
|
|
|
@ -138,7 +138,7 @@ class UserTimelineFragment : ParcelableStatusesFragment() {
|
|||
override fun onFilterClick(holder: TimelineFilterHeaderViewHolder) {
|
||||
val df = UserTimelineFilterDialogFragment()
|
||||
df.setTargetFragment(this, REQUEST_SET_TIMELINE_FILTER)
|
||||
fragmentManager?.let { df.show(it, "set_timeline_filter") }
|
||||
parentFragmentManager.let { df.show(it, "set_timeline_filter") }
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
|
|
|
@ -110,7 +110,7 @@ class UserListMembersFragment : ParcelableUsersFragment() {
|
|||
val user = adapter.getUser(contextMenuInfo.position) ?: return false
|
||||
when (item.itemId) {
|
||||
R.id.delete_from_list -> {
|
||||
fragmentManager?.let { DeleteUserListMembersDialogFragment.show(it, userList, user) }
|
||||
parentFragmentManager.let { DeleteUserListMembersDialogFragment.show(it, userList, user) }
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
|
|
@ -118,6 +118,35 @@ class ExtensionsListLoader(
|
|||
info.metaData?.getString(METADATA_KEY_EXTENSION_SETTINGS)
|
||||
)
|
||||
|
||||
override fun equals(other: Any?): Boolean {
|
||||
if (this === other) return true
|
||||
if (javaClass != other?.javaClass) return false
|
||||
|
||||
other as ExtensionInfo
|
||||
|
||||
if (packageName != other.packageName) return false
|
||||
if (label != other.label) return false
|
||||
if (description != other.description) return false
|
||||
if (icon != other.icon) return false
|
||||
if (permissions != null) {
|
||||
if (other.permissions == null) return false
|
||||
if (!permissions.contentEquals(other.permissions)) return false
|
||||
} else if (other.permissions != null) return false
|
||||
if (settings != other.settings) return false
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
var result = packageName.hashCode()
|
||||
result = 31 * result + label.hashCode()
|
||||
result = 31 * result + (description?.hashCode() ?: 0)
|
||||
result = 31 * result + (icon?.hashCode() ?: 0)
|
||||
result = 31 * result + (permissions?.contentHashCode() ?: 0)
|
||||
result = 31 * result + (settings?.hashCode() ?: 0)
|
||||
return result
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -126,8 +155,8 @@ class ExtensionsListLoader(
|
|||
*/
|
||||
class InterestingConfigChanges {
|
||||
|
||||
internal val lastConfiguration = Configuration()
|
||||
internal var lastDensity: Int = 0
|
||||
private val lastConfiguration = Configuration()
|
||||
private var lastDensity: Int = 0
|
||||
|
||||
internal fun applyNewConfig(res: Resources): Boolean {
|
||||
val configChanges = lastConfiguration.updateFrom(res.configuration)
|
||||
|
@ -165,7 +194,7 @@ class ExtensionsListLoader(
|
|||
}
|
||||
}
|
||||
|
||||
class ExtensionInfoComparator(val collator: Collator) : Comparator<ExtensionInfo> {
|
||||
class ExtensionInfoComparator(private val collator: Collator) : Comparator<ExtensionInfo> {
|
||||
override fun compare(o1: ExtensionInfo, o2: ExtensionInfo): Int {
|
||||
val label1 = o1.label.toString()
|
||||
val label2 = o2.label.toString()
|
||||
|
|
|
@ -27,4 +27,22 @@ import org.mariotaku.sqliteqb.library.Expression
|
|||
data class ParameterizedExpression(var expression: Expression, val parameters: Array<String>) {
|
||||
val sql: String
|
||||
get() = expression.sql
|
||||
|
||||
override fun equals(other: Any?): Boolean {
|
||||
if (this === other) return true
|
||||
if (javaClass != other?.javaClass) return false
|
||||
|
||||
other as ParameterizedExpression
|
||||
|
||||
if (expression != other.expression) return false
|
||||
if (!parameters.contentEquals(other.parameters)) return false
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
var result = expression.hashCode()
|
||||
result = 31 * result + parameters.contentHashCode()
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
|
|
@ -69,15 +69,15 @@ object ParcelableRelationshipUtils {
|
|||
*/
|
||||
fun insert(cr: ContentResolver, relationships: Collection<ParcelableRelationship>) {
|
||||
val insertItems = ArraySet<ParcelableRelationship>()
|
||||
relationships.forEach {
|
||||
if (it._id > 0) {
|
||||
val where = Expression.equals(CachedRelationships._ID, it._id).sql
|
||||
relationships.forEach { parcelableRelationship ->
|
||||
if (parcelableRelationship._id > 0) {
|
||||
val where = Expression.equals(CachedRelationships._ID, parcelableRelationship._id).sql
|
||||
cr.updateItems(CachedRelationships.CONTENT_URI, CachedRelationships.COLUMNS, where, null,
|
||||
ParcelableRelationship::class.java) {
|
||||
return@updateItems it
|
||||
}
|
||||
} else {
|
||||
insertItems.add(it)
|
||||
insertItems.add(parcelableRelationship)
|
||||
}
|
||||
}
|
||||
cr.bulkInsert(CachedRelationships.CONTENT_URI, insertItems, ParcelableRelationship::class.java)
|
||||
|
|
|
@ -81,7 +81,7 @@ class ColorPickerPreference(context: Context, attrs: AttributeSet? = null) :
|
|||
override fun displayDialog(fragment: PreferenceFragmentCompat) {
|
||||
val df = ColorPickerPreferenceDialogFragment.newInstance(key)
|
||||
df.setTargetFragment(fragment, 0)
|
||||
fragment.fragmentManager?.let { df.show(it, key) }
|
||||
fragment.parentFragmentManager.let { df.show(it, key) }
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: PreferenceViewHolder) {
|
||||
|
|
|
@ -35,7 +35,7 @@ class DefaultAPIPreference(
|
|||
override fun displayDialog(fragment: PreferenceFragmentCompat) {
|
||||
val df = APIEditorDialogFragment()
|
||||
df.setTargetFragment(fragment, 0)
|
||||
fragment.fragmentManager?.let { df.show(it, key) }
|
||||
fragment.parentFragmentManager.let { df.show(it, key) }
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -72,7 +72,7 @@ class KeyboardShortcutPreference(context: Context, attrs: AttributeSet? = null)
|
|||
override fun displayDialog(fragment: PreferenceFragmentCompat) {
|
||||
val df = KeyboardShortcutDialogFragment.newInstance(action)
|
||||
df.setTargetFragment(fragment, 0)
|
||||
fragment.fragmentManager?.let { df.show(it, action) }
|
||||
fragment.parentFragmentManager.let { df.show(it, action) }
|
||||
}
|
||||
|
||||
class KeyboardShortcutDialogFragment : ThemedPreferenceDialogFragmentCompat(), DialogInterface.OnKeyListener {
|
||||
|
|
|
@ -58,7 +58,7 @@ class RandomizeAccountNamePreference @JvmOverloads constructor(
|
|||
override fun displayDialog(fragment: PreferenceFragmentCompat) {
|
||||
val df = RenameAccountsConfirmDialogFragment.newInstance(key, getPersistedBoolean(false))
|
||||
df.setTargetFragment(fragment, 0)
|
||||
fragment.fragmentManager?.let { df.show(it, key) }
|
||||
fragment.parentFragmentManager.let { df.show(it, key) }
|
||||
}
|
||||
|
||||
class RenameAccountsConfirmDialogFragment : PreferenceDialogFragmentCompat() {
|
||||
|
|
|
@ -36,6 +36,6 @@ class ThemedEditTextPreference(context: Context, attrs: AttributeSet? = null) :
|
|||
override fun displayDialog(fragment: PreferenceFragmentCompat) {
|
||||
val df = ThemedEditTextPreferenceDialogFragmentCompat.newInstance(key)
|
||||
df.setTargetFragment(fragment, 0)
|
||||
fragment.fragmentManager?.let { df.show(it, key) }
|
||||
fragment.parentFragmentManager.let { df.show(it, key) }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,6 +17,6 @@ open class ThemedListPreference(context: Context, attrs: AttributeSet? = null) :
|
|||
override fun displayDialog(fragment: PreferenceFragmentCompat) {
|
||||
val df = ThemedListPreferenceDialogFragmentCompat.newInstance(key)
|
||||
df.setTargetFragment(fragment, 0)
|
||||
fragment.fragmentManager?.let { df.show(it, key) }
|
||||
fragment.parentFragmentManager.let { df.show(it, key) }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -123,8 +123,8 @@ class GetActivitiesAboutMeTask(context: Context) : GetActivitiesTask(context) {
|
|||
}
|
||||
return GetTimelineResult(account, activities, activities.flatMap {
|
||||
it.sources?.toList().orEmpty()
|
||||
}, timeline.flatMap {
|
||||
it.entities?.hashtags?.map { it.text }.orEmpty()
|
||||
}, timeline.flatMap { status ->
|
||||
status.entities?.hashtags?.map { it.text }.orEmpty()
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
@ -687,7 +687,27 @@ class UpdateStatusTask(
|
|||
val ids: Array<String>,
|
||||
val deleteOnSuccess: List<MediaDeletionItem>,
|
||||
val deleteAlways: List<MediaDeletionItem>
|
||||
)
|
||||
) {
|
||||
override fun equals(other: Any?): Boolean {
|
||||
if (this === other) return true
|
||||
if (javaClass != other?.javaClass) return false
|
||||
|
||||
other as SharedMediaUploadResult
|
||||
|
||||
if (!ids.contentEquals(other.ids)) return false
|
||||
if (deleteOnSuccess != other.deleteOnSuccess) return false
|
||||
if (deleteAlways != other.deleteAlways) return false
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
var result = ids.contentHashCode()
|
||||
result = 31 * result + deleteOnSuccess.hashCode()
|
||||
result = 31 * result + deleteAlways.hashCode()
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
|
@ -914,7 +934,7 @@ class UpdateStatusTask(
|
|||
return null
|
||||
}
|
||||
|
||||
if (imageLimit == null || (imageLimit.checkGeomentry(o.outWidth, o.outHeight)
|
||||
if (imageLimit == null || (imageLimit.checkGeometry(o.outWidth, o.outHeight)
|
||||
&& imageLimit.checkSize(imageSize, chucked))) return null
|
||||
o.inSampleSize = o.calculateInSampleSize(imageLimit.maxWidth, imageLimit.maxHeight)
|
||||
o.inJustDecodeBounds = false
|
||||
|
@ -1092,7 +1112,7 @@ class UpdateStatusTask(
|
|||
context.contentResolver.delete(Drafts.CONTENT_URI, where, null)
|
||||
}
|
||||
|
||||
fun AccountExtras.ImageLimit.checkGeomentry(width: Int, height: Int): Boolean {
|
||||
fun AccountExtras.ImageLimit.checkGeometry(width: Int, height: Int): Boolean {
|
||||
if (this.maxWidth <= 0 || this.maxHeight <= 0) return true
|
||||
return (width <= this.maxWidth && height <= this.maxHeight) || (height <= this.maxWidth
|
||||
&& width <= this.maxHeight)
|
||||
|
|
|
@ -360,10 +360,6 @@ class AsyncTwitterWrapper(
|
|||
}
|
||||
|
||||
override fun onException(callback: Any?, exception: MicroBlogException) {
|
||||
if (exception !is MicroBlogException) {
|
||||
Analyzer.logException(exception)
|
||||
return
|
||||
}
|
||||
DebugLog.w(TwidereConstants.LOGTAG, "Unable to update friendship", exception)
|
||||
}
|
||||
|
||||
|
|
|
@ -242,7 +242,7 @@ object DataStoreUtils {
|
|||
val (where, whereArgs) = getIdsWhere(isOfficial)
|
||||
getNewestActivityMaxSortPositions(context, uri, keys, where, whereArgs)
|
||||
}, { arr1, arr2 ->
|
||||
LongArray(accountKeys.size) { arr1.elementAtOrNull(it)?.takeIf { it > 0 } ?: arr2.elementAtOrNull(it) ?: 0 }
|
||||
LongArray(accountKeys.size) { array -> arr1.elementAtOrNull(array)?.takeIf { it > 0 } ?: arr2.elementAtOrNull(array) ?: 0 }
|
||||
}, accountKeys)
|
||||
}
|
||||
|
||||
|
@ -259,7 +259,7 @@ object DataStoreUtils {
|
|||
val (where, whereArgs) = getIdsWhere(isOfficial)
|
||||
getOldestActivityMaxSortPositions(context, uri, keys, where, whereArgs)
|
||||
}, { arr1, arr2 ->
|
||||
LongArray(accountKeys.size) { arr1.elementAtOrNull(it)?.takeIf { it > 0 } ?: arr2.elementAtOrNull(it) ?: 0 }
|
||||
LongArray(accountKeys.size) { array -> arr1.elementAtOrNull(array)?.takeIf { it > 0 } ?: arr2.elementAtOrNull(array) ?: 0 }
|
||||
}, accountKeys)
|
||||
}
|
||||
|
||||
|
|
|
@ -187,7 +187,7 @@ object IntentUtils {
|
|||
intent.data = Uri.parse("${uri.scheme}://")
|
||||
|
||||
return intent.resolveActivity(context.packageManager)?.takeIf {
|
||||
it.className != null && it.packageName != "android"
|
||||
it.packageName != "android"
|
||||
}?.packageName
|
||||
}
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ interface GifShareProvider {
|
|||
fun newFactory(): Factory = ServiceLoader.load(Factory::class.java)?.firstOrNull() ?: NullFactory
|
||||
|
||||
private object NullFactory : Factory {
|
||||
override fun newInstance(context: Context) = null
|
||||
override fun newInstance(context: Context): Nothing? = null
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -71,8 +71,8 @@ class RoundedRectTransformation(
|
|||
return "RoundedRectTransformation(radius=$radius, radiusPercent=$radius)"
|
||||
}
|
||||
|
||||
override fun equals(o: Any?): Boolean {
|
||||
return o is RoundedRectTransformation
|
||||
override fun equals(other: Any?): Boolean {
|
||||
return other is RoundedRectTransformation
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
|
|
|
@ -24,6 +24,7 @@ import android.os.Build
|
|||
import com.bumptech.glide.Glide
|
||||
import com.bumptech.glide.GlideBuilder
|
||||
import com.bumptech.glide.Registry
|
||||
import com.bumptech.glide.annotation.GlideModule
|
||||
import com.bumptech.glide.integration.okhttp3.OkHttpUrlLoader
|
||||
import com.bumptech.glide.load.model.GlideUrl
|
||||
import com.bumptech.glide.module.AppGlideModule
|
||||
|
@ -39,7 +40,7 @@ import org.mariotaku.twidere.util.media.ThumborWrapper
|
|||
import org.mariotaku.twidere.util.okhttp.ModifyRequestInterceptor
|
||||
import java.io.InputStream
|
||||
|
||||
@com.bumptech.glide.annotation.GlideModule
|
||||
@GlideModule
|
||||
class TwidereGlideModule : AppGlideModule() {
|
||||
override fun applyOptions(context: Context, builder: GlideBuilder) {
|
||||
// Do nothing.
|
||||
|
|
|
@ -70,12 +70,12 @@ class MediaPreloader(val context: Context) {
|
|||
}
|
||||
|
||||
private fun preLoadProfileImage(status: ParcelableStatus) {
|
||||
Glide.with(context).loadProfileImage(context, status, 0).into(Target.SIZE_ORIGINAL,
|
||||
Glide.with(context).loadProfileImage(context, status, 0).submit(Target.SIZE_ORIGINAL,
|
||||
Target.SIZE_ORIGINAL)
|
||||
}
|
||||
|
||||
private fun preloadPreviewImage(url: String?) {
|
||||
Glide.with(context).load(url).into(Target.SIZE_ORIGINAL,
|
||||
Glide.with(context).load(url).submit(Target.SIZE_ORIGINAL,
|
||||
Target.SIZE_ORIGINAL)
|
||||
}
|
||||
|
||||
|
|
|
@ -42,8 +42,8 @@ object SystemDnsFetcher {
|
|||
@SuppressLint("PrivateApi")
|
||||
open fun get(context: Context): List<String>? {
|
||||
try {
|
||||
val SystemProperties = Class.forName("android.os.SystemProperties")
|
||||
val method = SystemProperties.getMethod("get", String::class.java)
|
||||
val systemProperties = Class.forName("android.os.SystemProperties")
|
||||
val method = systemProperties.getMethod("get", String::class.java)
|
||||
val netdns = arrayOf("net.dns1", "net.dns2", "net.dns3", "net.dns4")
|
||||
return netdns.mapNotNull { key ->
|
||||
return@mapNotNull method(null, key) as? String
|
||||
|
|
|
@ -64,7 +64,7 @@ interface StatusScheduleProvider {
|
|||
}
|
||||
|
||||
private object NullFactory : Factory {
|
||||
override fun newInstance(context: Context) = null
|
||||
override fun newInstance(context: Context): Nothing? = null
|
||||
|
||||
override fun parseInfo(json: String): ScheduleInfo? = null
|
||||
|
||||
|
|
|
@ -90,7 +90,7 @@ abstract class TimelineSyncManager(val context: Context) {
|
|||
}
|
||||
|
||||
object DummyFactory : Factory() {
|
||||
override fun create(context: Context) = null
|
||||
override fun create(context: Context): Nothing? = null
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
|
|
@ -22,6 +22,7 @@ package org.mariotaku.twidere.util.text
|
|||
import com.twitter.twittertext.Extractor
|
||||
import com.twitter.twittertext.Validator
|
||||
import java.text.Normalizer
|
||||
import java.util.*
|
||||
|
||||
object TwitterValidator : Validator() {
|
||||
|
||||
|
@ -54,7 +55,7 @@ object TwitterValidator : Validator() {
|
|||
|
||||
for (urlEntity in extractor.extractURLsWithIndices(normalized)) {
|
||||
length += urlEntity.start - urlEntity.end
|
||||
length += if (urlEntity.value.toLowerCase().startsWith("https://")) shortUrlLengthHttps else shortUrlLength
|
||||
length += if (urlEntity.value.toLowerCase(Locale.ROOT).startsWith("https://")) shortUrlLengthHttps else shortUrlLength
|
||||
}
|
||||
|
||||
return length
|
||||
|
|
|
@ -23,7 +23,7 @@ open class IconActionView(
|
|||
context: Context, attrs: AttributeSet? = null
|
||||
) : AppCompatImageView(context, attrs), IIconActionButton {
|
||||
|
||||
override var defaultColor: Int = 0
|
||||
final override var defaultColor: Int = 0
|
||||
@ColorInt
|
||||
get() {
|
||||
if (field == 0) {
|
||||
|
@ -40,7 +40,7 @@ open class IconActionView(
|
|||
updateColorFilter()
|
||||
}
|
||||
|
||||
override var activatedColor: Int = 0
|
||||
final override var activatedColor: Int = 0
|
||||
@ColorInt
|
||||
get() {
|
||||
if (field != 0) return field
|
||||
|
@ -51,7 +51,7 @@ open class IconActionView(
|
|||
updateColorFilter()
|
||||
}
|
||||
|
||||
override var disabledColor: Int = 0
|
||||
final override var disabledColor: Int = 0
|
||||
@ColorInt
|
||||
get() {
|
||||
if (field != 0) return field
|
||||
|
|
|
@ -15,7 +15,7 @@ class YandexAPIFactory(apiKey: String, endpoint: String) {
|
|||
|
||||
init {
|
||||
factory.setEndpoint(Endpoint(endpoint))
|
||||
factory.setExceptionFactory { cause, request, response ->
|
||||
factory.setExceptionFactory { cause, _, _ ->
|
||||
cause?.let { YandexException(it) }
|
||||
?: YandexException()
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="false">
|
||||
|
||||
<androidx.legacy.widget.Space
|
||||
<Space
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/element_spacing_xlarge"/>
|
||||
</androidx.cardview.widget.CardView>
|
Loading…
Reference in New Issue