From 3fc24f698c6457eea4e87d9cefc86da8b0748d01 Mon Sep 17 00:00:00 2001 From: Unpublished Date: Fri, 12 Feb 2021 11:10:52 +0100 Subject: Fix build after conflict Signed-off-by: Unpublished --- .../java/de/luhmer/owncloudnewsreader/NewsDetailActivity.java | 8 -------- 1 file changed, 8 deletions(-) (limited to 'News-Android-App/src/main/java/de/luhmer') 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 980d1244..e3c947ba 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 @@ -93,14 +93,6 @@ public class NewsDetailActivity extends PodcastFragmentActivity { SharedPreferences mPrefs; private boolean mShowFastActions; - - public static SORT_DIRECTION getSortDirectionFromSettings(SharedPreferences prefs) { - SORT_DIRECTION sDirection = SORT_DIRECTION.asc; - String sortDirection = prefs.getString(SettingsActivity.SP_SORT_ORDER, "1"); - if ("1".equals(sortDirection)) - sDirection = SORT_DIRECTION.desc; - return sDirection; - } @Override protected void onCreate(Bundle savedInstanceState) { -- cgit v1.2.3 From a11f29fabcf58111d3fe574daa35d12462ed5eaa Mon Sep 17 00:00:00 2001 From: Unpublished Date: Sun, 14 Feb 2021 09:33:16 +0100 Subject: Fix androidTest build Signed-off-by: Unpublished --- .../java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'News-Android-App/src/main/java/de/luhmer') diff --git a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java index eabe0075..aaed7292 100644 --- a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java +++ b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java @@ -119,6 +119,7 @@ import uk.co.deanwild.materialshowcaseview.MaterialShowcaseSequence; import uk.co.deanwild.materialshowcaseview.ShowcaseConfig; import static android.Manifest.permission.ACCESS_FINE_LOCATION; +import static androidx.annotation.VisibleForTesting.PROTECTED; import static de.luhmer.owncloudnewsreader.LoginDialogActivity.RESULT_LOGIN; import static de.luhmer.owncloudnewsreader.LoginDialogActivity.ShowAlertDialog; @@ -145,7 +146,8 @@ public class NewsReaderListActivity extends PodcastFragmentActivity implements private static MenuItem menuItemDownloadMoreItems; - protected ActivityNewsreaderBinding binding; + @VisibleForTesting(otherwise = PROTECTED) + public ActivityNewsreaderBinding binding; //private ServiceConnection mConnection = null; -- cgit v1.2.3 From 610492dfb4b7ed139ffe2b408c5e58c564628ba5 Mon Sep 17 00:00:00 2001 From: Unpublished Date: Fri, 19 Feb 2021 10:26:07 +0100 Subject: Close another lazy list Signed-off-by: Unpublished --- .../luhmer/owncloudnewsreader/widget/WidgetNewsViewsFactory.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'News-Android-App/src/main/java/de/luhmer') diff --git a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/widget/WidgetNewsViewsFactory.java b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/widget/WidgetNewsViewsFactory.java index dc60ebf8..c4d1588d 100644 --- a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/widget/WidgetNewsViewsFactory.java +++ b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/widget/WidgetNewsViewsFactory.java @@ -32,8 +32,8 @@ import android.widget.RemoteViewsService; import java.text.SimpleDateFormat; import java.util.Date; -import java.util.List; +import de.greenrobot.dao.query.LazyList; import de.luhmer.owncloudnewsreader.Constants; import de.luhmer.owncloudnewsreader.R; import de.luhmer.owncloudnewsreader.database.DatabaseConnectionOrm; @@ -43,7 +43,7 @@ public class WidgetNewsViewsFactory implements RemoteViewsService.RemoteViewsFac private static final String TAG = WidgetNewsViewsFactory.class.getCanonicalName(); private DatabaseConnectionOrm dbConn; - private List rssItems; + private LazyList rssItems; private Context context; private int appWidgetId; @@ -66,6 +66,7 @@ public class WidgetNewsViewsFactory implements RemoteViewsService.RemoteViewsFac @Override public void onDestroy() { + rssItems.close(); } @Override @@ -170,11 +171,13 @@ public class WidgetNewsViewsFactory implements RemoteViewsService.RemoteViewsFac return(true); } - @SuppressWarnings("deprecation") @Override public void onDataSetChanged() { Log.v(TAG, "DataSetChanged - WidgetID: " + appWidgetId); + if (rssItems != null && !rssItems.isClosed()) { + rssItems.close(); + } rssItems = dbConn.getAllUnreadRssItemsForWidget(); Log.v(TAG, "DataSetChanged finished!"); -- cgit v1.2.3 From a77ced205f1d3e803a0b25bb9ba9ef1f828a7364 Mon Sep 17 00:00:00 2001 From: Unpublished Date: Sat, 20 Feb 2021 00:31:37 +0100 Subject: Avoid leaking activity via menu item Signed-off-by: Unpublished --- .../main/java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'News-Android-App/src/main/java/de/luhmer') diff --git a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java index aaed7292..d20d16a9 100644 --- a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java +++ b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java @@ -144,7 +144,7 @@ public class NewsReaderListActivity extends PodcastFragmentActivity implements public static HashSet stayUnreadItems = new HashSet<>(); - private static MenuItem menuItemDownloadMoreItems; + private MenuItem menuItemDownloadMoreItems; @VisibleForTesting(otherwise = PROTECTED) public ActivityNewsreaderBinding binding; -- cgit v1.2.3 From 8a79ef013be97b7497e63e97d2d08cf7df1802a3 Mon Sep 17 00:00:00 2001 From: Unpublished Date: Sat, 27 Feb 2021 22:59:36 +0100 Subject: Fix lint error/warnings and bump some deps Signed-off-by: Unpublished --- .../de/luhmer/owncloudnewsreader/NewsDetailImageDialogFragment.java | 2 +- .../de/luhmer/owncloudnewsreader/adapter/NewsListRecyclerAdapter.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'News-Android-App/src/main/java/de/luhmer') diff --git a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsDetailImageDialogFragment.java b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsDetailImageDialogFragment.java index f7f00059..36c61463 100644 --- a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsDetailImageDialogFragment.java +++ b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsDetailImageDialogFragment.java @@ -447,7 +447,7 @@ public class NewsDetailImageDialogFragment extends DialogFragment { //String imagePath = downloadManager.getUriForDownloadedFile(refID).toString(); - String downloadFileLocalUri = cursor.getString(cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI)); + String downloadFileLocalUri = cursor.getString(cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_LOCAL_URI)); File image = new File(Uri.parse(downloadFileLocalUri).getPath()); NextcloudNotificationManager.showNotificationDownloadSingleImageComplete(context, image); diff --git a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/adapter/NewsListRecyclerAdapter.java b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/adapter/NewsListRecyclerAdapter.java index f93d2e89..2074efe4 100644 --- a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/adapter/NewsListRecyclerAdapter.java +++ b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/adapter/NewsListRecyclerAdapter.java @@ -36,7 +36,7 @@ import de.luhmer.owncloudnewsreader.helper.StopWatch; import de.luhmer.owncloudnewsreader.interfaces.IPlayPausePodcastClicked; import de.luhmer.owncloudnewsreader.model.CurrentRssViewDataHolder; -public class NewsListRecyclerAdapter extends RecyclerView.Adapter { +public class NewsListRecyclerAdapter extends RecyclerView.Adapter { private static final String TAG = "NewsListRecyclerAdapter"; private final int VIEW_ITEM = 1; // Item -- cgit v1.2.3 From 56dd0f631cec1f1c63d1981a9b3dcc4be68f6c00 Mon Sep 17 00:00:00 2001 From: Unpublished Date: Sun, 28 Feb 2021 12:36:41 +0100 Subject: Use application context to avoid leaking services Signed-off-by: Unpublished --- .../luhmer/owncloudnewsreader/authentication/OwnCloudSyncAdapter.java | 2 +- .../de/luhmer/owncloudnewsreader/services/DownloadImagesService.java | 4 ++-- .../de/luhmer/owncloudnewsreader/services/OwnCloudSyncService.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'News-Android-App/src/main/java/de/luhmer') diff --git a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/authentication/OwnCloudSyncAdapter.java b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/authentication/OwnCloudSyncAdapter.java index 0ad3dde7..90e42a69 100644 --- a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/authentication/OwnCloudSyncAdapter.java +++ b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/authentication/OwnCloudSyncAdapter.java @@ -60,7 +60,7 @@ public class OwnCloudSyncAdapter extends AbstractThreadedSyncAdapter { public OwnCloudSyncAdapter(Context context, boolean autoInitialize) { super(context, autoInitialize); - ((NewsReaderApplication) context.getApplicationContext()).getAppComponent().injectService(this); + ((NewsReaderApplication) context).getAppComponent().injectService(this); } diff --git a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/services/DownloadImagesService.java b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/services/DownloadImagesService.java index fdc51be1..c6aec03c 100644 --- a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/services/DownloadImagesService.java +++ b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/services/DownloadImagesService.java @@ -114,10 +114,10 @@ public class DownloadImagesService extends JobIntentService { if(downloadMode.equals(DownloadMode.FAVICONS_ONLY)) { List feedList = dbConn.getListOfFeeds(); - FavIconHandler favIconHandler = new FavIconHandler(this); + FavIconHandler favIconHandler = new FavIconHandler(getApplicationContext()); for(Feed feed : feedList) { try { - favIconHandler.preCacheFavIcon(feed, this); + favIconHandler.preCacheFavIcon(feed, getApplicationContext()); } catch(IllegalStateException ex) { Log.e(TAG, ex.getMessage()); } diff --git a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/services/OwnCloudSyncService.java b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/services/OwnCloudSyncService.java index 8792c3f3..15693a0d 100644 --- a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/services/OwnCloudSyncService.java +++ b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/services/OwnCloudSyncService.java @@ -24,7 +24,7 @@ public class OwnCloudSyncService extends Service { */ synchronized (sSyncAdapterLock) { if (sSyncAdapter == null) { - sSyncAdapter = new OwnCloudSyncAdapter(this, true); + sSyncAdapter = new OwnCloudSyncAdapter(getApplicationContext(), true); } } } -- cgit v1.2.3 From 99d3687aaf554440fb7754a4d52675d3900c36dc Mon Sep 17 00:00:00 2001 From: Unpublished Date: Sun, 28 Feb 2021 12:37:18 +0100 Subject: Allow installing dev build next to release build Signed-off-by: Unpublished --- .../luhmer/owncloudnewsreader/NewsReaderListActivity.java | 10 ++++++---- .../owncloudnewsreader/SyncIntervalSelectorActivity.java | 9 +++++---- .../owncloudnewsreader/authentication/AccountGeneral.java | 14 ++++++++++---- 3 files changed, 21 insertions(+), 12 deletions(-) (limited to 'News-Android-App/src/main/java/de/luhmer') diff --git a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java index d20d16a9..d627a4f1 100644 --- a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java +++ b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java @@ -400,8 +400,9 @@ public class NewsReaderListActivity extends PodcastFragmentActivity implements boolean isAccountThere = false; Account[] accounts = mAccountManager.getAccounts(); + String accountType = AccountGeneral.getAccountType(this); for (Account account : accounts) { - if (account.type.intern().equals(AccountGeneral.ACCOUNT_TYPE)) { + if (account.type.intern().equals(accountType)) { isAccountThere = true; } } @@ -409,7 +410,7 @@ public class NewsReaderListActivity extends PodcastFragmentActivity implements //If the account is not in the Android Account Manager if (!isAccountThere) { //Then add the new account - Account account = new Account(getString(R.string.app_name), AccountGeneral.ACCOUNT_TYPE); + Account account = new Account(getString(R.string.app_name), accountType); mAccountManager.addAccountExplicitly(account, "", new Bundle()); SyncIntervalSelectorActivity.setAccountSyncInterval(this, mPrefs); @@ -679,8 +680,9 @@ public class NewsReaderListActivity extends PodcastFragmentActivity implements AccountManager mAccountManager = AccountManager.get(this); Account[] accounts = mAccountManager.getAccounts(); for(Account acc : accounts) { - if (acc.type.equals(AccountGeneral.ACCOUNT_TYPE)) { - ContentResolver.requestSync(acc, AccountGeneral.ACCOUNT_TYPE, accBundle); + String accountType = AccountGeneral.getAccountType(this); + if (acc.type.equals(accountType)) { + ContentResolver.requestSync(acc, accountType, accBundle); } } //http://stackoverflow.com/questions/5253858/why-does-contentresolver-requestsync-not-trigger-a-sync diff --git a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/SyncIntervalSelectorActivity.java b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/SyncIntervalSelectorActivity.java index 3a363d7b..fb85288d 100644 --- a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/SyncIntervalSelectorActivity.java +++ b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/SyncIntervalSelectorActivity.java @@ -95,21 +95,22 @@ public class SyncIntervalSelectorActivity extends AppCompatActivity { int minutes = mPrefs.getInt(SYNC_INTERVAL_IN_MINUTES_STRING, 1440); AccountManager mAccountManager = AccountManager.get(context); - Account[] accounts = mAccountManager.getAccountsByType(AccountGeneral.ACCOUNT_TYPE); + String accountType = AccountGeneral.getAccountType(context); + Account[] accounts = mAccountManager.getAccountsByType(accountType); for (Account account : accounts) { if (minutes != 0) { long SYNC_INTERVAL = minutes * SECONDS_PER_MINUTE; - ContentResolver.setSyncAutomatically(account, AccountGeneral.ACCOUNT_TYPE, true); + ContentResolver.setSyncAutomatically(account, accountType, true); Bundle bundle = new Bundle(); ContentResolver.addPeriodicSync( account, - AccountGeneral.ACCOUNT_TYPE, + accountType, bundle, SYNC_INTERVAL); } else { - ContentResolver.setSyncAutomatically(account, AccountGeneral.ACCOUNT_TYPE, false); + ContentResolver.setSyncAutomatically(account, accountType, false); } } } diff --git a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/authentication/AccountGeneral.java b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/authentication/AccountGeneral.java index 81b3902a..f8d2734d 100644 --- a/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/authentication/AccountGeneral.java +++ b/News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/authentication/AccountGeneral.java @@ -1,10 +1,10 @@ package de.luhmer.owncloudnewsreader.authentication; +import android.content.Context; + +import de.luhmer.owncloudnewsreader.R; + public class AccountGeneral { - /** - * Account type id - */ - public static final String ACCOUNT_TYPE = "de.luhmer.owncloudnewsreader"; /** * Account name @@ -21,4 +21,10 @@ public class AccountGeneral { public static final String AUTHTOKEN_TYPE_FULL_ACCESS = "Full access"; public static final String AUTHTOKEN_TYPE_FULL_ACCESS_LABEL = "Full access to an Nextcloud News account"; + /** + * Account type id + */ + public static String getAccountType(Context context) { + return context.getString(R.string.account_type); + } } -- cgit v1.2.3