Fix: Android platform.screen.mainScreen props are not invalidated after orientation change

Resolves #3270
This commit is contained in:
Rossen Hristov
2016-12-12 09:51:45 +02:00
parent b77903f3be
commit 3e461cd38c
9 changed files with 95 additions and 23 deletions

View File

@@ -7,6 +7,7 @@ import * as fileSystemModule from "file-system";
import * as styleScopeModule from "ui/styling/style-scope";
import * as fileResolverModule from "file-system/file-name-resolver";
import * as builderModule from "ui/builder";
import * as platformModule from "platform";
import "../bundle-entry-points";
var builder: typeof builderModule;
@@ -16,6 +17,20 @@ function ensureBuilder() {
}
}
var platform: typeof platformModule;
function ensurePlatform() {
if (!platform) {
platform = require("platform");
}
}
var fileNameResolver: typeof fileResolverModule;
function ensureFileNameResolver() {
if (!fileNameResolver) {
fileNameResolver = require("file-system/file-name-resolver");
}
}
var styleScope: typeof styleScopeModule = undefined;
var events = new observable.Observable();
@@ -112,10 +127,10 @@ export function __onLiveSync() {
}
try {
var fileResolver: typeof fileResolverModule = require("file-system/file-name-resolver");
ensureFileNameResolver();
// Clear file resolver cache to respect newly added files.
fileResolver.clearCache();
fileNameResolver.clearCache();
// Reload app.css in case it was changed.
loadCss();
@@ -134,4 +149,12 @@ export function __onLiveSyncCore() {
// Reload current page.
frame.reloadPage();
}
global.__onLiveSyncCore = __onLiveSyncCore;
global.__onLiveSyncCore = __onLiveSyncCore;
export function _onOrientationChanged(){
ensurePlatform();
platform.screen.mainScreen._invalidate();
ensureFileNameResolver();
fileNameResolver._invalidateResolverInstance();
}