Skip to content

Commit

Permalink
Customized floating action button.
Browse files Browse the repository at this point in the history
  • Loading branch information
surinder-tsys committed May 14, 2023
1 parent ceb6cd6 commit 0bb1ec9
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 6 deletions.
40 changes: 40 additions & 0 deletions app/src/main/java/com/nmc/android/utils/FabThemeUtils.kt
Original file line number Diff line number Diff line change
@@ -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)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@
import com.nextcloud.utils.EditorUtils;
import com.nextcloud.utils.ShortcutUtil;
import com.nextcloud.utils.view.FastScrollUtils;
import com.nmc.android.utils.FabThemeUtils;
import com.owncloud.android.MainApp;
import com.owncloud.android.R;
import com.owncloud.android.datamodel.ArbitraryDataProvider;
Expand Down Expand Up @@ -327,7 +328,8 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
mFabMain = requireActivity().findViewById(R.id.fab_main);

if (mFabMain != null) { // is not available in FolderPickerActivity
viewThemeUtils.material.themeFAB(mFabMain);
//NMC customization
FabThemeUtils.colorFloatingActionButton(requireContext(), mFabMain);
}

Log_OC.i(TAG, "onCreateView() end");
Expand Down Expand Up @@ -477,7 +479,8 @@ public void registerFabListener() {
FileActivity activity = (FileActivity) getActivity();

if (mFabMain != null) { // is not available in FolderPickerActivity
viewThemeUtils.material.themeFAB(mFabMain);
//NMC customization
FabThemeUtils.colorFloatingActionButton(requireContext(), mFabMain);
mFabMain.setOnClickListener(v -> {
final OCFileListBottomSheetDialog dialog =
new OCFileListBottomSheetDialog(activity,
Expand Down Expand Up @@ -1908,7 +1911,8 @@ public void setFabVisible(final boolean visible) {
getActivity().runOnUiThread(() -> {
if (visible) {
mFabMain.show();
viewThemeUtils.material.themeFAB(mFabMain);
//NMC customization
FabThemeUtils.colorFloatingActionButton(requireContext(), mFabMain);
} else {
mFabMain.hide();
}
Expand Down Expand Up @@ -1958,10 +1962,12 @@ public void setFabEnabled(final boolean enabled) {
getActivity().runOnUiThread(() -> {
if (enabled) {
mFabMain.setEnabled(true);
viewThemeUtils.material.themeFAB(mFabMain);
//NMC customization
FabThemeUtils.colorFloatingActionButton(requireContext(), mFabMain);
} else {
mFabMain.setEnabled(false);
viewThemeUtils.material.themeFAB(mFabMain);
//NMC customization
FabThemeUtils.colorFloatingActionButton(requireContext(), mFabMain);
}
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.nextcloud.android.lib.richWorkspace.RichWorkspaceDirectEditingRemoteOperation;
import com.nextcloud.client.account.UserAccountManager;
import com.nmc.android.utils.FabThemeUtils;
import com.owncloud.android.R;
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
import com.owncloud.android.ui.activity.FileDisplayActivity;
Expand Down Expand Up @@ -102,7 +103,8 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
fabMain.setOnClickListener(v -> edit());

fabMain.setImageResource(R.drawable.ic_edit);
viewThemeUtils.material.themeFAB(fabMain);
//NMC customization
FabThemeUtils.colorFloatingActionButton(requireActivity(), fabMain);

return view;
}
Expand Down
1 change: 1 addition & 0 deletions app/src/main/res/values/colors.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
<!-- Colors -->
<color name="standard_grey">#757575</color>
<color name="actionbar_shadow">#222222</color>
<color name="grey_0">#F2F2F2</color>
<color name="grey_200">#EEEEEE</color>
<color name="grey_400">#BDBDBD</color>
<color name="grey_600">#666666</color>
Expand Down

0 comments on commit 0bb1ec9

Please sign in to comment.