mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-26 12:44:38 +00:00
Fix broken Material3 changes on Android 6.
This commit is contained in:
@@ -125,10 +125,10 @@ public class MainActivity extends PassphraseRequiredActivity implements VoiceNot
|
||||
private void updateTabVisibility() {
|
||||
if (Stories.isFeatureEnabled()) {
|
||||
findViewById(R.id.conversation_list_tabs).setVisibility(View.VISIBLE);
|
||||
WindowUtil.setNavigationBarColor(getWindow(), ContextCompat.getColor(this, R.color.signal_colorSurface2));
|
||||
WindowUtil.setNavigationBarColor(this, ContextCompat.getColor(this, R.color.signal_colorSurface2));
|
||||
} else {
|
||||
findViewById(R.id.conversation_list_tabs).setVisibility(View.GONE);
|
||||
WindowUtil.setNavigationBarColor(getWindow(), ContextCompat.getColor(this, R.color.signal_colorBackground));
|
||||
WindowUtil.setNavigationBarColor(this, ContextCompat.getColor(this, R.color.signal_colorBackground));
|
||||
conversationListTabsViewModel.onChatsSelected();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2279,7 +2279,7 @@ public class ConversationParentFragment extends Fragment
|
||||
int toolbarTextAndIconColor = getResources().getColor(R.color.signal_colorNeutralInverse);
|
||||
toolbar.setTitleTextColor(toolbarTextAndIconColor);
|
||||
setToolbarActionItemTint(toolbar, toolbarTextAndIconColor);
|
||||
WindowUtil.setNavigationBarColor(requireActivity().getWindow(), getResources().getColor(R.color.conversation_navigation_wallpaper));
|
||||
WindowUtil.setNavigationBarColor(requireActivity(), getResources().getColor(R.color.conversation_navigation_wallpaper));
|
||||
} else {
|
||||
wallpaper.setImageDrawable(null);
|
||||
wallpaperDim.setVisibility(View.GONE);
|
||||
@@ -2292,7 +2292,7 @@ public class ConversationParentFragment extends Fragment
|
||||
int toolbarTextAndIconColor = getResources().getColor(R.color.signal_colorOnSurface);
|
||||
toolbar.setTitleTextColor(toolbarTextAndIconColor);
|
||||
setToolbarActionItemTint(toolbar, toolbarTextAndIconColor);
|
||||
WindowUtil.setNavigationBarColor(requireActivity().getWindow(), getResources().getColor(R.color.signal_colorBackground));
|
||||
WindowUtil.setNavigationBarColor(requireActivity(), getResources().getColor(R.color.signal_colorBackground));
|
||||
}
|
||||
fragment.onWallpaperChanged(chatWallpaper);
|
||||
messageRequestBottomView.setWallpaperEnabled(chatWallpaper != null);
|
||||
|
||||
@@ -443,7 +443,7 @@ public final class ConversationReactionOverlay extends FrameLayout {
|
||||
WindowUtil.setStatusBarColor(window, barColor);
|
||||
|
||||
originalNavigationBarColor = window.getNavigationBarColor();
|
||||
WindowUtil.setNavigationBarColor(window, barColor);
|
||||
WindowUtil.setNavigationBarColor(activity, barColor);
|
||||
|
||||
if (!ThemeUtil.isDarkTheme(getContext())) {
|
||||
WindowUtil.clearLightStatusBar(window);
|
||||
@@ -915,7 +915,7 @@ public final class ConversationReactionOverlay extends FrameLayout {
|
||||
ValueAnimator navigationBarAnim = ValueAnimator.ofArgb(activity.getWindow().getStatusBarColor(), originalNavigationBarColor);
|
||||
navigationBarAnim.setDuration(duration);
|
||||
navigationBarAnim.addUpdateListener(animation -> {
|
||||
WindowUtil.setNavigationBarColor(activity.getWindow(), (int) animation.getAnimatedValue());
|
||||
WindowUtil.setNavigationBarColor(activity, (int) animation.getAnimatedValue());
|
||||
});
|
||||
animators.add(navigationBarAnim);
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import androidx.annotation.Nullable;
|
||||
import androidx.annotation.PluralsRes;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.google.protobuf.ByteString;
|
||||
|
||||
@@ -896,7 +897,7 @@ final class GroupsV2UpdateMessageProducer {
|
||||
String beforeChunk = template.substring(startIndex, nearestPosition);
|
||||
|
||||
builder.append(beforeChunk);
|
||||
builder.append(SpanUtil.clickable(Recipient.resolved(recipientId).getDisplayName(context), 0, v -> {
|
||||
builder.append(SpanUtil.clickable(Recipient.resolved(recipientId).getDisplayName(context), ContextCompat.getColor(context, R.color.conversation_item_update_text_color), v -> {
|
||||
if (!recipientId.isUnknown() && clickHandler != null) {
|
||||
clickHandler.accept(recipientId);
|
||||
}
|
||||
|
||||
@@ -62,9 +62,9 @@ class KeyboardPagerFragment : Fragment() {
|
||||
}
|
||||
|
||||
if (hidden) {
|
||||
WindowUtil.setNavigationBarColor(requireActivity().window, ThemeUtil.getThemedColor(requireContext(), android.R.attr.navigationBarColor))
|
||||
WindowUtil.setNavigationBarColor(requireActivity(), ThemeUtil.getThemedColor(requireContext(), android.R.attr.navigationBarColor))
|
||||
} else {
|
||||
WindowUtil.setNavigationBarColor(requireActivity().window, ThemeUtil.getThemedColor(requireContext(), R.attr.mediaKeyboardBottomBarBackgroundColor))
|
||||
WindowUtil.setNavigationBarColor(requireActivity(), ThemeUtil.getThemedColor(requireContext(), R.attr.mediaKeyboardBottomBarBackgroundColor))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ public final class ReactionsBottomSheetDialogFragment extends BottomSheetDialogF
|
||||
Dialog dialog = super.onCreateDialog(savedInstanceState);
|
||||
|
||||
FullscreenHelper.showSystemUI(dialog.getWindow());
|
||||
WindowUtil.setNavigationBarColor(dialog.getWindow(), ContextCompat.getColor(requireContext(), R.color.signal_colorSurface1));
|
||||
WindowUtil.setNavigationBarColor(requireContext(), dialog.getWindow(), ContextCompat.getColor(requireContext(), R.color.signal_colorSurface1));
|
||||
|
||||
return dialog;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.thoughtcrime.securesms.util;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.graphics.Rect;
|
||||
import android.os.Build;
|
||||
import android.view.View;
|
||||
@@ -35,10 +36,18 @@ public final class WindowUtil {
|
||||
setSystemUiFlags(window, View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
|
||||
}
|
||||
|
||||
public static void setNavigationBarColor(@NonNull Window window, @ColorInt int color) {
|
||||
if (Build.VERSION.SDK_INT < 21) return;
|
||||
public static void setNavigationBarColor(@NonNull Activity activity, @ColorInt int color) {
|
||||
setNavigationBarColor(activity, activity.getWindow(), color);
|
||||
}
|
||||
|
||||
window.setNavigationBarColor(color);
|
||||
public static void setNavigationBarColor(@NonNull Context context, @NonNull Window window, @ColorInt int color) {
|
||||
if (Build.VERSION.SDK_INT < 21) {
|
||||
return;
|
||||
} else if (Build.VERSION.SDK_INT < 27) {
|
||||
window.setNavigationBarColor(ThemeUtil.getThemedColor(context, android.R.attr.navigationBarColor));
|
||||
} else {
|
||||
window.setNavigationBarColor(color);
|
||||
}
|
||||
}
|
||||
|
||||
public static void setLightStatusBarFromTheme(@NonNull Activity activity) {
|
||||
|
||||
Reference in New Issue
Block a user