Don't mutate shared AppInfo instance in RtlContext
In RtlEnabledContext, we force-enable RtL support, since our notification templates are known to support Rtl, even if the app doesn't necessarily. We do this by updating a flag on the ApplicationInfo returned by Context#getApplicationInfo(). Because updating this flag is a mutation, other callers to Context#getApplicationInfo() after RtlEnabledContext#getApplicationInfo() has been called will see that RTL support is enabled, even if it's not true, and even if they are not using RtlEnabledContext. The solution is to copy the ApplicationInfo object returned from the wrapped Context inside of RtlEnabledContext, so that we can mutate the copy without affecting the shared ApplicationInfo. Test: atest SystemUITests Bug: 193213399 Change-Id: Ic2dd0479d60dc9c27cc448685ec83588037a69c7
Loading
Please register or sign in to comment