diff --git a/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java b/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java index baa8939640bce589940c537242d0404ee90fafd5..76b843659f9fb7dd702900bed0202d56be2264c4 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java @@ -8,6 +8,7 @@ import android.content.ActivityNotFoundException; import android.content.Context; import android.content.DialogInterface.OnClickListener; import android.content.Intent; +import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.location.LocationManager; @@ -90,6 +91,8 @@ import static android.text.format.DateUtils.WEEK_IN_MILLIS; import static android.text.format.DateUtils.YEAR_IN_MILLIS; import static android.view.KeyEvent.ACTION_DOWN; import static android.view.KeyEvent.KEYCODE_ENTER; +import static android.view.View.GONE; +import static android.view.View.VISIBLE; import static android.view.WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE; import static android.view.WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE; import static android.view.WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN; @@ -549,6 +552,17 @@ public class UiUtils { return icon; } + public static void hideViewOnSmallScreen(View view) { + boolean small = isSmallScreenRelativeToFontSize(view.getContext()); + view.setVisibility(small ? GONE : VISIBLE); + } + + public static boolean isSmallScreenRelativeToFontSize(Context ctx) { + Configuration config = ctx.getResources().getConfiguration(); + if (config.fontScale == 0f) return true; + return config.screenHeightDp / config.fontScale < 600; + } + /** * Logs the exception and shows a Toast to the user. * <p>