Transitions for group settings.

This commit is contained in:
Alan Evans 2020-06-07 14:44:30 -03:00 committed by Greyson Parrelli
parent 9c0365f92c
commit 2d8b2e7fb0
4 changed files with 19 additions and 6 deletions

View file

@ -163,7 +163,8 @@ public final class AvatarImageView extends AppCompatImageView {
if (quickContactEnabled) {
super.setOnClickListener(v -> {
if (FeatureFlags.newGroupUI() && recipient.isPushGroup()) {
getContext().startActivity(ManageGroupActivity.newIntent(getContext(), recipient.requireGroupId().requirePush()));
getContext().startActivity(ManageGroupActivity.newIntent(getContext(), recipient.requireGroupId().requirePush()),
ManageGroupActivity.createTransitionBundle(getContext(), this));
} else {
getContext().startActivity(RecipientPreferenceActivity.getLaunchIntent(getContext(), recipient.getId()));
}

View file

@ -1036,9 +1036,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
private void handleConversationSettings() {
if (FeatureFlags.newGroupUI() && isPushGroupConversation()) {
startActivitySceneTransition(ManageGroupActivity.newIntent(this, getRecipient().requireGroupId().requirePush()),
titleView.findViewById(R.id.contact_photo_image),
"avatar");
handleManagePushGroup();
return;
}
@ -1206,7 +1204,9 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
}
private void handleManagePushGroup() {
startActivityForResult(ManageGroupActivity.newIntent(ConversationActivity.this, recipient.get().requireGroupId().requirePush()), GROUP_EDIT);
startActivityForResult(ManageGroupActivity.newIntent(ConversationActivity.this, recipient.get().requireGroupId().requirePush()),
GROUP_EDIT,
ManageGroupActivity.createTransitionBundle(this, titleView.findViewById(R.id.contact_photo_image)));
}
private void handleDistributionBroadcastEnabled(MenuItem item) {

View file

@ -1,10 +1,14 @@
package org.thoughtcrime.securesms.groups.ui.managegroup;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.app.ActivityOptionsCompat;
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
import org.thoughtcrime.securesms.R;
@ -24,6 +28,14 @@ public class ManageGroupActivity extends PassphraseRequiredActionBarActivity {
return intent;
}
public static @Nullable Bundle createTransitionBundle(@NonNull Context activityContext, @NonNull View from) {
if (activityContext instanceof Activity) {
return ActivityOptionsCompat.makeSceneTransitionAnimation((Activity) activityContext, from, "avatar").toBundle();
} else {
return null;
}
}
@Override
protected void onPreCreate() {
dynamicTheme.onCreate(this);

View file

@ -206,7 +206,7 @@ public class ManageGroupFragment extends Fragment {
avatar.setFallbackPhotoProvider(fallbackPhotoProvider);
toolbar.setNavigationOnClickListener(v -> requireActivity().finish());
toolbar.setNavigationOnClickListener(v -> requireActivity().onBackPressed());
toolbar.setOnMenuItemClickListener(this::onMenuItemSelected);
toolbar.inflateMenu(R.menu.manage_group_fragment);