From 4b150ea3ffc0f6a0a5075502b512808cf84a7b85 Mon Sep 17 00:00:00 2001 From: A117870935 Date: Mon, 15 May 2023 01:05:37 +0530 Subject: [PATCH] NMC-2051: Customized bottom sheet. NMC-1929: Collabora related customization with test cases. --- .../android/OCFileListBottomSheetDialogIT.kt | 113 ++++++++++++++++++ .../ui/fileactions/FileActionsBottomSheet.kt | 18 ++- .../android/ui/dialog/SendFilesDialog.kt | 2 - .../GalleryFragmentBottomSheetDialog.kt | 17 --- .../fragment/OCFileListBottomSheetDialog.java | 51 +++++--- .../main/res/drawable/ic_encrypted_folder.xml | 12 ++ .../main/res/drawable/ic_file_collection.xml | 12 ++ app/src/main/res/drawable/ic_new_txt_doc.xml | 34 ++++++ app/src/main/res/drawable/ic_upload_file.xml | 12 ++ .../res/layout/file_actions_bottom_sheet.xml | 2 + .../layout/file_actions_bottom_sheet_item.xml | 4 +- ...file_list_actions_bottom_sheet_creator.xml | 10 +- ...ile_list_actions_bottom_sheet_fragment.xml | 72 ++++++++--- .../layout/fragment_gallery_bottom_sheet.xml | 14 ++- ...ring_permissions_bottom_sheet_fragment.xml | 1 + .../main/res/layout/send_files_fragment.xml | 1 + .../main/res/layout/send_share_fragment.xml | 1 + app/src/main/res/values-de/strings.xml | 2 + app/src/main/res/values-night/colors.xml | 64 ++++++++++ app/src/main/res/values/colors.xml | 89 ++++++++++++++ app/src/main/res/values/dims.xml | 4 +- app/src/main/res/values/strings.xml | 2 + app/src/main/res/values/styles.xml | 2 +- 23 files changed, 461 insertions(+), 78 deletions(-) create mode 100644 app/src/androidTest/java/com/nmc/android/OCFileListBottomSheetDialogIT.kt create mode 100644 app/src/main/res/drawable/ic_encrypted_folder.xml create mode 100644 app/src/main/res/drawable/ic_file_collection.xml create mode 100644 app/src/main/res/drawable/ic_new_txt_doc.xml create mode 100644 app/src/main/res/drawable/ic_upload_file.xml diff --git a/app/src/androidTest/java/com/nmc/android/OCFileListBottomSheetDialogIT.kt b/app/src/androidTest/java/com/nmc/android/OCFileListBottomSheetDialogIT.kt new file mode 100644 index 000000000000..a0200d2a1a75 --- /dev/null +++ b/app/src/androidTest/java/com/nmc/android/OCFileListBottomSheetDialogIT.kt @@ -0,0 +1,113 @@ +package com.nmc.android + +import android.os.Looper +import androidx.activity.result.contract.ActivityResultContract +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.assertion.ViewAssertions.matches +import androidx.test.espresso.intent.rule.IntentsTestRule +import androidx.test.espresso.matcher.ViewMatchers.isCompletelyDisplayed +import androidx.test.espresso.matcher.ViewMatchers.withText +import com.google.android.material.bottomsheet.BottomSheetBehavior +import com.google.gson.Gson +import com.nextcloud.client.device.DeviceInfo +import com.nextcloud.client.documentscan.AppScanOptionalFeature +import com.nextcloud.utils.EditorUtils +import com.owncloud.android.AbstractIT +import com.owncloud.android.datamodel.ArbitraryDataProvider +import com.owncloud.android.datamodel.ArbitraryDataProviderImpl +import com.owncloud.android.datamodel.OCFile +import com.owncloud.android.lib.common.Creator +import com.owncloud.android.lib.common.DirectEditing +import com.owncloud.android.lib.resources.status.CapabilityBooleanType +import com.owncloud.android.ui.activity.FileDisplayActivity +import com.owncloud.android.ui.fragment.OCFileListBottomSheetActions +import com.owncloud.android.ui.fragment.OCFileListBottomSheetDialog +import com.owncloud.android.utils.MimeTypeUtil +import com.owncloud.android.utils.theme.CapabilityUtils +import org.junit.Before +import org.junit.Rule +import org.junit.Test +import org.mockito.Mock +import org.mockito.MockitoAnnotations + +class OCFileListBottomSheetDialogIT : AbstractIT() { + + @Mock + private lateinit var actions: OCFileListBottomSheetActions + + @get:Rule + val activityRule = IntentsTestRule(FileDisplayActivity::class.java, true, true) + + @Before + fun setUp() { + MockitoAnnotations.initMocks(this) + } + + @Test + fun validateCreateTextDocumentMenuOption() { + if (Looper.myLooper() == null) { + Looper.prepare() + } + + val info = DeviceInfo() + val ocFile = OCFile("/test.md") + + // add direct editing info + val creatorMap = mutableMapOf() + creatorMap["1"] = Creator( + "1", + "md", + "markdown file", + ".md", + MimeTypeUtil.MIMETYPE_TEXT_MARKDOWN, + false + ) + + val directEditing = DirectEditing( + creators = creatorMap + ) + + val json = Gson().toJson(directEditing) + ArbitraryDataProviderImpl(targetContext).storeOrUpdateKeyValue( + user.accountName, + ArbitraryDataProvider.DIRECT_EDITING, + json + ) + + val capability = activityRule.activity.capabilities + capability.richDocuments = CapabilityBooleanType.TRUE + capability.richDocumentsDirectEditing = CapabilityBooleanType.TRUE + capability.richDocumentsTemplatesAvailable = CapabilityBooleanType.TRUE + capability.accountName = user.accountName + CapabilityUtils.updateCapability(capability) + + val appScanOptionalFeature: AppScanOptionalFeature = object : AppScanOptionalFeature() { + override fun getScanContract(): ActivityResultContract { + throw UnsupportedOperationException("Document scan is not available") + } + } + + val editorUtils = EditorUtils(ArbitraryDataProviderImpl(targetContext)) + val sut = OCFileListBottomSheetDialog( + activityRule.activity, + actions, + info, + user, + ocFile, + activityRule.activity.themeUtils, + activityRule.activity.viewThemeUtils, + editorUtils, + appScanOptionalFeature + ) + + activityRule.activity.runOnUiThread { sut.show() } + + waitForIdleSync() + + sut.behavior.state = BottomSheetBehavior.STATE_EXPANDED + + shortSleep() + + onView(withText("Create text document")).check(matches(isCompletelyDisplayed())) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/nextcloud/ui/fileactions/FileActionsBottomSheet.kt b/app/src/main/java/com/nextcloud/ui/fileactions/FileActionsBottomSheet.kt index 1269459f2a94..0f5f11de7cc2 100644 --- a/app/src/main/java/com/nextcloud/ui/fileactions/FileActionsBottomSheet.kt +++ b/app/src/main/java/com/nextcloud/ui/fileactions/FileActionsBottomSheet.kt @@ -18,9 +18,9 @@ import android.view.View import android.view.ViewGroup import android.widget.Toast import androidx.annotation.IdRes -import androidx.appcompat.content.res.AppCompatResources import androidx.core.os.bundleOf import androidx.core.view.isEmpty +import androidx.core.content.res.ResourcesCompat import androidx.core.view.isVisible import androidx.fragment.app.FragmentManager import androidx.fragment.app.setFragmentResult @@ -94,8 +94,6 @@ class FileActionsBottomSheet : BottomSheetDialogFragment(), Injectable { bottomSheetDialog.behavior.state = BottomSheetBehavior.STATE_EXPANDED bottomSheetDialog.behavior.skipCollapsed = true - viewThemeUtils.platform.colorViewBackground(binding.bottomSheet, ColorRole.SURFACE) - return binding.root } @@ -147,7 +145,11 @@ class FileActionsBottomSheet : BottomSheetDialogFragment(), Injectable { private fun setMultipleFilesThumbnail() { context?.let { - val drawable = viewThemeUtils.platform.tintDrawable(it, R.drawable.file_multiple, ColorRole.PRIMARY) + // NMC Customization + val drawable = viewThemeUtils.platform.colorDrawable( + ResourcesCompat.getDrawable(it.resources, R.drawable.file_multiple, null)!!, + it.resources.getColor(R.color.primary, null) + ) binding.thumbnailLayout.thumbnail.setImageDrawable(drawable) } } @@ -278,12 +280,8 @@ class FileActionsBottomSheet : BottomSheetDialogFragment(), Injectable { } text.setText(action.title) if (action.icon != null) { - val drawable = - viewThemeUtils.platform.tintDrawable( - requireContext(), - AppCompatResources.getDrawable(requireContext(), action.icon)!! - ) - icon.setImageDrawable(drawable) + //NMC customization + icon.setImageResource(action.icon) } } return itemBinding.root diff --git a/app/src/main/java/com/owncloud/android/ui/dialog/SendFilesDialog.kt b/app/src/main/java/com/owncloud/android/ui/dialog/SendFilesDialog.kt index 4f851b3d99e5..a2f980d3ecfa 100644 --- a/app/src/main/java/com/owncloud/android/ui/dialog/SendFilesDialog.kt +++ b/app/src/main/java/com/owncloud/android/ui/dialog/SendFilesDialog.kt @@ -19,7 +19,6 @@ import android.view.ViewGroup import android.widget.Toast import androidx.recyclerview.widget.GridLayoutManager import com.google.android.material.bottomsheet.BottomSheetDialogFragment -import com.nextcloud.android.common.ui.theme.utils.ColorRole import com.nextcloud.client.di.Injectable import com.nextcloud.client.utils.IntentUtil.createSendIntent import com.owncloud.android.R @@ -56,7 +55,6 @@ class SendFilesDialog : BottomSheetDialogFragment(R.layout.send_files_fragment), binding = SendFilesFragmentBinding.inflate(inflater, container, false) setupSendButtonRecyclerView() - viewThemeUtils?.platform?.colorViewBackground(binding.bottomSheet, ColorRole.SURFACE) return binding.root } diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/GalleryFragmentBottomSheetDialog.kt b/app/src/main/java/com/owncloud/android/ui/fragment/GalleryFragmentBottomSheetDialog.kt index 178c5e6bb3c3..6ca2c2d9aeb9 100644 --- a/app/src/main/java/com/owncloud/android/ui/fragment/GalleryFragmentBottomSheetDialog.kt +++ b/app/src/main/java/com/owncloud/android/ui/fragment/GalleryFragmentBottomSheetDialog.kt @@ -42,23 +42,6 @@ class GalleryFragmentBottomSheetDialog( } private fun setupLayout() { - viewThemeUtils.platform.colorViewBackground(binding.bottomSheet, ColorRole.SURFACE) - - listOf( - binding.tickMarkShowImages, - binding.tickMarkShowVideos - ).forEach { - viewThemeUtils.platform.colorImageView(it, ColorRole.PRIMARY) - } - - listOf( - binding.btnSelectMediaFolder, - binding.btnHideVideos, - binding.btnHideImages - ).forEach { - viewThemeUtils.material.colorMaterialButtonText(it) - } - when (currentMediaState) { MediaState.MEDIA_STATE_PHOTOS_ONLY -> { binding.tickMarkShowImages.visibility = View.VISIBLE diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListBottomSheetDialog.java b/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListBottomSheetDialog.java index f5458da9e546..b21bec5bc94c 100644 --- a/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListBottomSheetDialog.java +++ b/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListBottomSheetDialog.java @@ -11,7 +11,6 @@ import com.google.android.material.bottomsheet.BottomSheetDialog; import com.google.gson.Gson; -import com.nextcloud.android.common.ui.theme.utils.ColorRole; import com.nextcloud.client.account.User; import com.nextcloud.client.device.DeviceInfo; import com.nextcloud.client.di.Injectable; @@ -31,6 +30,8 @@ import com.owncloud.android.utils.theme.ThemeUtils; import com.owncloud.android.utils.theme.ViewThemeUtils; +import androidx.core.content.ContextCompat; + /** * FAB menu {@link android.app.Dialog} styled as a bottom sheet for main actions. */ @@ -76,12 +77,8 @@ protected void onCreate(Bundle savedInstanceState) { binding = FileListActionsBottomSheetFragmentBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); - viewThemeUtils.platform.colorImageView(binding.menuIconUploadFiles, ColorRole.PRIMARY); - viewThemeUtils.platform.colorImageView(binding.menuIconUploadFromApp, ColorRole.PRIMARY); - viewThemeUtils.platform.colorImageView(binding.menuIconDirectCameraUpload, ColorRole.PRIMARY); - viewThemeUtils.platform.colorImageView(binding.menuIconScanDocUpload, ColorRole.PRIMARY); - viewThemeUtils.platform.colorImageView(binding.menuIconMkdir, ColorRole.PRIMARY); - viewThemeUtils.platform.colorImageView(binding.menuIconAddFolderInfo, ColorRole.PRIMARY); + // NMC Customization + reorderUploadFromOtherAppsView(); binding.addToCloud.setText(getContext().getResources().getString(R.string.add_to_cloud, themeUtils.getDefaultDisplayNameForRootFolder(getContext()))); @@ -111,16 +108,23 @@ protected void onCreate(Bundle savedInstanceState) { View creatorView = creatorViewBinding.getRoot(); - creatorViewBinding.creatorName.setText( - String.format(fileActivity.getString(R.string.editor_placeholder), - fileActivity.getString(R.string.create_new), - creator.getName())); - - creatorViewBinding.creatorThumbnail.setImageDrawable( - MimeTypeUtil.getFileTypeIcon(creator.getMimetype(), - creator.getExtension(), - creatorViewBinding.creatorThumbnail.getContext(), - viewThemeUtils)); + //for NMC we have different text and icon for Markdown(.md) menu + if (creator.getMimetype().equalsIgnoreCase(MimeTypeUtil.MIMETYPE_TEXT_MARKDOWN)) { + creatorViewBinding.creatorName.setText(fileActivity.getString(R.string.create_text_document)); + creatorViewBinding.creatorThumbnail.setImageDrawable(ContextCompat.getDrawable(getContext(), + R.drawable.ic_new_txt_doc)); + } else { + creatorViewBinding.creatorName.setText( + String.format(fileActivity.getString(R.string.editor_placeholder), + fileActivity.getString(R.string.create_new), + creator.getName())); + + creatorViewBinding.creatorThumbnail.setImageDrawable( + MimeTypeUtil.getFileTypeIcon(creator.getMimetype(), + creator.getExtension(), + creatorViewBinding.creatorThumbnail.getContext(), + viewThemeUtils)); + } creatorView.setOnClickListener(v -> { actions.showTemplate(creator, creatorViewBinding.creatorName.getText().toString()); @@ -136,8 +140,9 @@ protected void onCreate(Bundle savedInstanceState) { binding.menuDirectCameraUpload.setVisibility(View.GONE); } + // not required for NMC // create rich workspace - if (editorUtils.isEditorAvailable(user, + /* if (editorUtils.isEditorAvailable(user, MimeTypeUtil.MIMETYPE_TEXT_MARKDOWN) && file != null && !file.isEncrypted()) { // richWorkspace @@ -154,12 +159,20 @@ protected void onCreate(Bundle savedInstanceState) { } else { binding.menuCreateRichWorkspace.setVisibility(View.GONE); binding.menuCreateRichWorkspaceDivider.setVisibility(View.GONE); - } + } */ setupClickListener(); filterActionsForOfflineOperations(); } + private void reorderUploadFromOtherAppsView() { + // move the upload from other app option + // below Create new folder or Create new e2ee folder + // NMC-3095 requirement + binding.actionLinear.removeView(binding.menuUploadFromApp); + binding.actionLinear.addView(binding.menuUploadFromApp, binding.actionLinear.indexOfChild(binding.menuEncryptedMkdir) + 1); + } + private void setupClickListener() { binding.menuCreateRichWorkspace.setOnClickListener(v -> { actions.createRichWorkspace(); diff --git a/app/src/main/res/drawable/ic_encrypted_folder.xml b/app/src/main/res/drawable/ic_encrypted_folder.xml new file mode 100644 index 000000000000..351565589c6a --- /dev/null +++ b/app/src/main/res/drawable/ic_encrypted_folder.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_file_collection.xml b/app/src/main/res/drawable/ic_file_collection.xml new file mode 100644 index 000000000000..8825d1f461cf --- /dev/null +++ b/app/src/main/res/drawable/ic_file_collection.xml @@ -0,0 +1,12 @@ + + + diff --git a/app/src/main/res/drawable/ic_new_txt_doc.xml b/app/src/main/res/drawable/ic_new_txt_doc.xml new file mode 100644 index 000000000000..2b0783479d48 --- /dev/null +++ b/app/src/main/res/drawable/ic_new_txt_doc.xml @@ -0,0 +1,34 @@ + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_upload_file.xml b/app/src/main/res/drawable/ic_upload_file.xml new file mode 100644 index 000000000000..3c16034fc8f9 --- /dev/null +++ b/app/src/main/res/drawable/ic_upload_file.xml @@ -0,0 +1,12 @@ + + + diff --git a/app/src/main/res/layout/file_actions_bottom_sheet.xml b/app/src/main/res/layout/file_actions_bottom_sheet.xml index 92c93182a241..9dc3f46be36c 100644 --- a/app/src/main/res/layout/file_actions_bottom_sheet.xml +++ b/app/src/main/res/layout/file_actions_bottom_sheet.xml @@ -13,6 +13,7 @@ style="@style/Widget.Material3.BottomSheet" android:layout_width="match_parent" android:layout_height="wrap_content" + android:background="@color/bottom_sheet_bg_color" android:layout_gravity="bottom" app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"> @@ -59,6 +60,7 @@ android:ellipsize="middle" android:lines="1" android:textAppearance="@style/TextAppearance.Material3.HeadlineSmall" + android:textColor="@color/bottom_sheet_txt_color" tools:text="Test file name which is very very very very very long.pdf" /> diff --git a/app/src/main/res/layout/file_actions_bottom_sheet_item.xml b/app/src/main/res/layout/file_actions_bottom_sheet_item.xml index 576726071cd0..3af941c60930 100644 --- a/app/src/main/res/layout/file_actions_bottom_sheet_item.xml +++ b/app/src/main/res/layout/file_actions_bottom_sheet_item.xml @@ -29,7 +29,7 @@ android:layout_width="@dimen/iconized_single_line_item_icon_size" android:layout_height="@dimen/iconized_single_line_item_icon_size" android:contentDescription="@null" - app:tint="@color/primary" + app:tint="@color/bottom_sheet_icon_color" tools:src="@drawable/ic_delete" /> diff --git a/app/src/main/res/layout/file_list_actions_bottom_sheet_creator.xml b/app/src/main/res/layout/file_list_actions_bottom_sheet_creator.xml index ccb1fa4d2d7e..db2bc705b0b2 100644 --- a/app/src/main/res/layout/file_list_actions_bottom_sheet_creator.xml +++ b/app/src/main/res/layout/file_list_actions_bottom_sheet_creator.xml @@ -8,12 +8,15 @@ --> @@ -22,8 +25,7 @@ android:id="@+id/creator_thumbnail" android:layout_width="24dp" android:layout_height="24dp" - android:layout_marginTop="@dimen/standard_margin" - android:layout_marginBottom="@dimen/standard_margin" + app:tint="@color/bottom_sheet_icon_color" android:contentDescription="@null" android:src="@drawable/file_ppt" /> @@ -32,8 +34,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" - android:layout_marginStart="@dimen/bottom_sheet_text_start_margin" + android:layout_marginStart="@dimen/standard_margin" android:text="@string/create_new_presentation" - android:textColor="@color/text_color" + android:textColor="@color/bottom_sheet_txt_color" android:textSize="@dimen/bottom_sheet_text_size" /> diff --git a/app/src/main/res/layout/file_list_actions_bottom_sheet_fragment.xml b/app/src/main/res/layout/file_list_actions_bottom_sheet_fragment.xml index 947a24fe27f6..7d6f69217e6b 100644 --- a/app/src/main/res/layout/file_list_actions_bottom_sheet_fragment.xml +++ b/app/src/main/res/layout/file_list_actions_bottom_sheet_fragment.xml @@ -10,6 +10,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + android:background="@color/bottom_sheet_bg_color" android:orientation="vertical" android:paddingBottom="@dimen/standard_half_padding" app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"> @@ -26,7 +27,8 @@ android:paddingBottom="@dimen/standard_half_padding" android:text="@string/add_to_cloud" android:textAppearance="@style/TextAppearance.Material3.HeadlineSmall" - android:textColor="@color/text_color" /> + android:textColor="@color/text_color" + android:visibility="gone" /> @@ -48,7 +51,7 @@ android:gravity="center_vertical" android:orientation="horizontal" android:paddingLeft="@dimen/standard_padding" - android:paddingTop="@dimen/standard_half_padding" + android:paddingTop="@dimen/standard_padding" android:paddingRight="@dimen/standard_padding" android:paddingBottom="@dimen/standard_half_padding" tools:ignore="UseCompoundDrawables"> @@ -58,8 +61,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:contentDescription="@null" - android:src="@drawable/ic_action_upload" - app:tint="@color/primary" /> + android:src="@drawable/ic_upload_file" + app:tint="@color/bottom_sheet_icon_color" /> @@ -90,8 +93,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:contentDescription="@null" - android:src="@drawable/ic_import" - app:tint="@color/primary" /> + android:src="@drawable/ic_file_collection" + app:tint="@color/bottom_sheet_icon_color" /> @@ -123,7 +126,7 @@ android:layout_height="wrap_content" android:contentDescription="@null" android:src="@drawable/ic_camera" - app:tint="@color/primary" /> + app:tint="@color/bottom_sheet_icon_color" /> @@ -186,7 +189,7 @@ android:layout_height="wrap_content" android:contentDescription="@null" android:src="@drawable/ic_action_create_dir" - app:tint="@color/primary" /> + app:tint="@color/bottom_sheet_icon_color" /> + + + + + + + @@ -263,7 +297,7 @@ android:layout_gravity="center_vertical" android:layout_marginStart="@dimen/bottom_sheet_text_start_margin" android:text="@string/create_new_spreadsheet" - android:textColor="@color/text_color" + android:textColor="@color/bottom_sheet_txt_color" android:textSize="@dimen/bottom_sheet_text_size" /> @@ -293,7 +327,7 @@ android:layout_gravity="center_vertical" android:layout_marginStart="@dimen/bottom_sheet_text_start_margin" android:text="@string/create_new_presentation" - android:textColor="@color/text_color" + android:textColor="@color/bottom_sheet_txt_color" android:textSize="@dimen/bottom_sheet_text_size" /> @@ -320,7 +354,8 @@ android:layout_marginStart="@dimen/bottom_sheet_menu_item_divider_standard_margin" android:layout_marginTop="@dimen/standard_half_margin" android:layout_marginBottom="@dimen/standard_half_margin" - android:background="@color/list_divider_background" /> + android:background="@color/list_divider_background" + android:visibility="gone" /> diff --git a/app/src/main/res/layout/fragment_gallery_bottom_sheet.xml b/app/src/main/res/layout/fragment_gallery_bottom_sheet.xml index 507cec6908bc..aa720ff688bb 100644 --- a/app/src/main/res/layout/fragment_gallery_bottom_sheet.xml +++ b/app/src/main/res/layout/fragment_gallery_bottom_sheet.xml @@ -15,10 +15,10 @@ android:layout_height="match_parent"> + android:textColor="@color/bottom_sheet_txt_color" + app:icon="@drawable/ic_camera" + app:iconTint="@color/bottom_sheet_icon_color"/> + android:textColor="@color/bottom_sheet_txt_color" + app:icon="@drawable/ic_video_camera" + app:iconTint="@color/bottom_sheet_icon_color"/> + android:textColor="@color/bottom_sheet_txt_color" + app:icon="@drawable/nav_photos" + app:iconTint="@color/bottom_sheet_icon_color"/> diff --git a/app/src/main/res/layout/send_files_fragment.xml b/app/src/main/res/layout/send_files_fragment.xml index d256a9433067..085cb14f043b 100644 --- a/app/src/main/res/layout/send_files_fragment.xml +++ b/app/src/main/res/layout/send_files_fragment.xml @@ -15,6 +15,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" + android:background="@color/bottom_sheet_bg_color" app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"> Erstellen Verzeichnis konnte nicht erstellt werden Neu + Neues Textdokument erstellen Neues Dokument Neuer Ordner + Verschlüsselten Ordner erstellen Neue Präsentation Neue Tabelle Ordnerbeschreibung hinzufügen diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml index 8972d2bb6716..6488018f11a5 100644 --- a/app/src/main/res/values-night/colors.xml +++ b/app/src/main/res/values-night/colors.xml @@ -38,4 +38,68 @@ @android:color/white #101418 + + + #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 e0da603d4f8a..66637ab603ae 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -78,4 +78,93 @@ #A5A5A5 #F7F9FF + + + #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 diff --git a/app/src/main/res/values/dims.xml b/app/src/main/res/values/dims.xml index 1d1dba647e30..fadd4c50833b 100644 --- a/app/src/main/res/values/dims.xml +++ b/app/src/main/res/values/dims.xml @@ -15,8 +15,8 @@ 12sp 20dp 64dp - 40dp - 56dp + 16dp + 48dp 80dp 40dp 100dp diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 819e2211316f..3621a3b4bc83 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -867,6 +867,7 @@ Scan document from camera Upload content from other apps New folder + Create new encrypted folder Virus detected. Upload cannot be completed! Tags Adding sharee failed @@ -1057,6 +1058,7 @@ Resolve conflict Delete New + Create text document %1$s %2$s Choose what to sync diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 08ebf4b5f8c7..2b417ebbc0e8 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -435,7 +435,7 @@