Skip to content

Commit e8fccf7

Browse files
committed
NMC-2256: Progress and seek bar customized.
NMC-2041: SwipeRefreshLayout Customized.
1 parent 2a0b507 commit e8fccf7

File tree

14 files changed

+237
-12
lines changed

14 files changed

+237
-12
lines changed

app/src/main/java/com/nextcloud/client/logger/ui/LogsActivity.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import com.nextcloud.client.di.ViewModelFactory
2020
import com.owncloud.android.R
2121
import com.owncloud.android.databinding.LogsActivityBinding
2222
import com.owncloud.android.ui.activity.ToolbarActivity
23+
import com.nmc.android.utils.ProgressBarThemeUtils
2324
import javax.inject.Inject
2425

2526
class LogsActivity : ToolbarActivity() {
@@ -49,7 +50,8 @@ class LogsActivity : ToolbarActivity() {
4950
}
5051

5152
findViewById<ProgressBar>(R.id.logs_loading_progress).apply {
52-
viewThemeUtils.platform.themeHorizontalProgressBar(this)
53+
//NMC Customization
54+
ProgressBarThemeUtils.themeHorizontalProgressBar(this, resources.getColor(R.color.primary, null))
5355
}
5456

5557
logsAdapter = LogsAdapter(this)
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/*
2+
* Nextcloud - Android Client
3+
*
4+
* SPDX-FileCopyrightText: 2024 Your Name <your@email.com>
5+
* SPDX-License-Identifier: AGPL-3.0-or-later
6+
*/
7+
8+
package com.nmc.android.utils
9+
10+
import android.widget.ProgressBar
11+
import android.widget.SeekBar
12+
import androidx.annotation.ColorInt
13+
import androidx.core.graphics.BlendModeColorFilterCompat
14+
import androidx.core.graphics.BlendModeCompat
15+
16+
/**
17+
* theming progress and seek bar for NMC
18+
*/
19+
object ProgressBarThemeUtils {
20+
21+
@JvmStatic
22+
fun themeHorizontalSeekBar(seekBar: SeekBar, @ColorInt color: Int) {
23+
themeHorizontalProgressBar(seekBar, color)
24+
seekBar.thumb.colorFilter =
25+
BlendModeColorFilterCompat.createBlendModeColorFilterCompat(color, BlendModeCompat.SRC_IN)
26+
}
27+
28+
@JvmStatic
29+
fun themeHorizontalProgressBar(progressBar: ProgressBar?, @ColorInt color: Int) {
30+
progressBar?.indeterminateDrawable?.colorFilter =
31+
BlendModeColorFilterCompat.createBlendModeColorFilterCompat(color, BlendModeCompat.SRC_IN)
32+
progressBar?.progressDrawable?.colorFilter =
33+
BlendModeColorFilterCompat.createBlendModeColorFilterCompat(color, BlendModeCompat.SRC_IN)
34+
}
35+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.nmc.android.utils
2+
3+
import android.content.Context
4+
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
5+
import com.owncloud.android.R
6+
7+
object SwipeRefreshThemeUtils {
8+
@JvmStatic
9+
fun themeSwipeRefreshLayout(context: Context, swipeRefreshLayout: SwipeRefreshLayout) {
10+
swipeRefreshLayout.setColorSchemeColors(context.resources.getColor(R.color.primary, null))
11+
swipeRefreshLayout.setProgressBackgroundColorSchemeResource(R.color.refresh_layout_bg_color)
12+
}
13+
}

app/src/main/java/com/owncloud/android/media/MediaControlView.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import android.widget.SeekBar
2727
import android.widget.SeekBar.OnSeekBarChangeListener
2828
import androidx.core.content.ContextCompat
2929
import androidx.media3.common.Player
30+
import com.nmc.android.utils.ProgressBarThemeUtils
3031
import com.owncloud.android.MainApp
3132
import com.owncloud.android.R
3233
import com.owncloud.android.databinding.MediaControlBinding
@@ -81,7 +82,8 @@ class MediaControlView(context: Context, attrs: AttributeSet?) :
8182
binding.rewindBtn.setOnClickListener(this)
8283

8384
binding.progressBar.run {
84-
viewThemeUtils.platform.themeHorizontalSeekBar(this)
85+
// NMC Customization
86+
ProgressBarThemeUtils.themeHorizontalSeekBar(this, resources.getColor(R.color.primary, null))
8587
setMax(1000)
8688
}
8789

app/src/main/java/com/owncloud/android/ui/activity/NotificationsActivity.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import com.nextcloud.client.network.ClientFactory.CreationException
3030
import com.nextcloud.client.preferences.AppPreferences
3131
import com.nextcloud.common.NextcloudClient
3232
import com.nextcloud.utils.BuildHelper.isFlavourGPlay
33+
import com.nmc.android.utils.SwipeRefreshThemeUtils
3334
import com.owncloud.android.R
3435
import com.owncloud.android.databinding.NotificationsLayoutBinding
3536
import com.owncloud.android.datamodel.ArbitraryDataProvider
@@ -135,8 +136,10 @@ class NotificationsActivity :
135136
}
136137

137138
private fun setupContainingList() {
138-
viewThemeUtils.androidx.themeSwipeRefreshLayout(binding.swipeContainingList)
139-
viewThemeUtils.androidx.themeSwipeRefreshLayout(binding.swipeContainingEmpty)
139+
//NMC Customisation
140+
SwipeRefreshThemeUtils.themeSwipeRefreshLayout(this, binding.swipeContainingList);
141+
SwipeRefreshThemeUtils.themeSwipeRefreshLayout(this, binding.swipeContainingEmpty);
142+
140143
binding.swipeContainingList.setOnRefreshListener {
141144
setLoadingMessage()
142145
binding.swipeContainingList.isRefreshing = true

app/src/main/java/com/owncloud/android/ui/activity/UploadListActivity.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import com.nextcloud.client.utils.Throttler;
3131
import com.nextcloud.model.WorkerState;
3232
import com.nextcloud.utils.extensions.ActivityExtensionsKt;
33+
import com.nmc.android.utils.SwipeRefreshThemeUtils;
3334
import com.owncloud.android.R;
3435
import com.owncloud.android.databinding.UploadListLayoutBinding;
3536
import com.owncloud.android.datamodel.OCFile;
@@ -169,7 +170,8 @@ private void setupContent() {
169170
binding.list.setLayoutManager(lm);
170171
binding.list.setAdapter(uploadListAdapter);
171172

172-
viewThemeUtils.androidx.themeSwipeRefreshLayout(swipeListRefreshLayout);
173+
//NMC Customisation
174+
SwipeRefreshThemeUtils.themeSwipeRefreshLayout(this, swipeListRefreshLayout);
173175
swipeListRefreshLayout.setOnRefreshListener(this::refresh);
174176

175177
loadItems();

app/src/main/java/com/owncloud/android/ui/adapter/UploadListAdapter.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import com.nextcloud.client.jobs.upload.FileUploadWorker;
3333
import com.nextcloud.client.network.ConnectivityService;
3434
import com.nextcloud.utils.extensions.ViewExtensionsKt;
35+
import com.nmc.android.utils.ProgressBarThemeUtils;
3536
import com.owncloud.android.MainApp;
3637
import com.owncloud.android.R;
3738
import com.owncloud.android.databinding.UploadListHeaderBinding;
@@ -400,7 +401,9 @@ public void onBindViewHolder(SectionedViewHolder holder, int section, int relati
400401
String status = getStatusText(item);
401402
switch (item.getUploadStatus()) {
402403
case UPLOAD_IN_PROGRESS -> {
403-
viewThemeUtils.platform.themeHorizontalProgressBar(itemViewHolder.binding.uploadProgressBar);
404+
// NMC Customization
405+
ProgressBarThemeUtils.themeHorizontalProgressBar(itemViewHolder.binding.uploadProgressBar,
406+
holder.itemView.getContext().getResources().getColor(R.color.primary, null));
404407
itemViewHolder.binding.uploadProgressBar.setProgress(0);
405408
itemViewHolder.binding.uploadProgressBar.setVisibility(View.VISIBLE);
406409

app/src/main/java/com/owncloud/android/ui/fragment/ExtendedListFragment.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ import com.nextcloud.client.preferences.AppPreferences
5757
import com.nextcloud.client.preferences.AppPreferencesImpl
5858
import com.nextcloud.utils.extensions.getTypedActivity
5959
import com.nextcloud.utils.extensions.mainThread
60+
import com.nmc.android.utils.SwipeRefreshThemeUtils
6061
import com.owncloud.android.MainApp
6162
import com.owncloud.android.R
6263
import com.owncloud.android.databinding.ListFragmentBinding
@@ -331,7 +332,8 @@ open class ExtendedListFragment :
331332

332333
mRefreshListLayout = binding?.swipeContainingList
333334
mRefreshListLayout?.let {
334-
viewThemeUtils.androidx.themeSwipeRefreshLayout(it)
335+
// NMC Customisation
336+
SwipeRefreshThemeUtils.themeSwipeRefreshLayout(requireContext(), it)
335337
it.setOnRefreshListener(this)
336338
}
337339

app/src/main/java/com/owncloud/android/ui/fragment/FileDetailActivitiesFragment.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.nextcloud.common.NextcloudClient;
2626
import com.nextcloud.utils.extensions.BundleExtensionsKt;
2727
import com.nextcloud.utils.extensions.FileExtensionsKt;
28+
import com.nmc.android.utils.SwipeRefreshThemeUtils;
2829
import com.owncloud.android.R;
2930
import com.owncloud.android.databinding.FileDetailsActivitiesFragmentBinding;
3031
import com.owncloud.android.datamodel.FileDataStorageManager;
@@ -131,8 +132,9 @@ public View onCreateView(@NonNull LayoutInflater inflater,
131132

132133
setupView();
133134

134-
viewThemeUtils.androidx.themeSwipeRefreshLayout(binding.swipeContainingEmpty);
135-
viewThemeUtils.androidx.themeSwipeRefreshLayout(binding.swipeContainingList);
135+
//NMC Customisation
136+
SwipeRefreshThemeUtils.themeSwipeRefreshLayout(requireContext(), binding.swipeContainingEmpty);
137+
SwipeRefreshThemeUtils.themeSwipeRefreshLayout(requireContext(), binding.swipeContainingList);
136138

137139
isLoadingActivities = true;
138140
fetchAndSetData(-1);

app/src/main/java/com/owncloud/android/ui/fragment/FileDetailFragment.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@
6767
import com.owncloud.android.utils.DisplayUtils;
6868
import com.owncloud.android.utils.EncryptionUtils;
6969
import com.owncloud.android.utils.MimeTypeUtil;
70+
import com.nmc.android.utils.ProgressBarThemeUtils;
7071
import com.owncloud.android.utils.theme.ViewThemeUtils;
7172

7273
import org.greenrobot.eventbus.EventBus;
@@ -274,7 +275,8 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
274275
@Override
275276
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
276277
if (getFile() != null && user != null) {
277-
viewThemeUtils.platform.themeHorizontalProgressBar(binding.progressBar);
278+
//NMC Customization
279+
ProgressBarThemeUtils.themeHorizontalProgressBar(binding.progressBar, getResources().getColor(R.color.primary, null));
278280
progressListener = new DownloadProgressListener(binding.progressBar);
279281
binding.cancelBtn.setOnClickListener(this);
280282
binding.favorite.setOnClickListener(this);

0 commit comments

Comments
 (0)