kopia lustrzana https://github.com/ryukoposting/Signal-Android
Fix bottom nav overlay issue with react-with-any sheet.
rodzic
c950c2bdd2
commit
1bcfbaf16e
|
@ -32,6 +32,7 @@ import com.google.android.material.shape.MaterialShapeDrawable;
|
||||||
import com.google.android.material.shape.ShapeAppearanceModel;
|
import com.google.android.material.shape.ShapeAppearanceModel;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
|
import org.thoughtcrime.securesms.components.FixedRoundedCornerBottomSheetDialogFragment;
|
||||||
import org.thoughtcrime.securesms.components.emoji.EmojiEventListener;
|
import org.thoughtcrime.securesms.components.emoji.EmojiEventListener;
|
||||||
import org.thoughtcrime.securesms.components.emoji.EmojiPageView;
|
import org.thoughtcrime.securesms.components.emoji.EmojiPageView;
|
||||||
import org.thoughtcrime.securesms.components.emoji.EmojiPageViewGridAdapter;
|
import org.thoughtcrime.securesms.components.emoji.EmojiPageViewGridAdapter;
|
||||||
|
@ -40,6 +41,7 @@ import org.thoughtcrime.securesms.keyboard.emoji.EmojiKeyboardPageCategoriesAdap
|
||||||
import org.thoughtcrime.securesms.keyboard.emoji.EmojiKeyboardPageCategoryMappingModel;
|
import org.thoughtcrime.securesms.keyboard.emoji.EmojiKeyboardPageCategoryMappingModel;
|
||||||
import org.thoughtcrime.securesms.keyboard.emoji.KeyboardPageSearchView;
|
import org.thoughtcrime.securesms.keyboard.emoji.KeyboardPageSearchView;
|
||||||
import org.thoughtcrime.securesms.reactions.edit.EditReactionsActivity;
|
import org.thoughtcrime.securesms.reactions.edit.EditReactionsActivity;
|
||||||
|
import org.thoughtcrime.securesms.util.FullscreenHelper;
|
||||||
import org.thoughtcrime.securesms.util.LifecycleDisposable;
|
import org.thoughtcrime.securesms.util.LifecycleDisposable;
|
||||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||||
import org.thoughtcrime.securesms.util.ViewUtil;
|
import org.thoughtcrime.securesms.util.ViewUtil;
|
||||||
|
@ -49,8 +51,8 @@ import java.util.Optional;
|
||||||
|
|
||||||
import static androidx.recyclerview.widget.RecyclerView.SCROLL_STATE_IDLE;
|
import static androidx.recyclerview.widget.RecyclerView.SCROLL_STATE_IDLE;
|
||||||
|
|
||||||
public final class ReactWithAnyEmojiBottomSheetDialogFragment extends BottomSheetDialogFragment implements EmojiEventListener,
|
public final class ReactWithAnyEmojiBottomSheetDialogFragment extends FixedRoundedCornerBottomSheetDialogFragment implements EmojiEventListener,
|
||||||
EmojiPageViewGridAdapter.VariationSelectorListener
|
EmojiPageViewGridAdapter.VariationSelectorListener
|
||||||
{
|
{
|
||||||
|
|
||||||
private static final String REACTION_STORAGE_KEY = "reactions_recent_emoji";
|
private static final String REACTION_STORAGE_KEY = "reactions_recent_emoji";
|
||||||
|
@ -140,36 +142,13 @@ public final class ReactWithAnyEmojiBottomSheetDialogFragment extends BottomShee
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
protected int getThemeResId() {
|
||||||
super.onCreate(savedInstanceState);
|
return R.style.Widget_Signal_ReactWithAny;
|
||||||
setStyle(DialogFragment.STYLE_NORMAL, R.style.Widget_Signal_ReactWithAny);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NonNull Dialog onCreateDialog(Bundle savedInstanceState) {
|
public @NonNull Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||||
BottomSheetDialog dialog = (BottomSheetDialog) super.onCreateDialog(savedInstanceState);
|
Dialog dialog = (BottomSheetDialog) super.onCreateDialog(savedInstanceState);
|
||||||
dialog.getBehavior().setPeekHeight((int) (getResources().getDisplayMetrics().heightPixels * 0.50));
|
|
||||||
|
|
||||||
ShapeAppearanceModel shapeAppearanceModel = ShapeAppearanceModel.builder()
|
|
||||||
.setTopLeftCorner(CornerFamily.ROUNDED, ViewUtil.dpToPx(requireContext(), 18))
|
|
||||||
.setTopRightCorner(CornerFamily.ROUNDED, ViewUtil.dpToPx(requireContext(), 18))
|
|
||||||
.build();
|
|
||||||
|
|
||||||
MaterialShapeDrawable dialogBackground = new MaterialShapeDrawable(shapeAppearanceModel);
|
|
||||||
|
|
||||||
dialogBackground.setTint(ContextCompat.getColor(requireContext(), R.color.react_with_any_background));
|
|
||||||
|
|
||||||
dialog.getBehavior().addBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
|
|
||||||
@Override
|
|
||||||
public void onStateChanged(@NonNull View bottomSheet, int newState) {
|
|
||||||
if (bottomSheet.getBackground() != dialogBackground) {
|
|
||||||
ViewCompat.setBackground(bottomSheet, dialogBackground);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onSlide(@NonNull View bottomSheet, float slideOffset) { }
|
|
||||||
});
|
|
||||||
|
|
||||||
boolean shadows = requireArguments().getBoolean(ARG_SHADOWS, true);
|
boolean shadows = requireArguments().getBoolean(ARG_SHADOWS, true);
|
||||||
if (!shadows) {
|
if (!shadows) {
|
||||||
|
|
|
@ -430,10 +430,6 @@
|
||||||
<item name="android:backgroundDimEnabled">true</item>
|
<item name="android:backgroundDimEnabled">true</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Theme.Signal.BottomSheetDialog.Fixed.ReactWithAny.Shadowless">
|
|
||||||
<item name="android:backgroundDimEnabled">false</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="Signal.DayNight.Dialog.Animated" parent="Signal.DayNight">
|
<style name="Signal.DayNight.Dialog.Animated" parent="Signal.DayNight">
|
||||||
<item name="android:windowAnimationStyle">@style/FadeScale</item>
|
<item name="android:windowAnimationStyle">@style/FadeScale</item>
|
||||||
</style>
|
</style>
|
||||||
|
@ -448,9 +444,7 @@
|
||||||
<item name="shapeAppearanceOverlay">@style/ShapeAppearanceOverlay.Signal.BottomSheet.Rounded</item>
|
<item name="shapeAppearanceOverlay">@style/ShapeAppearanceOverlay.Signal.BottomSheet.Rounded</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Widget.Signal.ReactWithAny" parent="ThemeOverlay.MaterialComponents.BottomSheetDialog">
|
<style name="Widget.Signal.ReactWithAny" parent="Widget.Signal.FixedRoundedCorners">
|
||||||
<item name="android:windowIsFloating">false</item>
|
|
||||||
<item name="android:windowSoftInputMode">adjustResize</item>
|
|
||||||
<item name="bottomSheetStyle">@style/Widget.Signal.ReactWithAny.BottomSheet</item>
|
<item name="bottomSheetStyle">@style/Widget.Signal.ReactWithAny.BottomSheet</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue