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 63ccd3b66f2c..7aca2f7f77bb 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
@@ -98,8 +98,6 @@ class FileActionsBottomSheet :
bottomSheetDialog.behavior.state = BottomSheetBehavior.STATE_EXPANDED
bottomSheetDialog.behavior.skipCollapsed = true
- viewThemeUtils.platform.colorViewBackground(binding.bottomSheet, ColorRole.SURFACE)
-
return binding.root
}
@@ -151,7 +149,11 @@ class FileActionsBottomSheet :
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)
}
}
@@ -292,12 +294,8 @@ class FileActionsBottomSheet :
}
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/nextcloud/ui/trashbinFileActions/TrashbinFileActionsBottomSheet.kt b/app/src/main/java/com/nextcloud/ui/trashbinFileActions/TrashbinFileActionsBottomSheet.kt
index b97c9bae97bc..277e8c3cfe97 100644
--- a/app/src/main/java/com/nextcloud/ui/trashbinFileActions/TrashbinFileActionsBottomSheet.kt
+++ b/app/src/main/java/com/nextcloud/ui/trashbinFileActions/TrashbinFileActionsBottomSheet.kt
@@ -12,7 +12,7 @@ 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.content.res.ResourcesCompat
import androidx.core.os.bundleOf
import androidx.core.view.isEmpty
import androidx.core.view.isVisible
@@ -136,7 +136,11 @@ class TrashbinFileActionsBottomSheet :
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)
}
}
@@ -198,12 +202,8 @@ class TrashbinFileActionsBottomSheet :
}
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/nextcloud/utils/BuildHelper.kt b/app/src/main/java/com/nextcloud/utils/BuildHelper.kt
index 4eca26f03780..29fad1c04023 100644
--- a/app/src/main/java/com/nextcloud/utils/BuildHelper.kt
+++ b/app/src/main/java/com/nextcloud/utils/BuildHelper.kt
@@ -6,10 +6,9 @@
*/
package com.nextcloud.utils
-import com.owncloud.android.BuildConfig
-
object BuildHelper {
const val GPLAY: String = "gplay"
- fun isFlavourGPlay(): Boolean = GPLAY == BuildConfig.FLAVOR
+ // NMC Customization to have it false always
+ fun isFlavourGPlay(): Boolean = false
}
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 09f2edbfe502..607370e63ebd 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
@@ -58,7 +57,6 @@ class SendFilesDialog :
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 05118c06796f..af7d200e5efe 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 val actions: GalleryFragmentBotto
}
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.kt b/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListBottomSheetDialog.kt
index 1d7990290a90..6dd0164dfe41 100644
--- a/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListBottomSheetDialog.kt
+++ b/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListBottomSheetDialog.kt
@@ -11,7 +11,6 @@ import android.os.Bundle
import android.view.View
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
@@ -28,6 +27,7 @@ import com.owncloud.android.ui.activity.FileActivity
import com.owncloud.android.utils.MimeTypeUtil
import com.owncloud.android.utils.theme.ThemeUtils
import com.owncloud.android.utils.theme.ViewThemeUtils
+import androidx.core.content.ContextCompat
@Suppress("LongParameterList")
class OCFileListBottomSheetDialog(
@@ -50,7 +50,8 @@ class OCFileListBottomSheetDialog(
binding = FileListActionsBottomSheetFragmentBinding.inflate(layoutInflater)
setContentView(binding.getRoot())
- applyBranding()
+ // NMC Customization
+ reorderUploadFromOtherAppsView()
binding.addToCloud.text = context.resources.getString(
R.string.add_to_cloud,
themeUtils.getDefaultDisplayNameForRootFolder(context)
@@ -63,24 +64,10 @@ class OCFileListBottomSheetDialog(
binding.menuDirectCameraUpload.visibility = View.GONE
}
- createRichWorkspace()
setupClickListener()
filterActionsForOfflineOperations()
}
- private fun applyBranding() {
- viewThemeUtils.platform.run {
- binding.run {
- colorImageView(menuIconUploadFiles, ColorRole.PRIMARY)
- colorImageView(menuIconUploadFromApp, ColorRole.PRIMARY)
- colorImageView(menuIconDirectCameraUpload, ColorRole.PRIMARY)
- colorImageView(menuIconScanDocUpload, ColorRole.PRIMARY)
- colorImageView(menuIconMkdir, ColorRole.PRIMARY)
- colorImageView(menuIconAddFolderInfo, ColorRole.PRIMARY)
- }
- }
- }
-
@Suppress("ComplexCondition")
private fun checkTemplateVisibility() {
val capability = fileActivity.capabilities
@@ -112,21 +99,24 @@ class OCFileListBottomSheetDialog(
FileListActionsBottomSheetCreatorBinding.inflate(layoutInflater)
val creatorView: View = creatorViewBinding.getRoot()
-
- creatorViewBinding.creatorName.text = String.format(
- fileActivity.getString(R.string.editor_placeholder),
- fileActivity.getString(R.string.create_new),
- creator.name
- )
-
- creatorViewBinding.creatorThumbnail.setImageDrawable(
- MimeTypeUtil.getFileTypeIcon(
- creator.mimetype,
- creator.extension,
- creatorViewBinding.creatorThumbnail.context,
- viewThemeUtils
- )
- )
+ //for NMC we have different text and icon for Markdown(.md) menu
+ if (creator.mimetype == MimeTypeUtil.MIMETYPE_TEXT_MARKDOWN) {
+ creatorViewBinding.creatorName.text = fileActivity.getString(R.string.create_text_document)
+ creatorViewBinding.creatorThumbnail.setImageDrawable(
+ ContextCompat.getDrawable(
+ context,
+ R.drawable.ic_new_txt_doc))
+ } else {
+ creatorViewBinding.creatorName.text = String.format(fileActivity.getString(R.string.editor_placeholder),
+ fileActivity.getString(R.string.create_new),
+ creator.name)
+
+ creatorViewBinding.creatorThumbnail.setImageDrawable(
+ MimeTypeUtil.getFileTypeIcon(creator.mimetype,
+ creator.extension,
+ creatorViewBinding.creatorThumbnail.context,
+ viewThemeUtils))
+ }
creatorView.setOnClickListener {
actions.showTemplate(creator, creatorViewBinding.creatorName.text.toString())
@@ -138,25 +128,6 @@ class OCFileListBottomSheetDialog(
}
}
- private fun createRichWorkspace() {
- if (editorUtils.isEditorAvailable(user, MimeTypeUtil.MIMETYPE_TEXT_MARKDOWN) && !file.isEncrypted) {
- // richWorkspace
- // == "": no info set -> show button
- // == null: disabled on server side -> hide button
- // != "": info set -> hide button
- if (file.richWorkspace == null || "" != file.richWorkspace) {
- binding.menuCreateRichWorkspace.visibility = View.GONE
- binding.menuCreateRichWorkspaceDivider.visibility = View.GONE
- } else {
- binding.menuCreateRichWorkspace.visibility = View.VISIBLE
- binding.menuCreateRichWorkspaceDivider.visibility = View.VISIBLE
- }
- } else {
- binding.menuCreateRichWorkspace.visibility = View.GONE
- binding.menuCreateRichWorkspaceDivider.visibility = View.GONE
- }
- }
-
private fun setupClickListener() {
binding.run {
menuCreateRichWorkspace.setOnClickListener {
@@ -210,6 +181,17 @@ class OCFileListBottomSheetDialog(
}
}
+ private fun 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 fun filterActionsForOfflineOperations() {
fileActivity.connectivityService.isNetworkAndServerAvailable { result: Boolean? ->
if (file.isRootDirectory) {
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 cf2c493069b9..b4340d3e822f 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">
@@ -68,6 +69,7 @@
android:ellipsize="start"
android:lines="1"
android:textAppearance="@style/TextAppearance.Material3.HeadlineSmall"
+ android:textColor="@color/bottom_sheet_txt_color"
tools:text="@string/placeholder_extension" />
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 2f1b5239dacf..272cc7e1f369 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" />
@@ -124,7 +127,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" />
@@ -187,7 +190,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" />
+
+
+
+
+
+
+
@@ -264,7 +298,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" />
@@ -294,7 +328,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" />
@@ -321,7 +355,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">
Verzeichnis konnte nicht erstellt werden
Link erstellen
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 db1e1d218038..e51fe9edd7db 100644
--- a/app/src/main/res/values-night/colors.xml
+++ b/app/src/main/res/values-night/colors.xml
@@ -39,4 +39,69 @@
@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
+ #7d94f9
+
+
+ #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 36d7459ecdaf..5e5aafeb02d4 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -89,4 +89,94 @@
#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
+ #2238df
+
+
+ @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 d320c92a664a..d94e37c76b46 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 7e699376c89e..9f57d2ae9fcb 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -889,6 +889,7 @@
Scan document from camera
Upload content from other apps
New folder
+ Create new encrypted folder
Virus detected. Upload cannot be completed!
Tags
Unable to fetch sharees.
@@ -1081,6 +1082,7 @@
Cancel upload
Delete
New
+ Create text document
%1$s %2$s
File request
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 17cdbaabca4a..c91bf49c9ced 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -447,7 +447,7 @@