From ba620d401478b0c7275bfbd902235d73a3b6bc83 Mon Sep 17 00:00:00 2001 From: A117870935 Date: Mon, 12 Jun 2023 15:18:31 +0530 Subject: [PATCH] NMC-2258: Snackbar theme customized. NMC-2047: Customized floating action button. --- .../com/nmc/android/utils/FabThemeUtils.kt | 40 ++++++++ .../android/ui/activity/EditorWebView.kt | 1 - .../android/ui/activity/FileActivity.java | 3 - .../android/ui/fragment/OCFileListFragment.kt | 13 ++- .../preview/text/PreviewTextStringFragment.kt | 4 +- app/src/main/res/values-night/nmc_colors.xml | 73 ++++++++++++++ app/src/main/res/values-night/themes.xml | 4 + app/src/main/res/values/nmc_colors.xml | 98 +++++++++++++++++++ .../main/res/values/nmc_snackbar_styles.xml | 16 +++ app/src/main/res/values/styles.xml | 12 +++ app/src/main/res/values/themes.xml | 4 + 11 files changed, 259 insertions(+), 9 deletions(-) create mode 100644 app/src/main/java/com/nmc/android/utils/FabThemeUtils.kt create mode 100644 app/src/main/res/values-night/nmc_colors.xml create mode 100644 app/src/main/res/values/nmc_colors.xml create mode 100644 app/src/main/res/values/nmc_snackbar_styles.xml diff --git a/app/src/main/java/com/nmc/android/utils/FabThemeUtils.kt b/app/src/main/java/com/nmc/android/utils/FabThemeUtils.kt new file mode 100644 index 000000000000..a8662285ea47 --- /dev/null +++ b/app/src/main/java/com/nmc/android/utils/FabThemeUtils.kt @@ -0,0 +1,40 @@ +package com.nmc.android.utils + +import android.content.Context +import android.content.res.ColorStateList +import android.graphics.Color +import com.google.android.material.floatingactionbutton.FloatingActionButton +import com.owncloud.android.R + +object FabThemeUtils { + @JvmStatic + fun colorFloatingActionButton( + context: Context, + button: FloatingActionButton + ) { + val primaryColor = context.resources.getColor(R.color.primary, null) + val disableColor = context.resources.getColor(R.color.grey_0, null) + + val bgStates = arrayOf( + intArrayOf(android.R.attr.state_enabled), + intArrayOf(-android.R.attr.state_enabled), + ) + val bgColors = intArrayOf( + primaryColor, + disableColor + ) + + button.backgroundTintList = ColorStateList(bgStates, bgColors) + + val imageStates = arrayOf( + intArrayOf(android.R.attr.state_enabled), + intArrayOf(-android.R.attr.state_enabled), + ) + val imageColors = intArrayOf( + Color.WHITE, + disableColor + ) + + button.imageTintList = ColorStateList(imageStates, imageColors) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/owncloud/android/ui/activity/EditorWebView.kt b/app/src/main/java/com/owncloud/android/ui/activity/EditorWebView.kt index 1c147822cf4e..ef0a0f4c9500 100644 --- a/app/src/main/java/com/owncloud/android/ui/activity/EditorWebView.kt +++ b/app/src/main/java/com/owncloud/android/ui/activity/EditorWebView.kt @@ -109,7 +109,6 @@ abstract class EditorWebView : ExternalSiteWebView() { ) ?: return snackbar.setAction(R.string.common_cancel) { closeView() } - viewThemeUtils.material.themeSnackbar(snackbar) loadingSnackbar = snackbar snackbar.show() } diff --git a/app/src/main/java/com/owncloud/android/ui/activity/FileActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/FileActivity.java index c009bcf1bd9f..c937dbca24f8 100644 --- a/app/src/main/java/com/owncloud/android/ui/activity/FileActivity.java +++ b/app/src/main/java/com/owncloud/android/ui/activity/FileActivity.java @@ -719,7 +719,6 @@ public static void copyAndShareFileLink(FileActivity activity, Snackbar snackbar = Snackbar.make(activity.findViewById(android.R.id.content), R.string.clipboard_text_copied, Snackbar.LENGTH_LONG) .setAction(R.string.share, v -> showShareLinkDialog(activity, file, link)); - viewThemeUtils.material.themeSnackbar(snackbar); snackbar.show(); } } @@ -792,7 +791,6 @@ private void onUpdateShareInformation(RemoteOperationResult result, @StringRes i } Snackbar snackbar = Snackbar.make(sharingFragment.getView(), message, Snackbar.LENGTH_LONG); - viewThemeUtils.material.themeSnackbar(snackbar); snackbar.show(); } @@ -882,7 +880,6 @@ private void onCreateShareViaLinkOperationFinish(CreateShareViaLinkOperation ope operation, getResources()), Snackbar.LENGTH_LONG); - viewThemeUtils.material.themeSnackbar(snackbar); snackbar.show(); } } diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.kt b/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.kt index 01f945d5f4bb..91289786a0a6 100644 --- a/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.kt +++ b/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.kt @@ -111,6 +111,7 @@ import com.owncloud.android.ui.interfaces.OCFileListFragmentInterface import com.owncloud.android.utils.FileSortOrder import com.owncloud.android.utils.FileStorageUtils import com.owncloud.android.utils.PermissionUtil +import com.nmc.android.utils.FabThemeUtils import com.owncloud.android.utils.theme.ThemeUtils import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -276,7 +277,8 @@ open class OCFileListFragment : } fabMain = requireActivity().findViewById(R.id.fab_main)?.also { - viewThemeUtils.material.themeFAB(it) + //NMC customization + FabThemeUtils.colorFloatingActionButton(requireContext(), it) } return view @@ -449,7 +451,8 @@ open class OCFileListFragment : return } - viewThemeUtils.material.themeFAB(fab) + // NMC customization + FabThemeUtils.colorFloatingActionButton(requireContext(), fab) fab.setOnClickListener { showCreateBottomSheet(fileActivity) } } @@ -492,7 +495,8 @@ open class OCFileListFragment : activity.runOnUiThread { if (visible) { fab.show() - viewThemeUtils.material.themeFAB(fab) + // NMC customization + FabThemeUtils.colorFloatingActionButton(requireContext(), fab) } else { fab.hide() } @@ -505,7 +509,8 @@ open class OCFileListFragment : val activity = activity ?: return activity.runOnUiThread { fab.isEnabled = enabled - viewThemeUtils.material.themeFAB(fab) + // NMC customization + FabThemeUtils.colorFloatingActionButton(requireContext(), fab) } } diff --git a/app/src/main/java/com/owncloud/android/ui/preview/text/PreviewTextStringFragment.kt b/app/src/main/java/com/owncloud/android/ui/preview/text/PreviewTextStringFragment.kt index a320eecf59a5..49b24e58812b 100644 --- a/app/src/main/java/com/owncloud/android/ui/preview/text/PreviewTextStringFragment.kt +++ b/app/src/main/java/com/owncloud/android/ui/preview/text/PreviewTextStringFragment.kt @@ -22,6 +22,7 @@ import androidx.core.view.MenuProvider import androidx.lifecycle.Lifecycle import androidx.lifecycle.lifecycleScope import com.google.android.material.floatingactionbutton.FloatingActionButton +import com.nmc.android.utils.FabThemeUtils import com.nextcloud.android.lib.richWorkspace.RichWorkspaceDirectEditingRemoteOperation import com.nextcloud.utils.SnackbarUtil import com.owncloud.android.R @@ -57,7 +58,8 @@ class PreviewTextStringFragment : PreviewTextFragment() { isEnabled = true setOnClickListener { edit() } setImageResource(R.drawable.ic_edit) - viewThemeUtils.material.themeFAB(this) + // NMC customization + FabThemeUtils.colorFloatingActionButton(requireContext(), this) } addMenuProvider() diff --git a/app/src/main/res/values-night/nmc_colors.xml b/app/src/main/res/values-night/nmc_colors.xml new file mode 100644 index 000000000000..229d9361177d --- /dev/null +++ b/app/src/main/res/values-night/nmc_colors.xml @@ -0,0 +1,73 @@ + + + + + #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 + #7d94f9 + + + #121212 + @color/grey_0 + @color/grey_80 + @color/grey_80 + \ No newline at end of file diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index 19b3ce692520..eb839d0b746f 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -19,6 +19,10 @@ false true true + + @style/SnackBarBackgroundStyle + @style/SnackBarActionButtonStyle + @style/SnackBarTextViewStyle @style/Widget.App.TextInputLayout @style/Nextcloud.Widget.PopupMenu @style/ThemeOverlay.App.BottomSheetDialog diff --git a/app/src/main/res/values/nmc_colors.xml b/app/src/main/res/values/nmc_colors.xml new file mode 100644 index 000000000000..3aa33ccdf362 --- /dev/null +++ b/app/src/main/res/values/nmc_colors.xml @@ -0,0 +1,98 @@ + + + + + #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 + #2238df + + + @color/grey_0 + #191919 + @color/grey_0 + @color/grey_30 + #77b6bb + #5077b6bb + \ No newline at end of file diff --git a/app/src/main/res/values/nmc_snackbar_styles.xml b/app/src/main/res/values/nmc_snackbar_styles.xml new file mode 100644 index 000000000000..23aadc577694 --- /dev/null +++ b/app/src/main/res/values/nmc_snackbar_styles.xml @@ -0,0 +1,16 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index b01edd987c4e..824e174b8fb0 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -27,6 +27,10 @@ @color/primary_dark @color/secondary_text_color @style/ownCloud.SearchView + + @style/SnackBarBackgroundStyle + @style/SnackBarActionButtonStyle + @style/SnackBarTextViewStyle @color/action_mode_background @style/FallbackDatePickerDialogTheme @color/bg_default @@ -47,6 +51,10 @@ @color/bg_default @color/secondary_text_color @style/FallbackTheming.Dialog + + @style/SnackBarBackgroundStyle + @style/SnackBarActionButtonStyle + @style/SnackBarTextViewStyle @color/action_mode_background @style/FallbackDatePickerDialogTheme @color/bg_default @@ -275,6 +283,10 @@