Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ed4b6d37 authored by Riley Jones's avatar Riley Jones
Browse files

Adds bottom margin to AccessibilityButtonChooserActivity, avoiding overlap with system bar

Test: Open manually, verify no icons or text overlap with system bar
Bug: 433572832
Flag: android.view.accessibility.button_chooser_activity_bottom_margin_system_bar
Change-Id: I96c8ff305c39a616158beea011e9a8e66c12f0d0
parent 58ba36c9
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -79,6 +79,13 @@ flag {
    bug: "303522222"
}

flag {
    name: "button_chooser_activity_bottom_margin_system_bar"
    namespace: "accessibility"
    description: "Uses system bar insets as a bottom margin for AccessibilityButtonChooserActivity, preventing overlap."
    bug: "433572832"
}

flag {
    name: "cleanup_accessibility_warning_dialog"
    namespace: "accessibility"
+16 −0
Original line number Diff line number Diff line
@@ -27,8 +27,11 @@ import static com.android.internal.accessibility.util.AccessibilityStatsLogUtils
import android.annotation.Nullable;
import android.app.Activity;
import android.content.ComponentName;
import android.graphics.Insets;
import android.os.Bundle;
import android.provider.Settings;
import android.view.ViewGroup;
import android.view.WindowInsets;
import android.view.accessibility.AccessibilityManager;
import android.widget.GridView;
import android.widget.TextView;
@@ -94,5 +97,18 @@ public class AccessibilityButtonChooserActivity extends Activity {
            Settings.Secure.putString(getContentResolver(), key, mTargets.get(position).getId());
            finish();
        });

        if (android.view.accessibility.Flags.buttonChooserActivityBottomMarginSystemBar()) {
            final WindowInsets windowInsets =
                    getWindowManager().getCurrentWindowMetrics().getWindowInsets();
            final Insets insets = windowInsets.getInsetsIgnoringVisibility(
                    WindowInsets.Type.systemBars());

            final ViewGroup.MarginLayoutParams params =
                    (ViewGroup.MarginLayoutParams) gridview.getLayoutParams();

            params.bottomMargin = insets.bottom;
            gridview.setLayoutParams(params);
        }
    }
}