diff options
5 files changed, 29 insertions, 32 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/MainActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/MainActivity.java index b5ee17f33..a9cae64de 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/MainActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/MainActivity.java @@ -16,7 +16,6 @@ import android.text.TextUtils; import android.view.Menu; import android.view.MenuItem; import android.view.View; -import android.widget.PopupMenu; import androidx.activity.OnBackPressedCallback; import androidx.activity.result.ActivityResultLauncher; @@ -28,6 +27,7 @@ import androidx.annotation.Nullable; import androidx.annotation.UiThread; import androidx.appcompat.app.ActionBarDrawerToggle; import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.PopupMenu; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import androidx.core.graphics.drawable.DrawableCompat; diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoActivity.java index 1456b159d..61bc0c48a 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoActivity.java @@ -21,15 +21,14 @@ import androidx.camera.lifecycle.ProcessCameraProvider; import androidx.core.content.ContextCompat; import androidx.lifecycle.ViewModelProvider; -import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.common.util.concurrent.ListenableFuture; import java.io.File; import java.time.Instant; import java.time.ZoneId; import java.time.format.DateTimeFormatter; -import java.util.Arrays; import java.util.concurrent.ExecutionException; +import java.util.stream.Stream; import it.niedermann.android.reactivelivedata.ReactiveLiveData; import it.niedermann.nextcloud.deck.DeckLog; @@ -44,8 +43,6 @@ public class TakePhotoActivity extends AppCompatActivity { private ActivityTakePhotoBinding binding; private TakePhotoViewModel viewModel; - private FloatingActionButton[] brandedFABs; - private ListenableFuture<ProcessCameraProvider> cameraProviderFuture; private OrientationEventListener orientationEventListener; @@ -92,8 +89,6 @@ public class TakePhotoActivity extends AppCompatActivity { finish(); } }, ContextCompat.getMainExecutor(this)); - - brandedFABs = new FloatingActionButton[]{binding.takePhoto, binding.switchCamera, binding.toggleTorch}; } private ImageCapture getCaptureUseCase() { @@ -186,6 +181,7 @@ public class TakePhotoActivity extends AppCompatActivity { private void applyBoardColorBrand(int color) { final var utils = ThemeUtils.of(color, this); - Arrays.stream(brandedFABs).forEach(utils.material::themeFAB); + Stream.of(binding.takePhoto).forEach(utils.material::themeFAB); + Stream.of(binding.switchCamera, binding.toggleTorch).forEach(utils.deck::themeSecondaryFAB); } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/theme/DeckViewThemeUtils.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/theme/DeckViewThemeUtils.java index 3b0b523ea..174a9d0fa 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/theme/DeckViewThemeUtils.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/theme/DeckViewThemeUtils.java @@ -5,6 +5,7 @@ import static com.nextcloud.android.common.ui.util.PlatformThemeUtil.isDarkMode; import android.content.Context; import android.content.res.ColorStateList; +import android.graphics.Color; import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable; import android.graphics.drawable.StateListDrawable; @@ -24,6 +25,7 @@ import androidx.core.content.res.ResourcesCompat; import androidx.core.graphics.drawable.DrawableCompat; import androidx.core.widget.TextViewCompat; +import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.search.SearchBar; import com.google.android.material.search.SearchView; import com.google.android.material.tabs.TabLayout; @@ -213,4 +215,23 @@ public class DeckViewThemeUtils extends ViewThemeUtilsBase { public static void setImageColor(@NonNull Context context, @NonNull ImageView imageView, @ColorRes int colorRes) { imageView.setImageTintList(ColorStateList.valueOf(ContextCompat.getColor(context, colorRes))); } + + /** + * @see <a href="https://github.com/nextcloud/android-common/pull/250">Upstream Pull Request</a> + */ + @Deprecated(forRemoval = true) + public void themeSecondaryFAB(@NonNull FloatingActionButton fab) { + withScheme(fab.getContext(), scheme -> { + fab.setBackgroundTintList(buildColorStateList( + new Pair<>(android.R.attr.state_enabled, scheme.getSecondaryContainer()), + new Pair<>(-android.R.attr.state_enabled, Color.GRAY) + )); + + fab.setImageTintList(buildColorStateList( + new Pair<>(android.R.attr.state_enabled, scheme.getOnSecondaryContainer()), + new Pair<>(-android.R.attr.state_enabled, Color.GRAY) + )); + return fab; + }); + } }
\ No newline at end of file diff --git a/app/src/main/res/layout/activity_take_photo.xml b/app/src/main/res/layout/activity_take_photo.xml index 3625dfb50..2dc643442 100644 --- a/app/src/main/res/layout/activity_take_photo.xml +++ b/app/src/main/res/layout/activity_take_photo.xml @@ -26,8 +26,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:contentDescription="@string/take_photo_switch_camera" - android:tint="@android:color/white" - app:backgroundTint="@color/defaultBrand" app:layout_constraintBottom_toBottomOf="@id/takePhoto" app:layout_constraintEnd_toStartOf="@id/takePhoto" app:layout_constraintStart_toStartOf="parent" @@ -40,8 +38,6 @@ android:layout_height="wrap_content" android:layout_margin="@dimen/fab_margin" android:contentDescription="@string/take_photo" - android:tint="@android:color/white" - app:backgroundTint="@color/defaultBrand" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@id/toggle_torch" app:layout_constraintStart_toEndOf="@id/switchCamera" @@ -54,8 +50,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:contentDescription="@string/take_photo_toggle_torch" - android:tint="@android:color/white" - app:backgroundTint="@color/defaultBrand" app:layout_constraintBottom_toBottomOf="@id/takePhoto" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/takePhoto" diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 6a5fabd6c..7f6d4c275 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -28,6 +28,9 @@ <item name="colorTertiary">@color/tertiary</item> <item name="colorTertiaryContainer">@color/tertiaryContainer</item> + <!-- Used by PopupMenus --> + <item name="colorSurfaceContainer">@color/colorSurfaceContainerHigh</item> + <!-- Used by Material Dialogs & Material SearchBar --> <item name="colorSurfaceContainerHigh">@color/colorSurfaceContainerHigh</item> @@ -43,9 +46,6 @@ <!-- https://stackoverflow.com/questions/70650073/adjust-androidx-preference-dialogs-to-follow-material-you --> <item name="alertDialogTheme">@style/PreferencesAlertDialogTheme</item> - <item name="materialAlertDialogTheme">@style/MaterialAlertDialogTheme</item> - - <item name="toolbarStyle">@style/toolbarStyle</item> <item name="chipGroupStyle">@style/chipGroupStyle</item> <item name="chipStyle">@style/chipStyle</item> <item name="tabStyle">@style/tabStyle</item> @@ -56,22 +56,12 @@ <style name="AppTheme" parent="BaseTheme" /> - <style name="MaterialAlertDialogTheme" parent="ThemeOverlay.Material3.MaterialAlertDialog"> - <item name="buttonBarPositiveButtonStyle">@style/buttonStyle</item> - <item name="buttonBarNegativeButtonStyle">@style/buttonStyle</item> - <item name="buttonBarNeutralButtonStyle">@style/buttonStyle</item> - </style> - - <style name="PreferencesAlertDialogTheme" parent="MaterialAlertDialogTheme"> + <style name="PreferencesAlertDialogTheme" parent="ThemeOverlay.Material3.MaterialAlertDialog"> <!-- https://m3.material.io/components/dialogs/specs#6771d107-624e-47cc-b6d8-2b7b620ba2f1 --> <item name="dialogCornerRadius">28dp</item> <item name="android:background">?attr/colorSurface</item> </style> - <style name="buttonStyle" parent="Widget.Material3.Button.TextButton.Dialog"> - <item name="android:textColor">?attr/colorOnSurface</item> - </style> - <style name="chipGroupStyle" parent="Widget.Material3.ChipGroup"> <item name="chipSpacingVertical">0dp</item> </style> @@ -81,10 +71,6 @@ <item name="chipCornerRadius">40dp</item> </style> - <style name="toolbarStyle" parent="@style/Widget.Material3.Toolbar"> - <item name="android:background">?android:windowBackground</item> - </style> - <style name="tabStyle" parent="Widget.Material3.TabLayout"> <item name="backgroundColor">@android:color/transparent</item> <item name="itemBackground">@android:color/transparent</item> |