Switch to a standard toolbar color.

* Switch to a standard toolbar color.

* T r a n s p a r e n c y

* Add back a toolbar shadow.

* Some more theming

* Also fix verify identity screen.

* Hide shadow on empty conversations.

* Slightly less transparent.
fork-5.53.8
Greyson Parrelli 2021-02-09 11:42:57 -05:00 zatwierdzone przez Cody Henthorne
rodzic 236e1ba885
commit 937a288cee
31 zmienionych plików z 194 dodań i 142 usunięć

Wyświetl plik

@ -113,7 +113,7 @@ public class VerifyIdentityActivity extends PassphraseRequiredActivity implement
private static final String IDENTITY_EXTRA = "recipient_identity";
private static final String VERIFIED_EXTRA = "verified_state";
private final DynamicTheme dynamicTheme = new DynamicDarkActionBarTheme();
private final DynamicTheme dynamicTheme = new DynamicTheme();
private final VerifyDisplayFragment displayFragment = new VerifyDisplayFragment();
private final VerifyScanFragment scanFragment = new VerifyScanFragment();
@ -161,11 +161,6 @@ public class VerifyIdentityActivity extends PassphraseRequiredActivity implement
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle(R.string.AndroidManifest__verify_safety_number);
LiveRecipient recipient = Recipient.live(getIntent().getParcelableExtra(RECIPIENT_EXTRA));
recipient.observe(this, r -> setActionBarNotificationBarColor(r.getColor()));
setActionBarNotificationBarColor(recipient.get().getColor());
Bundle extras = new Bundle();
extras.putParcelable(VerifyDisplayFragment.RECIPIENT_ID, getIntent().getParcelableExtra(RECIPIENT_EXTRA));
extras.putParcelable(VerifyDisplayFragment.REMOTE_IDENTITY, getIntent().getParcelableExtra(IDENTITY_EXTRA));

Wyświetl plik

@ -26,12 +26,10 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ActivityInfo;
import android.content.pm.ShortcutManager;
import android.content.res.ColorStateList;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.hardware.Camera;
import android.net.Uri;
@ -106,7 +104,6 @@ import org.thoughtcrime.securesms.VerifyIdentityActivity;
import org.thoughtcrime.securesms.attachments.Attachment;
import org.thoughtcrime.securesms.attachments.TombstoneAttachment;
import org.thoughtcrime.securesms.audio.AudioRecorder;
import org.thoughtcrime.securesms.color.MaterialColor;
import org.thoughtcrime.securesms.components.AnimatingToggle;
import org.thoughtcrime.securesms.components.ComposeText;
import org.thoughtcrime.securesms.components.ConversationSearchBottomBar;
@ -255,8 +252,8 @@ import org.thoughtcrime.securesms.util.CommunicationActions;
import org.thoughtcrime.securesms.util.ContextUtil;
import org.thoughtcrime.securesms.util.ConversationUtil;
import org.thoughtcrime.securesms.util.DrawableUtil;
import org.thoughtcrime.securesms.util.DynamicDarkToolbarTheme;
import org.thoughtcrime.securesms.util.DynamicLanguage;
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
import org.thoughtcrime.securesms.util.DynamicTheme;
import org.thoughtcrime.securesms.util.FeatureFlags;
import org.thoughtcrime.securesms.util.FullscreenHelper;
@ -381,6 +378,7 @@ public class ConversationActivity extends PassphraseRequiredActivity
private boolean callingTooltipShown;
private ImageView wallpaper;
private View wallpaperDim;
private Toolbar toolbar;
private LinkPreviewViewModel linkPreviewViewModel;
private ConversationSearchViewModel searchViewModel;
@ -401,7 +399,7 @@ public class ConversationActivity extends PassphraseRequiredActivity
private boolean isSecurityInitialized = false;
private IdentityRecordList identityRecords = new IdentityRecordList(Collections.emptyList());
private final DynamicTheme dynamicTheme = new DynamicDarkToolbarTheme();
private final DynamicTheme dynamicTheme = new DynamicNoActionBarTheme();
private final DynamicLanguage dynamicLanguage = new DynamicLanguage();
@Override
@ -428,7 +426,6 @@ public class ConversationActivity extends PassphraseRequiredActivity
setContentView(R.layout.conversation_activity);
getWindow().getDecorView().setBackgroundResource(R.color.signal_background_primary);
WindowUtil.setLightNavigationBarFromTheme(this);
fragment = initFragment(R.id.fragment_content, new ConversationFragment(), dynamicLanguage.getCurrentLocale());
@ -529,6 +526,9 @@ public class ConversationActivity extends PassphraseRequiredActivity
dynamicTheme.onResume(this);
dynamicLanguage.onResume(this);
WindowUtil.setLightNavigationBarFromTheme(this);
WindowUtil.setLightStatusBarFromTheme(this);
EventBus.getDefault().register(this);
initializeMmsEnabledCheck();
initializeIdentityRecords();
@ -537,7 +537,6 @@ public class ConversationActivity extends PassphraseRequiredActivity
Recipient recipientSnapshot = recipient.get();
titleView.setTitle(glideRequests, recipientSnapshot);
setActionBarColor(recipientSnapshot.getColor());
setBlockedUserState(recipientSnapshot, isSecureText, isDefaultSms);
calculateCharactersRemaining();
@ -1933,7 +1932,7 @@ public class ConversationActivity extends PassphraseRequiredActivity
noLongerMemberBanner = findViewById(R.id.conversation_no_longer_member_banner);
requestingMemberBanner = findViewById(R.id.conversation_requesting_banner);
cancelJoinRequest = findViewById(R.id.conversation_cancel_request);
joinGroupCallButton = findViewById(R.id.conversation_group_cal_join);
joinGroupCallButton = findViewById(R.id.conversation_group_call_join);
container.addOnKeyboardShownListener(this);
inputPanel.setListener(this);
@ -2001,6 +2000,10 @@ public class ConversationActivity extends PassphraseRequiredActivity
if (attachmentKeyboardStub.resolved()) {
attachmentKeyboardStub.get().setWallpaperEnabled(true);
}
int toolbarColor = getResources().getColor(R.color.conversation_toolbar_color_wallpaper);
toolbar.setBackgroundColor(toolbarColor);
WindowUtil.setStatusBarColor(getWindow(), toolbarColor);
} else {
wallpaper.setImageDrawable(null);
wallpaperDim.setVisibility(View.GONE);
@ -2008,12 +2011,16 @@ public class ConversationActivity extends PassphraseRequiredActivity
if (attachmentKeyboardStub.resolved()) {
attachmentKeyboardStub.get().setWallpaperEnabled(false);
}
int toolbarColor = getResources().getColor(R.color.conversation_toolbar_color);
toolbar.setBackgroundColor(toolbarColor);
WindowUtil.setStatusBarColor(getWindow(), toolbarColor);
}
fragment.onWallpaperChanged(chatWallpaper);
}
protected void initializeActionBar() {
Toolbar toolbar = findViewById(R.id.toolbar);
toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ActionBar supportActionBar = getSupportActionBar();
@ -2305,7 +2312,6 @@ public class ConversationActivity extends PassphraseRequiredActivity
titleView.setTitle(glideRequests, recipient);
titleView.setVerified(identityRecords.isVerified());
setBlockedUserState(recipient, isSecureText, isDefaultSms);
setActionBarColor(recipient.getColor());
updateReminders();
updateDefaultSubscriptionId(recipient.getDefaultSubscriptionId());
initializeSecurity(isSecureText, isDefaultSms);
@ -2507,18 +2513,6 @@ public class ConversationActivity extends PassphraseRequiredActivity
return future;
}
private void setActionBarColor(MaterialColor color) {
ActionBar supportActionBar = getSupportActionBar();
if (supportActionBar == null) throw new AssertionError();
int actionBarColor = color.toActionBarColor(this);
supportActionBar.setBackgroundDrawable(new ColorDrawable(actionBarColor));
WindowUtil.setStatusBarColor(getWindow(), actionBarColor);
joinGroupCallButton.setTextColor(actionBarColor);
joinGroupCallButton.setIconTint(ColorStateList.valueOf(actionBarColor));
joinGroupCallButton.setRippleColor(ColorStateList.valueOf(actionBarColor));
}
private void setBlockedUserState(Recipient recipient, boolean isSecureText, boolean isDefaultSms) {
if (!isSecureText && isPushGroupConversation()) {
unblockButton.setVisibility(View.GONE);

Wyświetl plik

@ -23,6 +23,8 @@ import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.Rect;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Build;
@ -35,6 +37,7 @@ import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.view.Window;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
@ -196,6 +199,7 @@ public class ConversationFragment extends LoggingFragment {
private OnScrollListener conversationScrollListener;
private int pulsePosition = -1;
private VoiceNoteMediaController voiceNoteMediaController;
private View toolbarShadow;
public static void prepare(@NonNull Context context) {
FrameLayout parent = new FrameLayout(context);
@ -225,6 +229,7 @@ public class ConversationFragment extends LoggingFragment {
scrollToMentionButton = view.findViewById(R.id.scroll_to_mention);
scrollDateHeader = view.findViewById(R.id.scroll_date_header);
emptyConversationBanner = view.findViewById(R.id.empty_conversation_banner);
toolbarShadow = requireActivity().findViewById(R.id.conversation_toolbar_shadow);
final LinearLayoutManager layoutManager = new SmoothScrollingLinearLayoutManager(getActivity(), true);
list.setHasFixedSize(false);
@ -283,6 +288,8 @@ public class ConversationFragment extends LoggingFragment {
scrollToBottomButton.setOnClickListener(v -> scrollToBottom());
scrollToMentionButton.setOnClickListener(v -> scrollToNextMention());
updateToolbarDependentMargins();
return view;
}
@ -363,6 +370,12 @@ public class ConversationFragment extends LoggingFragment {
ApplicationDependencies.getTypingStatusRepository().getTypists(threadId).removeObservers(this);
}
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
updateToolbarDependentMargins();
}
public void onNewIntent() {
if (actionMode != null) {
actionMode.finish();
@ -526,6 +539,7 @@ public class ConversationFragment extends LoggingFragment {
conversationScrollListener = new ConversationScrollListener(requireContext());
list.addOnScrollListener(conversationScrollListener);
list.addOnScrollListener(new ShadowScrollListener());
if (oldThreadId != threadId) {
ApplicationDependencies.getTypingStatusRepository().getTypists(oldThreadId).removeObservers(this);
@ -548,6 +562,7 @@ public class ConversationFragment extends LoggingFragment {
emptyConversationBanner.setVisibility(View.GONE);
} else if (threadId == -1) {
emptyConversationBanner.setVisibility(View.VISIBLE);
toolbarShadow.setVisibility(View.GONE);
}
}
@ -1127,6 +1142,22 @@ public class ConversationFragment extends LoggingFragment {
}
}
private void updateToolbarDependentMargins() {
Toolbar toolbar = requireActivity().findViewById(R.id.toolbar);
toolbar.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Rect rect = new Rect();
toolbar.getGlobalVisibleRect(rect);
ViewUtil.setTopMargin(scrollDateHeader, rect.bottom + ViewUtil.dpToPx(8));
ViewUtil.setTopMargin(conversationBanner, rect.bottom + ViewUtil.dpToPx(16));
ViewUtil.setTopMargin(emptyConversationBanner, rect.bottom + ViewUtil.dpToPx(16));
toolbar.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
});
}
public interface ConversationFragmentListener {
void setThreadId(long threadId);
void handleReplyMessage(ConversationMessage conversationMessage);
@ -1249,6 +1280,7 @@ public class ConversationFragment extends LoggingFragment {
listener.handleReaction(maskTarget, messageRecord, new ReactionsToolbarListener(conversationMessage), () -> {
isReacting = false;
list.setLayoutFrozen(false);
WindowUtil.setLightStatusBarFromTheme(requireActivity());
});
} else {
((ConversationAdapter) list.getAdapter()).toggleSelection(conversationMessage);
@ -1605,7 +1637,7 @@ public class ConversationFragment extends LoggingFragment {
mode.setTitle("1");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
if (Build.VERSION.SDK_INT >= 21) {
Window window = getActivity().getWindow();
statusBarColor = window.getStatusBarColor();
WindowUtil.setStatusBarColor(window, getResources().getColor(R.color.action_mode_status_bar));
@ -1631,11 +1663,11 @@ public class ConversationFragment extends LoggingFragment {
((ConversationAdapter)list.getAdapter()).clearSelection();
list.getAdapter().notifyDataSetChanged();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
if (Build.VERSION.SDK_INT >= 21) {
WindowUtil.setStatusBarColor(requireActivity().getWindow(), statusBarColor);
}
WindowUtil.clearLightStatusBar(getActivity().getWindow());
WindowUtil.setLightStatusBarFromTheme(requireActivity());
actionMode = null;
}
@ -1722,4 +1754,18 @@ public class ConversationFragment extends LoggingFragment {
}
}
private class ShadowScrollListener extends RecyclerView.OnScrollListener {
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
if (recyclerView.canScrollVertically(-1)) {
if (toolbarShadow.getVisibility() != View.VISIBLE) {
ViewUtil.fadeIn(toolbarShadow, 250);
}
} else {
if (toolbarShadow.getVisibility() != View.GONE) {
ViewUtil.fadeOut(toolbarShadow, 250);
}
}
}
}
}

Wyświetl plik

@ -92,7 +92,7 @@ public class ConversationTitleView extends RelativeLayout {
}
title.setCompoundDrawablesRelativeWithIntrinsicBounds(startDrawable, 0, endDrawable, 0);
TextViewCompat.setCompoundDrawableTintList(title, ColorStateList.valueOf(ContextCompat.getColor(getContext(), R.color.transparent_white_90)));
TextViewCompat.setCompoundDrawableTintList(title, ColorStateList.valueOf(ContextCompat.getColor(getContext(), R.color.signal_inverse_transparent_80)));
if (recipient != null) {
this.avatar.setAvatar(glideRequests, recipient, false);

Wyświetl plik

@ -39,7 +39,7 @@ public final class MessageDetailsActivity extends PassphraseRequiredActivity {
private MessageDetailsViewModel viewModel;
private MessageDetailsAdapter adapter;
private DynamicTheme dynamicTheme = new DynamicDarkActionBarTheme();
private DynamicTheme dynamicTheme = new DynamicTheme();
public static @NonNull Intent getIntentForMessageDetails(@NonNull Context context, @NonNull MessageRecord message, @NonNull RecipientId recipientId, long threadId) {
Intent intent = new Intent(context, MessageDetailsActivity.class);
@ -116,15 +116,6 @@ public final class MessageDetailsActivity extends PassphraseRequiredActivity {
private void initializeActionBar() {
requireSupportActionBar().setDisplayHomeAsUpEnabled(true);
requireSupportActionBar().setTitle(R.string.AndroidManifest__message_details);
viewModel.getRecipientColor().observe(this, this::setActionBarColor);
}
private void setActionBarColor(MaterialColor color) {
assert getSupportActionBar() != null;
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(color.toActionBarColor(this)));
WindowUtil.setStatusBarColor(getWindow(), color.toStatusBarColor(this));
}
private List<MessageDetailsViewState<?>> convertToRows(MessageDetails details) {

Wyświetl plik

@ -13,7 +13,7 @@
<item>
<shape android:shape="rectangle" >
<corners android:radius="4dp" />
<solid android:color="@color/core_grey_95"/>
<solid android:color="@color/core_grey_80"/>
</shape>
</item>
</ripple>

Wyświetl plik

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<corners android:radius="4dp" />
<solid android:color="@color/core_grey_95"/>
<solid android:color="@color/core_grey_80"/>
</shape>

Wyświetl plik

@ -3,12 +3,8 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="1dp"
android:color="@color/core_grey_75" />
<solid
android:color="@color/core_grey_90" />
android:color="@color/core_grey_80" />
<corners
android:radius="20dp" />

Wyświetl plik

@ -3,12 +3,8 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="1dp"
android:color="@color/core_grey_75" />
<solid
android:color="@color/conversation_item_wallpaper_bubble_color" />
android:color="@color/core_grey_80" />
<corners
android:radius="20dp" />

Wyświetl plik

@ -3,12 +3,8 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="1dp"
android:color="@color/core_grey_05" />
<solid
android:color="@color/core_grey_02" />
android:color="#b4e9e9e9" />
<corners
android:radius="20dp" />

Wyświetl plik

@ -3,12 +3,8 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="1dp"
android:color="@color/core_grey_05" />
<solid
android:color="@color/conversation_item_wallpaper_bubble_color" />
android:color="@color/core_white" />
<corners
android:radius="20dp" />

Wyświetl plik

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M17.21,22a8.08,8.08 0,0 1,-2.66 -0.51,20.79 20.79,0 0,1 -7.3,-4.73 21,21 0,0 1,-4.74 -7.3c-0.78,-2.22 -0.67,-4 0.35,-5.45h0a5,5 0,0 1,2 -1.67,2.72 2.72,0 0,1 3.51,0.81l2.11,3a2.69,2.69 0,0 1,-0.35 3.49c-0.37,0.34 -0.62,0.58 -0.93,0.85 -0.09,0.08 -0.15,0.22 -0.08,0.31A20,20 0,0 0,11 13a20,20 0,0 0,2.21 1.91,0.24 0.24,0 0,0 0.3,-0.08c0.28,-0.32 0.51,-0.57 0.85,-0.93a2.68,2.68 0,0 1,3.49 -0.35l3,2.11a2.68,2.68 0,0 1,0.85 3.43,5.22 5.22,0 0,1 -1.71,2A4.69,4.69 0,0 1,17.21 22ZM4.09,4.87c-0.46,0.64 -1,1.77 -0.16,4.08a19.28,19.28 0,0 0,4.38 6.74A19.49,19.49 0,0 0,15 20.07c2.31,0.81 3.44,0.3 4.09,-0.16a3.55,3.55 0,0 0,1.2 -1.42A1.21,1.21 0,0 0,20 16.9l-3,-2.12a1.18,1.18 0,0 0,-1.53 0.15c-0.33,0.36 -0.56,0.6 -0.82,0.9a1.72,1.72 0,0 1,-2.33 0.29,21.9 21.9,0 0,1 -2.37,-2.05 22.2,22.2 0,0 1,-2 -2.37,1.71 1.71,0 0,1 0.3,-2.32l0.89,-0.82A1.19,1.19 0,0 0,9.21 7L7.1,4a1.19,1.19 0,0 0,-1.51 -0.38,3.72 3.72,0 0,0 -1.5,1.25Z"/>
</vector>

Wyświetl plik

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="12dp"
android:height="12dp"
android:viewportWidth="12"
android:viewportHeight="12">
<path
android:fillColor="@color/signal_inverse_transparent_80"
android:pathData="M6,1A5,5 0,1 1,1 6,5.006 5.006,0 0,1 6,1M6,0a6,6 0,1 0,6 6A6,6 0,0 0,6 0ZM6.25,2h-0.5l-0.5,4a0.75,0.75 0,0 0,1.5 0Z"/>
</vector>

Wyświetl plik

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M22,6.56a1.06,1.06 0,0 0,-0.42 0.09L18,8.31L18,6.5a3,3 0,0 0,-3 -3L4,3.5a3,3 0,0 0,-3 3v11a3,3 0,0 0,3 3L15,20.5a3,3 0,0 0,3 -3L18,15.69l3.58,1.66a1.06,1.06 0,0 0,0.42 0.09,1 1,0 0,0 1,-1L23,7.56A1,1 0,0 0,22 6.56ZM16.5,17.5A1.5,1.5 0,0 1,15 19L4,19a1.5,1.5 0,0 1,-1.5 -1.5L2.5,6.5A1.5,1.5 0,0 1,4 5L15,5a1.5,1.5 0,0 1,1.5 1.5ZM21.5,8.34L21.5,16l-1,-0.81L18,14L18,10l2.48,-1.15 1,-0.81Z"/>
</vector>

Wyświetl plik

@ -2,6 +2,6 @@
android:shape="rectangle">
<gradient
android:startColor="@android:color/transparent"
android:endColor="#40000000"
android:endColor="#30000000"
android:angle="90" />
</shape>

Wyświetl plik

@ -101,7 +101,7 @@
android:layout_marginBottom="4dp"
app:layout_constraintBottom_toBottomOf="@id/chat_wallpaper_preview_top_bar"
app:layout_constraintEnd_toStartOf="@id/chat_wallpaper_preview_top_bar_voice"
app:srcCompat="@drawable/ic_video_solid_24"
app:srcCompat="@drawable/ic_video_call_24"
app:tint="@color/core_white" />
<androidx.appcompat.widget.AppCompatImageView
@ -112,7 +112,7 @@
android:layout_marginBottom="4dp"
app:layout_constraintBottom_toBottomOf="@id/chat_wallpaper_preview_top_bar"
app:layout_constraintEnd_toEndOf="@id/chat_wallpaper_preview_top_bar"
app:srcCompat="@drawable/ic_phone_right_solid_24"
app:srcCompat="@drawable/ic_phone_right_24"
app:tint="@color/core_white" />
<View

Wyświetl plik

@ -24,62 +24,11 @@
tools:alpha="0.2f"
tools:visibility="visible" />
<com.google.android.material.appbar.AppBarLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="@id/parent_start_guideline"
app:layout_constraintEnd_toEndOf="@id/parent_end_guideline"
app:layout_constraintTop_toTopOf="@id/status_bar_guideline">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@null"
android:theme="@style/TextSecure.DarkActionBar.Conversation"
app:contentInsetStartWithNavigation="0dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:contentInsetStart="46dp"
tools:background="#ff007f00">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<include layout="@layout/conversation_title_view"
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="1"/>
<com.google.android.material.button.MaterialButton
android:id="@+id/conversation_group_cal_join"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-medium"
android:text="@string/ConversationActivity_join"
android:textAllCaps="false"
android:visibility="gone"
app:backgroundTint="@color/core_white"
app:cornerRadius="@dimen/material_button_full_round_corner_radius"
app:icon="@drawable/ic_video_solid_18"
app:iconGravity="textStart"
tools:iconTint="@color/core_ultramarine"
tools:textColor="@color/core_ultramarine"
tools:visibility="visible" />
</LinearLayout>
</androidx.appcompat.widget.Toolbar>
</com.google.android.material.appbar.AppBarLayout>
<org.thoughtcrime.securesms.components.InputAwareLayout
android:id="@+id/layout_container"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintTop_toTopOf="@id/status_bar_guideline"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="@id/navigation_bar_guideline"
app:layout_constraintStart_toStartOf="@id/parent_start_guideline"
app:layout_constraintEnd_toEndOf="@id/parent_end_guideline">
@ -91,8 +40,7 @@
android:clipChildren="false"
android:clipToPadding="false"
android:gravity="bottom"
android:orientation="vertical"
android:paddingTop="?attr/actionBarSize">
android:orientation="vertical">
<ViewStub
android:id="@+id/review_banner_stub"
@ -221,6 +169,59 @@
</org.thoughtcrime.securesms.components.InputAwareLayout>
<org.thoughtcrime.securesms.util.views.DarkOverflowToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/conversation_toolbar_color"
android:theme="?attr/actionBarStyle"
app:contentInsetStartWithNavigation="0dp"
app:layout_constraintStart_toStartOf="@id/parent_start_guideline"
app:layout_constraintEnd_toEndOf="@id/parent_end_guideline"
app:layout_constraintTop_toTopOf="@id/status_bar_guideline"
app:contentInsetStart="46dp"
android:clipToPadding="false"
android:clipChildren="false">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:clipToPadding="false"
android:clipChildren="false">
<include layout="@layout/conversation_title_view"
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="1"/>
<com.google.android.material.button.MaterialButton
android:id="@+id/conversation_group_call_join"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-medium"
android:text="@string/ConversationActivity_join"
android:textAllCaps="false"
android:textColor="@color/core_white"
android:visibility="gone"
app:backgroundTint="@color/core_ultramarine"
app:cornerRadius="@dimen/material_button_full_round_corner_radius"
app:icon="@drawable/ic_video_solid_18"
app:iconGravity="textStart"
app:iconTint="@color/core_white"
tools:visibility="visible" />
</LinearLayout>
</org.thoughtcrime.securesms.util.views.DarkOverflowToolbar>
<View
android:id="@+id/conversation_toolbar_shadow"
android:layout_width="match_parent"
android:layout_height="4dp"
android:background="@drawable/search_toolbar_shadow"
app:layout_constraintTop_toBottomOf="@id/toolbar"/>
<ViewStub
android:id="@+id/conversation_reaction_scrubber_stub"
android:layout_width="0dp"

Wyświetl plik

@ -1,9 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<org.thoughtcrime.securesms.conversation.ConversationBannerView xmlns:android="http://schemas.android.com/apk/res/android"
<org.thoughtcrime.securesms.conversation.ConversationBannerView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="32dp"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:paddingTop="24dp"
android:paddingBottom="24dp"/>
android:paddingBottom="24dp"
app:layout_constraintTop_toTopOf="parent"/>

Wyświetl plik

@ -7,7 +7,6 @@
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
tools:background="#007fff"
tools:layout_height="?actionBarSize">
<org.thoughtcrime.securesms.components.AvatarImageView
@ -22,7 +21,6 @@
android:cropToPadding="true"
android:foreground="@drawable/contact_photo_background"
android:transitionName="contact_photo"
app:inverted="true"
app:fallbackImageSize="small"
tools:src="@drawable/ic_contact_picture" />
@ -36,7 +34,7 @@
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/title"
style="@style/TextSecure.TitleTextStyle.Dark"
style="@style/TextSecure.TitleTextStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|start"
@ -45,7 +43,7 @@
android:gravity="center_vertical"
android:maxLines="1"
android:transitionName="recipient_name"
android:drawableTint="@color/transparent_white_90"
android:drawableTint="@color/signal_inverse_transparent_80"
tools:ignore="UnusedAttribute"
tools:text="J. Jonah Jameson" />
@ -62,14 +60,14 @@
android:layout_width="12dp"
android:layout_height="match_parent"
android:layout_marginEnd="3dp"
android:tint="@color/signal_text_toolbar_subtitle"
android:tint="@color/signal_inverse_transparent_80"
app:srcCompat="@drawable/ic_check_24"
android:visibility="gone"
tools:visibility="visible" />
<TextView
android:id="@+id/verified_subtitle"
style="@style/TextSecure.SubtitleTextStyle.Dark"
style="@style/TextSecure.SubtitleTextStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|start"
@ -77,19 +75,19 @@
android:ellipsize="end"
android:gravity="center_vertical"
android:maxLines="1"
android:textColor="@color/signal_text_toolbar_subtitle"
android:textColor="@color/signal_inverse_transparent_80"
android:text="@string/ConversationTitleView_verified"
android:textDirection="ltr" />
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:id="@+id/subtitle"
style="@style/TextSecure.SubtitleTextStyle.Dark"
style="@style/TextSecure.SubtitleTextStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|start"
android:ellipsize="end"
android:gravity="center_vertical"
android:textColor="@color/signal_text_toolbar_subtitle"
android:textColor="@color/signal_inverse_transparent_80"
android:maxLines="1"
android:textDirection="ltr"
tools:text="(123) 123-1234" />

Wyświetl plik

@ -17,8 +17,7 @@
android:layout_gravity="center"
android:layout_marginEnd="3dp"
android:scaleType="fitCenter"
android:tint="@color/signal_text_toolbar_subtitle"
app:srcCompat="@drawable/ic_timer_60_12" />
app:srcCompat="@drawable/ic_timer_conversation_badge" />
<TextView
android:id="@+id/expiration_badge"
@ -28,7 +27,7 @@
android:gravity="center_horizontal|bottom"
android:paddingTop="1dp"
android:paddingBottom="3dp"
android:textColor="@color/signal_text_toolbar_subtitle"
android:textColor="@color/signal_inverse_transparent_80"
android:textSize="14dp"
tools:text="1w"
tools:ignore="SpUsage" />

Wyświetl plik

@ -24,12 +24,12 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="20dp"
app:srcCompat="@drawable/ic_video_solid_24" />
app:srcCompat="@drawable/ic_video_call_24" />
<ImageView
android:id="@+id/secure_call"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/ic_phone_right_solid_24" />
app:srcCompat="@drawable/ic_phone_right_24" />
</LinearLayout>

Wyświetl plik

@ -4,7 +4,8 @@
<item android:title="@string/conversation_callable_secure__menu_video"
android:id="@+id/menu_video_secure"
android:icon="@drawable/ic_video_solid_24"
android:icon="@drawable/ic_video_call_24"
app:iconTint="@color/signal_icon_tint_primary"
app:showAsAction="always" />
</menu>

Wyświetl plik

@ -4,6 +4,7 @@
<item android:title="@string/conversation_callable_insecure__menu_call"
android:id="@+id/menu_call_insecure"
android:icon="@drawable/ic_phone_right_unlock_solid_24"
app:iconTint="@color/signal_icon_tint_primary"
app:showAsAction="always" />
</menu>

Wyświetl plik

@ -4,12 +4,14 @@
<item android:title="@string/conversation_callable_secure__menu_video"
android:id="@+id/menu_video_secure"
android:icon="@drawable/ic_video_solid_24"
android:icon="@drawable/ic_video_call_24"
app:iconTint="@color/signal_icon_tint_primary"
app:showAsAction="always" />
<item android:title="@string/conversation_callable_secure__menu_call"
android:id="@+id/menu_call_secure"
android:icon="@drawable/ic_phone_right_solid_24"
android:icon="@drawable/ic_phone_right_24"
app:iconTint="@color/signal_icon_tint_primary"
app:showAsAction="always" />
</menu>

Wyświetl plik

@ -4,6 +4,7 @@
<item android:title="@string/conversation_group_options__delivery"
android:id="@+id/menu_group_delivery"
android:icon="@drawable/ic_call_split_white_24dp"
app:iconTint="@color/signal_icon_tint_primary"
app:showAsAction="ifRoom" >
<menu>

Wyświetl plik

@ -4,6 +4,7 @@
<item android:title="@string/conversation_popup__menu_expand_popup"
android:id="@+id/menu_expand"
android:icon="@drawable/ic_launch_white_24dp"
app:iconTint="@color/signal_icon_tint_primary"
app:showAsAction="ifRoom" />
</menu>

Wyświetl plik

@ -1,5 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="conversation_toolbar_color">@color/core_grey_95</color>
<color name="conversation_toolbar_color_wallpaper">@color/transparent_black_90</color>
<color name="signal_accent_primary">@color/core_ultramarine_light</color>
<color name="signal_accent_stroke_primary">@color/core_grey_95</color>
@ -120,6 +123,6 @@
<color name="tooltip_default_color">@color/core_grey_75</color>
<color name="wallpaper_preview_background">@color/transparent_black_60</color>
<color name="wallpaper_compose_background">@color/transparent_black_80</color>
<color name="wallpaper_compose_background">#f3121212</color>
<color name="wallpaper_toolbar_background">@color/core_black</color>
</resources>

Wyświetl plik

@ -12,6 +12,7 @@
<color name="transparent_black_40">#66000000</color>
<color name="transparent_black_60">#99000000</color>
<color name="transparent_black_80">#CC000000</color>
<color name="transparent_black_90">#e6000000</color>
<color name="transparent_white_15">#26ffffff</color>
<color name="transparent_white_20">#33ffffff</color>
@ -20,6 +21,7 @@
<color name="transparent_white_60">#99ffffff</color>
<color name="transparent_white_80">#ccffffff</color>
<color name="transparent_white_90">#e6ffffff</color>
<color name="transparent_white_95">#f3ffffff</color>
<color name="conversation_compose_divider">#32000000</color>

Wyświetl plik

@ -1,5 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="conversation_toolbar_color">@color/core_white</color>
<color name="conversation_toolbar_color_wallpaper">@color/transparent_white_95</color>
<color name="signal_accent_primary">@color/core_ultramarine</color>
<color name="signal_accent_stroke_primary">@color/core_white</color>
@ -120,6 +123,6 @@
<color name="tooltip_default_color">@color/core_white</color>
<color name="wallpaper_preview_background">@color/transparent_white_30</color>
<color name="wallpaper_compose_background">@color/transparent_white_80</color>
<color name="wallpaper_compose_background">#ccf6f6f6</color>
<color name="wallpaper_toolbar_background">@color/core_white</color>
</resources>