mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-27 22:43:52 +00:00
Focus on correct textfield when adding a description.
This commit is contained in:
@@ -375,7 +375,7 @@ class ConversationSettingsFragment : DSLSettingsFragment(
|
||||
descriptionShouldLinkify = groupState.groupDescriptionShouldLinkify,
|
||||
canEditGroupAttributes = groupState.canEditGroupAttributes,
|
||||
onEditGroupDescription = {
|
||||
startActivity(CreateProfileActivity.getIntentForGroupProfile(requireActivity(), groupState.groupId))
|
||||
startActivity(CreateProfileActivity.getIntentForGroupProfileWithFocusedDescription(requireActivity(), groupState.groupId))
|
||||
},
|
||||
onViewGroupDescription = {
|
||||
GroupDescriptionDialog.show(childFragmentManager, groupState.groupId, null, groupState.groupDescriptionShouldLinkify)
|
||||
|
||||
@@ -21,11 +21,12 @@ import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||
*/
|
||||
public class CreateProfileActivity extends BaseActivity implements CreateProfileFragment.Controller {
|
||||
|
||||
public static final String NEXT_INTENT = "next_intent";
|
||||
public static final String EXCLUDE_SYSTEM = "exclude_system";
|
||||
public static final String NEXT_BUTTON_TEXT = "next_button_text";
|
||||
public static final String SHOW_TOOLBAR = "show_back_arrow";
|
||||
public static final String GROUP_ID = "group_id";
|
||||
public static final String NEXT_INTENT = "next_intent";
|
||||
public static final String EXCLUDE_SYSTEM = "exclude_system";
|
||||
public static final String NEXT_BUTTON_TEXT = "next_button_text";
|
||||
public static final String SHOW_TOOLBAR = "show_back_arrow";
|
||||
public static final String GROUP_ID = "group_id";
|
||||
public static final String IS_DESCRIPTION_FOCUSED = "is_description_focused";
|
||||
|
||||
private final DynamicTheme dynamicTheme = new DynamicRegistrationTheme();
|
||||
|
||||
@@ -43,6 +44,15 @@ public class CreateProfileActivity extends BaseActivity implements CreateProfile
|
||||
return intent;
|
||||
}
|
||||
|
||||
public static @NonNull Intent getIntentForGroupProfileWithFocusedDescription(@NonNull Context context, @NonNull GroupId groupId) {
|
||||
Intent intent = new Intent(context, CreateProfileActivity.class);
|
||||
intent.putExtra(CreateProfileActivity.SHOW_TOOLBAR, true);
|
||||
intent.putExtra(CreateProfileActivity.GROUP_ID, groupId.toString());
|
||||
intent.putExtra(CreateProfileActivity.NEXT_BUTTON_TEXT, R.string.save);
|
||||
intent.putExtra(CreateProfileActivity.IS_DESCRIPTION_FOCUSED, true);
|
||||
return intent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle bundle) {
|
||||
super.onCreate(bundle);
|
||||
|
||||
@@ -51,6 +51,7 @@ import java.io.InputStream;
|
||||
|
||||
import static org.thoughtcrime.securesms.profiles.edit.CreateProfileActivity.EXCLUDE_SYSTEM;
|
||||
import static org.thoughtcrime.securesms.profiles.edit.CreateProfileActivity.GROUP_ID;
|
||||
import static org.thoughtcrime.securesms.profiles.edit.CreateProfileActivity.IS_DESCRIPTION_FOCUSED;
|
||||
import static org.thoughtcrime.securesms.profiles.edit.CreateProfileActivity.NEXT_BUTTON_TEXT;
|
||||
import static org.thoughtcrime.securesms.profiles.edit.CreateProfileActivity.NEXT_INTENT;
|
||||
import static org.thoughtcrime.securesms.profiles.edit.CreateProfileActivity.SHOW_TOOLBAR;
|
||||
@@ -161,6 +162,7 @@ public class CreateProfileFragment extends LoggingFragment {
|
||||
boolean isEditingGroup = groupId != null;
|
||||
|
||||
this.nextIntent = arguments.getParcelable(NEXT_INTENT);
|
||||
boolean isDescriptionFocused = arguments.getBoolean(IS_DESCRIPTION_FOCUSED);
|
||||
|
||||
binding.avatar.setOnClickListener(v -> startAvatarSelection());
|
||||
binding.mmsGroupHint.setVisibility(isEditingGroup && groupId.isMms() ? View.VISIBLE : View.GONE);
|
||||
@@ -171,7 +173,9 @@ public class CreateProfileFragment extends LoggingFragment {
|
||||
binding.whoCanFindMeContainer.setVisibility(View.GONE);
|
||||
binding.givenName.addTextChangedListener(new AfterTextChanged(s -> viewModel.setGivenName(s.toString())));
|
||||
binding.givenNameWrapper.setHint(R.string.EditProfileFragment__group_name);
|
||||
binding.givenName.requestFocus();
|
||||
if (!isDescriptionFocused) {
|
||||
binding.givenName.requestFocus();
|
||||
}
|
||||
binding.toolbar.setTitle(R.string.EditProfileFragment__edit_group);
|
||||
binding.namePreview.setVisibility(View.GONE);
|
||||
|
||||
@@ -182,6 +186,9 @@ public class CreateProfileFragment extends LoggingFragment {
|
||||
viewModel.setFamilyName(s.toString());
|
||||
}));
|
||||
binding.familyNameWrapper.setHint(R.string.EditProfileFragment__group_description);
|
||||
if (isDescriptionFocused) {
|
||||
binding.familyName.requestFocus();
|
||||
}
|
||||
binding.familyName.setSingleLine(false);
|
||||
binding.familyName.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user