Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,11 @@ package com.owncloud.android.ui.adapter
import android.content.Context
import android.view.View
import com.afollestad.sectionedrecyclerview.SectionedViewHolder
import com.nextcloud.android.common.ui.theme.utils.ColorRole
import com.nextcloud.client.account.User
import com.nextcloud.client.preferences.AppPreferences
import com.owncloud.android.databinding.UnifiedSearchCurrentDirectoryItemBinding
import com.owncloud.android.datamodel.FileDataStorageManager
import com.owncloud.android.datamodel.OCFile
import com.owncloud.android.datamodel.SyncedFolderProvider
import com.owncloud.android.ui.interfaces.UnifiedSearchCurrentDirItemAction
import com.owncloud.android.utils.DisplayUtils
import com.owncloud.android.utils.FileStorageUtils
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,6 @@ class UnifiedSearchHeaderViewHolder(

fun bind(section: UnifiedSearchSection) {
binding.title.text = section.name
viewThemeUtils.platform.colorPrimaryTextViewElement(binding.title)
viewThemeUtils.platform.colorTextView(binding.title)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ package com.owncloud.android.ui.adapter

import android.content.Context
import android.view.View
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.core.widget.ImageViewCompat
import com.afollestad.sectionedrecyclerview.SectionedViewHolder
Expand Down Expand Up @@ -57,8 +58,8 @@ class UnifiedSearchItemViewHolder(
private val calendarEventManager = CalendarEventManager(context)

fun bind(entry: SearchResultEntry) {
binding.title.text = entry.title
bindSubline(entry)
bindTextView(binding.title, entry.title)
bindTextView(binding.subline, entry.subline)
bindLocalFileIndicator(entry)

val entryType = entry.getType()
Expand All @@ -69,16 +70,12 @@ class UnifiedSearchItemViewHolder(
}
}

private fun bindSubline(entry: SearchResultEntry) {
if (entry.subline.isNotBlank()) {
binding.subline.visibility = View.VISIBLE
binding.subline.text = entry.subline
private fun bindTextView(view: TextView, text: String?) {
if (text.isNullOrEmpty()) {
view.visibility = View.GONE
} else {
binding.subline.visibility = View.GONE

val paddingInDp = context.resources.getDimension(R.dimen.standard_padding)
val paddingInPx = DisplayUtils.convertDpToPixel(paddingInDp, context)
binding.titleContainer.setPadding(0, paddingInPx, 0, 0)
view.visibility = View.VISIBLE
view.text = text
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ class UnifiedSearchListAdapter(
init {
setHasStableIds(true)

// initialise thumbnails cache on background thread
// initialize thumbnails cache on background thread
ThumbnailsCacheManager.initDiskCacheAsync()
}

Expand Down
84 changes: 41 additions & 43 deletions app/src/main/res/layout/unified_search_current_directory_item.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,44 +5,46 @@
~ SPDX-FileCopyrightText: 2025 Alper Ozturk <alper.ozturk@nextcloud.com>
~ SPDX-License-Identifier: AGPL-3.0-or-later
-->
<androidx.constraintlayout.widget.ConstraintLayout
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/unified_search_current_dir_item_layout"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
android:layout_height="@dimen/standard_list_item_size"
android:baselineAligned="false"
android:gravity="center_vertical"
android:orientation="horizontal">

<FrameLayout
android:id="@+id/thumbnail_layout"
android:layout_width="@dimen/standard_list_item_size"
android:layout_height="@dimen/standard_list_item_size">

<ImageView
android:id="@+id/thumbnail"
android:layout_marginStart="@dimen/standard_margin"
android:layout_width="@dimen/file_icon_size"
android:layout_height="@dimen/file_icon_size"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:contentDescription="@null"
android:src="@drawable/folder" />
<ImageView
android:id="@+id/thumbnail"
android:layout_width="@dimen/file_icon_size"
android:layout_height="@dimen/file_icon_size"
android:layout_gravity="center"
android:contentDescription="@null"
android:src="@drawable/folder" />

<com.elyeproj.loaderviewlibrary.LoaderImageView
android:id="@+id/thumbnail_shimmer"
android:layout_marginStart="@dimen/standard_margin"
android:layout_width="@dimen/file_icon_size"
android:layout_height="@dimen/file_icon_size"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:visibility="gone"
app:corners="8" />
<com.elyeproj.loaderviewlibrary.LoaderImageView
android:id="@+id/thumbnail_shimmer"
android:layout_width="@dimen/file_icon_size"
android:layout_height="@dimen/file_icon_size"
android:layout_gravity="center"
android:visibility="gone"
app:corners="8" />

</FrameLayout>

<LinearLayout
android:id="@+id/titleContainer"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/standard_margin"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/more"
app:layout_constraintStart_toEndOf="@+id/thumbnail"
app:layout_constraintTop_toTopOf="parent">
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical"
android:orientation="horizontal">

<com.google.android.material.textview.MaterialTextView
android:id="@+id/filename"
Expand All @@ -66,19 +68,15 @@

</LinearLayout>

<ImageButton
<com.google.android.material.button.MaterialButton
android:id="@+id/more"
android:layout_marginEnd="@dimen/drawer_content_horizontal_padding"
android:layout_width="wrap_content"
style="?attr/materialIconButtonStyle"
android:layout_width="@dimen/minimum_size_for_touchable_area"
android:layout_height="match_parent"
android:clickable="true"
android:layout_gravity="center"
android:contentDescription="@string/overflow_menu"
android:focusable="true"
android:minHeight="@dimen/min_list_item_size"
android:src="@drawable/ic_dots_vertical"
android:background="?android:attr/selectableItemBackgroundBorderless"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
app:icon="@drawable/ic_dots_vertical"
app:iconGravity="textStart"
app:iconTint="@color/secondary_text_color" />

</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
34 changes: 9 additions & 25 deletions app/src/main/res/layout/unified_search_footer.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,15 @@
<!--
~ Nextcloud - Android Client
~
~ SPDX-FileCopyrightText: 2020 Tobias Kaminsky <tobias@kaminsky.me>
~ SPDX-FileCopyrightText: 2020 Nextcloud GmbH
~ SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
~ SPDX-FileCopyrightText: 2026 Alper Ozturk <alper.ozturk@nextcloud.com>
~ SPDX-License-Identifier: AGPL-3.0-or-later
-->
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/unified_search_footer_layout"
android:layout_width="match_parent"
android:layout_height="@dimen/min_list_item_size"
android:baselineAligned="false"
android:orientation="horizontal">


<TextView
android:layout_width="0dp"
android:layout_height="@dimen/standard_list_item_size"
android:layout_marginStart="@dimen/standard_list_item_size"
android:layout_weight="1"
android:gravity="center_vertical"
android:orientation="vertical"
android:paddingStart="@dimen/standard_quarter_padding"
android:paddingEnd="0dp"
android:text="@string/load_more_results"
android:textColor="@color/secondary_text_color">

</TextView>
</LinearLayout>

android:gravity="center_vertical"
android:paddingStart="@dimen/standard_list_item_size"
android:paddingEnd="@dimen/standard_quarter_padding"
android:text="@string/load_more_results"
android:textColor="@color/secondary_text_color" />
31 changes: 11 additions & 20 deletions app/src/main/res/layout/unified_search_header.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,17 @@
<!--
~ Nextcloud - Android Client
~
~ SPDX-FileCopyrightText: 2018 Tobias Kaminsky <tobias@kaminsky.me>
~ SPDX-FileCopyrightText: 2018 Andy Scherzinger <info@andy-scherzinger.de>
~ SPDX-FileCopyrightText: 2018 Nextcloud GmbH
~ SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
~ SPDX-FileCopyrightText: 2026 Alper Ozturk <alper.ozturk@nextcloud.com>
~ SPDX-License-Identifier: AGPL-3.0-or-later
-->
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/ListItemLayout"
android:id="@+id/title"
style="@style/TextAppearance.Material3.HeadlineSmall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
android:id="@+id/title"
style="@style/TextAppearance.AppCompat.Body2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="middle"
android:paddingHorizontal="@dimen/standard_padding"
android:paddingVertical="@dimen/standard_padding"
android:textColor="@color/color_accent"
tools:text="@string/placeholder_files" />
</RelativeLayout>
android:ellipsize="middle"
android:paddingHorizontal="@dimen/standard_padding"
android:paddingVertical="@dimen/standard_padding"
android:textColor="@color/color_accent"
tools:text="@string/placeholder_files" />
Loading
Loading