Skip to content

Commit 3518d09

Browse files
coolteydbrant
andauthored
Create a custom SwipeRefreshLayout for the style consistency (#5129)
Co-authored-by: Dmitry Brant <[email protected]>
1 parent 4e07e13 commit 3518d09

23 files changed

+36
-41
lines changed

app/src/main/java/org/wikipedia/feed/FeedFragment.kt

-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ import org.wikipedia.settings.Prefs
4040
import org.wikipedia.settings.SettingsActivity
4141
import org.wikipedia.settings.languages.WikipediaLanguagesActivity
4242
import org.wikipedia.util.FeedbackUtil
43-
import org.wikipedia.util.ResourceUtil
4443
import org.wikipedia.util.UriUtil
4544

4645
class FeedFragment : Fragment(), BackPressedHandler {
@@ -95,7 +94,6 @@ class FeedFragment : Fragment(), BackPressedHandler {
9594
feedAdapter = FeedAdapter(coordinator, feedCallback)
9695
binding.feedView.adapter = feedAdapter
9796
binding.feedView.addOnScrollListener(feedScrollListener)
98-
binding.swipeRefreshLayout.setColorSchemeResources(ResourceUtil.getThemedAttributeId(requireContext(), R.attr.progressive_color))
9997
binding.swipeRefreshLayout.setOnRefreshListener { refresh() }
10098
binding.customizeButton.setOnClickListener { showConfigureActivity(-1) }
10199
coordinator.setFeedUpdateListener(object : FeedUpdateListener {

app/src/main/java/org/wikipedia/page/PageFragment.kt

-1
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,6 @@ class PageFragment : Fragment(), BackPressedHandler, CommunicationBridge.Communi
196196
_binding = FragmentPageBinding.inflate(inflater, container, false)
197197
webView = binding.pageWebView
198198
initWebViewListeners()
199-
binding.pageRefreshContainer.setColorSchemeResources(ResourceUtil.getThemedAttributeId(requireContext(), R.attr.progressive_color))
200199
binding.pageRefreshContainer.scrollableChild = webView
201200
binding.pageRefreshContainer.setOnRefreshListener(pageRefreshListener)
202201
val swipeOffset = DimenUtil.getContentTopOffsetPx(requireActivity()) + REFRESH_SPINNER_ADDITIONAL_OFFSET

app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.kt

-1
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,6 @@ class ReadingListFragment : Fragment(), MenuProvider, ReadingListItemActionsDial
292292
}
293293

294294
private fun setSwipeRefreshView() {
295-
binding.readingListSwipeRefresh.setColorSchemeResources(ResourceUtil.getThemedAttributeId(requireContext(), R.attr.progressive_color))
296295
binding.readingListSwipeRefresh.setOnRefreshListener { ReadingListsFragment.refreshSync(this, binding.readingListSwipeRefresh) }
297296
if (RemoteConfig.config.disableReadingListSync) {
298297
binding.readingListSwipeRefresh.isEnabled = false

app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.kt

-1
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,6 @@ class ReadingListsFragment : Fragment(), SortReadingListsDialog.Callback, Readin
106106
binding.recyclerView.adapter = adapter
107107
binding.recyclerView.addItemDecoration(DrawableItemDecoration(requireContext(), R.attr.list_divider))
108108
setUpScrollListener()
109-
binding.swipeRefreshLayout.setColorSchemeResources(ResourceUtil.getThemedAttributeId(requireContext(), R.attr.progressive_color))
110109
binding.swipeRefreshLayout.setOnRefreshListener { refreshSync(this, binding.swipeRefreshLayout) }
111110
if (RemoteConfig.config.disableReadingListSync) {
112111
binding.swipeRefreshLayout.isEnabled = false

app/src/main/java/org/wikipedia/suggestededits/SuggestedEditsTasksFragment.kt

-1
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,6 @@ class SuggestedEditsTasksFragment : Fragment() {
133133
FeedbackUtil.showAndroidAppEditingFAQ(requireContext())
134134
}
135135

136-
binding.swipeRefreshLayout.setColorSchemeResources(ResourceUtil.getThemedAttributeId(requireContext(), R.attr.progressive_color))
137136
binding.swipeRefreshLayout.setOnRefreshListener { refreshContents() }
138137

139138
binding.errorView.retryClickListener = View.OnClickListener { refreshContents() }

app/src/main/java/org/wikipedia/talk/TalkTopicActivity.kt

-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ import org.wikipedia.util.DeviceUtil
4040
import org.wikipedia.util.FeedbackUtil
4141
import org.wikipedia.util.L10nUtil
4242
import org.wikipedia.util.Resource
43-
import org.wikipedia.util.ResourceUtil
4443
import org.wikipedia.util.ShareUtil
4544
import org.wikipedia.util.StringUtil
4645
import org.wikipedia.util.UriUtil
@@ -101,7 +100,6 @@ class TalkTopicActivity : BaseActivity() {
101100

102101
L10nUtil.setConditionalLayoutDirection(binding.talkRecyclerView, viewModel.pageTitle.wikiSite.languageCode)
103102
L10nUtil.setConditionalLayoutDirection(binding.talkErrorView, viewModel.pageTitle.wikiSite.languageCode)
104-
binding.talkRefreshView.setColorSchemeResources(ResourceUtil.getThemedAttributeId(this, R.attr.progressive_color))
105103

106104
ViewUtil.getTitleViewFromToolbar(binding.toolbar)?.let {
107105
it.movementMethod = linkMovementMethod

app/src/main/java/org/wikipedia/talk/TalkTopicsActivity.kt

-1
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,6 @@ class TalkTopicsActivity : BaseActivity(), WatchlistExpiryDialog.Callback {
186186
resetViews()
187187
viewModel.loadTopics()
188188
}
189-
binding.talkRefreshView.setColorSchemeResources(ResourceUtil.getThemedAttributeId(this, R.attr.progressive_color))
190189

191190
invokeSource = intent.getSerializableExtra(Constants.INTENT_EXTRA_INVOKE_SOURCE) as Constants.InvokeSource
192191

app/src/main/java/org/wikipedia/views/SwipeRefreshLayoutWithScroll.kt app/src/main/java/org/wikipedia/views/WikiSwipeRefreshLayout.kt

+8-2
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,20 @@ import android.content.Context
44
import android.util.AttributeSet
55
import android.view.View
66
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
7+
import org.wikipedia.R
8+
import org.wikipedia.util.ResourceUtil
79

8-
class SwipeRefreshLayoutWithScroll constructor(context: Context, attrs: AttributeSet?) : SwipeRefreshLayout(context, attrs) {
10+
open class WikiSwipeRefreshLayout(context: Context, attrs: AttributeSet?) : SwipeRefreshLayout(context, attrs) {
911

1012
var scrollableChild: View? = null
1113

14+
init {
15+
setColorSchemeResources(ResourceUtil.getThemedAttributeId(context, R.attr.progressive_color))
16+
}
17+
1218
override fun canChildScrollUp(): Boolean {
1319
return if (scrollableChild == null) {
14-
false
20+
super.canChildScrollUp()
1521
} else scrollableChild!!.scrollY > 0
1622
}
1723
}

app/src/main/java/org/wikipedia/watchlist/WatchlistFragment.kt

-1
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ class WatchlistFragment : Fragment(), WatchlistItemView.Callback, MenuProvider {
8080
super.onViewCreated(view, savedInstanceState)
8181
requireActivity().addMenuProvider(this, viewLifecycleOwner, Lifecycle.State.RESUMED)
8282

83-
binding.watchlistRefreshView.setColorSchemeResources(ResourceUtil.getThemedAttributeId(requireContext(), R.attr.progressive_color))
8483
binding.watchlistRefreshView.setOnRefreshListener { viewModel.fetchWatchlist(actionMode == null) }
8584
binding.watchlistErrorView.retryClickListener = View.OnClickListener { viewModel.fetchWatchlist(actionMode == null) }
8685

app/src/main/res/layout/activity_edit_history.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
android:layout_height="0dp"
3636
android:layout_weight="1">
3737

38-
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
38+
<org.wikipedia.views.WikiSwipeRefreshLayout
3939
android:id="@+id/edit_history_refresh_container"
4040
android:layout_width="match_parent"
4141
android:layout_height="match_parent">
@@ -88,7 +88,7 @@
8888

8989
</FrameLayout>
9090

91-
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
91+
</org.wikipedia.views.WikiSwipeRefreshLayout>
9292

9393
</androidx.coordinatorlayout.widget.CoordinatorLayout>
9494

app/src/main/res/layout/activity_insert_media.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@
136136
android:layout_height="match_parent"
137137
app:layout_behavior="@string/appbar_scrolling_view_behavior">
138138

139-
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
139+
<org.wikipedia.views.WikiSwipeRefreshLayout
140140
android:id="@+id/refreshView"
141141
android:layout_width="match_parent"
142142
android:layout_height="match_parent">
@@ -147,7 +147,7 @@
147147
android:layout_height="match_parent"
148148
android:scrollbars="vertical"/>
149149

150-
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
150+
</org.wikipedia.views.WikiSwipeRefreshLayout>
151151

152152
<TextView
153153
android:id="@+id/emptyMessage"

app/src/main/res/layout/activity_notifications.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646

4747
</com.google.android.material.appbar.AppBarLayout>
4848

49-
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
49+
<org.wikipedia.views.WikiSwipeRefreshLayout
5050
android:id="@+id/notifications_refresh_view"
5151
android:layout_width="match_parent"
5252
android:layout_height="match_parent"
@@ -140,5 +140,5 @@
140140

141141
</FrameLayout>
142142

143-
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
143+
</org.wikipedia.views.WikiSwipeRefreshLayout>
144144
</androidx.coordinatorlayout.widget.CoordinatorLayout>

app/src/main/res/layout/activity_talk_topic.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
2+
<org.wikipedia.views.WikiSwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:app="http://schemas.android.com/apk/res-auto"
44
xmlns:tools="http://schemas.android.com/tools"
55
android:id="@+id/talkRefreshView"
@@ -41,4 +41,4 @@
4141

4242
</FrameLayout>
4343

44-
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
44+
</org.wikipedia.views.WikiSwipeRefreshLayout>

app/src/main/res/layout/activity_talk_topics.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
2+
<org.wikipedia.views.WikiSwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:app="http://schemas.android.com/apk/res-auto"
44
xmlns:tools="http://schemas.android.com/tools"
55
android:id="@+id/talkRefreshView"
@@ -138,4 +138,4 @@
138138

139139
</LinearLayout>
140140

141-
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
141+
</org.wikipedia.views.WikiSwipeRefreshLayout>

app/src/main/res/layout/activity_user_contrib.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
android:layout_height="0dp"
2525
android:layout_weight="1">
2626

27-
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
27+
<org.wikipedia.views.WikiSwipeRefreshLayout
2828
android:id="@+id/refresh_container"
2929
android:layout_width="match_parent"
3030
android:layout_height="match_parent">
@@ -41,7 +41,7 @@
4141

4242
</FrameLayout>
4343

44-
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
44+
</org.wikipedia.views.WikiSwipeRefreshLayout>
4545

4646
</androidx.coordinatorlayout.widget.CoordinatorLayout>
4747

app/src/main/res/layout/fragment_feed.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
2+
<org.wikipedia.views.WikiSwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:app="http://schemas.android.com/apk/res-auto"
44
xmlns:tools="http://schemas.android.com/tools"
55
android:id="@+id/swipe_refresh_layout"
@@ -55,4 +55,4 @@
5555

5656
</FrameLayout>
5757

58-
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
58+
</org.wikipedia.views.WikiSwipeRefreshLayout>

app/src/main/res/layout/fragment_file_page.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
2+
<org.wikipedia.views.WikiSwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
android:id="@+id/swipeRefreshLayout"
44
android:layout_width="match_parent"
55
android:layout_height="match_parent">
@@ -35,4 +35,4 @@
3535
android:background="?attr/paper_color"/>
3636
</LinearLayout>
3737
</ScrollView>
38-
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
38+
</org.wikipedia.views.WikiSwipeRefreshLayout>

app/src/main/res/layout/fragment_page.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<org.wikipedia.views.SwipeRefreshLayoutWithScroll
2+
<org.wikipedia.views.WikiSwipeRefreshLayout
33
xmlns:android="http://schemas.android.com/apk/res/android"
44
android:id="@+id/page_refresh_container"
55
android:layout_width="match_parent"
@@ -64,4 +64,4 @@
6464

6565
</androidx.coordinatorlayout.widget.CoordinatorLayout>
6666

67-
</org.wikipedia.views.SwipeRefreshLayoutWithScroll>
67+
</org.wikipedia.views.WikiSwipeRefreshLayout>

app/src/main/res/layout/fragment_reading_list.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040

4141
</com.google.android.material.appbar.AppBarLayout>
4242

43-
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
43+
<org.wikipedia.views.WikiSwipeRefreshLayout
4444
android:id="@+id/reading_list_swipe_refresh"
4545
android:layout_width="match_parent"
4646
android:layout_height="match_parent"
@@ -79,6 +79,6 @@
7979

8080
</FrameLayout>
8181

82-
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
82+
</org.wikipedia.views.WikiSwipeRefreshLayout>
8383

8484
</androidx.coordinatorlayout.widget.CoordinatorLayout>

app/src/main/res/layout/fragment_reading_lists.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
2+
<org.wikipedia.views.WikiSwipeRefreshLayout
33
xmlns:android="http://schemas.android.com/apk/res/android"
44
xmlns:app="http://schemas.android.com/apk/res-auto"
55
android:id="@+id/swipe_refresh_layout"
@@ -86,4 +86,4 @@
8686

8787
</androidx.constraintlayout.widget.ConstraintLayout>
8888

89-
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
89+
</org.wikipedia.views.WikiSwipeRefreshLayout>

app/src/main/res/layout/fragment_suggested_edits_recent_edits.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
android:layout_width="match_parent"
1010
android:layout_height="?attr/actionBarSize" />
1111

12-
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
12+
<org.wikipedia.views.WikiSwipeRefreshLayout
1313
android:id="@+id/refreshContainer"
1414
android:layout_width="match_parent"
1515
android:layout_height="match_parent"
@@ -21,6 +21,6 @@
2121
android:layout_height="wrap_content"
2222
android:scrollbars="vertical"/>
2323

24-
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
24+
</org.wikipedia.views.WikiSwipeRefreshLayout>
2525

2626
</LinearLayout>

app/src/main/res/layout/fragment_suggested_edits_tasks.xml

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
3-
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
2+
<org.wikipedia.views.WikiSwipeRefreshLayout
43
xmlns:android="http://schemas.android.com/apk/res/android"
54
xmlns:app="http://schemas.android.com/apk/res-auto"
65
xmlns:tools="http://schemas.android.com/tools"
@@ -306,4 +305,4 @@
306305
android:indeterminate="true" />
307306

308307
</FrameLayout>
309-
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
308+
</org.wikipedia.views.WikiSwipeRefreshLayout>

app/src/main/res/layout/fragment_watchlist.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
2+
<org.wikipedia.views.WikiSwipeRefreshLayout
33
xmlns:android="http://schemas.android.com/apk/res/android"
44
xmlns:app="http://schemas.android.com/apk/res-auto"
55
xmlns:tools="http://schemas.android.com/tools"
@@ -96,4 +96,4 @@
9696

9797
</FrameLayout>
9898

99-
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
99+
</org.wikipedia.views.WikiSwipeRefreshLayout>

0 commit comments

Comments
 (0)