Commit 10db7a9c by ibaker Committed by Oliver Woodman

Ensure we destroy WebViews when we detach them from SubtitleView

PiperOrigin-RevId: 309389731
parent 79c003f5
...@@ -143,6 +143,9 @@ public final class SubtitleView extends FrameLayout implements TextOutput { ...@@ -143,6 +143,9 @@ public final class SubtitleView extends FrameLayout implements TextOutput {
private <T extends View & Output> void setView(T view) { private <T extends View & Output> void setView(T view) {
removeView(innerSubtitleView); removeView(innerSubtitleView);
if (innerSubtitleView instanceof SubtitleWebView) {
((SubtitleWebView) innerSubtitleView).destroy();
}
innerSubtitleView = view; innerSubtitleView = view;
output = view; output = view;
addView(view); addView(view);
......
...@@ -174,6 +174,17 @@ import java.util.List; ...@@ -174,6 +174,17 @@ import java.util.List;
updateWebView(); updateWebView();
} }
/**
* Cleans up internal state, including calling {@link WebView#destroy()} on the delegate view.
*
* <p>This method may only be called after this view has been removed from the view system. No
* other methods may be called on this view after destroy.
*/
public void destroy() {
cues.clear();
webView.destroy();
}
private void updateWebView() { private void updateWebView() {
StringBuilder html = new StringBuilder(); StringBuilder html = new StringBuilder();
html.append( html.append(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment