Fix issues with wrong configuration being used to inflate layouts.

Bug: 27700406

Change-Id: I646e21b513ffe4b340769dcac6cb5537535ee432
This commit is contained in:
Anna Galusza
2016-03-21 11:42:34 -07:00
parent 297ce9aaf3
commit 062efd0f17

View File

@@ -47,6 +47,10 @@ public class PreviewPagerAdapter extends PagerAdapter {
Configuration[] configurations) {
mPreviewFrames = new TouchBlockingFrameLayout[previewSampleResIds.length];
// We need to get the copy of the original configuration before we call
// createConfigurationContext() as that call changes the current configuration for the App.
final Configuration origConfig = context.getResources().getConfiguration();
for (int i = 0; i < previewSampleResIds.length; ++i) {
mPreviewFrames[i] = (TouchBlockingFrameLayout) LayoutInflater.from(context)
.inflate(R.layout.preview_frame_container, null);
@@ -69,6 +73,10 @@ public class PreviewPagerAdapter extends PagerAdapter {
mPreviewFrames[i].addView(sampleView);
}
}
// Create a context with the original App configuration since the last configuration passed
// to createConfigurationContext() becomes the configuration for any new views inflated.
context.createConfigurationContext(origConfig);
}
@Override