am df410971: Merge "Focus handling null pointer exception during monkey tests." into ub-launcher3-burnaby

* commit 'df41097194b0ea490513c2a4e85bd9adc54637e8':
  Focus handling null pointer exception during monkey tests.
This commit is contained in:
Hyunyoung Song
2015-04-16 22:01:53 +00:00
committed by Android Git Automerger
2 changed files with 12 additions and 3 deletions
+9 -1
View File
@@ -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) {
+3 -2
View File
@@ -476,13 +476,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;
}