зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1277978
- Part 4 - Actually cache the recent tabs count when it updates. r=liuche
MozReview-Commit-ID: JUsM3qdxhIr --HG-- extra : rebase_source : 77803ad4760a09088ce96440ef070ce7582673fe extra : source : cbb19ca2d2454c1d4f938f96e0e34f54d93bf006
This commit is contained in:
Родитель
61e7471407
Коммит
a9f09e54eb
|
@ -39,6 +39,8 @@ public class CombinedHistoryAdapter extends RecyclerView.Adapter<CombinedHistory
|
|||
OLDER_THAN_SIX_MONTHS
|
||||
}
|
||||
|
||||
private HomeFragment.PanelStateChangeListener panelStateChangeListener;
|
||||
|
||||
private Cursor historyCursor;
|
||||
private DevicesUpdateHandler devicesUpdateHandler;
|
||||
private int deviceCount = 0;
|
||||
|
@ -57,6 +59,11 @@ public class CombinedHistoryAdapter extends RecyclerView.Adapter<CombinedHistory
|
|||
this.setHasStableIds(true);
|
||||
}
|
||||
|
||||
public void setPanelStateChangeListener(
|
||||
HomeFragment.PanelStateChangeListener panelStateChangeListener) {
|
||||
this.panelStateChangeListener = panelStateChangeListener;
|
||||
}
|
||||
|
||||
@UiThread
|
||||
public void setLinearLayoutManager(LinearLayoutManager linearLayoutManager) {
|
||||
this.linearLayoutManager = linearLayoutManager;
|
||||
|
@ -136,6 +143,10 @@ public class CombinedHistoryAdapter extends RecyclerView.Adapter<CombinedHistory
|
|||
} else {
|
||||
notifyItemRemoved(RECENT_TABS_SMARTFOLDER_INDEX);
|
||||
}
|
||||
|
||||
if (countReliable) {
|
||||
panelStateChangeListener.setCachedRecentTabsCount(recentTabsCount);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -111,6 +111,9 @@ public class CombinedHistoryPanel extends HomeFragment implements RemoteClientsD
|
|||
super.onCreate(savedInstance);
|
||||
|
||||
mHistoryAdapter = new CombinedHistoryAdapter(getResources());
|
||||
if (mPanelStateChangeListener != null) {
|
||||
mHistoryAdapter.setPanelStateChangeListener(mPanelStateChangeListener);
|
||||
}
|
||||
mClientsAdapter = new ClientsAdapter(getContext());
|
||||
// The RecentTabsAdapter doesn't use a cursor and therefore can't use the CursorLoader's
|
||||
// onLoadFinished() callback for updating the panel state when the closed tab count changes.
|
||||
|
@ -239,6 +242,15 @@ public class CombinedHistoryPanel extends HomeFragment implements RemoteClientsD
|
|||
recentTabsText.setText(R.string.home_last_tabs_empty);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPanelStateChangeListener(
|
||||
PanelStateChangeListener panelStateChangeListener) {
|
||||
super.setPanelStateChangeListener(panelStateChangeListener);
|
||||
if (mHistoryAdapter != null) {
|
||||
mHistoryAdapter.setPanelStateChangeListener(panelStateChangeListener);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void restoreData(Bundle data) {
|
||||
if (mRecyclerView != null) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче