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.
This commit is contained in:
parent
236e1ba885
commit
937a288cee
31 changed files with 194 additions and 142 deletions
|
@ -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));
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
|
@ -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" />
|
||||
|
|
|
@ -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" />
|
||||
|
|
|
@ -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" />
|
||||
|
|
|
@ -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" />
|
||||
|
|
9
app/src/main/res/drawable/ic_phone_right_24.xml
Normal file
9
app/src/main/res/drawable/ic_phone_right_24.xml
Normal file
|
@ -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>
|
|
@ -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>
|
9
app/src/main/res/drawable/ic_video_call_24.xml
Normal file
9
app/src/main/res/drawable/ic_video_call_24.xml
Normal file
|
@ -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>
|
|
@ -2,6 +2,6 @@
|
|||
android:shape="rectangle">
|
||||
<gradient
|
||||
android:startColor="@android:color/transparent"
|
||||
android:endColor="#40000000"
|
||||
android:endColor="#30000000"
|
||||
android:angle="90" />
|
||||
</shape>
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"/>
|
|
@ -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" />
|
||||
|
|
|
@ -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" />
|
||||
|
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Add table
Reference in a new issue