Skip to content

Commit 095e59c

Browse files
committed
Customized SearchView theme.
1 parent c5eaf11 commit 095e59c

File tree

14 files changed

+206
-12
lines changed

14 files changed

+206
-12
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
@@ -30,6 +30,7 @@ import androidx.lifecycle.ViewModelProvider
3030
import androidx.recyclerview.widget.LinearLayoutManager
3131
import androidx.recyclerview.widget.RecyclerView
3232
import com.nextcloud.client.di.ViewModelFactory
33+
import com.nmc.android.utils.SearchViewThemeUtils.themeSearchView
3334
import com.owncloud.android.R
3435
import com.owncloud.android.databinding.LogsActivityBinding
3536
import com.owncloud.android.ui.activity.ToolbarActivity
@@ -93,7 +94,8 @@ class LogsActivity : ToolbarActivity() {
9394

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

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@
7272
import com.nextcloud.client.utils.IntentUtil;
7373
import com.nextcloud.java.util.Optional;
7474
import com.nextcloud.utils.view.FastScrollUtils;
75+
import com.nmc.android.utils.SearchViewThemeUtils;
7576
import com.owncloud.android.MainApp;
7677
import com.owncloud.android.R;
7778
import com.owncloud.android.databinding.FilesBinding;
@@ -746,7 +747,8 @@ public boolean onCreateOptionsMenu(Menu menu) {
746747
searchView.setIconified(false);
747748
});
748749

749-
viewThemeUtils.androidx.themeToolbarSearchView(searchView);
750+
//NMC customization
751+
SearchViewThemeUtils.INSTANCE.themeSearchView(this, searchView);
750752

751753
// populate list of menu items to show/hide when drawer is opened/closed
752754
mDrawerMenuItemstoShowHideList = new ArrayList<>(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
@@ -61,6 +61,7 @@
6161
import com.nextcloud.client.account.User;
6262
import com.nextcloud.client.di.Injectable;
6363
import com.nextcloud.client.preferences.AppPreferences;
64+
import com.nmc.android.utils.SearchViewThemeUtils;
6465
import com.owncloud.android.MainApp;
6566
import com.owncloud.android.R;
6667
import com.owncloud.android.databinding.ReceiveExternalFilesBinding;
@@ -1045,7 +1046,8 @@ public boolean onQueryTextChange(String newText) {
10451046
}
10461047
});
10471048

1048-
viewThemeUtils.androidx.themeToolbarSearchView(searchView);
1049+
//NMC customization
1050+
SearchViewThemeUtils.INSTANCE.themeSearchView(this, searchView);
10491051
}
10501052

10511053
@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
@@ -36,6 +36,7 @@
3636
import android.widget.TextView;
3737

3838
import com.nextcloud.client.account.User;
39+
import com.nmc.android.utils.SearchViewThemeUtils;
3940
import com.nextcloud.client.di.Injectable;
4041
import com.nextcloud.client.preferences.AppPreferences;
4142
import com.owncloud.android.R;
@@ -293,8 +294,10 @@ public boolean onCreateOptionsMenu(Menu menu) {
293294

294295
final MenuItem item = menu.findItem(R.id.action_search);
295296
mSearchView = (SearchView) MenuItemCompat.getActionView(item);
296-
viewThemeUtils.androidx.themeToolbarSearchView(mSearchView);
297-
viewThemeUtils.platform.tintTextDrawable(this, menu.findItem(R.id.action_choose_storage_path).getIcon());
297+
//NMC customization
298+
SearchViewThemeUtils.INSTANCE.themeSearchView(this, mSearchView);
299+
viewThemeUtils.platform.colorDrawable(menu.findItem(R.id.action_choose_storage_path).getIcon(),
300+
getResources().getColor(R.color.fontAppbar, null));
298301

299302
mSearchView.setOnSearchClickListener(v -> mToolbarSpinner.setVisibility(View.GONE));
300303

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
@@ -36,6 +36,5 @@ class UnifiedSearchHeaderViewHolder(
3636

3737
fun bind(section: UnifiedSearchSection) {
3838
binding.title.text = section.name
39-
viewThemeUtils.platform.colorPrimaryTextViewElement(binding.title)
4039
}
4140
}

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
@@ -100,7 +100,8 @@ class UnifiedSearchItemViewHolder(
100100
MimeTypeUtil.getFileTypeIcon(mimetype, entry.title, context, viewThemeUtils)
101101
}
102102
}
103-
return viewThemeUtils.platform.tintPrimaryDrawable(context, drawable)!!
103+
//NMC Customization
104+
return drawable!!
104105
}
105106

106107
private inner class RoundIfNeededListener(private val entry: SearchResultEntry) :

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
import com.google.android.material.button.MaterialButton;
5353
import com.nextcloud.client.account.UserAccountManager;
5454
import com.nextcloud.client.di.Injectable;
55+
import com.nmc.android.utils.SearchViewThemeUtils;
5556
import com.nextcloud.client.preferences.AppPreferences;
5657
import com.nextcloud.client.preferences.AppPreferencesImpl;
5758
import com.owncloud.android.MainApp;
@@ -178,7 +179,8 @@ public boolean isGridEnabled() {
178179
public void onCreateOptionsMenu(Menu menu, @NonNull MenuInflater inflater) {
179180
final MenuItem item = menu.findItem(R.id.action_search);
180181
searchView = (SearchView) MenuItemCompat.getActionView(item);
181-
viewThemeUtils.androidx.themeToolbarSearchView(searchView);
182+
//NMC customization
183+
SearchViewThemeUtils.INSTANCE.themeSearchView(requireActivity(), searchView);
182184
closeButton = searchView.findViewById(androidx.appcompat.R.id.search_close_btn);
183185
searchView.setOnQueryTextListener(this);
184186
searchView.setOnCloseListener(this);

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import com.nextcloud.client.core.AsyncRunner
3939
import com.nextcloud.client.di.Injectable
4040
import com.nextcloud.client.di.ViewModelFactory
4141
import com.nextcloud.client.network.ClientFactory
42+
import com.nmc.android.utils.SearchViewThemeUtils.themeSearchView
4243
import com.owncloud.android.R
4344
import com.owncloud.android.databinding.ListFragmentBinding
4445
import com.owncloud.android.datamodel.FileDataStorageManager
@@ -230,7 +231,10 @@ class UnifiedSearchFragment : Fragment(), Injectable, UnifiedSearchListInterface
230231
// Because this fragment is opened with TextView onClick on the previous screen
231232
searchView?.maxWidth = Integer.MAX_VALUE
232233

233-
viewThemeUtils.androidx.themeToolbarSearchView(searchView!!)
234+
// NMC customization
235+
searchView?.let {
236+
themeSearchView(requireActivity(), it)
237+
}
234238

235239
searchView?.setQuery(vm.query.value, false)
236240
searchView?.setOnQueryTextListener(this)

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
@@ -35,6 +35,7 @@
3535
import com.nextcloud.client.account.User;
3636
import com.nextcloud.client.account.UserAccountManager;
3737
import com.nextcloud.ui.fileactions.FileActionsBottomSheet;
38+
import com.nmc.android.utils.SearchViewThemeUtils;
3839
import com.owncloud.android.R;
3940
import com.owncloud.android.datamodel.OCFile;
4041
import com.owncloud.android.lib.common.utils.Log_OC;
@@ -267,7 +268,8 @@ public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflat
267268
menuItem.setVisible(true);
268269
searchView = (SearchView) MenuItemCompat.getActionView(menuItem);
269270
searchView.setMaxWidth(Integer.MAX_VALUE);
270-
viewThemeUtils.androidx.themeToolbarSearchView(searchView);
271+
//NMC customization
272+
SearchViewThemeUtils.INSTANCE.themeSearchView(requireActivity(), searchView);
271273

272274
if (searchOpen) {
273275
searchView.setIconified(false);

0 commit comments

Comments
 (0)