mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2025-01-02 14:27:10 +01:00
Fix memory leaks caused by BigImageView. Remove unused custom views.
This commit is contained in:
parent
99129a2b14
commit
07390678e0
@ -484,4 +484,10 @@ public class ViewImageOrGifActivity extends AppCompatActivity implements SetAsWa
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
BigImageViewer.imageLoader().cancelAll();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1774,6 +1774,7 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
|
|||||||
EventBus.getDefault().unregister(this);
|
EventBus.getDefault().unregister(this);
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
Bridge.clear(this);
|
Bridge.clear(this);
|
||||||
|
BigImageViewer.imageLoader().cancelAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1,60 +0,0 @@
|
|||||||
package ml.docilealligator.infinityforreddit.customviews;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.res.TypedArray;
|
|
||||||
import android.util.AttributeSet;
|
|
||||||
|
|
||||||
import com.github.piasy.biv.view.BigImageView;
|
|
||||||
|
|
||||||
public class AspectRatioBigImageView extends BigImageView {
|
|
||||||
private float ratio;
|
|
||||||
|
|
||||||
public AspectRatioBigImageView(Context context) {
|
|
||||||
super(context);
|
|
||||||
ratio = 1.0F;
|
|
||||||
}
|
|
||||||
|
|
||||||
public AspectRatioBigImageView(Context context, AttributeSet attrs) {
|
|
||||||
super(context, attrs);
|
|
||||||
this.ratio = 1.0F;
|
|
||||||
this.init(context, attrs);
|
|
||||||
}
|
|
||||||
|
|
||||||
public AspectRatioBigImageView(Context context, AttributeSet attrs, int defStyleAttr) {
|
|
||||||
super(context, attrs, defStyleAttr);
|
|
||||||
this.ratio = 1.0F;
|
|
||||||
this.init(context, attrs);
|
|
||||||
}
|
|
||||||
|
|
||||||
public final float getRatio() {
|
|
||||||
return this.ratio;
|
|
||||||
}
|
|
||||||
|
|
||||||
public final void setRatio(float var1) {
|
|
||||||
this.ratio = var1;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void init(Context context, AttributeSet attrs) {
|
|
||||||
if (attrs != null) {
|
|
||||||
TypedArray a = context.obtainStyledAttributes(attrs, com.santalu.aspectratioimageview.R.styleable.AspectRatioImageView);
|
|
||||||
this.ratio = a.getFloat(com.santalu.aspectratioimageview.R.styleable.AspectRatioImageView_ari_ratio, 1.0F);
|
|
||||||
a.recycle();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
|
||||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
|
||||||
int width = this.getMeasuredWidth();
|
|
||||||
int height = this.getMeasuredHeight();
|
|
||||||
if (width != 0 || height != 0) {
|
|
||||||
if (width > 0) {
|
|
||||||
height = (int) ((float) width * this.ratio);
|
|
||||||
} else {
|
|
||||||
width = (int) ((float) height / this.ratio);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.setMeasuredDimension(width, height);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,54 +0,0 @@
|
|||||||
package ml.docilealligator.infinityforreddit.customviews;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.res.TypedArray;
|
|
||||||
import android.util.AttributeSet;
|
|
||||||
|
|
||||||
import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView;
|
|
||||||
|
|
||||||
public class AspectRatioSubsamplingScaleImageView extends SubsamplingScaleImageView {
|
|
||||||
private float ratio;
|
|
||||||
|
|
||||||
public AspectRatioSubsamplingScaleImageView(Context context) {
|
|
||||||
super(context);
|
|
||||||
ratio = 1.0F;
|
|
||||||
}
|
|
||||||
|
|
||||||
public AspectRatioSubsamplingScaleImageView(Context context, AttributeSet attr) {
|
|
||||||
super(context, attr);
|
|
||||||
this.ratio = 1.0F;
|
|
||||||
this.init(context, attr);
|
|
||||||
}
|
|
||||||
|
|
||||||
public final float getRatio() {
|
|
||||||
return this.ratio;
|
|
||||||
}
|
|
||||||
|
|
||||||
public final void setRatio(float var1) {
|
|
||||||
this.ratio = var1;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void init(Context context, AttributeSet attrs) {
|
|
||||||
if (attrs != null) {
|
|
||||||
TypedArray a = context.obtainStyledAttributes(attrs, com.santalu.aspectratioimageview.R.styleable.AspectRatioImageView);
|
|
||||||
this.ratio = a.getFloat(com.santalu.aspectratioimageview.R.styleable.AspectRatioImageView_ari_ratio, 1.0F);
|
|
||||||
a.recycle();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
|
||||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
|
||||||
int width = this.getMeasuredWidth();
|
|
||||||
int height = this.getMeasuredHeight();
|
|
||||||
if (width != 0 || height != 0) {
|
|
||||||
if (width > 0) {
|
|
||||||
height = (int) ((float) width * this.ratio);
|
|
||||||
} else {
|
|
||||||
width = (int) ((float) height / this.ratio);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.setMeasuredDimension(width, height);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -373,4 +373,10 @@ public class ViewRedditGalleryImageOrGifFragment extends Fragment {
|
|||||||
super.onAttach(context);
|
super.onAttach(context);
|
||||||
activity = (ViewRedditGalleryActivity) context;
|
activity = (ViewRedditGalleryActivity) context;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
BigImageViewer.imageLoader().cancelAll();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user