When adding dialog window but not creating update the configuration.
When we dismiss the dialog as opposed to hide it, it is removed from the local WindowManagerGlobal's list of ViewRoots. Thus it stops receiving configuration changes. When first adding a ViewRoot it will pull the configuration from the context, but in this case we are reusing one which has already been added and removed and no such action will occur. Bug: 31004614 Change-Id: Ie247bcf1a14caf4a42413c6813e337aa4c88e3e4
This commit is contained in:
@@ -32,6 +32,7 @@ import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.ContextWrapper;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.Uri;
|
||||
@@ -288,9 +289,14 @@ public class Dialog implements DialogInterface, Window.Callback,
|
||||
}
|
||||
|
||||
mCanceled = false;
|
||||
|
||||
|
||||
if (!mCreated) {
|
||||
dispatchOnCreate(null);
|
||||
} else {
|
||||
// Fill the DecorView in on any configuration changes that
|
||||
// may have occured while it was removed from the WindowManager.
|
||||
final Configuration config = mContext.getResources().getConfiguration();
|
||||
mWindow.getDecorView().dispatchConfigurationChanged(config);
|
||||
}
|
||||
|
||||
onStart();
|
||||
|
||||
Reference in New Issue
Block a user