Fix memory leak in action-bar for android. (#2854)

This commit is contained in:
Hristo Hristov
2016-10-07 13:02:58 +03:00
committed by GitHub
parent edc9e483a9
commit 109ac26c5b

View File

@@ -194,7 +194,7 @@ export class ActionBar extends common.ActionBar {
} }
public _updateNavigationButton() { public _updateNavigationButton() {
var navButton = this.navigationButton; let navButton = this.navigationButton;
if (navButton && common.isVisible(navButton)) { if (navButton && common.isVisible(navButton)) {
if (navButton.android.systemIcon) { if (navButton.android.systemIcon) {
// Try to look in the system resources. // Try to look in the system resources.
@@ -208,10 +208,12 @@ export class ActionBar extends common.ActionBar {
this._toolbar.setNavigationIcon(drawableOrId); this._toolbar.setNavigationIcon(drawableOrId);
} }
let navBtn = new WeakRef(navButton);
this._toolbar.setNavigationOnClickListener(new android.view.View.OnClickListener({ this._toolbar.setNavigationOnClickListener(new android.view.View.OnClickListener({
onClick: function (v) { onClick: function (v) {
if (navButton) { let owner = navBtn.get();
navButton._raiseTap(); if (owner) {
owner._raiseTap();
} }
} }
})); }));