diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2016-06-17 08:43:56 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2016-06-17 08:44:51 -0700 |
commit | ae50284e0a838139c67caf0064a0977c871497fa (patch) | |
tree | 45147a676bc32b604a9c64808a3a836de748e3a4 | |
parent | bb011dad4e69bec027be1e00d573a3095b318b43 (diff) | |
download | android_packages_apps_Trebuchet-ae50284e0a838139c67caf0064a0977c871497fa.tar.gz android_packages_apps_Trebuchet-ae50284e0a838139c67caf0064a0977c871497fa.tar.bz2 android_packages_apps_Trebuchet-ae50284e0a838139c67caf0064a0977c871497fa.zip |
Moving LauncherAccessibilityDelegate to Launcher to associate it with
activity lifecycle.
Change-Id: Ib815505677fa7ed74bdcfe7141b1d9bea5d7143a
11 files changed, 21 insertions, 33 deletions
diff --git a/src/com/android/launcher3/BubbleTextView.java b/src/com/android/launcher3/BubbleTextView.java index 5d0f78308..be00aec34 100644 --- a/src/com/android/launcher3/BubbleTextView.java +++ b/src/com/android/launcher3/BubbleTextView.java @@ -143,7 +143,7 @@ public class BubbleTextView extends TextView setShadowLayer(SHADOW_LARGE_RADIUS, 0.0f, SHADOW_Y_OFFSET, SHADOW_LARGE_COLOUR); } - setAccessibilityDelegate(LauncherAppState.getInstance().getAccessibilityDelegate()); + setAccessibilityDelegate(mLauncher.getAccessibilityDelegate()); } public void applyFromShortcutInfo(ShortcutInfo info, IconCache iconCache) { diff --git a/src/com/android/launcher3/ButtonDropTarget.java b/src/com/android/launcher3/ButtonDropTarget.java index 61ac713a5..5a4ed2f54 100644 --- a/src/com/android/launcher3/ButtonDropTarget.java +++ b/src/com/android/launcher3/ButtonDropTarget.java @@ -312,8 +312,7 @@ public abstract class ButtonDropTarget extends TextView @Override public void onClick(View v) { - LauncherAppState.getInstance().getAccessibilityDelegate() - .handleAccessibleDrop(this, null, null); + mLauncher.getAccessibilityDelegate().handleAccessibleDrop(this, null, null); } public int getTextColor() { diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index d768ea87c..156c1b0b0 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -92,6 +92,7 @@ import android.widget.Toast; import com.android.launcher3.DropTarget.DragObject; import com.android.launcher3.LauncherSettings.Favorites; +import com.android.launcher3.accessibility.LauncherAccessibilityDelegate; import com.android.launcher3.allapps.AllAppsContainerView; import com.android.launcher3.allapps.AllAppsTransitionController; import com.android.launcher3.allapps.DefaultAppSearchController; @@ -286,6 +287,7 @@ public class Launcher extends Activity private LauncherModel mModel; private IconCache mIconCache; private ExtractedColors mExtractedColors; + private LauncherAccessibilityDelegate mAccessibilityDelegate; @Thunk boolean mUserPresent = true; private boolean mVisible = false; private boolean mHasFocus = false; @@ -414,6 +416,7 @@ public class Launcher extends Activity mIsSafeModeEnabled = getPackageManager().isSafeMode(); mModel = app.setLauncher(this); mIconCache = app.getIconCache(); + mAccessibilityDelegate = new LauncherAccessibilityDelegate(this); mDragController = new DragController(this); mAllAppsController = new AllAppsTransitionController(this); @@ -1999,6 +2002,10 @@ public class Launcher extends Activity } } + public LauncherAccessibilityDelegate getAccessibilityDelegate() { + return mAccessibilityDelegate; + } + public DragController getDragController() { return mDragController; } diff --git a/src/com/android/launcher3/LauncherAppState.java b/src/com/android/launcher3/LauncherAppState.java index ae3abbf61..c2e7f1aac 100644 --- a/src/com/android/launcher3/LauncherAppState.java +++ b/src/com/android/launcher3/LauncherAppState.java @@ -16,20 +16,18 @@ package com.android.launcher3; -import android.app.SearchManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.util.Log; -import com.android.launcher3.accessibility.LauncherAccessibilityDelegate; import com.android.launcher3.compat.LauncherAppsCompat; import com.android.launcher3.compat.PackageInstallerCompat; import com.android.launcher3.compat.UserManagerCompat; import com.android.launcher3.dynamicui.ExtractionUtils; -import com.android.launcher3.util.ConfigMonitor; import com.android.launcher3.logging.FileLog; +import com.android.launcher3.util.ConfigMonitor; import com.android.launcher3.util.TestingUtils; import com.android.launcher3.util.Thunk; @@ -51,8 +49,6 @@ public class LauncherAppState { private InvariantDeviceProfile mInvariantDeviceProfile; - private LauncherAccessibilityDelegate mAccessibilityDelegate; - public static LauncherAppState getInstance() { if (INSTANCE == null) { INSTANCE = new LauncherAppState(); @@ -154,15 +150,9 @@ public class LauncherAppState { LauncherModel setLauncher(Launcher launcher) { sLauncherProvider.get().setLauncherProviderChangeListener(launcher); mModel.initialize(launcher); - mAccessibilityDelegate = ((launcher != null) && Utilities.ATLEAST_LOLLIPOP) ? - new LauncherAccessibilityDelegate(launcher) : null; return mModel; } - public LauncherAccessibilityDelegate getAccessibilityDelegate() { - return mAccessibilityDelegate; - } - public IconCache getIconCache() { return mIconCache; } diff --git a/src/com/android/launcher3/LauncherAppWidgetHostView.java b/src/com/android/launcher3/LauncherAppWidgetHostView.java index 53d9c0455..d371a869c 100644 --- a/src/com/android/launcher3/LauncherAppWidgetHostView.java +++ b/src/com/android/launcher3/LauncherAppWidgetHostView.java @@ -63,7 +63,7 @@ public class LauncherAppWidgetHostView extends AppWidgetHostView implements Touc mStylusEventHelper = new StylusEventHelper(new SimpleOnStylusPressListener(this), this); mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); mDragLayer = ((Launcher) context).getDragLayer(); - setAccessibilityDelegate(LauncherAppState.getInstance().getAccessibilityDelegate()); + setAccessibilityDelegate(((Launcher) context).getAccessibilityDelegate()); setBackgroundResource(R.drawable.widget_internal_focus_bg); } diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index cb88fc6bd..0e4fe8b19 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -601,9 +601,7 @@ public class Workspace extends PagedView mScreenOrder.add(insertIndex, screenId); addView(newScreen, insertIndex); - LauncherAccessibilityDelegate delegate = - LauncherAppState.getInstance().getAccessibilityDelegate(); - if (delegate != null && delegate.isInAccessibleDrag()) { + if (mLauncher.getAccessibilityDelegate().isInAccessibleDrag()) { newScreen.enableAccessibleDrag(true, CellLayout.WORKSPACE_ACCESSIBILITY_DRAG); } @@ -918,8 +916,7 @@ public class Workspace extends PagedView } } - LauncherAccessibilityDelegate delegate = - LauncherAppState.getInstance().getAccessibilityDelegate(); + boolean isInAccessibleDrag = mLauncher.getAccessibilityDelegate().isInAccessibleDrag(); // We enforce at least one page to add new items to. In the case that we remove the last // such screen, we convert the last screen to the empty screen @@ -936,7 +933,7 @@ public class Workspace extends PagedView pageShift++; } - if (delegate != null && delegate.isInAccessibleDrag()) { + if (isInAccessibleDrag) { cl.enableAccessibleDrag(false, CellLayout.WORKSPACE_ACCESSIBILITY_DRAG); } diff --git a/src/com/android/launcher3/accessibility/DragAndDropAccessibilityDelegate.java b/src/com/android/launcher3/accessibility/DragAndDropAccessibilityDelegate.java index 78accf720..4efe445f7 100644 --- a/src/com/android/launcher3/accessibility/DragAndDropAccessibilityDelegate.java +++ b/src/com/android/launcher3/accessibility/DragAndDropAccessibilityDelegate.java @@ -26,7 +26,7 @@ import android.view.View.OnClickListener; import android.view.accessibility.AccessibilityEvent; import com.android.launcher3.CellLayout; -import com.android.launcher3.LauncherAppState; +import com.android.launcher3.Launcher; import com.android.launcher3.R; import java.util.List; @@ -50,7 +50,7 @@ public abstract class DragAndDropAccessibilityDelegate extends ExploreByTouchHel super(forView); mView = forView; mContext = mView.getContext(); - mDelegate = LauncherAppState.getInstance().getAccessibilityDelegate(); + mDelegate = ((Launcher) mContext).getAccessibilityDelegate(); } @Override diff --git a/src/com/android/launcher3/allapps/AllAppsGridAdapter.java b/src/com/android/launcher3/allapps/AllAppsGridAdapter.java index c2a319cc8..c68356ed5 100644 --- a/src/com/android/launcher3/allapps/AllAppsGridAdapter.java +++ b/src/com/android/launcher3/allapps/AllAppsGridAdapter.java @@ -490,16 +490,14 @@ public class AllAppsGridAdapter extends RecyclerView.Adapter<AllAppsGridAdapter. AppInfo info = mApps.getAdapterItems().get(position).appInfo; BubbleTextView icon = (BubbleTextView) holder.mContent; icon.applyFromApplicationInfo(info); - icon.setAccessibilityDelegate( - LauncherAppState.getInstance().getAccessibilityDelegate()); + icon.setAccessibilityDelegate(mLauncher.getAccessibilityDelegate()); break; } case PREDICTION_ICON_VIEW_TYPE: { AppInfo info = mApps.getAdapterItems().get(position).appInfo; BubbleTextView icon = (BubbleTextView) holder.mContent; icon.applyFromApplicationInfo(info); - icon.setAccessibilityDelegate( - LauncherAppState.getInstance().getAccessibilityDelegate()); + icon.setAccessibilityDelegate(mLauncher.getAccessibilityDelegate()); break; } case EMPTY_SEARCH_VIEW_TYPE: diff --git a/src/com/android/launcher3/dragndrop/DragLayer.java b/src/com/android/launcher3/dragndrop/DragLayer.java index c62353dfd..496693835 100644 --- a/src/com/android/launcher3/dragndrop/DragLayer.java +++ b/src/com/android/launcher3/dragndrop/DragLayer.java @@ -339,9 +339,7 @@ public class DragLayer extends InsettableFrameLayout { } private boolean isInAccessibleDrag() { - LauncherAccessibilityDelegate delegate = LauncherAppState - .getInstance().getAccessibilityDelegate(); - return delegate != null && delegate.isInAccessibleDrag(); + return mLauncher.getAccessibilityDelegate().isInAccessibleDrag(); } @Override diff --git a/src/com/android/launcher3/folder/FolderIcon.java b/src/com/android/launcher3/folder/FolderIcon.java index 157a97096..d7952c570 100644 --- a/src/com/android/launcher3/folder/FolderIcon.java +++ b/src/com/android/launcher3/folder/FolderIcon.java @@ -144,8 +144,6 @@ public class FolderIcon extends FrameLayout implements FolderListener { mPreviewLayoutRule = FeatureFlags.LAUNCHER3_LEGACY_FOLDER_ICON ? new StackFolderIconLayoutRule() : new ClippedFolderIconLayoutRule(); - - setAccessibilityDelegate(LauncherAppState.getInstance().getAccessibilityDelegate()); } public static FolderIcon fromXml(int resId, Launcher launcher, ViewGroup group, @@ -183,6 +181,7 @@ public class FolderIcon extends FrameLayout implements FolderListener { folder.setFolderIcon(icon); folder.bind(folderInfo); icon.setFolder(folder); + icon.setAccessibilityDelegate(launcher.getAccessibilityDelegate()); folderInfo.addListener(icon); diff --git a/src/com/android/launcher3/widget/WidgetCell.java b/src/com/android/launcher3/widget/WidgetCell.java index 3ad03ae41..ad32f9240 100644 --- a/src/com/android/launcher3/widget/WidgetCell.java +++ b/src/com/android/launcher3/widget/WidgetCell.java @@ -94,7 +94,7 @@ public class WidgetCell extends LinearLayout implements OnLayoutChangeListener { setContainerWidth(); setWillNotDraw(false); setClipToPadding(false); - setAccessibilityDelegate(LauncherAppState.getInstance().getAccessibilityDelegate()); + setAccessibilityDelegate(mLauncher.getAccessibilityDelegate()); } private void setContainerWidth() { |