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.java b/app/src/main/java/com/owncloud/android/ui/activity/EditorWebView.java
index 784a8117588b..89782beb1d27 100644
--- a/app/src/main/java/com/owncloud/android/ui/activity/EditorWebView.java
+++ b/app/src/main/java/com/owncloud/android/ui/activity/EditorWebView.java
@@ -90,7 +90,6 @@ public void onUrlLoaded(String loadedUrl) {
R.string.timeout_richDocuments, Snackbar.LENGTH_INDEFINITE)
.setAction(R.string.common_cancel, v -> closeView());
- viewThemeUtils.material.themeSnackbar(snackbar);
setLoadingSnackbar(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 a097a6b2d47a..34cba7619266 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
@@ -754,7 +754,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();
}
}
@@ -824,7 +823,6 @@ private void onUpdateShareInformation(RemoteOperationResult result, @StringRes i
snackbar = Snackbar.make(sharingFragment.getView(), result.getMessage(), Snackbar.LENGTH_LONG);
}
- viewThemeUtils.material.themeSnackbar(snackbar);
snackbar.show();
}
}
@@ -915,7 +913,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.java b/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java
index 61d8df3fff7a..b3a88e2ef964 100644
--- a/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java
+++ b/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java
@@ -54,6 +54,7 @@
import com.nextcloud.ui.fileactions.FileAction;
import com.nextcloud.ui.fileactions.FileActionsBottomSheet;
import com.nextcloud.utils.EditorUtils;
+import com.nmc.android.utils.FabThemeUtils;
import com.nextcloud.utils.ShortcutUtil;
import com.nextcloud.utils.e2ee.E2EEActionResolver;
import com.nextcloud.utils.e2ee.E2EEDialogPresenter;
@@ -381,7 +382,8 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
if (mFabMain != null) {
// is not available in FolderPickerActivity
- viewThemeUtils.material.themeFAB(mFabMain);
+ //NMC customization
+ FabThemeUtils.colorFloatingActionButton(requireContext(), mFabMain);
}
Log_OC.i(TAG, "onCreateView() end");
@@ -545,7 +547,8 @@ public void registerFabListener() {
}
// is not available in FolderPickerActivity
- viewThemeUtils.material.themeFAB(mFabMain);
+ //NMC customization
+ FabThemeUtils.colorFloatingActionButton(requireContext(), mFabMain);
mFabMain.setOnClickListener(v -> {
var currentDir = getCurrentFile();
if (currentDir == null) {
@@ -789,7 +792,7 @@ public void onHeaderClicked() {
@Override
public void showTemplate(Creator creator, String headline) {
ChooseTemplateDialogFragment.newInstance(mFile, creator, headline).show(requireActivity()
- .getSupportFragmentManager(),
+ .getSupportFragmentManager(),
DIALOG_CREATE_DOCUMENT);
}
@@ -931,8 +934,8 @@ public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
final int checkedCount = checkedFiles.size();
if (mActiveActionMode != null) {
- String title = getResources().getQuantityString(R.plurals.items_selected_count,
- checkedCount,
+ String title = getResources().getQuantityString(R.plurals.items_selected_count,
+ checkedCount,
checkedCount);
mActiveActionMode.setTitle(title);
}
@@ -1155,8 +1158,8 @@ public boolean onLongItemClicked(OCFile file) {
private void folderOnItemClick(OCFile file, int position) {
if (requireActivity() instanceof FolderPickerActivity fpa) {
- String filenameErrorMessage = FileNameValidator.INSTANCE.checkFileName(file.getFileName(),
- getCapabilities(),
+ String filenameErrorMessage = FileNameValidator.INSTANCE.checkFileName(file.getFileName(),
+ getCapabilities(),
requireContext());
if (filenameErrorMessage != null) {
DisplayUtils.showSnackMessage(fpa, filenameErrorMessage);
@@ -2122,7 +2125,8 @@ public void setFabVisible(final boolean visible) {
activity.runOnUiThread(() -> {
if (visible) {
mFabMain.show();
- viewThemeUtils.material.themeFAB(mFabMain);
+ // NMC customization
+ FabThemeUtils.colorFloatingActionButton(requireContext(), mFabMain);
} else {
mFabMain.hide();
}
@@ -2159,10 +2163,12 @@ public void setFabEnabled(final boolean enabled) {
activity.runOnUiThread(() -> {
if (enabled) {
fabMain.setEnabled(true);
- viewThemeUtils.material.themeFAB(fabMain);
+ //NMC customization
+ FabThemeUtils.colorFloatingActionButton(requireContext(), mFabMain);
} else {
fabMain.setEnabled(false);
- viewThemeUtils.material.themeFAB(fabMain);
+ //NMC customization
+ FabThemeUtils.colorFloatingActionButton(requireContext(), mFabMain);
}
});
}
diff --git a/app/src/main/java/com/owncloud/android/ui/preview/PreviewTextStringFragment.kt b/app/src/main/java/com/owncloud/android/ui/preview/PreviewTextStringFragment.kt
index a381647ae034..1634a3b90bdc 100644
--- a/app/src/main/java/com/owncloud/android/ui/preview/PreviewTextStringFragment.kt
+++ b/app/src/main/java/com/owncloud/android/ui/preview/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.owncloud.android.R
import com.owncloud.android.ui.activity.FileActivity
@@ -58,7 +59,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/colors.xml b/app/src/main/res/values-night/colors.xml
index 6979627fc58a..66efe88e34a9 100644
--- a/app/src/main/res/values-night/colors.xml
+++ b/app/src/main/res/values-night/colors.xml
@@ -40,4 +40,69 @@
@android:color/white
#2A2A2A
+
+
+ #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
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/colors.xml b/app/src/main/res/values/colors.xml
index 5a05b4786e5f..640b1c756c5c 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -100,4 +100,94 @@
#21000000
#B3000000
#979797
+
+
+ #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
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 8290142dd8f3..5ab4abddeb3f 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
@@ -273,6 +281,10 @@