Skip to content

Commit 88a8a52

Browse files
committed
optimise width loading
1 parent ed5f8ef commit 88a8a52

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@
99
import android.os.Bundle;
1010
import android.text.Editable;
1111
import android.text.TextWatcher;
12+
import android.util.DisplayMetrics;
1213
import android.util.TypedValue;
1314
import android.view.LayoutInflater;
1415
import android.view.View;
1516
import android.view.ViewGroup;
1617
import android.view.ViewTreeObserver;
18+
import android.view.WindowManager;
1719
import android.widget.ArrayAdapter;
1820
import android.widget.Button;
1921
import android.widget.EditText;
@@ -64,6 +66,7 @@
6466
import io.reactivex.schedulers.Schedulers;
6567
import timber.log.Timber;
6668

69+
import static android.content.Context.WINDOW_SERVICE;
6770
import static android.view.View.GONE;
6871
import static android.view.View.VISIBLE;
6972

@@ -243,13 +246,22 @@ private void displayMediaDetails() {
243246

244247
private void updateAspectRatio(ImageInfo imageInfo) {
245248
if (imageInfo != null) {
246-
int finalHeight = (scrollView.getWidth()*imageInfo.getHeight()) / imageInfo.getWidth();
249+
int screenWidth = getScreenWidth(getContext());
250+
int finalHeight = (screenWidth*imageInfo.getHeight()) / imageInfo.getWidth();
247251
ViewGroup.LayoutParams params = image.getLayoutParams();
248252
params.height = finalHeight;
249253
image.setLayoutParams(params);
250254
}
251255
}
252256

257+
private int getScreenWidth(Context context) {
258+
DisplayMetrics dm = new DisplayMetrics();
259+
WindowManager windowManager = (WindowManager) context.getSystemService(WINDOW_SERVICE);
260+
windowManager.getDefaultDisplay().getMetrics(dm);
261+
int width = dm.widthPixels;
262+
return width;
263+
}
264+
253265
private final ControllerListener aspectRatioListener = new BaseControllerListener<ImageInfo>() {
254266
@Override
255267
public void onIntermediateImageSet(String id, @Nullable ImageInfo imageInfo) {

0 commit comments

Comments
 (0)