mirror of
https://github.com/Helium314/HeliBoard.git
synced 2025-04-23 07:39:11 +00:00
Try to use navigationBars()
and insets.bottom + insets.top
for bottom inset padding on Android15+.
Log insets for debugging.
This commit is contained in:
parent
ca345b9395
commit
7210174dff
1 changed files with 43 additions and 9 deletions
|
@ -6,6 +6,9 @@
|
||||||
|
|
||||||
package helium314.keyboard.latin.utils;
|
package helium314.keyboard.latin.utils;
|
||||||
|
|
||||||
|
import java.util.function.BiFunction;
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
|
@ -19,6 +22,7 @@ import android.view.WindowInsets;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.view.WindowMetrics;
|
import android.view.WindowMetrics;
|
||||||
|
|
||||||
|
import androidx.annotation.RequiresApi;
|
||||||
import helium314.keyboard.latin.R;
|
import helium314.keyboard.latin.R;
|
||||||
import helium314.keyboard.latin.settings.SettingsValues;
|
import helium314.keyboard.latin.settings.SettingsValues;
|
||||||
|
|
||||||
|
@ -140,10 +144,40 @@ public final class ResourceUtils {
|
||||||
}
|
}
|
||||||
|
|
||||||
WindowManager wm = context.getSystemService(WindowManager.class);
|
WindowManager wm = context.getSystemService(WindowManager.class);
|
||||||
|
logInsets(wm.getMaximumWindowMetrics(), "max-metrics");
|
||||||
|
logInsets(wm.getCurrentWindowMetrics(), "current-metrics");
|
||||||
|
|
||||||
WindowMetrics windowMetrics = wm.getMaximumWindowMetrics();
|
WindowMetrics windowMetrics = wm.getMaximumWindowMetrics();
|
||||||
WindowInsets windowInsets = windowMetrics.getWindowInsets();
|
WindowInsets windowInsets = windowMetrics.getWindowInsets();
|
||||||
int insetTypes = WindowInsets.Type.systemBars() | WindowInsets.Type.displayCutout();
|
int insetTypes = WindowInsets.Type.navigationBars();
|
||||||
Insets insets = windowInsets.getInsetsIgnoringVisibility(insetTypes);
|
Insets insets = windowInsets.getInsetsIgnoringVisibility(insetTypes);
|
||||||
return insets.bottom;
|
return insets.bottom + insets.top;
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequiresApi(api = Build.VERSION_CODES.R)
|
||||||
|
private static void logInsets(WindowMetrics metrics, String metricsType) {
|
||||||
|
logInsets(metrics, metricsType, WindowInsets::getInsets, "insets");
|
||||||
|
logInsets(metrics, metricsType, WindowInsets::getInsetsIgnoringVisibility, "insetsIgnoringVisibility");
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequiresApi(api = Build.VERSION_CODES.R)
|
||||||
|
private static void logInsets(WindowMetrics metrics, String metricsType,
|
||||||
|
BiFunction<WindowInsets, Integer, Insets> insetsGetter, String visibility) {
|
||||||
|
logInsets(metrics, metricsType, WindowInsets.Type.navigationBars(),"navigationBars",
|
||||||
|
insetsGetter, visibility);
|
||||||
|
logInsets(metrics, metricsType, WindowInsets.Type.systemBars(), "systemBars", insetsGetter, visibility);
|
||||||
|
logInsets(metrics, metricsType, WindowInsets.Type.statusBars(), "statusBars", insetsGetter, visibility);
|
||||||
|
logInsets(metrics, metricsType, WindowInsets.Type.displayCutout(),"displayCutout",
|
||||||
|
insetsGetter, visibility);
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequiresApi(api = Build.VERSION_CODES.R)
|
||||||
|
@SuppressLint("DefaultLocale")
|
||||||
|
private static void logInsets(WindowMetrics metrics, String metricsType, int insetTypes, String insetsType,
|
||||||
|
BiFunction<WindowInsets, Integer, Insets> insetsGetter, String visibility) {
|
||||||
|
WindowInsets windowInsets = metrics.getWindowInsets();
|
||||||
|
Insets insets = insetsGetter.apply(windowInsets, insetTypes);
|
||||||
|
Log.i("insets", String.format("%s, %s, %s, bottom %d, top %d", metricsType, insetsType, visibility,
|
||||||
|
insets.bottom, insets.top));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue