Skip to content

Rotating the screen when attachment keyboard is open will close the attachment keyboard #14464

@farewelltospring

Description

@farewelltospring

Guidelines

  • I have searched searched open and closed issues for duplicates
  • I am submitting a bug report for existing functionality that does not work as intended
  • This isn't a feature request or a discussion topic

Bug description

  1. Open attachment keyboard
  2. Rotate screen orientation (e.g. from portrait to landscape)

Expected behaviour: attachment keyboard is still open in landscape mode

Actual behaviour: attachment keyboard is automatically closed

After some investigation, I found that when the screen orientation changes, MainActivity is destroyed and re-created (expected), and then the ConversationFragment is destroyed and re-created (expected), and then the AttachmentKeyboardFragment is destroyed and re-created (expected). AND THEN, a NEW ConversationFragment is created, and then the AttachmentKeyboardFragment and the ConversationFragment are destroyed.

I have identified this commit affecting AndroidManifest.xml as the culprit. Undoing the change to the android:configChanges attribute restores the expected behaviour.

Screenshots

Screen_recording_20251129_010318.webm

Device

Google Pixel 9 (emulator)

Android version

API 35

Signal version

7.66.3

Link to debug log

When you rotate the screen orientation, this is the logcat:

01:04:57.539  D  [MainActivity] onStop()
01:04:57.547  D  [AttachmentKeyboardFragm] onStop()
01:04:57.548  D  [ConversationFragment] onStop()
01:04:57.599  D  [MainActivity] onDestroy()
01:04:57.599  D  [AttachmentKeyboardFragm] onDestroy()
01:04:57.599  D  [ConversationFragment] onDestroy()
01:04:57.643  D  [MainActivity] onCreate()
01:04:57.660  D  [ConversationFragment] onCreate()
01:04:57.665  D  [AttachmentKeyboardFragm] onCreate()
01:04:57.694  D  [MainActivity] onStart()
01:04:57.914  D  [ConversationFragment] onStart()
01:04:57.915  D  [AttachmentKeyboardFragm] onStart()
# this is when the weird stuff begins
01:04:58.089  D  [ConversationFragment] onCreate()
01:04:58.217  D  [ConversationFragment] onStart()
01:04:58.404  D  [AttachmentKeyboardFragm] onStop()
01:04:58.408  D  [ConversationFragment] onStop()
01:04:58.416  D  [AttachmentKeyboardFragm] onDestroy()
01:04:58.417  D  [ConversationFragment] onDestroy()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions