mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
fix(core): provided image source can be unintentionally disposed (#10654)
This commit is contained in:
committed by
GitHub
parent
050fa3fea6
commit
a883a79e3b
@@ -69,7 +69,7 @@ export class ImageSource implements ImageSourceDefinition {
|
||||
this._rotationAngle = value;
|
||||
}
|
||||
|
||||
constructor(nativeSource?: any) {
|
||||
constructor(nativeSource?: android.graphics.Bitmap | android.graphics.drawable.Drawable) {
|
||||
if (nativeSource) {
|
||||
this.setNativeSource(nativeSource);
|
||||
}
|
||||
@@ -301,16 +301,20 @@ export class ImageSource implements ImageSourceDefinition {
|
||||
return !!this.android;
|
||||
}
|
||||
|
||||
public setNativeSource(source: any): void {
|
||||
if (source && !(source instanceof android.graphics.Bitmap)) {
|
||||
if (source instanceof android.graphics.drawable.Drawable) {
|
||||
this.android = org.nativescript.widgets.Utils.getBitmapFromDrawable(source);
|
||||
return;
|
||||
}
|
||||
public getNativeSource(): android.graphics.Bitmap | android.graphics.drawable.Drawable {
|
||||
return this.android;
|
||||
}
|
||||
|
||||
public setNativeSource(source: android.graphics.Bitmap | android.graphics.drawable.Drawable): void {
|
||||
if (!source) {
|
||||
this.android = null;
|
||||
} else if (source instanceof android.graphics.Bitmap) {
|
||||
this.android = source;
|
||||
} else if (source instanceof android.graphics.drawable.Drawable) {
|
||||
this.android = org.nativescript.widgets.Utils.getBitmapFromDrawable(source);
|
||||
} else {
|
||||
throw new Error('The method setNativeSource() expects an android.graphics.Bitmap or android.graphics.drawable.Drawable instance.');
|
||||
}
|
||||
|
||||
this.android = source;
|
||||
}
|
||||
|
||||
public saveToFile(path: string, format: 'png' | 'jpeg' | 'jpg', quality = 100): boolean {
|
||||
|
||||
Reference in New Issue
Block a user