Skip to content

Commit 70d4abf

Browse files
committed
Customized SearchView theme.
1 parent 71c84b8 commit 70d4abf

File tree

15 files changed

+211
-13
lines changed

15 files changed

+211
-13
lines changed

app/src/main/java/com/nextcloud/client/logger/ui/LogsActivity.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import androidx.lifecycle.ViewModelProvider
1717
import androidx.recyclerview.widget.LinearLayoutManager
1818
import androidx.recyclerview.widget.RecyclerView
1919
import com.nextcloud.client.di.ViewModelFactory
20+
import com.nmc.android.utils.SearchViewThemeUtils.themeSearchView
2021
import com.owncloud.android.R
2122
import com.owncloud.android.databinding.LogsActivityBinding
2223
import com.owncloud.android.ui.activity.ToolbarActivity
@@ -74,7 +75,8 @@ class LogsActivity : ToolbarActivity() {
7475

7576
(menu.findItem(R.id.action_search).actionView as SearchView).apply {
7677
setOnQueryTextListener(searchBoxListener)
77-
viewThemeUtils.androidx.themeToolbarSearchView(this)
78+
//NMC customization
79+
themeSearchView(this@LogsActivity, this)
7880
}
7981
return super.onCreateOptionsMenu(menu)
8082
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.nmc.android.utils
2+
3+
import android.content.Context
4+
import android.widget.ImageView
5+
import androidx.appcompat.widget.AppCompatAutoCompleteTextView
6+
import androidx.appcompat.widget.SearchView
7+
import com.owncloud.android.R
8+
9+
object SearchViewThemeUtils {
10+
fun themeSearchView(context: Context, searchView: SearchView) {
11+
val fontColor = context.resources.getColor(R.color.fontAppbar, null)
12+
val editText: AppCompatAutoCompleteTextView =
13+
searchView.findViewById(com.google.android.material.R.id.search_src_text)
14+
editText.textSize = 16F
15+
editText.setTextColor(fontColor)
16+
editText.highlightColor = context.resources.getColor(R.color.et_highlight_color, null)
17+
editText.setHintTextColor(context.resources.getColor(R.color.fontSecondaryAppbar, null))
18+
val closeButton: ImageView = searchView.findViewById(com.google.android.material.R.id.search_close_btn)
19+
closeButton.setColorFilter(fontColor)
20+
val searchButton: ImageView = searchView.findViewById(com.google.android.material.R.id.search_button)
21+
searchButton.setImageResource(R.drawable.ic_search)
22+
searchButton.setColorFilter(fontColor)
23+
}
24+
}

app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ import com.nextcloud.utils.extensions.lastFragment
8484
import com.nextcloud.utils.extensions.logFileSize
8585
import com.nextcloud.utils.fileNameValidator.FileNameValidator.checkFolderPath
8686
import com.nextcloud.utils.view.FastScrollUtils
87+
import com.nmc.android.utils.SearchViewThemeUtils
8788
import com.owncloud.android.MainApp
8889
import com.owncloud.android.R
8990
import com.owncloud.android.databinding.FilesBinding
@@ -867,7 +868,10 @@ class FileDisplayActivity :
867868
searchView?.isIconified = false
868869
}
869870

870-
searchView?.let { viewThemeUtils.androidx.themeToolbarSearchView(it) }
871+
searchView?.let {
872+
//NMC customization
873+
SearchViewThemeUtils.themeSearchView(this, it)
874+
}
871875

872876
// populate list of menu items to show/hide when drawer is opened/closed
873877
mDrawerMenuItemstoShowHideList = ArrayList<MenuItem>(1)

app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
import com.nextcloud.utils.extensions.FileExtensionsKt;
5757
import com.nextcloud.utils.extensions.IntentExtensionsKt;
5858
import com.nextcloud.utils.fileNameValidator.FileNameValidator;
59+
import com.nmc.android.utils.SearchViewThemeUtils;
5960
import com.owncloud.android.MainApp;
6061
import com.owncloud.android.R;
6162
import com.owncloud.android.databinding.ReceiveExternalFilesBinding;
@@ -1084,7 +1085,8 @@ public boolean onQueryTextChange(String newText) {
10841085
}
10851086
});
10861087

1087-
viewThemeUtils.androidx.themeToolbarSearchView(searchView);
1088+
//NMC customization
1089+
SearchViewThemeUtils.INSTANCE.themeSearchView(this, searchView);
10881090
}
10891091

10901092
@Override

app/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030

3131
import com.nextcloud.client.account.User;
3232
import com.nextcloud.client.core.Clock;
33+
import com.nmc.android.utils.SearchViewThemeUtils;
3334
import com.nextcloud.client.di.Injectable;
3435
import com.nextcloud.client.jobs.upload.FileUploadHelper;
3536
import com.nextcloud.client.jobs.upload.FileUploadWorker;
@@ -296,8 +297,10 @@ public boolean onCreateOptionsMenu(Menu menu) {
296297

297298
final MenuItem item = menu.findItem(R.id.action_search);
298299
mSearchView = (SearchView) MenuItemCompat.getActionView(item);
299-
viewThemeUtils.androidx.themeToolbarSearchView(mSearchView);
300-
viewThemeUtils.platform.tintTextDrawable(this, menu.findItem(R.id.action_choose_storage_path).getIcon());
300+
//NMC customization
301+
SearchViewThemeUtils.INSTANCE.themeSearchView(this, mSearchView);
302+
viewThemeUtils.platform.colorDrawable(menu.findItem(R.id.action_choose_storage_path).getIcon(),
303+
getResources().getColor(R.color.fontAppbar, null));
301304

302305
mSearchView.setOnSearchClickListener(v -> mToolbarSpinner.setVisibility(View.GONE));
303306

app/src/main/java/com/owncloud/android/ui/adapter/UnifiedSearchHeaderViewHolder.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,5 @@ class UnifiedSearchHeaderViewHolder(
2121

2222
fun bind(section: UnifiedSearchSection) {
2323
binding.title.text = section.name
24-
viewThemeUtils.platform.colorPrimaryTextViewElement(binding.title)
2524
}
2625
}

app/src/main/java/com/owncloud/android/ui/adapter/UnifiedSearchItemViewHolder.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ class UnifiedSearchItemViewHolder(
116116

117117
val defaultDrawable = MimeTypeUtil.getFileTypeIcon(mimetype, entry.title, context, viewThemeUtils)
118118
val drawable: Drawable = ResourcesCompat.getDrawable(context.resources, iconId, null) ?: defaultDrawable
119-
return viewThemeUtils.platform.tintDrawable(context, drawable, ColorRole.PRIMARY)
119+
// NMC Customization: No tinting required
120+
return drawable
120121
}
121122
}

app/src/main/java/com/owncloud/android/ui/fragment/ExtendedListFragment.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ import com.nextcloud.client.preferences.AppPreferences
5858
import com.nextcloud.client.preferences.AppPreferencesImpl
5959
import com.nextcloud.utils.extensions.getTypedActivity
6060
import com.nextcloud.utils.extensions.handleBackButtonEvent
61+
import com.nmc.android.utils.SearchViewThemeUtils
6162
import com.owncloud.android.MainApp
6263
import com.owncloud.android.R
6364
import com.owncloud.android.databinding.ListFragmentBinding
@@ -167,7 +168,8 @@ open class ExtendedListFragment :
167168
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
168169
val item = menu.findItem(R.id.action_search)
169170
searchView = item.actionView as SearchView?
170-
viewThemeUtils.androidx.themeToolbarSearchView(searchView!!)
171+
// NMC customization
172+
SearchViewThemeUtils.themeSearchView(requireActivity(), searchView!!)
171173
closeButton = searchView?.findViewById(androidx.appcompat.R.id.search_close_btn)
172174
searchView?.setOnQueryTextListener(this)
173175
searchView?.setOnCloseListener(this)

app/src/main/java/com/owncloud/android/ui/fragment/UnifiedSearchFragment.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import com.nextcloud.client.di.Injectable
3535
import com.nextcloud.client.di.ViewModelFactory
3636
import com.nextcloud.client.network.ClientFactory
3737
import com.nextcloud.utils.extensions.typedActivity
38+
import com.nmc.android.utils.SearchViewThemeUtils.themeSearchView
3839
import com.owncloud.android.R
3940
import com.owncloud.android.databinding.ListFragmentBinding
4041
import com.owncloud.android.datamodel.FileDataStorageManager
@@ -180,7 +181,8 @@ class UnifiedSearchFragment :
180181
// Required to align with TextView width.
181182
// Because this fragment is opened with TextView onClick on the previous screen
182183
maxWidth = Integer.MAX_VALUE
183-
viewThemeUtils.androidx.themeToolbarSearchView(this)
184+
// NMC Customization
185+
themeSearchView(requireActivity(), this)
184186
setQuery(vm.query.value, false)
185187
setOnQueryTextListener(this@UnifiedSearchFragment)
186188
isIconified = false

app/src/main/java/com/owncloud/android/ui/preview/PreviewTextFileFragment.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.nextcloud.ui.fileactions.FileActionsBottomSheet;
2323
import com.nextcloud.utils.extensions.BundleExtensionsKt;
2424
import com.nextcloud.utils.extensions.FileExtensionsKt;
25+
import com.nmc.android.utils.SearchViewThemeUtils;
2526
import com.owncloud.android.R;
2627
import com.owncloud.android.datamodel.OCFile;
2728
import com.owncloud.android.lib.common.utils.Log_OC;
@@ -248,7 +249,8 @@ public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflat
248249
menuItem.setVisible(true);
249250
searchView = (SearchView) MenuItemCompat.getActionView(menuItem);
250251
searchView.setMaxWidth(Integer.MAX_VALUE);
251-
viewThemeUtils.androidx.themeToolbarSearchView(searchView);
252+
//NMC customization
253+
SearchViewThemeUtils.INSTANCE.themeSearchView(requireActivity(), searchView);
252254

253255
if (searchOpen) {
254256
searchView.setIconified(false);

0 commit comments

Comments
 (0)