Merge pull request #503 from alexyazvinsky/def-fix

(android) Defensive code to prevent NULL reference exceptions for async
This commit is contained in:
Niklas Merz 2020-01-04 08:57:52 +01:00 committed by GitHub
commit 7b42f3e105
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -313,8 +313,10 @@ public class InAppBrowser extends CordovaPlugin {
this.cordova.getActivity().runOnUiThread(new Runnable() { this.cordova.getActivity().runOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
if (dialog != null) {
dialog.show(); dialog.show();
} }
}
}); });
PluginResult pluginResult = new PluginResult(PluginResult.Status.OK); PluginResult pluginResult = new PluginResult(PluginResult.Status.OK);
pluginResult.setKeepCallback(true); pluginResult.setKeepCallback(true);
@ -324,8 +326,10 @@ public class InAppBrowser extends CordovaPlugin {
this.cordova.getActivity().runOnUiThread(new Runnable() { this.cordova.getActivity().runOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
if (dialog != null) {
dialog.hide(); dialog.hide();
} }
}
}); });
PluginResult pluginResult = new PluginResult(PluginResult.Status.OK); PluginResult pluginResult = new PluginResult(PluginResult.Status.OK);
pluginResult.setKeepCallback(true); pluginResult.setKeepCallback(true);
@ -1065,12 +1069,14 @@ public class InAppBrowser extends CordovaPlugin {
lp.width = WindowManager.LayoutParams.MATCH_PARENT; lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.MATCH_PARENT; lp.height = WindowManager.LayoutParams.MATCH_PARENT;
if (dialog != null) {
dialog.setContentView(main); dialog.setContentView(main);
dialog.show(); dialog.show();
dialog.getWindow().setAttributes(lp); dialog.getWindow().setAttributes(lp);
}
// the goal of openhidden is to load the url and not display it // the goal of openhidden is to load the url and not display it
// Show() needs to be called to cause the URL to be loaded // Show() needs to be called to cause the URL to be loaded
if(openWindowHidden) { if (openWindowHidden && dialog != null) {
dialog.hide(); dialog.hide();
} }
} }