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

Commit 881f75f5 authored by Riley Jones's avatar Riley Jones
Browse files

Fixing StrictMode errors in A11yMenu

Bug:268743197
Test: atest AccessibilityMenuServiceTest, then check the logcat to verify no strictmode errors
Change-Id: I4e063230edc282731b267e57389b8213c1bc74be
parent 028591b8
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.systemui.accessibility.accessibilitymenu.view;

import android.content.Context;
import android.graphics.Rect;
import android.view.LayoutInflater;
import android.view.TouchDelegate;
@@ -47,10 +48,11 @@ public class A11yMenuAdapter extends BaseAdapter {
    private final ShortcutDrawableUtils mShortcutDrawableUtils;

    public A11yMenuAdapter(
            AccessibilityMenuService service, List<A11yMenuShortcut> shortcutDataList) {
            AccessibilityMenuService service,
            Context displayContext, List<A11yMenuShortcut> shortcutDataList) {
        this.mService = service;
        this.mShortcutDataList = shortcutDataList;
        mInflater = LayoutInflater.from(service);
        mInflater = LayoutInflater.from(displayContext);

        mShortcutDrawableUtils = new ShortcutDrawableUtils(service);

@@ -75,7 +77,9 @@ public class A11yMenuAdapter extends BaseAdapter {

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        convertView = mInflater.inflate(R.layout.grid_item, null);
        if (convertView == null) {
            convertView = mInflater.inflate(R.layout.grid_item, parent, false);
        }

        A11yMenuShortcut shortcutItem = (A11yMenuShortcut) getItem(position);
        // Sets shortcut icon and label resource.
+10 −10
Original line number Diff line number Diff line
@@ -17,11 +17,13 @@
package com.android.systemui.accessibility.accessibilitymenu.view;

import static android.view.Display.DEFAULT_DISPLAY;
import static android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_OVERLAY;

import static java.lang.Math.max;

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Insets;
import android.graphics.PixelFormat;
@@ -135,15 +137,13 @@ public class A11yMenuOverlayLayout {
            initLayoutParams();
        }

        final Display display = mService.getSystemService(
                DisplayManager.class).getDisplay(DEFAULT_DISPLAY);

        mLayout = new FrameLayout(
                mService.createDisplayContext(display).createWindowContext(
                        WindowManager.LayoutParams.TYPE_ACCESSIBILITY_OVERLAY, null));
        final Display display = mDisplayManager.getDisplay(DEFAULT_DISPLAY);
        final Context context = mService.createDisplayContext(display).createWindowContext(
                TYPE_ACCESSIBILITY_OVERLAY, null);
        mLayout = new FrameLayout(context);
        updateLayoutPosition();
        inflateLayoutAndSetOnTouchListener(mLayout);
        mA11yMenuViewPager = new A11yMenuViewPager(mService);
        inflateLayoutAndSetOnTouchListener(mLayout, context);
        mA11yMenuViewPager = new A11yMenuViewPager(mService, context);
        mA11yMenuViewPager.configureViewPagerAndFooter(mLayout, createShortcutList(), pageIndex);
        mWindowManager.addView(mLayout, mLayoutParameter);
        mLayout.setVisibility(lastVisibilityState);
@@ -169,8 +169,8 @@ public class A11yMenuOverlayLayout {
        mLayoutParameter.setTitle(mService.getString(R.string.accessibility_menu_service_name));
    }

    private void inflateLayoutAndSetOnTouchListener(ViewGroup view) {
        LayoutInflater inflater = LayoutInflater.from(mService);
    private void inflateLayoutAndSetOnTouchListener(ViewGroup view, Context displayContext) {
        LayoutInflater inflater = LayoutInflater.from(displayContext);
        inflater.inflate(R.layout.paged_menu, view);
        view.setOnTouchListener(mService);
    }
+8 −3
Original line number Diff line number Diff line
@@ -147,8 +147,12 @@ public class A11yMenuViewPager {
    /** The container layout for a11y menu. */
    private ViewGroup mA11yMenuLayout;

    public A11yMenuViewPager(AccessibilityMenuService service) {
    /** Display context for inflating views. */
    private Context mDisplayContext;

    public A11yMenuViewPager(AccessibilityMenuService service, Context displayContext) {
        this.mService = service;
        this.mDisplayContext = displayContext;
    }

    /**
@@ -213,10 +217,11 @@ public class A11yMenuViewPager {
    }

    private void addGridPage(List<A11yMenuShortcut> shortcutDataListInPage) {
        LayoutInflater inflater = LayoutInflater.from(mService);
        LayoutInflater inflater = LayoutInflater.from(mDisplayContext);
        View view = inflater.inflate(R.layout.grid_view, null);
        GridView gridView = view.findViewById(R.id.gridview);
        A11yMenuAdapter adapter = new A11yMenuAdapter(mService, shortcutDataListInPage);
        A11yMenuAdapter adapter = new A11yMenuAdapter(
                mService, mDisplayContext, shortcutDataListInPage);
        gridView.setNumColumns(GridViewParams.getGridColumnCount(mService));
        gridView.setAdapter(adapter);
        mGridPageList.add(gridView);