diff --git a/app/src/main/java/com/emanuelef/remote_capture/Utils.java b/app/src/main/java/com/emanuelef/remote_capture/Utils.java index f9fa7805..087d627f 100644 --- a/app/src/main/java/com/emanuelef/remote_capture/Utils.java +++ b/app/src/main/java/com/emanuelef/remote_capture/Utils.java @@ -43,6 +43,7 @@ import android.content.res.Resources; import android.database.Cursor; import android.graphics.Bitmap; import android.graphics.Canvas; +import android.graphics.Point; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.net.ConnectivityManager; @@ -68,9 +69,12 @@ import android.text.TextUtils; import android.text.method.LinkMovementMethod; import android.text.style.StyleSpan; import android.util.Patterns; +import android.view.Display; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; +import android.view.WindowManager; +import android.view.WindowMetrics; import android.widget.ImageView; import android.widget.TableLayout; import android.widget.TableRow; @@ -217,6 +221,21 @@ public class Utils { return primaryLocale; } + @SuppressWarnings("deprecation") + public static int getSmallerDisplayDimension(Context ctx) { + WindowManager manager = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE); + + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + WindowMetrics windowMetrics = manager.getCurrentWindowMetrics(); + return Math.min(windowMetrics.getBounds().width(), windowMetrics.getBounds().width()); + } else { + Display display = manager.getDefaultDisplay(); + Point point = new Point(); + display.getSize(point); + return Math.min(point.x, point.y); + } + } + public static String getCountryName(Context context, String country_code) { Locale cur_locale = getPrimaryLocale(context); return(new Locale(cur_locale.getCountry(), country_code)).getDisplayCountry(); diff --git a/app/src/main/java/com/emanuelef/remote_capture/activities/AboutActivity.java b/app/src/main/java/com/emanuelef/remote_capture/activities/AboutActivity.java index 5b5afe77..f14a9607 100644 --- a/app/src/main/java/com/emanuelef/remote_capture/activities/AboutActivity.java +++ b/app/src/main/java/com/emanuelef/remote_capture/activities/AboutActivity.java @@ -21,9 +21,7 @@ package com.emanuelef.remote_capture.activities; import android.app.Service; import android.content.Intent; -import android.content.res.Resources; import android.graphics.Bitmap; -import android.graphics.Point; import android.net.ConnectivityManager; import android.net.LinkProperties; import android.net.Network; @@ -35,13 +33,11 @@ import android.os.Looper; import android.os.SystemClock; import android.text.method.LinkMovementMethod; import android.util.TypedValue; -import android.view.Display; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; -import android.view.WindowManager; import android.widget.EditText; import android.widget.ImageView; import android.widget.LinearLayout; @@ -337,12 +333,7 @@ public class AboutActivity extends BaseActivity implements MenuProvider { maxDp, getResources().getDisplayMetrics() ); - - WindowManager manager = (WindowManager) getSystemService(WINDOW_SERVICE); - Display display = manager.getDefaultDisplay(); - Point point = new Point(); - display.getSize(point); - int smallerDimension = Math.min(Math.min(point.x, point.y) / 2, maxPx); + int smallerDimension = Math.min(Utils.getSmallerDisplayDimension(this) / 2, maxPx); String device_name = Utils.getDeviceName(this); if(device_name == null) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fd8326be..11010827 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -295,7 +295,7 @@ Overview HTTP request HTTP response - Payload is truncated. Enable \"%1$s\" to show it in full + Payload is truncated. To show it in full, stop the capture and enable \"%1$s\" from the PCAPdroid settings WebSocket HTTP Payload