Skip to content

Commit e67ef9d

Browse files
committed
fix(android): prevent weakref being released and causing crashes
1 parent 3871557 commit e67ef9d

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/ui-pager/index.android.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ export class Pager extends PagerBase {
334334
// if (view && view.isLoaded) {
335335
// view.callUnloaded();
336336
// }
337-
this._removeViewCore(view)
337+
this._removeViewCore(view);
338338
// view._isAddedToNativeVisualTree = false;
339339
// //@ts-ignore
340340
// view.parent = null;
@@ -857,7 +857,7 @@ function initPagerRecyclerAdapter() {
857857
sp.nativeView.setLayoutParams(new android.view.ViewGroup.LayoutParams(android.view.ViewGroup.LayoutParams.MATCH_PARENT, android.view.ViewGroup.LayoutParams.MATCH_PARENT));
858858

859859
initPagerViewHolder();
860-
const holder = new PagerViewHolder(new WeakRef(sp), new WeakRef(owner));
860+
const holder = new PagerViewHolder(sp, new WeakRef(owner));
861861
owner._viewHolders.add(holder);
862862
return holder;
863863
}
@@ -1009,7 +1009,7 @@ function initStaticPagerStateAdapter() {
10091009
sp.nativeView.setLayoutParams(new android.view.ViewGroup.LayoutParams(android.view.ViewGroup.LayoutParams.MATCH_PARENT, android.view.ViewGroup.LayoutParams.MATCH_PARENT));
10101010

10111011
initPagerViewHolder();
1012-
const holder = new PagerViewHolder(new WeakRef(sp), new WeakRef(owner));
1012+
const holder = new PagerViewHolder(sp, new WeakRef(owner));
10131013
owner._viewHolders.add(holder);
10141014
return holder;
10151015
}
@@ -1081,7 +1081,7 @@ function initStaticPagerStateAdapter() {
10811081

10821082
interface PagerViewHolder extends androidx.recyclerview.widget.RecyclerView.ViewHolder {
10831083
// tslint:disable-next-line:no-misused-new
1084-
new (owner: WeakRef<View>, pager: WeakRef<Pager>): PagerViewHolder;
1084+
new (owner: View, pager: WeakRef<Pager>): PagerViewHolder;
10851085
view: View;
10861086
}
10871087
// eslint-disable-next-line no-redeclare
@@ -1094,13 +1094,13 @@ function initPagerViewHolder() {
10941094

10951095
@NativeClass
10961096
class PagerViewHolderImpl extends androidx.recyclerview.widget.RecyclerView.ViewHolder {
1097-
constructor(private owner: WeakRef<View>, private pager: WeakRef<Pager>) {
1098-
super(owner.get().nativeViewProtected);
1097+
constructor(private owner: View, private pager: WeakRef<Pager>) {
1098+
super(owner.nativeViewProtected);
10991099
return global.__native(this);
11001100
}
11011101

11021102
get view(): View {
1103-
return this.owner?.get();
1103+
return this.owner;
11041104
}
11051105
}
11061106

0 commit comments

Comments
 (0)