Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,43 @@
## [6.3.2](https://github.com/NativeScript/NativeScript/compare/6.3.1...6.3.2) (2019-12-20)


### Bug Fixes

* check is disposed fragment is in the FragmentManager ([#8201](https://github.com/NativeScript/NativeScript/issues/8201)) ([4b00376](https://github.com/NativeScript/NativeScript/commit/4b00376))
* handle fake attach after FragMgr is destroyed ([#8200](https://github.com/NativeScript/NativeScript/issues/8200)) ([d1858f8](https://github.com/NativeScript/NativeScript/commit/d1858f8))



## [6.3.1](https://github.com/NativeScript/NativeScript/compare/6.3.0...6.3.1) (2019-12-16)


### Bug Fixes

* null reference exception in view.android.onUnloaded ([#8153](https://github.com/NativeScript/NativeScript/issues/8153)) ([da639f2](https://github.com/NativeScript/NativeScript/commit/da639f2))



# [6.3.0](https://github.com/NativeScript/NativeScript/compare/6.2.2...6.3.0) (2019-12-06)


### Bug Fixes

* **android:** Fatal Exception: java.lang.OutOfMemoryError ([#8061](https://github.com/NativeScript/NativeScript/issues/8061)) ([8d382a6](https://github.com/NativeScript/NativeScript/commit/8d382a6b2e722e9298becdcfb3b43a41352a9136))
* **grid-layout:** value parser will now accept strings or numbers ([#8042](https://github.com/NativeScript/NativeScript/issues/8042)) ([3199a39](https://github.com/NativeScript/NativeScript/commit/3199a392b45635606e06119845099965246395c3))
* **iOS:** Opening alert/confirm on top most of modal dialogs ([#7982](https://github.com/NativeScript/NativeScript/issues/7982)) ([60ac4e7](https://github.com/NativeScript/NativeScript/commit/60ac4e7a05c9e627eb9fc7a1bdf004c7fca99817)), closes [#6939](https://github.com/NativeScript/NativeScript/issues/6939)
* nested css-calc and css-variables with fallback ([#7987](https://github.com/NativeScript/NativeScript/issues/7987)) ([fc2a233](https://github.com/NativeScript/NativeScript/commit/fc2a233e9598def50969247c1516c32260b7e283))


### Features

* **css:** Added optional css-tree parser ([#8076](https://github.com/NativeScript/NativeScript/issues/8076)) ([49a7607](https://github.com/NativeScript/NativeScript/commit/49a7607f4e0f3d359820b5ae731f806966de2921))
* **dialogs:** Setting the size of popup dialog thru dialog options ([#8041](https://github.com/NativeScript/NativeScript/issues/8041)) ([cd5703a](https://github.com/NativeScript/NativeScript/commit/cd5703a6b79598031ef334a9cf3132e688422aba))
* support requestAnimationFrame ([#8112](https://github.com/NativeScript/NativeScript/issues/8112)) ([2aa6e9b](https://github.com/NativeScript/NativeScript/commit/2aa6e9bf922286f9ffd747f901dbc922cd9446b9))
* System css classes for modals ([#8155](https://github.com/NativeScript/NativeScript/issues/8155)) ([7b78f3b](https://github.com/NativeScript/NativeScript/commit/7b78f3b0c640d9d43026744b919a03996191f788))
* **modal-view-ios:** handle iOS 13 dismiss modal gesture ([#8024](https://github.com/NativeScript/NativeScript/issues/8024)) ([c5df258](https://github.com/NativeScript/NativeScript/commit/c5df2580439c24c57fb364cba91050a00e391c35))



## [6.2.2](https://github.com/NativeScript/NativeScript/compare/6.2.1...6.2.2) (2019-11-25)


Expand Down
4 changes: 0 additions & 4 deletions build/prepare-compat.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,6 @@ NATIVESCRIPT_CORE_ARGS=${NATIVESCRIPT_CORE_ARGS:-$DEFAULT_NATIVESCRIPT_CORE_ARGS
echo "Copying $PACKAGE_SOURCE $DIST/$PACKAGE..."
npx ncp "$PACKAGE_SOURCE" "$DIST/$PACKAGE"

echo "TODO(REMOVE THIS HACK): Copying platfroms/ios/Podfile"
mkdir -p "$DIST/$PACKAGE/platforms/ios"
npx ncp "nativescript-core/platforms/ios/Podfile" "$DIST/$PACKAGE/platforms/ios/Podfile"

echo "Copying README and LICENSE to $DIST/$PACKAGE"
npx ncp LICENSE "$DIST"/"$PACKAGE"/LICENSE

Expand Down
4 changes: 2 additions & 2 deletions e2e/scoped-packages/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
"license": "SEE LICENSE IN <your-license-filename>",
"repository": "<fill-your-repository-here>",
"dependencies": {
"@nativescript/core": "file:../../dist/nativescript-core-6.2.0.tgz",
"@nativescript/core": "file:../../dist/nativescript-core-6.3.0.tgz",
"nativescript-theme-core": "~1.0.6",
"tns-core-modules": "file:../../dist/tns-core-modules-6.2.0.tgz"
"tns-core-modules": "file:../../dist/tns-core-modules-6.3.0.tgz"
},
"devDependencies": {
"nativescript-dev-webpack": "~1.2.0",
Expand Down
2 changes: 1 addition & 1 deletion nativescript-core/platforms/ios/Podfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
platform :ios, '9.0'
use_frameworks!

pod 'MaterialComponents/Tabs', '~> 92.3'
pod 'MaterialComponents/Tabs', '~> 94.5'
Original file line number Diff line number Diff line change
Expand Up @@ -385,14 +385,14 @@ export class BottomNavigation extends TabNavigationBase {

_onAttachedToWindow(): void {
super._onAttachedToWindow();
this._attachedToWindow = true;

// _onAttachedToWindow called from OS again after it was detach
// TODO: Consider testing and removing it when update to androidx.fragment:1.2.0
if (this._manager && this._manager.isDestroyed()) {
return;
}


this._attachedToWindow = true;
this.changeTab(this.selectedIndex);
}

Expand Down
10 changes: 7 additions & 3 deletions nativescript-core/ui/core/view/view.android.ts
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,8 @@ function initializeDialogFragment() {
const ownerId = this.getArguments().getInt(DOMID);
const options = getModalOptions(ownerId);
this.owner = options.owner;
// Set owner._dialogFragment to this in case the DialogFragment was recreated after app suspend
this.owner._dialogFragment = this;
this._fullscreen = options.fullscreen;
this._animated = options.animated;
this._cancelable = options.cancelable;
Expand Down Expand Up @@ -381,11 +383,13 @@ export class View extends ViewCommon {
@profile
public onUnloaded() {
if (this.touchListenerIsSet) {
this.nativeViewProtected.setOnTouchListener(null);
this.touchListenerIsSet = false;
this.nativeViewProtected.setClickable(this._isClickable);
if (this.nativeViewProtected) {
this.nativeViewProtected.setOnTouchListener(null);
this.nativeViewProtected.setClickable(this._isClickable);
}
}

this._manager = null;
this._rootManager = null;
super.onUnloaded();
Expand Down
25 changes: 16 additions & 9 deletions nativescript-core/ui/frame/frame.android.ts
Original file line number Diff line number Diff line change
Expand Up @@ -150,14 +150,14 @@ export class Frame extends FrameBase {

_onAttachedToWindow(): void {
super._onAttachedToWindow();
this._attachedToWindow = true;


// _onAttachedToWindow called from OS again after it was detach
// TODO: Consider testing and removing it when update to androidx.fragment:1.2.0
if (this._manager && this._manager.isDestroyed()) {
return;
}


this._attachedToWindow = true;
this._processNextNavigationEntry();
}

Expand Down Expand Up @@ -264,13 +264,13 @@ export class Frame extends FrameBase {
!this._currentEntry.fragment.isAdded()) {
return;
}
const fragment: androidx.fragment.app.Fragment = this._currentEntry.fragment;
const fragmentManager: androidx.fragment.app.FragmentManager = fragment.getFragmentManager();

const manager: androidx.fragment.app.FragmentManager = this._getFragmentManager();
const transaction = manager.beginTransaction();
const fragment = this._currentEntry.fragment;
const transaction = fragmentManager.beginTransaction();
const fragmentExitTransition = fragment.getExitTransition();

// Reset animation to its initial state to prevent mirrorered effect when restore current fragment transitions
// Reset animation to its initial state to prevent mirrored effect when restore current fragment transitions
if (fragmentExitTransition && fragmentExitTransition instanceof org.nativescript.widgets.CustomTransition) {
fragmentExitTransition.setResetOnTransitionEnd(true);
}
Expand Down Expand Up @@ -637,7 +637,7 @@ function clearEntry(entry: BackstackEntry): void {
entry.recreated = false;
entry.fragment = null;
const page = entry.resolvedPage;
if (page._context) {
if (page && page._context) {
entry.resolvedPage._tearDownUI(true);
}
}
Expand Down Expand Up @@ -1032,6 +1032,12 @@ class FragmentCallbacksImplementation implements AndroidFragmentCallbacks {
}

private loadBitmapFromView(view: android.view.View): android.graphics.Bitmap {
// Don't try to creat bitmaps with no dimensions as this causes a crash
// This might happen when showing and closing dialogs fast.
if (!(view && view.getWidth() > 0 && view.getHeight() > 0)) {
return undefined;
}

// Another way to get view bitmap. Test performance vs setDrawingCacheEnabled
// const width = view.getWidth();
// const height = view.getHeight();
Expand All @@ -1041,7 +1047,8 @@ class FragmentCallbacksImplementation implements AndroidFragmentCallbacks {
// view.draw(canvas);

view.setDrawingCacheEnabled(true);
const bitmap = android.graphics.Bitmap.createBitmap(view.getDrawingCache());
const drawCache = view.getDrawingCache();
const bitmap = android.graphics.Bitmap.createBitmap(drawCache);
view.setDrawingCacheEnabled(false);

return bitmap;
Expand Down
4 changes: 0 additions & 4 deletions nativescript-core/utils/utils.ios.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ import {
export { ios };
export * from "./utils-common";

let mainScreenScale;

export function openFile(filePath: string): boolean {
try {
const appPath = ios.getCurrentAppPath();
Expand Down Expand Up @@ -47,5 +45,3 @@ export function openUrl(location: string): boolean {

return false;
}

mainScreenScale = UIScreen.mainScreen.scale;