Skip to content

Commit b4c25e4

Browse files
committed
NMC-2256: Progress and seek bar customized.
NMC-2041: SwipeRefreshLayout Customized.
1 parent 20809a4 commit b4c25e4

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
@@ -21,6 +21,7 @@ import com.owncloud.android.R
2121
import com.owncloud.android.databinding.LogsActivityBinding
2222
import com.owncloud.android.ui.activity.ToolbarActivity
2323
import com.owncloud.android.utils.theme.ViewThemeUtils
24+
import com.nmc.android.utils.ProgressBarThemeUtils
2425
import javax.inject.Inject
2526

2627
class LogsActivity : ToolbarActivity() {
@@ -55,7 +56,8 @@ class LogsActivity : ToolbarActivity() {
5556
}
5657

5758
findViewById<ProgressBar>(R.id.logs_loading_progress).apply {
58-
viewThemeUtils.platform.themeHorizontalProgressBar(this)
59+
//NMC Customization
60+
ProgressBarThemeUtils.themeHorizontalProgressBar(this, resources.getColor(R.color.primary, null))
5961
}
6062

6163
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
@@ -28,6 +28,7 @@ import com.nextcloud.client.network.ClientFactory
2828
import com.nextcloud.client.network.ClientFactory.CreationException
2929
import com.nextcloud.client.preferences.AppPreferences
3030
import com.nextcloud.common.NextcloudClient
31+
import com.nmc.android.utils.SwipeRefreshThemeUtils
3132
import com.owncloud.android.R
3233
import com.owncloud.android.databinding.NotificationsLayoutBinding
3334
import com.owncloud.android.datamodel.ArbitraryDataProvider
@@ -129,8 +130,10 @@ class NotificationsActivity : AppCompatActivity(), NotificationsContract.View, I
129130
}
130131

131132
private fun setupContainingList() {
132-
viewThemeUtils.androidx.themeSwipeRefreshLayout(binding.swipeContainingList)
133-
viewThemeUtils.androidx.themeSwipeRefreshLayout(binding.swipeContainingEmpty)
133+
//NMC Customisation
134+
SwipeRefreshThemeUtils.themeSwipeRefreshLayout(this, binding.swipeContainingList);
135+
SwipeRefreshThemeUtils.themeSwipeRefreshLayout(this, binding.swipeContainingEmpty);
136+
134137
binding.swipeContainingList.setOnRefreshListener {
135138
setLoadingMessage()
136139
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.model.WorkerStateLiveData;
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;
@@ -170,7 +171,8 @@ private void setupContent() {
170171
binding.list.setLayoutManager(lm);
171172
binding.list.setAdapter(uploadListAdapter);
172173

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

176178
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
@@ -30,6 +30,7 @@
3030
import com.nextcloud.client.jobs.upload.FileUploadHelper;
3131
import com.nextcloud.client.jobs.upload.FileUploadWorker;
3232
import com.nextcloud.client.network.ConnectivityService;
33+
import com.nmc.android.utils.ProgressBarThemeUtils;
3334
import com.owncloud.android.MainApp;
3435
import com.owncloud.android.R;
3536
import com.owncloud.android.databinding.UploadListHeaderBinding;
@@ -362,7 +363,9 @@ public void onBindViewHolder(SectionedViewHolder holder, int section, int relati
362363
String status = getStatusText(item);
363364
switch (item.getUploadStatus()) {
364365
case UPLOAD_IN_PROGRESS -> {
365-
viewThemeUtils.platform.themeHorizontalProgressBar(itemViewHolder.binding.uploadProgressBar);
366+
// NMC Customization
367+
ProgressBarThemeUtils.themeHorizontalProgressBar(itemViewHolder.binding.uploadProgressBar,
368+
holder.itemView.getContext().getResources().getColor(R.color.primary, null));
366369
itemViewHolder.binding.uploadProgressBar.setProgress(0);
367370
itemViewHolder.binding.uploadProgressBar.setVisibility(View.VISIBLE);
368371

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
@@ -59,6 +59,7 @@ import com.nextcloud.client.network.ConnectivityService.GenericCallback
5959
import com.nextcloud.client.preferences.AppPreferences
6060
import com.nextcloud.client.preferences.AppPreferencesImpl
6161
import com.nextcloud.utils.extensions.getTypedActivity
62+
import com.nmc.android.utils.SwipeRefreshThemeUtils
6263
import com.owncloud.android.MainApp
6364
import com.owncloud.android.R
6465
import com.owncloud.android.databinding.ListFragmentBinding
@@ -341,7 +342,8 @@ open class ExtendedListFragment :
341342

342343
mRefreshListLayout = binding?.swipeContainingList
343344
mRefreshListLayout?.let {
344-
viewThemeUtils.androidx.themeSwipeRefreshLayout(it)
345+
// NMC Customisation
346+
SwipeRefreshThemeUtils.themeSwipeRefreshLayout(requireContext(), it)
345347
it.setOnRefreshListener(this)
346348
}
347349

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
@@ -63,6 +63,7 @@
6363
import com.owncloud.android.utils.DisplayUtils;
6464
import com.owncloud.android.utils.EncryptionUtils;
6565
import com.owncloud.android.utils.MimeTypeUtil;
66+
import com.nmc.android.utils.ProgressBarThemeUtils;
6667
import com.owncloud.android.utils.theme.ViewThemeUtils;
6768

6869
import org.greenrobot.eventbus.EventBus;
@@ -270,7 +271,8 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
270271
@Override
271272
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
272273
if (getFile() != null && user != null) {
273-
viewThemeUtils.platform.themeHorizontalProgressBar(binding.progressBar);
274+
//NMC Customization
275+
ProgressBarThemeUtils.themeHorizontalProgressBar(binding.progressBar, getResources().getColor(R.color.primary, null));
274276
progressListener = new DownloadProgressListener(binding.progressBar);
275277
binding.cancelBtn.setOnClickListener(this);
276278
binding.favorite.setOnClickListener(this);

0 commit comments

Comments
 (0)