mirror of
https://github.com/pachli/pachli-android.git
synced 2025-02-09 08:28:43 +01:00
refactor: Rename StatusListActivity
to TimelineActivity
(#577)
More accurately reflects what it does, and simplies the diffs for upcoming work.
This commit is contained in:
parent
8257ded395
commit
64fae0ceb6
@ -125,7 +125,7 @@
|
||||
<activity android:name=".components.notifications.NotificationsActivity" />
|
||||
<activity android:name=".EditProfileActivity" />
|
||||
<activity android:name=".components.preference.PreferencesActivity" />
|
||||
<activity android:name=".StatusListActivity" />
|
||||
<activity android:name=".TimelineActivity" />
|
||||
<activity android:name=".components.accountlist.AccountListActivity" />
|
||||
<activity android:name=".feature.about.AboutActivity" />
|
||||
<activity android:name=".TabPreferenceActivity" />
|
||||
|
@ -99,7 +99,7 @@ import app.pachli.core.navigation.PreferencesActivityIntent
|
||||
import app.pachli.core.navigation.PreferencesActivityIntent.PreferenceScreen
|
||||
import app.pachli.core.navigation.ScheduledStatusActivityIntent
|
||||
import app.pachli.core.navigation.SearchActivityIntent
|
||||
import app.pachli.core.navigation.StatusListActivityIntent
|
||||
import app.pachli.core.navigation.TimelineActivityIntent
|
||||
import app.pachli.core.navigation.TrendingActivityIntent
|
||||
import app.pachli.core.network.model.Account
|
||||
import app.pachli.core.network.model.Notification
|
||||
@ -607,7 +607,7 @@ class MainActivity : BottomSheetActivity(), ActionButtonActivity, MenuProvider {
|
||||
iconicsIcon = GoogleMaterial.Icon.gmd_list
|
||||
onClick = {
|
||||
startActivityWithSlideInAnimation(
|
||||
StatusListActivityIntent.list(this@MainActivity, list.id, list.title),
|
||||
TimelineActivityIntent.list(this@MainActivity, list.id, list.title),
|
||||
)
|
||||
}
|
||||
}
|
||||
@ -634,7 +634,7 @@ class MainActivity : BottomSheetActivity(), ActionButtonActivity, MenuProvider {
|
||||
nameRes = R.string.action_view_bookmarks
|
||||
iconicsIcon = GoogleMaterial.Icon.gmd_bookmark
|
||||
onClick = {
|
||||
val intent = StatusListActivityIntent.bookmarks(context)
|
||||
val intent = TimelineActivityIntent.bookmarks(context)
|
||||
startActivityWithSlideInAnimation(intent)
|
||||
}
|
||||
},
|
||||
@ -643,7 +643,7 @@ class MainActivity : BottomSheetActivity(), ActionButtonActivity, MenuProvider {
|
||||
isSelectable = false
|
||||
iconicsIcon = GoogleMaterial.Icon.gmd_star
|
||||
onClick = {
|
||||
val intent = StatusListActivityIntent.favourites(context)
|
||||
val intent = TimelineActivityIntent.favourites(context)
|
||||
startActivityWithSlideInAnimation(intent)
|
||||
}
|
||||
},
|
||||
|
@ -31,13 +31,13 @@ import app.pachli.core.common.util.unsafeLazy
|
||||
import app.pachli.core.model.Timeline
|
||||
import app.pachli.core.navigation.ComposeActivityIntent
|
||||
import app.pachli.core.navigation.ComposeActivityIntent.ComposeOptions
|
||||
import app.pachli.core.navigation.StatusListActivityIntent
|
||||
import app.pachli.core.navigation.TimelineActivityIntent
|
||||
import app.pachli.core.network.ServerOperation.ORG_JOINMASTODON_FILTERS_CLIENT
|
||||
import app.pachli.core.network.ServerOperation.ORG_JOINMASTODON_FILTERS_SERVER
|
||||
import app.pachli.core.network.model.Filter
|
||||
import app.pachli.core.network.model.FilterContext
|
||||
import app.pachli.core.network.model.FilterV1
|
||||
import app.pachli.databinding.ActivityStatuslistBinding
|
||||
import app.pachli.databinding.ActivityTimelineBinding
|
||||
import app.pachli.interfaces.ActionButtonActivity
|
||||
import app.pachli.interfaces.AppBarLayoutHost
|
||||
import app.pachli.network.ServerRepository
|
||||
@ -54,18 +54,17 @@ import retrofit2.HttpException
|
||||
import timber.log.Timber
|
||||
|
||||
/**
|
||||
* Show a list of statuses of a particular type; containing a particular hashtag,
|
||||
* the user's favourites, bookmarks, etc.
|
||||
* Show a single timeline.
|
||||
*/
|
||||
@AndroidEntryPoint
|
||||
class StatusListActivity : BottomSheetActivity(), AppBarLayoutHost, ActionButtonActivity {
|
||||
class TimelineActivity : BottomSheetActivity(), AppBarLayoutHost, ActionButtonActivity {
|
||||
@Inject
|
||||
lateinit var eventHub: EventHub
|
||||
|
||||
@Inject
|
||||
lateinit var serverRepository: ServerRepository
|
||||
|
||||
private val binding: ActivityStatuslistBinding by viewBinding(ActivityStatuslistBinding::inflate)
|
||||
private val binding: ActivityTimelineBinding by viewBinding(ActivityTimelineBinding::inflate)
|
||||
private lateinit var timeline: Timeline
|
||||
|
||||
override val appBarLayout: AppBarLayout
|
||||
@ -94,7 +93,7 @@ class StatusListActivity : BottomSheetActivity(), AppBarLayoutHost, ActionButton
|
||||
|
||||
setSupportActionBar(binding.includedToolbar.toolbar)
|
||||
|
||||
timeline = StatusListActivityIntent.getKind(intent)
|
||||
timeline = TimelineActivityIntent.getTimeline(intent)
|
||||
|
||||
val title = when (timeline) {
|
||||
is Timeline.Favourites -> getString(R.string.title_favourites)
|
@ -69,7 +69,7 @@ import app.pachli.core.navigation.ComposeActivityIntent
|
||||
import app.pachli.core.navigation.ComposeActivityIntent.ComposeOptions
|
||||
import app.pachli.core.navigation.EditProfileActivityIntent
|
||||
import app.pachli.core.navigation.ReportActivityIntent
|
||||
import app.pachli.core.navigation.StatusListActivityIntent
|
||||
import app.pachli.core.navigation.TimelineActivityIntent
|
||||
import app.pachli.core.navigation.ViewMediaActivityIntent
|
||||
import app.pachli.core.network.model.Account
|
||||
import app.pachli.core.network.model.Relationship
|
||||
@ -951,7 +951,7 @@ class AccountActivity :
|
||||
}
|
||||
|
||||
override fun onViewTag(tag: String) {
|
||||
val intent = StatusListActivityIntent.hashtag(this, tag)
|
||||
val intent = TimelineActivityIntent.hashtag(this, tag)
|
||||
startActivityWithSlideInAnimation(intent)
|
||||
}
|
||||
|
||||
|
@ -47,7 +47,7 @@ import app.pachli.core.navigation.AccountListActivityIntent.Kind.FOLLOWS
|
||||
import app.pachli.core.navigation.AccountListActivityIntent.Kind.FOLLOW_REQUESTS
|
||||
import app.pachli.core.navigation.AccountListActivityIntent.Kind.MUTES
|
||||
import app.pachli.core.navigation.AccountListActivityIntent.Kind.REBLOGGED
|
||||
import app.pachli.core.navigation.StatusListActivityIntent
|
||||
import app.pachli.core.navigation.TimelineActivityIntent
|
||||
import app.pachli.core.network.model.HttpHeaderLink
|
||||
import app.pachli.core.network.model.Relationship
|
||||
import app.pachli.core.network.model.TimelineAccount
|
||||
@ -159,7 +159,7 @@ class AccountListFragment :
|
||||
|
||||
override fun onViewTag(tag: String) {
|
||||
(activity as BaseActivity?)
|
||||
?.startActivityWithSlideInAnimation(StatusListActivityIntent.hashtag(requireContext(), tag))
|
||||
?.startActivityWithSlideInAnimation(TimelineActivityIntent.hashtag(requireContext(), tag))
|
||||
}
|
||||
|
||||
override fun onViewAccount(id: String) {
|
||||
|
@ -33,7 +33,7 @@ import app.pachli.core.common.extensions.hide
|
||||
import app.pachli.core.common.extensions.show
|
||||
import app.pachli.core.common.extensions.viewBinding
|
||||
import app.pachli.core.common.util.unsafeLazy
|
||||
import app.pachli.core.navigation.StatusListActivityIntent
|
||||
import app.pachli.core.navigation.TimelineActivityIntent
|
||||
import app.pachli.core.preferences.PrefKeys
|
||||
import app.pachli.core.ui.BackgroundMessage
|
||||
import app.pachli.databinding.ActivityAnnouncementsBinding
|
||||
@ -186,7 +186,7 @@ class AnnouncementsActivity :
|
||||
}
|
||||
|
||||
override fun onViewTag(tag: String) {
|
||||
val intent = StatusListActivityIntent.hashtag(this, tag)
|
||||
val intent = TimelineActivityIntent.hashtag(this, tag)
|
||||
startActivityWithSlideInAnimation(intent)
|
||||
}
|
||||
|
||||
|
@ -44,7 +44,7 @@ import app.pachli.core.common.extensions.viewBinding
|
||||
import app.pachli.core.common.extensions.visible
|
||||
import app.pachli.core.navigation.AccountActivityIntent
|
||||
import app.pachli.core.navigation.AttachmentViewData
|
||||
import app.pachli.core.navigation.StatusListActivityIntent
|
||||
import app.pachli.core.navigation.TimelineActivityIntent
|
||||
import app.pachli.core.network.model.Poll
|
||||
import app.pachli.core.network.model.Status
|
||||
import app.pachli.core.preferences.PrefKeys
|
||||
@ -316,7 +316,7 @@ class ConversationsFragment :
|
||||
}
|
||||
|
||||
override fun onViewTag(tag: String) {
|
||||
val intent = StatusListActivityIntent.hashtag(requireContext(), tag)
|
||||
val intent = TimelineActivityIntent.hashtag(requireContext(), tag)
|
||||
startActivity(intent)
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,7 @@ import app.pachli.core.common.extensions.hide
|
||||
import app.pachli.core.common.extensions.show
|
||||
import app.pachli.core.common.extensions.viewBinding
|
||||
import app.pachli.core.common.extensions.visible
|
||||
import app.pachli.core.navigation.StatusListActivityIntent
|
||||
import app.pachli.core.navigation.TimelineActivityIntent
|
||||
import app.pachli.core.network.retrofit.MastodonApi
|
||||
import app.pachli.core.preferences.PrefKeys
|
||||
import app.pachli.databinding.ActivityFollowedTagsBinding
|
||||
@ -172,7 +172,7 @@ class FollowedTagsActivity :
|
||||
}
|
||||
|
||||
override fun onViewTag(tag: String) {
|
||||
startActivityWithSlideInAnimation(StatusListActivityIntent.hashtag(this, tag))
|
||||
startActivityWithSlideInAnimation(TimelineActivityIntent.hashtag(this, tag))
|
||||
}
|
||||
|
||||
override suspend fun search(token: String): List<ComposeAutoCompleteAdapter.AutocompleteResult> {
|
||||
|
@ -42,7 +42,7 @@ import app.pachli.core.common.extensions.viewBinding
|
||||
import app.pachli.core.common.extensions.visible
|
||||
import app.pachli.core.navigation.AccountActivityIntent
|
||||
import app.pachli.core.navigation.AttachmentViewData
|
||||
import app.pachli.core.navigation.StatusListActivityIntent
|
||||
import app.pachli.core.navigation.TimelineActivityIntent
|
||||
import app.pachli.core.navigation.ViewMediaActivityIntent
|
||||
import app.pachli.core.network.model.Attachment
|
||||
import app.pachli.core.network.model.Status
|
||||
@ -211,7 +211,7 @@ class ReportStatusesFragment :
|
||||
|
||||
override fun onViewAccount(id: String) = startActivity(AccountActivityIntent(requireContext(), id))
|
||||
|
||||
override fun onViewTag(tag: String) = startActivity(StatusListActivityIntent.hashtag(requireContext(), tag))
|
||||
override fun onViewTag(tag: String) = startActivity(TimelineActivityIntent.hashtag(requireContext(), tag))
|
||||
|
||||
override fun onViewUrl(url: String) = viewModel.checkClickedUrl(url)
|
||||
|
||||
|
@ -22,7 +22,7 @@ import app.pachli.core.activity.BottomSheetActivity
|
||||
import app.pachli.core.common.extensions.viewBinding
|
||||
import app.pachli.core.common.extensions.visible
|
||||
import app.pachli.core.navigation.AccountActivityIntent
|
||||
import app.pachli.core.navigation.StatusListActivityIntent
|
||||
import app.pachli.core.navigation.TimelineActivityIntent
|
||||
import app.pachli.core.network.retrofit.MastodonApi
|
||||
import app.pachli.databinding.FragmentSearchBinding
|
||||
import app.pachli.interfaces.LinkListener
|
||||
@ -144,7 +144,7 @@ abstract class SearchFragment<T : Any> :
|
||||
}
|
||||
|
||||
override fun onViewTag(tag: String) {
|
||||
bottomSheetActivity?.startActivityWithSlideInAnimation(StatusListActivityIntent.hashtag(requireContext(), tag))
|
||||
bottomSheetActivity?.startActivityWithSlideInAnimation(TimelineActivityIntent.hashtag(requireContext(), tag))
|
||||
}
|
||||
|
||||
override fun onViewUrl(url: String) {
|
||||
|
@ -43,7 +43,7 @@ import app.pachli.core.common.extensions.hide
|
||||
import app.pachli.core.common.extensions.show
|
||||
import app.pachli.core.common.extensions.viewBinding
|
||||
import app.pachli.core.designsystem.R as DR
|
||||
import app.pachli.core.navigation.StatusListActivityIntent
|
||||
import app.pachli.core.navigation.TimelineActivityIntent
|
||||
import app.pachli.core.ui.BackgroundMessage
|
||||
import app.pachli.databinding.FragmentTrendingTagsBinding
|
||||
import app.pachli.interfaces.ActionButtonActivity
|
||||
@ -173,7 +173,7 @@ class TrendingTagsFragment :
|
||||
|
||||
fun onViewTag(tag: String) {
|
||||
(requireActivity() as BaseActivity).startActivityWithSlideInAnimation(
|
||||
StatusListActivityIntent.hashtag(
|
||||
TimelineActivityIntent.hashtag(
|
||||
requireContext(),
|
||||
tag,
|
||||
),
|
||||
|
@ -39,7 +39,7 @@ import app.pachli.core.common.extensions.viewBinding
|
||||
import app.pachli.core.common.string.unicodeWrap
|
||||
import app.pachli.core.designsystem.R as DR
|
||||
import app.pachli.core.navigation.AccountActivityIntent
|
||||
import app.pachli.core.navigation.StatusListActivityIntent
|
||||
import app.pachli.core.navigation.TimelineActivityIntent
|
||||
import app.pachli.core.preferences.PrefKeys
|
||||
import app.pachli.core.preferences.SharedPreferencesRepository
|
||||
import app.pachli.core.ui.BackgroundMessage
|
||||
@ -187,7 +187,7 @@ class ViewEditsFragment :
|
||||
}
|
||||
|
||||
override fun onViewTag(tag: String) {
|
||||
bottomSheetActivity?.startActivityWithSlideInAnimation(StatusListActivityIntent.hashtag(requireContext(), tag))
|
||||
bottomSheetActivity?.startActivityWithSlideInAnimation(TimelineActivityIntent.hashtag(requireContext(), tag))
|
||||
}
|
||||
|
||||
override fun onViewUrl(url: String) {
|
||||
|
@ -52,7 +52,7 @@ import app.pachli.core.navigation.AttachmentViewData
|
||||
import app.pachli.core.navigation.ComposeActivityIntent
|
||||
import app.pachli.core.navigation.ComposeActivityIntent.ComposeOptions
|
||||
import app.pachli.core.navigation.ReportActivityIntent
|
||||
import app.pachli.core.navigation.StatusListActivityIntent
|
||||
import app.pachli.core.navigation.TimelineActivityIntent
|
||||
import app.pachli.core.navigation.ViewMediaActivityIntent
|
||||
import app.pachli.core.network.ServerOperation.ORG_JOINMASTODON_STATUSES_TRANSLATE
|
||||
import app.pachli.core.network.model.Attachment
|
||||
@ -418,7 +418,7 @@ abstract class SFragment<T : IStatusViewData> : Fragment(), StatusActionListener
|
||||
}
|
||||
|
||||
protected fun viewTag(tag: String) {
|
||||
startActivity(StatusListActivityIntent.hashtag(requireContext(), tag))
|
||||
startActivity(TimelineActivityIntent.hashtag(requireContext(), tag))
|
||||
}
|
||||
|
||||
private fun openReportPage(accountId: String, accountUsername: String, statusId: String) {
|
||||
|
@ -4,7 +4,7 @@
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context="app.pachli.StatusListActivity">
|
||||
tools:context="app.pachli.TimelineActivity">
|
||||
|
||||
<include
|
||||
android:id="@+id/includedToolbar"
|
@ -12,7 +12,7 @@ This introduces a dependency between A and B.
|
||||
|
||||
This is worse if B also wants to start A.
|
||||
|
||||
For example, if A is `StatusListActivity` and B is`ViewThreadActivity`. The user might click a status in `StatusListActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `StatusListActivity` and `ViewThreadActivity` have a circular dependency.
|
||||
For example, if A is `TimelineActivity` and B is`ViewThreadActivity`. The user might click a status in `TimelineActivity` to view the thread, starting `ViewThreadActivity`. But from the thread they might click a hashtag to view the list of statuses with that hashtag. Now `TimelineActivity` and `ViewThreadActivity` have a circular dependency.
|
||||
|
||||
Even if that doesn't happen the dependency means that any changes to B will trigger a rebuild of A, even if the changes to B are not relevant.
|
||||
|
||||
|
@ -24,10 +24,10 @@ import androidx.core.content.IntentCompat
|
||||
import app.pachli.core.database.model.DraftAttachment
|
||||
import app.pachli.core.model.Timeline
|
||||
import app.pachli.core.navigation.LoginActivityIntent.LoginMode
|
||||
import app.pachli.core.navigation.StatusListActivityIntent.Companion.bookmarks
|
||||
import app.pachli.core.navigation.StatusListActivityIntent.Companion.favourites
|
||||
import app.pachli.core.navigation.StatusListActivityIntent.Companion.hashtag
|
||||
import app.pachli.core.navigation.StatusListActivityIntent.Companion.list
|
||||
import app.pachli.core.navigation.TimelineActivityIntent.Companion.bookmarks
|
||||
import app.pachli.core.navigation.TimelineActivityIntent.Companion.favourites
|
||||
import app.pachli.core.navigation.TimelineActivityIntent.Companion.hashtag
|
||||
import app.pachli.core.navigation.TimelineActivityIntent.Companion.list
|
||||
import app.pachli.core.network.model.Attachment
|
||||
import app.pachli.core.network.model.Filter
|
||||
import app.pachli.core.network.model.NewPoll
|
||||
@ -388,21 +388,21 @@ class ReportActivityIntent(context: Context, accountId: String, userName: String
|
||||
/**
|
||||
* Use one of [bookmarks], [favourites], [hashtag], or [list] to construct.
|
||||
*/
|
||||
class StatusListActivityIntent private constructor(context: Context) : Intent() {
|
||||
class TimelineActivityIntent private constructor(context: Context) : Intent() {
|
||||
init {
|
||||
setClassName(context, QuadrantConstants.STATUS_LIST_ACTIVITY)
|
||||
setClassName(context, QuadrantConstants.TIMELINE_ACTIVITY)
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val EXTRA_KIND = "kind"
|
||||
private const val EXTRA_TIMELINE = "timeline"
|
||||
|
||||
/**
|
||||
* Show the user's bookmarks.
|
||||
*
|
||||
* @param context
|
||||
*/
|
||||
fun bookmarks(context: Context) = StatusListActivityIntent(context).apply {
|
||||
putExtra(EXTRA_KIND, Timeline.Bookmarks)
|
||||
fun bookmarks(context: Context) = TimelineActivityIntent(context).apply {
|
||||
putExtra(EXTRA_TIMELINE, Timeline.Bookmarks)
|
||||
}
|
||||
|
||||
/**
|
||||
@ -410,8 +410,8 @@ class StatusListActivityIntent private constructor(context: Context) : Intent()
|
||||
*
|
||||
* @param context
|
||||
*/
|
||||
fun favourites(context: Context) = StatusListActivityIntent(context).apply {
|
||||
putExtra(EXTRA_KIND, Timeline.Favourites)
|
||||
fun favourites(context: Context) = TimelineActivityIntent(context).apply {
|
||||
putExtra(EXTRA_TIMELINE, Timeline.Favourites)
|
||||
}
|
||||
|
||||
/**
|
||||
@ -420,8 +420,8 @@ class StatusListActivityIntent private constructor(context: Context) : Intent()
|
||||
* @param context
|
||||
* @param hashtag The hashtag to show, without the leading "`#`"
|
||||
*/
|
||||
fun hashtag(context: Context, hashtag: String) = StatusListActivityIntent(context).apply {
|
||||
putExtra(EXTRA_KIND, Timeline.Hashtags(listOf(hashtag)))
|
||||
fun hashtag(context: Context, hashtag: String) = TimelineActivityIntent(context).apply {
|
||||
putExtra(EXTRA_TIMELINE, Timeline.Hashtags(listOf(hashtag)))
|
||||
}
|
||||
|
||||
/**
|
||||
@ -431,12 +431,12 @@ class StatusListActivityIntent private constructor(context: Context) : Intent()
|
||||
* @param listId ID of the list to show
|
||||
* @param title The title to display
|
||||
*/
|
||||
fun list(context: Context, listId: String, title: String) = StatusListActivityIntent(context).apply {
|
||||
putExtra(EXTRA_KIND, Timeline.UserList(listId, title))
|
||||
fun list(context: Context, listId: String, title: String) = TimelineActivityIntent(context).apply {
|
||||
putExtra(EXTRA_TIMELINE, Timeline.UserList(listId, title))
|
||||
}
|
||||
|
||||
/** @return The [TimelineKind] to show */
|
||||
fun getKind(intent: Intent) = IntentCompat.getParcelableExtra(intent, EXTRA_KIND, Timeline::class.java)!!
|
||||
/** @return The [Timeline] to show */
|
||||
fun getTimeline(intent: Intent) = IntentCompat.getParcelableExtra(intent, EXTRA_TIMELINE, Timeline::class.java)!!
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -44,7 +44,7 @@ import app.pachli.core.common.extensions.show
|
||||
import app.pachli.core.common.extensions.viewBinding
|
||||
import app.pachli.core.data.repository.Lists
|
||||
import app.pachli.core.data.repository.ListsRepository.Companion.compareByListTitle
|
||||
import app.pachli.core.navigation.StatusListActivityIntent
|
||||
import app.pachli.core.navigation.TimelineActivityIntent
|
||||
import app.pachli.core.network.model.MastoList
|
||||
import app.pachli.core.network.model.UserListRepliesPolicy
|
||||
import app.pachli.core.network.retrofit.apiresult.ApiError
|
||||
@ -243,7 +243,7 @@ class ListsActivity : BaseActivity(), MenuProvider {
|
||||
|
||||
private fun onListSelected(listId: String, listTitle: String) {
|
||||
startActivityWithSlideInAnimation(
|
||||
StatusListActivityIntent.list(this, listId, listTitle),
|
||||
TimelineActivityIntent.list(this, listId, listTitle),
|
||||
)
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user