mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-20 03:59:35 +01:00
material 3 theming for search bar, toolbar and fab
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
This commit is contained in:
parent
0f997b433d
commit
a6ba545aef
@ -359,7 +359,7 @@ public class ConversationsListController extends BaseController implements Flexi
|
|||||||
SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context.SEARCH_SERVICE);
|
SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context.SEARCH_SERVICE);
|
||||||
if (searchItem != null) {
|
if (searchItem != null) {
|
||||||
searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
|
searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
|
||||||
DisplayUtils.themeSearchView(searchView, context);
|
viewThemeUtils.themeSearchView(searchView);
|
||||||
searchView.setMaxWidth(Integer.MAX_VALUE);
|
searchView.setMaxWidth(Integer.MAX_VALUE);
|
||||||
searchView.setInputType(InputType.TYPE_TEXT_VARIATION_FILTER);
|
searchView.setInputType(InputType.TYPE_TEXT_VARIATION_FILTER);
|
||||||
int imeOptions = EditorInfo.IME_ACTION_DONE | EditorInfo.IME_FLAG_NO_FULLSCREEN;
|
int imeOptions = EditorInfo.IME_ACTION_DONE | EditorInfo.IME_FLAG_NO_FULLSCREEN;
|
||||||
@ -421,23 +421,15 @@ public class ConversationsListController extends BaseController implements Flexi
|
|||||||
|
|
||||||
activity.binding.searchText.setOnClickListener(v -> {
|
activity.binding.searchText.setOnClickListener(v -> {
|
||||||
showSearchView(activity, searchView, searchItem);
|
showSearchView(activity, searchView, searchItem);
|
||||||
if (getResources() != null) {
|
viewThemeUtils.themeStatusBar(activity, searchView);
|
||||||
DisplayUtils.applyColorToStatusBar(
|
|
||||||
activity,
|
|
||||||
ResourcesCompat.getColor(getResources(), R.color.appbar, null)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
searchView.setOnCloseListener(() -> {
|
searchView.setOnCloseListener(() -> {
|
||||||
if (TextUtils.isEmpty(searchView.getQuery().toString())) {
|
if (TextUtils.isEmpty(searchView.getQuery().toString())) {
|
||||||
searchView.onActionViewCollapsed();
|
searchView.onActionViewCollapsed();
|
||||||
if (activity != null && getResources() != null) {
|
if (activity != null) {
|
||||||
DisplayUtils.applyColorToStatusBar(
|
viewThemeUtils.resetStatusBar(activity, searchView);
|
||||||
activity,
|
|
||||||
ResourcesCompat.getColor(getResources(), R.color.bg_default, null)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
searchView.post(() -> searchView.setQuery(TAG, true));
|
searchView.post(() -> searchView.setQuery(TAG, true));
|
||||||
|
@ -49,6 +49,7 @@ import com.nextcloud.talk.controllers.ServerSelectionController;
|
|||||||
import com.nextcloud.talk.controllers.SwitchAccountController;
|
import com.nextcloud.talk.controllers.SwitchAccountController;
|
||||||
import com.nextcloud.talk.controllers.WebViewLoginController;
|
import com.nextcloud.talk.controllers.WebViewLoginController;
|
||||||
import com.nextcloud.talk.controllers.base.providers.ActionBarProvider;
|
import com.nextcloud.talk.controllers.base.providers.ActionBarProvider;
|
||||||
|
import com.nextcloud.talk.ui.theme.ViewThemeUtils;
|
||||||
import com.nextcloud.talk.utils.DisplayUtils;
|
import com.nextcloud.talk.utils.DisplayUtils;
|
||||||
import com.nextcloud.talk.utils.preferences.AppPreferences;
|
import com.nextcloud.talk.utils.preferences.AppPreferences;
|
||||||
|
|
||||||
@ -70,9 +71,13 @@ public abstract class BaseController extends ButterKnifeController {
|
|||||||
private static final String TAG = "BaseController";
|
private static final String TAG = "BaseController";
|
||||||
@Inject
|
@Inject
|
||||||
AppPreferences appPreferences;
|
AppPreferences appPreferences;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
Context context;
|
Context context;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
ViewThemeUtils viewThemeUtils;
|
||||||
|
|
||||||
protected BaseController() {
|
protected BaseController() {
|
||||||
cleanTempCertPreference();
|
cleanTempCertPreference();
|
||||||
}
|
}
|
||||||
@ -109,12 +114,18 @@ public abstract class BaseController extends ButterKnifeController {
|
|||||||
@Override
|
@Override
|
||||||
protected void onViewBound(@NonNull View view) {
|
protected void onViewBound(@NonNull View view) {
|
||||||
super.onViewBound(view);
|
super.onViewBound(view);
|
||||||
|
MainActivity activity = null;
|
||||||
|
|
||||||
|
if (getActivity() != null && getActivity() instanceof MainActivity) {
|
||||||
|
activity = (MainActivity) getActivity();
|
||||||
|
viewThemeUtils.themeCardView(activity.binding.searchToolbar);
|
||||||
|
viewThemeUtils.themeToolbar(activity.binding.toolbar);
|
||||||
|
}
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && appPreferences.getIsKeyboardIncognito()) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && appPreferences.getIsKeyboardIncognito()) {
|
||||||
disableKeyboardPersonalisedLearning((ViewGroup) view);
|
disableKeyboardPersonalisedLearning((ViewGroup) view);
|
||||||
|
|
||||||
if (getActivity() != null && getActivity() instanceof MainActivity) {
|
if (activity != null) {
|
||||||
MainActivity activity = (MainActivity) getActivity();
|
|
||||||
disableKeyboardPersonalisedLearning(activity.binding.appBar);
|
disableKeyboardPersonalisedLearning(activity.binding.appBar);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -517,19 +517,6 @@ public class DisplayUtils {
|
|||||||
window.setNavigationBarColor(color);
|
window.setNavigationBarColor(color);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Theme search view
|
|
||||||
*
|
|
||||||
* @param searchView searchView to be changed
|
|
||||||
* @param context the app's context
|
|
||||||
*/
|
|
||||||
public static void themeSearchView(SearchView searchView, Context context) {
|
|
||||||
// hacky as no default way is provided
|
|
||||||
SearchView.SearchAutoComplete editText = searchView.findViewById(R.id.search_src_text);
|
|
||||||
editText.setTextSize(16);
|
|
||||||
editText.setHintTextColor(context.getResources().getColor(R.color.fontSecondaryAppbar));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* beautifies a given URL by removing any http/https protocol prefix.
|
* beautifies a given URL by removing any http/https protocol prefix.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user