Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Show "Suggested accounts" #734

Merged
merged 81 commits into from
Jun 17, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
b270283
wip: suggestions
nikclayton May 5, 2024
1946842
fix: Prompt user to save/discard changes after editing bio (#678)
nikclayton May 1, 2024
f766a7d
fix(deps): update dependency androidx.core:core-ktx to v1.13.1 (#654)
renovate[bot] May 1, 2024
98ce2f0
chore(deps): update dependency com.apollographql.apollo3 to v3.8.4 (#…
renovate[bot] May 1, 2024
7f6cc5a
chore(deps): update actions/checkout digest to a5ac7e5 (#705)
renovate[bot] May 23, 2024
bd64fda
chore(deps): update plugin ktlint to v12.1.1 (#686)
renovate[bot] May 23, 2024
cb7d691
chore(deps): update plugin com.gradle.develocity to v3.17.4 (#706)
renovate[bot] May 25, 2024
d730125
change: remove tusky_banner.xcf (#682)
mileskrell May 28, 2024
175524d
fix: Re-enable accessiblity actions in all timelines (#715)
nikclayton May 29, 2024
81aa1c0
fix: Only suggest upgrading to a version F-Droid has built (#717)
nikclayton May 30, 2024
613d3be
fix: Only include transitionKind in intents for Pachli activities (#716)
nikclayton May 30, 2024
fadaa27
feat: Check Hometown/Glitch server instanceinfo for translation suppo…
nikclayton May 30, 2024
b864ca8
fix: Generate useful error messages for all errors (#719)
nikclayton May 30, 2024
59f8b41
fix(l10n): Update Finnish translations
kallekn May 2, 2024
65c03a8
fix(l10n): Update French translations
Guarmanda May 13, 2024
3c4ab35
fix(l10n): Update Spanish translations
mileskrell May 27, 2024
8e627d7
fix(l10n): Update Spanish translations
mileskrell May 28, 2024
5fafd5b
fix: Prevent crash on "hidden domains" page (#703)
mileskrell May 30, 2024
0635062
chore: Prepare release 2.5.2 (versionCode 16) (#723)
nikclayton May 31, 2024
2fda1ff
fix(l10n): Update Spanish translations
mileskrell May 31, 2024
0c0a1f7
fix(l10n): Update Spanish translations
mileskrell May 31, 2024
d33cbc0
chore(deps): update kotlin to v2 (major) (#725)
nikclayton Jun 5, 2024
fe04f3f
Show all suggestions without headers
nikclayton Jun 3, 2024
c98fda7
Temporarily return OK instead of making API calls while testing
nikclayton Jun 4, 2024
4a09ace
Bind once-off things in the viewholder init block
nikclayton Jun 4, 2024
6e0fc64
Bind UiState
nikclayton Jun 4, 2024
ca73d49
Title and icons
nikclayton Jun 4, 2024
0139fe3
Use text buttons instead of icon buttons for follow/dismiss
nikclayton Jun 4, 2024
4d8dd3d
Refactor loading
nikclayton Jun 4, 2024
b589111
Remove accepted / dismissed suggestions from the displayed list
nikclayton Jun 4, 2024
dd1c7ed
Simplify
nikclayton Jun 4, 2024
ab0793f
Refresh menu in the fragment
nikclayton Jun 4, 2024
4f12754
Switch to constraint layout
nikclayton Jun 4, 2024
aa3c7c0
Accept user actions in to a flow, and throttle to avoid double taps
nikclayton Jun 4, 2024
3d0f05e
Simplify collecting viewmodel flows
nikclayton Jun 5, 2024
4efec53
suggestions -> suggestion for the adapter and viewholder
nikclayton Jun 5, 2024
b35fbae
Remove last vestige of item_heading
nikclayton Jun 5, 2024
c9ad23d
Provide default throttle timeout
nikclayton Jun 5, 2024
6b30a6b
Extract SuggestionsAdapter
nikclayton Jun 5, 2024
bb67ad3
Replace uiSuccess / uiError with uiResult
nikclayton Jun 5, 2024
7ad79fc
Handle the snackbar crash case
nikclayton Jun 5, 2024
fba00b3
Experiment with live data
nikclayton Jun 5, 2024
be712e5
Use Flow extensions that negate the need for livedata
nikclayton Jun 5, 2024
8fffd31
Document and restructure a bit
nikclayton Jun 5, 2024
ded90c5
Prep for final work
nikclayton Jun 10, 2024
2551dc9
Merge remote-tracking branch 'upstream/main' into suggestions
nikclayton Jun 10, 2024
e87d0e5
Merge remote-tracking branch 'upstream/main' into suggestions
nikclayton Jun 10, 2024
5ce6f62
Revert unanticipated trivial changes
nikclayton Jun 10, 2024
9d4bece
Merge remote-tracking branch 'upstream/main' into suggestions
nikclayton Jun 10, 2024
147d1c0
Remove extra import
nikclayton Jun 10, 2024
1319b2b
Refactor to match suggestions branch
nikclayton Jun 11, 2024
7d9a24d
Merge branch 'refactor-api-error' into suggestions
nikclayton Jun 11, 2024
bb53c3b
refactor: Use the PachliError type for ApiError
nikclayton Jun 11, 2024
c3430b5
Merge branch 'refactor-api-error' into suggestions
nikclayton Jun 11, 2024
c6c6ea3
Update to use PachliError
nikclayton Jun 12, 2024
783cc12
Change payload stuff
nikclayton Jun 12, 2024
ef7a88e
Show post statistics for each account
nikclayton Jun 12, 2024
268a20b
fix: Disable BackgroundMessageView button when it's clicked
nikclayton Jun 12, 2024
bbb3ac4
Cleanup
nikclayton Jun 12, 2024
8f08772
feat: Handle <plurals> string resources
nikclayton Jun 12, 2024
ae07d64
Tap the title to jump to the top
nikclayton Jun 12, 2024
73dcb21
Cleanups
nikclayton Jun 13, 2024
9347619
Merge remote-tracking branch 'upstream/main' into suggestions
nikclayton Jun 13, 2024
a12a2d3
Switch to makeIcon
nikclayton Jun 13, 2024
47c7bf8
Delete unused ListActions
nikclayton Jun 13, 2024
5e92c4a
Delete unused drawable
nikclayton Jun 13, 2024
6ae745d
Remove unnecessary action_refresh string resource
nikclayton Jun 13, 2024
50aa983
Remove commented entries from build.gradle.kts
nikclayton Jun 13, 2024
365cc56
Merge remote-tracking branch 'upstream/main' into suggestions
nikclayton Jun 13, 2024
1889329
Merge remote-tracking branch 'upstream/main' into suggestions
nikclayton Jun 13, 2024
b53f79d
Remove ui_error_unknown
nikclayton Jun 13, 2024
54d9a04
Put action_open_drawer resource back
nikclayton Jun 13, 2024
a761eea
Remove action_open_drawer from core.ui
nikclayton Jun 13, 2024
34ecd32
Remove outdated comment
nikclayton Jun 13, 2024
410a860
Accessibility delegate and other cleanups
nikclayton Jun 17, 2024
8e11224
Merge remote-tracking branch 'upstream/main' into suggestions
nikclayton Jun 17, 2024
22c6ffc
Merge remote-tracking branch 'upstream/main' into suggestions
nikclayton Jun 17, 2024
b0f428f
Revert format change
nikclayton Jun 17, 2024
728a145
Fix the fix
nikclayton Jun 17, 2024
efb3903
Merge remote-tracking branch 'upstream/main' into suggestions
nikclayton Jun 17, 2024
7006052
Revert ic_reject_24dp move
nikclayton Jun 17, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Tap the title to jump to the top
  • Loading branch information
nikclayton committed Jun 12, 2024
commit ae07d64a5f08506fc412fd35c39f579b52abbbfa
2 changes: 1 addition & 1 deletion app/src/main/java/app/pachli/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ import app.pachli.components.notifications.showMigrationNoticeIfNecessary
import app.pachli.core.activity.AccountSelectionListener
import app.pachli.core.activity.BottomSheetActivity
import app.pachli.core.activity.PostLookupFallbackBehavior
import app.pachli.core.activity.ReselectableFragment
import app.pachli.core.activity.emojify
import app.pachli.core.activity.extensions.TransitionKind
import app.pachli.core.activity.extensions.startActivityWithDefaultTransition
Expand Down Expand Up @@ -112,7 +113,6 @@ import app.pachli.core.ui.extensions.reduceSwipeSensitivity
import app.pachli.databinding.ActivityMainBinding
import app.pachli.db.DraftsAlert
import app.pachli.interfaces.ActionButtonActivity
import app.pachli.interfaces.ReselectableFragment
import app.pachli.pager.MainPagerAdapter
import app.pachli.updatecheck.UpdateCheck
import app.pachli.usecase.DeveloperToolsUseCase
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ import androidx.viewpager2.widget.MarginPageTransformer
import app.pachli.R
import app.pachli.core.activity.AccountSelectionListener
import app.pachli.core.activity.BottomSheetActivity
import app.pachli.core.activity.ReselectableFragment
import app.pachli.core.activity.emojify
import app.pachli.core.activity.extensions.TransitionKind
import app.pachli.core.activity.extensions.startActivityWithDefaultTransition
Expand Down Expand Up @@ -88,7 +89,6 @@ import app.pachli.databinding.ActivityAccountBinding
import app.pachli.db.DraftsAlert
import app.pachli.feature.lists.ListsForAccountFragment
import app.pachli.interfaces.ActionButtonActivity
import app.pachli.interfaces.ReselectableFragment
import app.pachli.util.Error
import app.pachli.util.Loading
import app.pachli.util.Success
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener
import app.pachli.R
import app.pachli.adapter.StatusBaseViewHolder
import app.pachli.appstore.EventHub
import app.pachli.core.activity.ReselectableFragment
import app.pachli.core.common.extensions.hide
import app.pachli.core.common.extensions.show
import app.pachli.core.common.extensions.viewBinding
Expand All @@ -54,7 +55,6 @@ import app.pachli.core.ui.BackgroundMessage
import app.pachli.databinding.FragmentTimelineBinding
import app.pachli.fragment.SFragment
import app.pachli.interfaces.ActionButtonActivity
import app.pachli.interfaces.ReselectableFragment
import app.pachli.interfaces.StatusActionListener
import app.pachli.util.ListStatusAccessibilityDelegate
import at.connyduck.sparkbutton.helpers.Utils
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener
import app.pachli.R
import app.pachli.adapter.StatusBaseViewHolder
import app.pachli.components.timeline.TimelineLoadStateAdapter
import app.pachli.core.activity.ReselectableFragment
import app.pachli.core.activity.openLink
import app.pachli.core.common.extensions.hide
import app.pachli.core.common.extensions.show
Expand All @@ -64,7 +65,6 @@ import app.pachli.databinding.FragmentTimelineNotificationsBinding
import app.pachli.fragment.SFragment
import app.pachli.interfaces.AccountActionListener
import app.pachli.interfaces.ActionButtonActivity
import app.pachli.interfaces.ReselectableFragment
import app.pachli.interfaces.StatusActionListener
import app.pachli.util.ListStatusAccessibilityDelegate
import app.pachli.util.UserRefreshState
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ import app.pachli.components.timeline.viewmodel.StatusActionSuccess
import app.pachli.components.timeline.viewmodel.TimelineViewModel
import app.pachli.components.timeline.viewmodel.UiSuccess
import app.pachli.core.activity.RefreshableFragment
import app.pachli.core.activity.ReselectableFragment
import app.pachli.core.activity.extensions.startActivityWithDefaultTransition
import app.pachli.core.common.extensions.hide
import app.pachli.core.common.extensions.show
Expand All @@ -67,7 +68,6 @@ import app.pachli.databinding.FragmentTimelineBinding
import app.pachli.fragment.SFragment
import app.pachli.interfaces.ActionButtonActivity
import app.pachli.interfaces.AppBarLayoutHost
import app.pachli.interfaces.ReselectableFragment
import app.pachli.interfaces.StatusActionListener
import app.pachli.util.ListStatusAccessibilityDelegate
import app.pachli.util.PresentationState
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,12 @@ import app.pachli.TabViewData
import app.pachli.appstore.EventHub
import app.pachli.appstore.MainTabsChangedEvent
import app.pachli.core.activity.BottomSheetActivity
import app.pachli.core.activity.ReselectableFragment
import app.pachli.core.common.extensions.viewBinding
import app.pachli.core.model.Timeline
import app.pachli.core.ui.extensions.reduceSwipeSensitivity
import app.pachli.databinding.ActivityTrendingBinding
import app.pachli.interfaces.AppBarLayoutHost
import app.pachli.interfaces.ReselectableFragment
import app.pachli.pager.MainPagerAdapter
import com.google.android.material.appbar.AppBarLayout
import com.google.android.material.tabs.TabLayout
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ import app.pachli.components.trending.viewmodel.InfallibleUiAction
import app.pachli.components.trending.viewmodel.LoadState
import app.pachli.components.trending.viewmodel.TrendingLinksViewModel
import app.pachli.core.activity.RefreshableFragment
import app.pachli.core.activity.ReselectableFragment
import app.pachli.core.activity.openLink
import app.pachli.core.common.extensions.hide
import app.pachli.core.common.extensions.show
Expand All @@ -49,7 +50,6 @@ import app.pachli.core.ui.BackgroundMessage
import app.pachli.databinding.FragmentTrendingLinksBinding
import app.pachli.interfaces.ActionButtonActivity
import app.pachli.interfaces.AppBarLayoutHost
import app.pachli.interfaces.ReselectableFragment
import com.google.android.material.color.MaterialColors
import com.google.android.material.snackbar.Snackbar
import com.mikepenz.iconics.IconicsDrawable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener
import app.pachli.R
import app.pachli.components.trending.viewmodel.TrendingTagsViewModel
import app.pachli.core.activity.RefreshableFragment
import app.pachli.core.activity.ReselectableFragment
import app.pachli.core.activity.extensions.startActivityWithDefaultTransition
import app.pachli.core.common.extensions.hide
import app.pachli.core.common.extensions.show
Expand All @@ -48,7 +49,6 @@ import app.pachli.core.ui.BackgroundMessage
import app.pachli.databinding.FragmentTrendingTagsBinding
import app.pachli.interfaces.ActionButtonActivity
import app.pachli.interfaces.AppBarLayoutHost
import app.pachli.interfaces.ReselectableFragment
import app.pachli.viewdata.TrendingViewData
import at.connyduck.sparkbutton.helpers.Utils
import com.google.android.material.color.MaterialColors
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package app.pachli.interfaces
package app.pachli.core.activity

interface ReselectableFragment {
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ package app.pachli.feature.suggestions

import android.os.Bundle
import app.pachli.core.activity.BottomSheetActivity
import app.pachli.core.activity.ReselectableFragment
import app.pachli.core.common.extensions.viewBinding
import app.pachli.feature.suggestions.databinding.ActivitySuggestionsBinding
import dagger.hilt.android.AndroidEntryPoint
Expand All @@ -37,5 +38,9 @@ class SuggestionsActivity : BottomSheetActivity() {
setDisplayHomeAsUpEnabled(true)
setDisplayShowHomeEnabled(true)
}

binding.toolbar.setOnClickListener {
(binding.fragmentContainer.getFragment<SuggestionsFragment>() as? ReselectableFragment)?.onReselect()
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener
import app.pachli.core.activity.BottomSheetActivity
import app.pachli.core.activity.PostLookupFallbackBehavior
import app.pachli.core.activity.RefreshableFragment
import app.pachli.core.activity.ReselectableFragment
import app.pachli.core.activity.extensions.TransitionKind
import app.pachli.core.activity.extensions.startActivityWithTransition
import app.pachli.core.common.extensions.hide
Expand Down Expand Up @@ -72,7 +73,6 @@ import timber.log.Timber

// TODO:
//
// - Tap title to jump to top
// - talkbackWasEnabled machinery
// - Write a document that talks about this

Expand All @@ -95,7 +95,8 @@ class SuggestionsFragment :
Fragment(R.layout.fragment_suggestions),
MenuProvider,
OnRefreshListener,
RefreshableFragment {
RefreshableFragment,
ReselectableFragment {
private val viewModel: SuggestionsViewModel by viewModels()

private val binding by viewBinding(FragmentSuggestionsBinding::bind)
Expand Down Expand Up @@ -265,6 +266,10 @@ class SuggestionsFragment :
}
}

override fun onReselect() {
binding.recyclerView.scrollToPosition(0)
}

override fun refreshContent() {
binding.swipeRefreshLayout.isRefreshing = true
onRefresh()
Expand Down