Henrik Rydgård and Claude Fable 5.1
d0e45b94d9
Android: Handle rotation and window resizing without recreating the activity
...
Every rotation, fold or window resize destroyed the activity and with it
all of graphics, then built it all up again. Declare those config changes
handled, so they arrive as a surfaceChanged and go through the same resize
path as a desktop window resize.
That path needed three things it didn't have on Android:
- The GPU_DISPLAY_RESIZED message, left out for Android since 2020 when
DeviceRestore covered every size change.
- A fixed (hardware scaled) surface size is now recomputed on each in-place
surface change, since surfaceCreated no longer runs on a rotation.
- A 180 degree flip keeps the size but changes the surface transform, so
the display rotation is passed along and a change in it is a resize too.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-10-08 21:17:49 +02:00
..
2026-09-29 10:33:32 -06:00
2026-08-07 14:30:36 +02:00
2026-04-06 13:25:44 -06:00
2025-11-24 20:33:13 +01:00
2025-08-22 21:21:19 +02:00
2026-07-26 10:22:00 +02:00
2026-03-15 11:30:43 +01:00
2026-09-28 10:57:02 -06:00
2025-07-20 09:56:29 +02:00
2026-09-18 14:08:08 -06:00
2026-09-18 14:08:08 -06:00
2026-09-04 13:10:54 -06:00
2026-03-31 16:22:24 -06:00
2026-09-09 12:07:28 -06:00
2026-08-07 14:30:36 +02:00
2026-07-24 12:06:15 +02:00
2026-09-02 18:06:47 +02:00
2026-03-15 15:21:28 +01:00
2026-08-16 13:33:26 +02:00
2026-05-16 22:31:13 +02:00
2026-08-29 23:40:48 +02:00
2026-09-08 20:58:33 +00:00
2026-04-27 20:55:46 +02:00
2026-09-05 13:29:50 -06:00
2026-07-10 12:11:17 +02:00
2026-08-07 08:49:29 +02:00
2024-11-02 21:31:45 +01:00
2026-08-07 14:30:36 +02:00
2025-10-29 00:15:41 +01:00
2026-08-12 09:29:31 +02:00
2025-10-29 00:15:41 +01:00
2026-09-21 10:31:58 -06:00
2026-08-07 17:35:15 +02:00
2026-09-10 15:52:53 -06:00
2026-09-09 12:07:28 -06:00
2026-09-29 16:34:38 -06:00
2026-05-03 17:44:01 +02:00
2026-09-29 16:34:38 -06:00
2026-09-29 16:34:38 -06:00
2026-09-02 18:06:47 +02:00
2026-09-02 18:06:47 +02:00
2026-09-09 16:25:13 -06:00
2026-09-08 11:15:15 -06:00
2026-09-09 12:07:28 -06:00
2026-03-18 08:58:50 +01:00
2026-08-07 14:30:36 +02:00
2025-10-29 00:15:41 +01:00
2026-05-18 14:16:34 +02:00
2026-03-03 14:27:06 +01:00
2026-09-08 11:15:15 -06:00
2026-09-08 11:15:15 -06:00
2026-09-10 15:52:53 -06:00
2026-09-10 15:52:53 -06:00
2026-08-07 14:30:36 +02:00
2026-05-28 10:56:35 +02:00
2026-08-16 13:33:26 +02:00
2026-02-18 18:39:44 +01:00
2026-05-22 18:51:08 -10:00
2024-02-12 18:44:39 +01:00
2026-05-31 22:05:53 +03:00
2026-05-31 22:05:53 +03:00
2026-09-29 16:34:38 -06:00
2026-05-11 11:45:04 +02:00
2026-08-07 14:30:36 +02:00
2026-05-10 23:41:39 +02:00
2026-09-28 10:57:02 -06:00
2026-06-24 23:04:17 +02:00
2026-09-28 11:50:28 -06:00
2026-05-04 14:29:26 +02:00
2026-10-08 21:17:49 +02:00
2026-06-24 23:04:17 +02:00
2026-06-24 23:04:17 +02:00
2026-10-01 10:26:00 -06:00
2026-08-07 08:49:29 +02:00
2025-03-26 18:57:38 +01:00
2026-09-02 17:52:26 +02:00
2026-06-15 10:00:01 +02:00
2026-08-07 14:30:36 +02:00
2026-02-09 14:35:34 +01:00
2026-10-01 10:26:00 -06:00
2026-04-08 10:36:58 -06:00
2026-09-12 11:54:11 -06:00
2026-09-18 14:08:08 -06:00
2026-09-18 14:08:08 -06:00
2026-03-14 18:13:37 +01:00
2026-10-01 10:26:00 -06:00
2026-01-02 14:20:20 +01:00
2026-08-07 14:30:36 +02:00
2026-03-14 23:50:10 +01:00
2026-08-07 14:30:36 +02:00
2026-05-12 10:13:00 +02:00
2026-02-24 00:56:45 +01:00
2026-02-24 00:56:45 +01:00
2026-03-15 15:21:28 +01:00
2026-02-03 23:30:45 +01:00
2026-09-02 18:06:47 +02:00
2026-05-04 01:08:44 +02:00
2026-08-07 14:30:36 +02:00
2025-12-19 11:38:56 +01:00
2026-09-09 12:07:28 -06:00
2026-09-09 12:07:28 -06:00
2026-09-28 16:03:52 -06:00
2025-11-06 23:44:55 +01:00
2026-07-18 11:57:48 +02:00
2025-11-09 22:18:57 +01:00