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