зеркало из https://github.com/mozilla/gecko-dev.git
Bug 856767: Finalize cursors on about:home. [r=mfinkle]
This commit is contained in:
Родитель
0afa9394c6
Коммит
804c3824b9
|
@ -192,11 +192,12 @@ public class AboutHomeContent extends ScrollView
|
|||
* Reinflates and updates all components of this view.
|
||||
*/
|
||||
public void refresh() {
|
||||
mTopSites.onDestroy();
|
||||
|
||||
// We must remove the currently inflated view to allow for reinflation.
|
||||
removeAllViews();
|
||||
|
||||
inflate();
|
||||
mTopSites.refresh();
|
||||
|
||||
// Refresh all elements.
|
||||
update(AboutHomeContent.UpdateFlags.ALL);
|
||||
|
|
|
@ -141,10 +141,17 @@ public class TopSitesView extends GridView {
|
|||
|
||||
public void onDestroy() {
|
||||
if (mTopSitesAdapter != null) {
|
||||
Cursor cursor = mTopSitesAdapter.getCursor();
|
||||
setAdapter(null);
|
||||
final Cursor cursor = mTopSitesAdapter.getCursor();
|
||||
|
||||
ThreadUtils.postToBackgroundThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (cursor != null && !cursor.isClosed())
|
||||
cursor.close();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -186,12 +193,9 @@ public class TopSitesView extends GridView {
|
|||
|
||||
public void loadTopSites() {
|
||||
final ContentResolver resolver = mContext.getContentResolver();
|
||||
Cursor old = null;
|
||||
if (mTopSitesAdapter != null) {
|
||||
old = mTopSitesAdapter.getCursor();
|
||||
}
|
||||
|
||||
// Swap in the new cursor.
|
||||
final Cursor oldCursor = old;
|
||||
final Cursor oldCursor = (mTopSitesAdapter != null) ? mTopSitesAdapter.getCursor() : null;
|
||||
final Cursor newCursor = BrowserDB.getTopSites(resolver, mNumberOfTopSites);
|
||||
|
||||
post(new Runnable() {
|
||||
|
@ -340,13 +344,6 @@ public class TopSitesView extends GridView {
|
|||
mLoadCompleteCallback = callback;
|
||||
}
|
||||
|
||||
public void refresh() {
|
||||
if (mTopSitesAdapter != null)
|
||||
mTopSitesAdapter.notifyDataSetChanged();
|
||||
|
||||
setAdapter(mTopSitesAdapter);
|
||||
}
|
||||
|
||||
private class TopSitesViewHolder {
|
||||
public TextView titleView = null;
|
||||
public ImageView thumbnailView = null;
|
||||
|
|
Загрузка…
Ссылка в новой задаче