diff --git a/app/build.gradle b/app/build.gradle index 7f6dedc07..1a4a12d9d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -92,7 +92,7 @@ dependencies { coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4' // Nextcloud SSO - implementation 'com.github.nextcloud.android-common:ui:0.17.0' + implementation 'com.github.nextcloud.android-common:ui:0.18.0' implementation 'com.github.nextcloud:Android-SingleSignOn:1.1.0' implementation 'com.github.stefan-niedermann:android-commons:1.0.0' implementation "com.github.stefan-niedermann.nextcloud-commons:sso-glide:$commonsVersion" diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/NotesViewThemeUtils.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/NotesViewThemeUtils.java index 8c9d3642a..a28e68126 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/branding/NotesViewThemeUtils.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/NotesViewThemeUtils.java @@ -22,6 +22,7 @@ import androidx.annotation.ColorInt; import androidx.annotation.IdRes; import androidx.annotation.NonNull; +import androidx.appcompat.widget.AppCompatAutoCompleteTextView; import androidx.appcompat.widget.SearchView; import androidx.appcompat.widget.Toolbar; import androidx.core.content.ContextCompat; @@ -34,6 +35,7 @@ import com.nextcloud.android.common.ui.theme.ViewThemeUtilsBase; import com.nextcloud.android.common.ui.theme.utils.MaterialViewThemeUtils; +import dynamiccolor.MaterialDynamicColors; import it.niedermann.android.util.ColorUtil; import it.niedermann.owncloud.notes.R; import it.niedermann.owncloud.notes.main.navigation.NavigationItem; @@ -44,6 +46,8 @@ public class NotesViewThemeUtils extends ViewThemeUtilsBase { private static final String TAG = NotesViewThemeUtils.class.getSimpleName(); + private final MaterialDynamicColors dynamicColor = new MaterialDynamicColors(); + public NotesViewThemeUtils(@NonNull MaterialSchemes schemes) { super(schemes); } @@ -55,7 +59,7 @@ public NotesViewThemeUtils(@NonNull MaterialSchemes schemes) { public void colorNavigationViewItem(@NonNull View view) { withScheme(view, scheme -> { view.setBackgroundTintList(buildColorStateList( - new Pair<>(android.R.attr.state_selected, scheme.getSecondaryContainer()), + new Pair<>(android.R.attr.state_selected, dynamicColor.secondaryContainer().getArgb(scheme)), new Pair<>(-android.R.attr.state_selected, Color.TRANSPARENT) )); return view; @@ -69,8 +73,8 @@ public void colorNavigationViewItem(@NonNull View view) { public void colorNavigationViewItemIcon(@NonNull ImageView view) { withScheme(view, scheme -> { view.setImageTintList(buildColorStateList( - new Pair<>(android.R.attr.state_selected, scheme.getOnSecondaryContainer()), - new Pair<>(-android.R.attr.state_selected, scheme.getOnSurfaceVariant()) + new Pair<>(android.R.attr.state_selected, dynamicColor.onSecondaryContainer().getArgb(scheme)), + new Pair<>(-android.R.attr.state_selected, dynamicColor.onSurfaceVariant().getArgb(scheme)) )); return view; }); @@ -83,8 +87,8 @@ public void colorNavigationViewItemIcon(@NonNull ImageView view) { public void colorNavigationViewItemText(@NonNull TextView view) { withScheme(view, scheme -> { view.setTextColor(buildColorStateList( - new Pair<>(android.R.attr.state_selected, scheme.getOnSecondaryContainer()), - new Pair<>(-android.R.attr.state_selected, scheme.getOnSurfaceVariant()) + new Pair<>(android.R.attr.state_selected, dynamicColor.onSecondaryContainer().getArgb(scheme)), + new Pair<>(-android.R.attr.state_selected, dynamicColor.onSurfaceVariant().getArgb(scheme)) )); return view; }); @@ -167,7 +171,7 @@ public int getTextHighlightBackgroundColor(@NonNull Context context, @Deprecated public void themeSearchCardView(@NonNull MaterialCardView searchBarWrapper) { withScheme(searchBarWrapper, scheme -> { - searchBarWrapper.setBackgroundTintList(ColorStateList.valueOf(scheme.getSurface())); + searchBarWrapper.setBackgroundTintList(ColorStateList.valueOf(dynamicColor.surface().getArgb(scheme))); return searchBarWrapper; }); } @@ -179,8 +183,8 @@ public void themeSearchCardView(@NonNull MaterialCardView searchBarWrapper) { @Deprecated public void themeSearchToolbar(@NonNull MaterialToolbar toolbar) { withScheme(toolbar, scheme -> { - toolbar.setNavigationIconTint(scheme.getOnSurface()); - toolbar.setTitleTextColor(scheme.getOnSurface()); + toolbar.setNavigationIconTint(dynamicColor.onSurface().getArgb(scheme)); + toolbar.setTitleTextColor(dynamicColor.onSurface().getArgb(scheme)); return toolbar; }); } @@ -193,15 +197,15 @@ public void themeSearchToolbar(@NonNull MaterialToolbar toolbar) { public void themeToolbarSearchView(@NonNull SearchView searchView) { withScheme(searchView, scheme -> { // hacky as no default way is provided - final var editText = (SearchView.SearchAutoComplete) searchView + final var editText = (AppCompatAutoCompleteTextView) searchView .findViewById(androidx.appcompat.R.id.search_src_text); final var closeButton = (ImageView) searchView.findViewById(androidx.appcompat.R.id.search_close_btn); final var searchButton = (ImageView) searchView.findViewById(androidx.appcompat.R.id.search_button); - editText.setHintTextColor(scheme.getOnSurfaceVariant()); - editText.setHighlightColor(scheme.getInverseOnSurface()); - editText.setTextColor(scheme.getOnSurface()); - closeButton.setColorFilter(scheme.getOnSurface()); - searchButton.setColorFilter(scheme.getOnSurface()); + editText.setHintTextColor(dynamicColor.onSurfaceVariant().getArgb(scheme)); + editText.setHighlightColor(dynamicColor.inverseOnSurface().getArgb(scheme)); + editText.setTextColor(dynamicColor.onSurface().getArgb(scheme)); + closeButton.setColorFilter(dynamicColor.onSurface().getArgb(scheme)); + searchButton.setColorFilter(dynamicColor.onSurface().getArgb(scheme)); return searchView; }); } diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 2d77f25f3..2b4722c29 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -309,6 +309,11 @@ + + + + + @@ -1654,6 +1659,14 @@ + + + + + + + + @@ -1686,6 +1699,14 @@ + + + + + + + + @@ -1718,6 +1739,14 @@ + + + + + + + +