Commit 23e473a
manager: fix TransactionTooLargeException crash on large module install logs
When installing modules that produce large log output (e.g. theme
modules with thousands of icons), the install log text state grows
unboundedly, causing TransactionTooLargeException when the Activity's
saved state Bundle exceeds the Binder transaction limit (~1MB).
This was previously reported in #927 and fixed in cb684e6 by switching
from rememberSaveable to remember, but that caused the log to reset
on navigation (#1308).
Fix both issues by:
- Using rememberSaveable for text state (preserves log on navigation)
- Truncating text at runtime to 100K chars when it exceeds the limit
- Keeping full log in StringBuilder (remember) for saving to file
- Also fixing ExecuteAPMActionScreen which had the same issue
The 100K char limit (~100KB) is well below the Binder limit and still
covers ~2000-3000 lines of install log output.
Closes: #9271 parent 4c113e9 commit 23e473a
2 files changed
Lines changed: 25 additions & 20 deletions
Lines changed: 12 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| |||
50 | 51 | | |
51 | 52 | | |
52 | 53 | | |
53 | | - | |
54 | | - | |
| 54 | + | |
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
60 | 66 | | |
61 | 67 | | |
62 | 68 | | |
| |||
65 | 71 | | |
66 | 72 | | |
67 | 73 | | |
68 | | - | |
69 | | - | |
70 | | - | |
| 74 | + | |
| 75 | + | |
71 | 76 | | |
72 | | - | |
| 77 | + | |
73 | 78 | | |
74 | | - | |
75 | 79 | | |
76 | 80 | | |
77 | | - | |
| 81 | + | |
78 | 82 | | |
79 | 83 | | |
80 | 84 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | | - | |
80 | | - | |
| 79 | + | |
81 | 80 | | |
82 | 81 | | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
83 | 88 | | |
84 | 89 | | |
85 | 90 | | |
| |||
141 | 146 | | |
142 | 147 | | |
143 | 148 | | |
144 | | - | |
145 | | - | |
146 | | - | |
| 149 | + | |
| 150 | + | |
147 | 151 | | |
148 | | - | |
| 152 | + | |
149 | 153 | | |
150 | | - | |
151 | 154 | | |
152 | | - | |
153 | | - | |
154 | | - | |
| 155 | + | |
| 156 | + | |
155 | 157 | | |
156 | | - | |
| 158 | + | |
157 | 159 | | |
158 | | - | |
159 | 160 | | |
160 | 161 | | |
161 | 162 | | |
| |||
0 commit comments