mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 856767: Finalize cursors on about:home. [r=mfinkle]
--HG-- extra : rebase_source : 9389663903676defaf2c4cfcd818abe4e60e801e
This commit is contained in:
parent
10f2c4eacf
commit
f0502a3c9c
@ -219,11 +219,12 @@ public class AboutHomeContent extends ScrollView
|
|||||||
* Reinflates and updates all components of this view.
|
* Reinflates and updates all components of this view.
|
||||||
*/
|
*/
|
||||||
public void refresh() {
|
public void refresh() {
|
||||||
|
mTopSites.onDestroy();
|
||||||
|
|
||||||
// We must remove the currently inflated view to allow for reinflation.
|
// We must remove the currently inflated view to allow for reinflation.
|
||||||
removeAllViews();
|
removeAllViews();
|
||||||
|
|
||||||
inflate();
|
inflate();
|
||||||
mTopSites.refresh();
|
|
||||||
|
|
||||||
// Refresh all elements.
|
// Refresh all elements.
|
||||||
update(AboutHomeContent.UpdateFlags.ALL);
|
update(AboutHomeContent.UpdateFlags.ALL);
|
||||||
|
@ -141,9 +141,15 @@ public class TopSitesView extends GridView {
|
|||||||
|
|
||||||
public void onDestroy() {
|
public void onDestroy() {
|
||||||
if (mTopSitesAdapter != null) {
|
if (mTopSitesAdapter != null) {
|
||||||
Cursor cursor = mTopSitesAdapter.getCursor();
|
final Cursor cursor = mTopSitesAdapter.getCursor();
|
||||||
if (cursor != null && !cursor.isClosed())
|
|
||||||
cursor.close();
|
ThreadUtils.postToBackgroundThread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
if (cursor != null && !cursor.isClosed())
|
||||||
|
cursor.close();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -186,12 +192,9 @@ public class TopSitesView extends GridView {
|
|||||||
|
|
||||||
public void loadTopSites() {
|
public void loadTopSites() {
|
||||||
final ContentResolver resolver = mContext.getContentResolver();
|
final ContentResolver resolver = mContext.getContentResolver();
|
||||||
Cursor old = null;
|
|
||||||
if (mTopSitesAdapter != null) {
|
|
||||||
old = mTopSitesAdapter.getCursor();
|
|
||||||
}
|
|
||||||
// Swap in the new cursor.
|
// Swap in the new cursor.
|
||||||
final Cursor oldCursor = old;
|
final Cursor oldCursor = (mTopSitesAdapter != null) ? mTopSitesAdapter.getCursor() : null;
|
||||||
final Cursor newCursor = BrowserDB.getTopSites(resolver, mNumberOfTopSites);
|
final Cursor newCursor = BrowserDB.getTopSites(resolver, mNumberOfTopSites);
|
||||||
|
|
||||||
post(new Runnable() {
|
post(new Runnable() {
|
||||||
@ -342,13 +345,6 @@ public class TopSitesView extends GridView {
|
|||||||
mLoadCompleteCallback = callback;
|
mLoadCompleteCallback = callback;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void refresh() {
|
|
||||||
if (mTopSitesAdapter != null)
|
|
||||||
mTopSitesAdapter.notifyDataSetChanged();
|
|
||||||
|
|
||||||
setAdapter(mTopSitesAdapter);
|
|
||||||
}
|
|
||||||
|
|
||||||
private class TopSitesViewHolder {
|
private class TopSitesViewHolder {
|
||||||
public TextView titleView = null;
|
public TextView titleView = null;
|
||||||
public ImageView thumbnailView = null;
|
public ImageView thumbnailView = null;
|
||||||
|
Loading…
Reference in New Issue
Block a user