Loading src/com/android/dialer/calllog/CallLogAdapter.java +19 −2 Original line number Diff line number Diff line Loading @@ -99,6 +99,8 @@ public class CallLogAdapter extends GroupingListAdapter // Tracks the rowId of the currently expanded list item, so the position can be updated if there // are any changes to the call log entries, such as additions or removals. private long mCurrentlyExpandedRowId = NO_EXPANDED_LIST_ITEM; // Whether the first call log list item has been automatically expanded for a new cursor. private boolean mHasBoundFirstView; /** * Hashmap, keyed by call Id, used to track the day group for a call. As call log entries are Loading Loading @@ -285,6 +287,16 @@ public class CallLogAdapter extends GroupingListAdapter mCallFetcher.fetchCalls(); } @Override public void changeCursor(Cursor cursor) { // Data has changed; reset so that the first call log list item will be expanded. mHasBoundFirstView = false; mCurrentlyExpandedPosition = RecyclerView.NO_POSITION; mCurrentlyExpandedRowId = NO_EXPANDED_LIST_ITEM; super.changeCursor(cursor); } public void setLoading(boolean loading) { mLoading = loading; } Loading Loading @@ -489,10 +501,15 @@ public class CallLogAdapter extends GroupingListAdapter mCallLogViewsHelper.setPhoneCallDetails(mContext, views, details); // Update the expanded position if the rowIds match, in case ViewHolders were added/removed. // Then restore the state of the row on rebind. if (mCurrentlyExpandedRowId == views.rowId) { // In case ViewHolders were added/removed, update the expanded position if the rowIds // match so that we can restore the correct expanded state on rebind. mCurrentlyExpandedPosition = position; } else if (!mHasBoundFirstView) { // Expand the first view when loading the call log to expose the actions. mCurrentlyExpandedRowId = views.rowId; mCurrentlyExpandedPosition = position; mHasBoundFirstView = true; } views.showActions(mCurrentlyExpandedPosition == position); Loading Loading
src/com/android/dialer/calllog/CallLogAdapter.java +19 −2 Original line number Diff line number Diff line Loading @@ -99,6 +99,8 @@ public class CallLogAdapter extends GroupingListAdapter // Tracks the rowId of the currently expanded list item, so the position can be updated if there // are any changes to the call log entries, such as additions or removals. private long mCurrentlyExpandedRowId = NO_EXPANDED_LIST_ITEM; // Whether the first call log list item has been automatically expanded for a new cursor. private boolean mHasBoundFirstView; /** * Hashmap, keyed by call Id, used to track the day group for a call. As call log entries are Loading Loading @@ -285,6 +287,16 @@ public class CallLogAdapter extends GroupingListAdapter mCallFetcher.fetchCalls(); } @Override public void changeCursor(Cursor cursor) { // Data has changed; reset so that the first call log list item will be expanded. mHasBoundFirstView = false; mCurrentlyExpandedPosition = RecyclerView.NO_POSITION; mCurrentlyExpandedRowId = NO_EXPANDED_LIST_ITEM; super.changeCursor(cursor); } public void setLoading(boolean loading) { mLoading = loading; } Loading Loading @@ -489,10 +501,15 @@ public class CallLogAdapter extends GroupingListAdapter mCallLogViewsHelper.setPhoneCallDetails(mContext, views, details); // Update the expanded position if the rowIds match, in case ViewHolders were added/removed. // Then restore the state of the row on rebind. if (mCurrentlyExpandedRowId == views.rowId) { // In case ViewHolders were added/removed, update the expanded position if the rowIds // match so that we can restore the correct expanded state on rebind. mCurrentlyExpandedPosition = position; } else if (!mHasBoundFirstView) { // Expand the first view when loading the call log to expose the actions. mCurrentlyExpandedRowId = views.rowId; mCurrentlyExpandedPosition = position; mHasBoundFirstView = true; } views.showActions(mCurrentlyExpandedPosition == position); Loading