Fix broken Material3 changes on Android 6.

This commit is contained in:
Cody Henthorne
2022-06-28 15:20:19 -04:00
committed by GitHub
parent 105d0c778c
commit 2c700c7e0e
7 changed files with 23 additions and 13 deletions

View File

@@ -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();
}
}

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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))
}
}

View File

@@ -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;
}

View File

@@ -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) {