mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-19 02:38:20 +00:00
Focus handling null pointer exception during monkey tests.
- Also fix a bug where the focus is not navigating to the next page when there isn't an icon within +45 and -45 range of the origin. b/20294717 Change-Id: I16dac5c6a0463fbc9f56a447abedad18abadde98
This commit is contained in:
@@ -222,7 +222,7 @@ public class FocusHelper {
|
||||
Hotseat hotseat = (Hotseat) hotseatLayout.getParent();
|
||||
|
||||
Workspace workspace = (Workspace) v.getRootView().findViewById(R.id.workspace);
|
||||
int pageIndex = workspace.getCurrentPage();
|
||||
int pageIndex = workspace.getNextPage();
|
||||
int pageCount = workspace.getChildCount();
|
||||
int countX = -1;
|
||||
int countY = -1;
|
||||
@@ -231,6 +231,12 @@ public class FocusHelper {
|
||||
.getChildAt(iconIndex).getLayoutParams()).cellX;
|
||||
|
||||
final CellLayout iconLayout = (CellLayout) workspace.getChildAt(pageIndex);
|
||||
if (iconLayout == null) {
|
||||
// This check is to guard against cases where key strokes rushes in when workspace
|
||||
// child creation/deletion is still in flux. (e.g., during drop or fling
|
||||
// animation.)
|
||||
return consume;
|
||||
}
|
||||
final ViewGroup iconParent = iconLayout.getShortcutsAndWidgets();
|
||||
|
||||
ViewGroup parent = null;
|
||||
@@ -364,6 +370,7 @@ public class FocusHelper {
|
||||
}
|
||||
int row = FocusLogic.findRow(matrix, iconIndex);
|
||||
parent = getCellLayoutChildrenForIndex(workspace, newPageIndex);
|
||||
workspace.snapToPage(newPageIndex);
|
||||
if (parent != null) {
|
||||
iconLayout = (CellLayout) parent.getParent();
|
||||
matrix = FocusLogic.createSparseMatrix(iconLayout,
|
||||
@@ -394,6 +401,7 @@ public class FocusHelper {
|
||||
if (newIconIndex == FocusLogic.PREVIOUS_PAGE_LEFT_COLUMN) {
|
||||
newPageIndex = pageIndex - 1;
|
||||
}
|
||||
workspace.snapToPage(newPageIndex);
|
||||
row = FocusLogic.findRow(matrix, iconIndex);
|
||||
parent = getCellLayoutChildrenForIndex(workspace, newPageIndex);
|
||||
if (parent != null) {
|
||||
|
||||
@@ -475,13 +475,14 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
|
||||
|
||||
/**
|
||||
* Returns the index of the currently displayed page.
|
||||
*
|
||||
* @return The index of the currently displayed page.
|
||||
*/
|
||||
int getCurrentPage() {
|
||||
return mCurrentPage;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the index of page to be shown immediately afterwards.
|
||||
*/
|
||||
int getNextPage() {
|
||||
return (mNextPage != INVALID_PAGE) ? mNextPage : mCurrentPage;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user