Always use the new group settings screen if the flag is enabled.

This commit is contained in:
Alex Hart 2020-06-02 16:09:48 -03:00 committed by GitHub
parent 3192cc0aac
commit ae87d23003
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 65 additions and 11 deletions

View File

@ -2,6 +2,7 @@ package org.thoughtcrime.securesms.color;
import android.content.Context;
import android.graphics.Color;
import androidx.annotation.ColorInt;
import androidx.annotation.ColorRes;
import androidx.annotation.NonNull;

View File

@ -1017,6 +1017,13 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
}
private void handleConversationSettings() {
if (FeatureFlags.newGroupUI() && isGroupConversation()) {
startActivitySceneTransition(ManageGroupActivity.newIntent(this, getRecipient().requireGroupId()),
titleView.findViewById(R.id.contact_photo_image),
"avatar");
return;
}
if (isInMessageRequest()) return;
Intent intent = RecipientPreferenceActivity.getLaunchIntent(this, recipient.getId());

View File

@ -3,10 +3,9 @@ package org.thoughtcrime.securesms.groups.ui.managegroup;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
@ -30,7 +29,6 @@ import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.components.AvatarImageView;
import org.thoughtcrime.securesms.components.ThreadPhotoRailView;
import org.thoughtcrime.securesms.contacts.avatars.FallbackContactPhoto;
import org.thoughtcrime.securesms.contacts.avatars.ResourceContactPhoto;
import org.thoughtcrime.securesms.groups.GroupId;
import org.thoughtcrime.securesms.groups.ui.GroupMemberListView;
import org.thoughtcrime.securesms.groups.ui.LeaveGroupDialog;
@ -46,6 +44,7 @@ import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.recipients.RecipientId;
import org.thoughtcrime.securesms.recipients.ui.bottomsheet.RecipientBottomSheetDialogFragment;
import org.thoughtcrime.securesms.util.DateUtils;
import org.thoughtcrime.securesms.util.ThemeUtil;
import java.util.List;
import java.util.Locale;
@ -93,7 +92,27 @@ public class ManageGroupFragment extends Fragment {
private final Recipient.FallbackPhotoProvider fallbackPhotoProvider = new Recipient.FallbackPhotoProvider() {
@Override
public @NonNull FallbackContactPhoto getPhotoForGroup() {
return new ResourceContactPhoto(R.drawable.ic_group_80);
return new FallbackContactPhoto() {
@Override
public Drawable asDrawable(Context context, int color) {
return ThemeUtil.getThemedDrawable(context, R.attr.group_resource_placeholder_80);
}
@Override
public Drawable asDrawable(Context context, int color, boolean inverted) {
return asDrawable(context, color);
}
@Override
public Drawable asSmallDrawable(Context context, int color, boolean inverted) {
throw new UnsupportedOperationException();
}
@Override
public Drawable asCallCard(Context context) {
throw new UnsupportedOperationException();
}
};
}
};
@ -305,11 +324,6 @@ public class ManageGroupFragment extends Fragment {
}
}
@Override
public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
}
public boolean onMenuItemSelected(@NonNull MenuItem item) {
if (item.getItemId() == R.id.action_edit) {
startActivity(EditProfileActivity.getIntentForGroupProfile(requireActivity(), getPushGroupId()));

View File

@ -8,6 +8,7 @@ import androidx.annotation.DimenRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.StyleRes;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.appcompat.view.ContextThemeWrapper;
import androidx.core.content.ContextCompat;
@ -49,7 +50,7 @@ public class ThemeUtil {
Resources.Theme theme = context.getTheme();
if (theme.resolveAttribute(attr, typedValue, true)) {
return ContextCompat.getDrawable(context, typedValue.resourceId);
return AppCompatResources.getDrawable(context, typedValue.resourceId);
}
return null;

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval">
<solid android:color="?attr/resource_placeholder_background" />
</shape>
</item>
<item
android:bottom="24dp"
android:drawable="@drawable/ic_group_80"
android:left="24dp"
android:right="24dp"
android:top="24dp" />
<item android:drawable="?attr/resource_placeholder_gradient" />
</layer-list>

View File

@ -92,6 +92,7 @@
android:layout_gravity="center_horizontal"
android:layout_marginTop="16dp"
android:elevation="8dp"
android:transitionName="avatar"
app:layout_behavior=".groups.ui.creategroup.GroupSettingsCoordinatorLayoutBehavior" />
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
@ -176,7 +177,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/group_manage_fragment_card_vertical_padding"
app:layout_constraintTop_toBottomOf="@id/group_disappearing_messages_card">
app:layout_constraintTop_toBottomOf="@id/group_disappearing_messages_card"
app:layout_goneMarginTop="0dp">
<LinearLayout
android:layout_width="match_parent"

View File

@ -31,6 +31,10 @@
<attr name="conversation_list_compose_icon_tint" format="color" />
<attr name="conversation_list_camera_button_background" format="color"/>
<attr name="group_resource_placeholder_80" format="reference" />
<attr name="resource_placeholder_gradient" format="reference" />
<attr name="resource_placeholder_background" format="color" />
<attr name="avatar_selection_take_photo" format="reference" />
<attr name="avatar_selection_pick_photo" format="reference" />
<attr name="avatar_selection_remove_photo" format="reference" />

View File

@ -55,4 +55,5 @@
<color name="conversation_group">@color/core_ultramarine</color>
<color name="conversation_group_tint">#b0c8f9</color>
<color name="conversation_group_shade">#1851b4</color>
</resources>

View File

@ -162,6 +162,10 @@
<item name="insight_dashboard_bottom_bar_background">@color/core_grey_02</item>
<item name="insight_progress_background">@color/core_grey_15</item>
<item name="group_resource_placeholder_80">@drawable/group_resource_placeholder_80</item>
<item name="resource_placeholder_gradient">@drawable/avatar_gradient_light</item>
<item name="resource_placeholder_background">@color/core_ultramarine</item>
<item name="search_view_style">@style/Signal.SearchView</item>
<item name="search_view_style_dark">@style/Signal.SearchView.Dark</item>
@ -449,6 +453,10 @@
<item name="insight_progress_background">@color/core_grey_60</item>
<item name="insight_dashboard_bottom_bar_background">@color/core_grey_80</item>
<item name="group_resource_placeholder_80">@drawable/group_resource_placeholder_80</item>
<item name="resource_placeholder_gradient">@drawable/avatar_gradient_dark</item>
<item name="resource_placeholder_background">@color/core_ultramarine</item>
<item name="search_view_style">@style/Signal.SearchView</item>
<item name="search_view_style_dark">@style/Signal.SearchView.Dark</item>