Fixing StrictMode errors in A11yMenu
Bug:268743197 Test: atest AccessibilityMenuServiceTest, then check the logcat to verify no strictmode errors Change-Id: I4e063230edc282731b267e57389b8213c1bc74be
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user