Merge "Modify the code logic of OnLayoutChangeListener in Caption preferences" am: 9c79dfb493 am: 658444b986

Change-Id: I969cf4b26db7c36917bb4b8741db8ad5833c8d7c
This commit is contained in:
Automerger Merge Worker
2020-01-13 08:20:54 +00:00

View File

@@ -95,6 +95,17 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment
private final List<Preference> mPreferenceList = new ArrayList<>();
private final View.OnLayoutChangeListener mLayoutChangeListener =
new View.OnLayoutChangeListener() {
@Override
public void onLayoutChange(View v, int left, int top, int right, int bottom,
int oldLeft, int oldTop, int oldRight, int oldBottom) {
// Remove the listener once the callback is triggered.
mPreviewViewport.removeOnLayoutChangeListener(this);
refreshPreviewText();
}
};
@Override
public int getMetricsCategory() {
return SettingsEnums.ACCESSIBILITY_CAPTION_PROPERTIES;
@@ -192,9 +203,7 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment
mPreviewWindow = captionPreview.findViewById(R.id.preview_window);
mPreviewViewport = captionPreview.findViewById(R.id.preview_viewport);
mPreviewViewport.addOnLayoutChangeListener(
(v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom)
-> refreshPreviewText());
mPreviewViewport.addOnLayoutChangeListener(mLayoutChangeListener);
final Resources res = getResources();
final int[] presetValues = res.getIntArray(R.array.captioning_preset_selector_values);