Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/news-android.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUnpublished <unpublished@gmx.net>2021-01-20 12:49:28 +0300
committerUnpublished <unpublished@gmx.net>2021-01-20 12:50:06 +0300
commitd62b56cc1c320517dbb6cc52c7ce6112fcb6e881 (patch)
tree285c572c70b25a55180e6e2ec5a71413d2f911db /News-Android-App/src/main/java
parentde91f93cf3e9ceb630c1fb41d2992cf038270ebd (diff)
Avoid leaking lazy list cursor
Signed-off-by: Unpublished <unpublished@gmx.net>
Diffstat (limited to 'News-Android-App/src/main/java')
-rw-r--r--News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsDetailActivity.java20
-rw-r--r--News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/database/DatabaseConnectionOrm.java30
2 files changed, 25 insertions, 25 deletions
diff --git a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsDetailActivity.java b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsDetailActivity.java
index 86878af3..62ae7fc8 100644
--- a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsDetailActivity.java
+++ b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsDetailActivity.java
@@ -38,6 +38,12 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.ProgressBar;
+import java.lang.ref.WeakReference;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.inject.Inject;
+
import androidx.appcompat.widget.AppCompatImageButton;
import androidx.appcompat.widget.Toolbar;
import androidx.fragment.app.Fragment;
@@ -46,16 +52,9 @@ import androidx.fragment.app.FragmentPagerAdapter;
import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
-
-import java.lang.ref.WeakReference;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.inject.Inject;
-
import butterknife.BindView;
import butterknife.ButterKnife;
+import de.greenrobot.dao.query.LazyList;
import de.luhmer.owncloudnewsreader.database.DatabaseConnectionOrm;
import de.luhmer.owncloudnewsreader.database.DatabaseConnectionOrm.SORT_DIRECTION;
import de.luhmer.owncloudnewsreader.database.model.RssItem;
@@ -103,7 +102,7 @@ public class NewsDetailActivity extends PodcastFragmentActivity {
private MenuItem menuItem_Read;
private DatabaseConnectionOrm dbConn;
- public List<RssItem> rssItems;
+ public LazyList<RssItem> rssItems;
protected @Inject SharedPreferences mPrefs;
@@ -180,7 +179,7 @@ public class NewsDetailActivity extends PodcastFragmentActivity {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- rssItems = dbConn.getCurrentRssItemView(-1);
+ rssItems = dbConn.getAllRssItems();
//If the Activity gets started from the Widget, read the item id and get the selected index in the cursor.
if(intent.hasExtra(WidgetProvider.RSS_ITEM_ID)) {
@@ -296,6 +295,7 @@ public class NewsDetailActivity extends PodcastFragmentActivity {
@Override
protected void onDestroy() {
super.onDestroy();
+ rssItems.close();
}
private ViewPager.OnPageChangeListener onPageChangeListener = new ViewPager.OnPageChangeListener() {
diff --git a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/database/DatabaseConnectionOrm.java b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/database/DatabaseConnectionOrm.java
index 987be4d1..12a36a22 100644
--- a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/database/DatabaseConnectionOrm.java
+++ b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/database/DatabaseConnectionOrm.java
@@ -448,22 +448,22 @@ public class DatabaseConnectionOrm {
}
public List<RssItem> getCurrentRssItemView(int page) {
- if(page != -1) {
- String where_clause = ", " + CurrentRssItemViewDao.TABLENAME + " C "
- + " WHERE C." + CurrentRssItemViewDao.Properties.RssItemId.columnName + " = T."
- + RssItemDao.Properties.Id.columnName
- + " AND C._id > " + page * PageSize + " AND c._id <= " + ((page+1) * PageSize)
- + " ORDER BY C." + CurrentRssItemViewDao.Properties.Id.columnName;
-
- return daoSession.getRssItemDao().queryRaw(where_clause);
- } else {
- String where_clause = ", " + CurrentRssItemViewDao.TABLENAME + " C "
- + " WHERE C." + CurrentRssItemViewDao.Properties.RssItemId.columnName + " = T."
- + RssItemDao.Properties.Id.columnName
- + " ORDER BY C." + CurrentRssItemViewDao.Properties.Id.columnName;
+ String where_clause = ", " + CurrentRssItemViewDao.TABLENAME + " C "
+ + " WHERE C." + CurrentRssItemViewDao.Properties.RssItemId.columnName + " = T."
+ + RssItemDao.Properties.Id.columnName
+ + " AND C._id > " + page * PageSize + " AND c._id <= " + ((page+1) * PageSize)
+ + " ORDER BY C." + CurrentRssItemViewDao.Properties.Id.columnName;
- return daoSession.getRssItemDao().queryRawCreate(where_clause).listLazy();
- }
+ return daoSession.getRssItemDao().queryRaw(where_clause);
+ }
+
+ public LazyList<RssItem> getAllRssItems() {
+ String where_clause = ", " + CurrentRssItemViewDao.TABLENAME + " C "
+ + " WHERE C." + CurrentRssItemViewDao.Properties.RssItemId.columnName + " = T."
+ + RssItemDao.Properties.Id.columnName
+ + " ORDER BY C." + CurrentRssItemViewDao.Properties.Id.columnName;
+
+ return daoSession.getRssItemDao().queryRawCreate(where_clause).listLazy();
}
/*