From eafa7a12a8e59978c6c287c793761834282819bc Mon Sep 17 00:00:00 2001 From: A117870935 Date: Sun, 14 May 2023 21:14:03 +0530 Subject: [PATCH] SwipeRefreshLayout Customized. --- .../android/utils/SwipeRefreshThemeUtils.kt | 13 +++ .../ui/activity/NotificationsActivity.kt | 7 +- .../ui/activity/UploadListActivity.java | 4 +- .../ui/fragment/ExtendedListFragment.java | 4 +- .../FileDetailActivitiesFragment.java | 6 +- .../android/ui/trashbin/TrashbinActivity.kt | 4 +- app/src/main/res/values-night/colors.xml | 64 +++++++++++++ app/src/main/res/values/colors.xml | 89 +++++++++++++++++++ 8 files changed, 184 insertions(+), 7 deletions(-) create mode 100644 app/src/main/java/com/nmc/android/utils/SwipeRefreshThemeUtils.kt diff --git a/app/src/main/java/com/nmc/android/utils/SwipeRefreshThemeUtils.kt b/app/src/main/java/com/nmc/android/utils/SwipeRefreshThemeUtils.kt new file mode 100644 index 000000000000..aff1a97a32d0 --- /dev/null +++ b/app/src/main/java/com/nmc/android/utils/SwipeRefreshThemeUtils.kt @@ -0,0 +1,13 @@ +package com.nmc.android.utils + +import android.content.Context +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout +import com.owncloud.android.R + +object SwipeRefreshThemeUtils { + @JvmStatic + fun themeSwipeRefreshLayout(context: Context, swipeRefreshLayout: SwipeRefreshLayout) { + swipeRefreshLayout.setColorSchemeColors(context.resources.getColor(R.color.primary, null)) + swipeRefreshLayout.setProgressBackgroundColorSchemeResource(R.color.refresh_layout_bg_color) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/owncloud/android/ui/activity/NotificationsActivity.kt b/app/src/main/java/com/owncloud/android/ui/activity/NotificationsActivity.kt index 350c576ea37a..b689a3379805 100644 --- a/app/src/main/java/com/owncloud/android/ui/activity/NotificationsActivity.kt +++ b/app/src/main/java/com/owncloud/android/ui/activity/NotificationsActivity.kt @@ -19,6 +19,7 @@ import com.nextcloud.client.account.User import com.nextcloud.client.account.UserAccountManager import com.nextcloud.client.jobs.NotificationWork import com.nextcloud.client.network.ClientFactory.CreationException +import com.nmc.android.utils.SwipeRefreshThemeUtils import com.owncloud.android.R import com.owncloud.android.databinding.NotificationsLayoutBinding import com.owncloud.android.datamodel.ArbitraryDataProvider @@ -77,8 +78,10 @@ class NotificationsActivity : DrawerActivity(), NotificationsContract.View { } private fun setupContainingList() { - viewThemeUtils.androidx.themeSwipeRefreshLayout(binding.swipeContainingList) - viewThemeUtils.androidx.themeSwipeRefreshLayout(binding.swipeContainingEmpty) + //NMC Customisation + SwipeRefreshThemeUtils.themeSwipeRefreshLayout(this, binding.swipeContainingList); + SwipeRefreshThemeUtils.themeSwipeRefreshLayout(this, binding.swipeContainingEmpty); + binding.swipeContainingList.setOnRefreshListener { setLoadingMessage() binding.swipeContainingList.isRefreshing = true diff --git a/app/src/main/java/com/owncloud/android/ui/activity/UploadListActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/UploadListActivity.java index 580f9ed669aa..9789defc86bc 100755 --- a/app/src/main/java/com/owncloud/android/ui/activity/UploadListActivity.java +++ b/app/src/main/java/com/owncloud/android/ui/activity/UploadListActivity.java @@ -31,6 +31,7 @@ import com.nextcloud.client.utils.Throttler; import com.nextcloud.model.WorkerState; import com.nextcloud.model.WorkerStateLiveData; +import com.nmc.android.utils.SwipeRefreshThemeUtils; import com.owncloud.android.R; import com.owncloud.android.databinding.UploadListLayoutBinding; import com.owncloud.android.datamodel.OCFile; @@ -174,7 +175,8 @@ private void setupContent() { binding.list.setLayoutManager(lm); binding.list.setAdapter(uploadListAdapter); - viewThemeUtils.androidx.themeSwipeRefreshLayout(swipeListRefreshLayout); + //NMC Customisation + SwipeRefreshThemeUtils.themeSwipeRefreshLayout(this, swipeListRefreshLayout); swipeListRefreshLayout.setOnRefreshListener(this::refresh); loadItems(); diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/ExtendedListFragment.java b/app/src/main/java/com/owncloud/android/ui/fragment/ExtendedListFragment.java index 621ed8601eed..c929fb24dbbe 100644 --- a/app/src/main/java/com/owncloud/android/ui/fragment/ExtendedListFragment.java +++ b/app/src/main/java/com/owncloud/android/ui/fragment/ExtendedListFragment.java @@ -45,6 +45,7 @@ import com.nextcloud.client.di.Injectable; import com.nextcloud.client.preferences.AppPreferences; import com.nextcloud.client.preferences.AppPreferencesImpl; +import com.nmc.android.utils.SwipeRefreshThemeUtils; import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.databinding.ListFragmentBinding; @@ -343,7 +344,8 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, // Pull-down to refresh layout mRefreshListLayout = binding.swipeContainingList; - viewThemeUtils.androidx.themeSwipeRefreshLayout(mRefreshListLayout); + //NMC Customisation + SwipeRefreshThemeUtils.themeSwipeRefreshLayout(requireContext(), mRefreshListLayout); mRefreshListLayout.setOnRefreshListener(this); mSortButton = getActivity().findViewById(R.id.sort_button); diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/FileDetailActivitiesFragment.java b/app/src/main/java/com/owncloud/android/ui/fragment/FileDetailActivitiesFragment.java index 8c136d2394cb..51fbe81d9d70 100644 --- a/app/src/main/java/com/owncloud/android/ui/fragment/FileDetailActivitiesFragment.java +++ b/app/src/main/java/com/owncloud/android/ui/fragment/FileDetailActivitiesFragment.java @@ -23,6 +23,7 @@ import com.nextcloud.client.network.ClientFactory; import com.nextcloud.common.NextcloudClient; import com.nextcloud.utils.extensions.BundleExtensionsKt; +import com.nmc.android.utils.SwipeRefreshThemeUtils; import com.owncloud.android.R; import com.owncloud.android.databinding.FileDetailsActivitiesFragmentBinding; import com.owncloud.android.datamodel.FileDataStorageManager; @@ -129,8 +130,9 @@ public View onCreateView(@NonNull LayoutInflater inflater, setupView(); - viewThemeUtils.androidx.themeSwipeRefreshLayout(binding.swipeContainingEmpty); - viewThemeUtils.androidx.themeSwipeRefreshLayout(binding.swipeContainingList); + //NMC Customisation + SwipeRefreshThemeUtils.themeSwipeRefreshLayout(requireContext(), binding.swipeContainingEmpty); + SwipeRefreshThemeUtils.themeSwipeRefreshLayout(requireContext(), binding.swipeContainingList); isLoadingActivities = true; fetchAndSetData(-1); diff --git a/app/src/main/java/com/owncloud/android/ui/trashbin/TrashbinActivity.kt b/app/src/main/java/com/owncloud/android/ui/trashbin/TrashbinActivity.kt index 5046a0df8e10..c2e7936945f4 100644 --- a/app/src/main/java/com/owncloud/android/ui/trashbin/TrashbinActivity.kt +++ b/app/src/main/java/com/owncloud/android/ui/trashbin/TrashbinActivity.kt @@ -25,6 +25,7 @@ import com.nextcloud.client.account.CurrentAccountProvider import com.nextcloud.client.di.Injectable import com.nextcloud.client.network.ClientFactory import com.nextcloud.client.preferences.AppPreferences +import com.nmc.android.utils.SwipeRefreshThemeUtils import com.owncloud.android.R import com.owncloud.android.databinding.TrashbinActivityBinding import com.owncloud.android.lib.resources.trashbin.model.TrashbinFile @@ -150,7 +151,8 @@ class TrashbinActivity : recyclerView.setHasFooter(true) recyclerView.layoutManager = LinearLayoutManager(this) - viewThemeUtils.androidx.themeSwipeRefreshLayout(binding.swipeContainingList) + // NMC Customisation + SwipeRefreshThemeUtils.themeSwipeRefreshLayout(this, binding.swipeContainingList) binding.swipeContainingList.setOnRefreshListener { loadFolder() } viewThemeUtils.material.colorMaterialTextButton(findViewById(R.id.sort_button)) diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml index e9c749b86943..76e4e05ca495 100644 --- a/app/src/main/res/values-night/colors.xml +++ b/app/src/main/res/values-night/colors.xml @@ -36,4 +36,68 @@ #1E1E1E @android:color/white + + + #FFFFFF + @color/grey_30 + @color/grey_30 + #CCCCCC + @color/grey_70 + @color/grey_80 + #2D2D2D + @color/grey_70 + @color/grey_70 + + + @color/grey_80 + @color/grey_0 + + + @color/grey_80 + @color/grey_0 + + + @color/grey_60 + @color/grey_0 + @color/grey_0 + @color/grey_30 + #FFFFFF + @color/grey_30 + @color/grey_80 + #FFFFFF + + + @color/grey_80 + @color/grey_30 + @color/grey_0 + + + @color/grey_80 + @color/grey_0 + @color/grey_80 + + + @color/grey_70 + @color/grey_60 + + + @color/grey_70 + @color/grey_70 + + + #FFFFFF + @color/grey_30 + @color/grey_0 + @color/grey_0 + @color/grey_0 + @color/grey_0 + @color/grey_60 + @color/grey_0 + #FFFFFF + + + #121212 + @color/grey_0 + @color/grey_80 + @color/grey_80 diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 9a721eb3e385..248aa18d524c 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -76,4 +76,93 @@ @android:color/white #666666 #A5A5A5 + + + #191919 + @color/primary + #191919 + #191919 + @color/grey_30 + @android:color/white + #FFFFFF + @color/grey_0 + #CCCCCC + #77c4ff + #B3FFFFFF + @color/grey_10 + + + #101010 + #F2F2F2 + #E5E5E5 + #B2B2B2 + #666666 + #4C4C4C + #333333 + + + @color/design_snackbar_background_color + @color/white + + + #FFFFFF + #191919 + + + @color/grey_0 + #191919 + @color/primary + #191919 + @color/primary + @color/grey_30 + @color/white + #191919 + + + #FFFFFF + #191919 + #191919 + + + #FFFFFF + #191919 + #FFFFFF + + + @color/primary + #F399C7 + #FFFFFF + @color/grey_30 + @color/grey_10 + @color/grey_0 + + + @color/primary + @color/grey_30 + @color/grey_30 + #CCCCCC + + + #191919 + @color/grey_30 + #191919 + #191919 + #191919 + #191919 + @color/grey_30 + #191919 + #000000 + #191919 + #F6E5EB + #C16F81 + #0D39DF + #0099ff + + + @color/grey_0 + #191919 + @color/grey_0 + @color/grey_30 + #77b6bb + #5077b6bb