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:
authorDavid Luhmer <david-dev@live.de>2021-01-26 17:32:44 +0300
committerDavid Luhmer <david-dev@live.de>2021-01-26 17:32:44 +0300
commita7519b19bd5b2681a29e53eecaec44a77f02428a (patch)
tree1caf76cc702617815be3264032aadd73b9410e10 /News-Android-App/src/main/java
parentb449af345ba2dcded368fa028d9c1bfb43dc72df (diff)
parent3f1a84dde01ed03acdfcb4e7d7af0e80a8341690 (diff)
Merge branch 'master' into use-viewbinding
# Conflicts: # News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsDetailActivity.java
Diffstat (limited to 'News-Android-App/src/main/java')
-rw-r--r--News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsDetailActivity.java90
-rw-r--r--News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/database/DatabaseConnectionOrm.java30
2 files changed, 66 insertions, 54 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 16859f1c..86878af3 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
@@ -36,7 +36,10 @@ import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.ProgressBar;
+import androidx.appcompat.widget.AppCompatImageButton;
+import androidx.appcompat.widget.Toolbar;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
@@ -51,14 +54,14 @@ import java.util.Set;
import javax.inject.Inject;
+import butterknife.BindView;
+import butterknife.ButterKnife;
import de.luhmer.owncloudnewsreader.database.DatabaseConnectionOrm;
import de.luhmer.owncloudnewsreader.database.DatabaseConnectionOrm.SORT_DIRECTION;
import de.luhmer.owncloudnewsreader.database.model.RssItem;
-import de.luhmer.owncloudnewsreader.databinding.ActivityNewsDetailBinding;
import de.luhmer.owncloudnewsreader.helper.ThemeUtils;
import de.luhmer.owncloudnewsreader.model.PodcastItem;
import de.luhmer.owncloudnewsreader.model.TTSItem;
-import de.luhmer.owncloudnewsreader.view.PodcastSlidingUpPanelLayout;
import de.luhmer.owncloudnewsreader.widget.WidgetProvider;
@@ -76,7 +79,18 @@ public class NewsDetailActivity extends PodcastFragmentActivity {
* {@link FragmentStatePagerAdapter}.
*/
private SectionsPagerAdapter mSectionsPagerAdapter;
- protected ActivityNewsDetailBinding binding;
+ protected @BindView(R.id.toolbar) Toolbar toolbar;
+ // protected @BindView(R.id.bottomAppBar) BottomAppBar bottomAppBar;
+ protected @BindView(R.id.progressIndicator) ProgressBar progressIndicator;
+ //protected @BindView(R.id.btn_disable_incognito) ImageButton mBtnDisableIncognito;
+ protected @BindView(R.id.fa_detail_bar) View fastActionDetailBar;
+ protected @BindView(R.id.fa_collapse_layout) View fastActionCollapseLayout;
+ protected @BindView(R.id.fa_star) AppCompatImageButton fastActionStar;
+ protected @BindView(R.id.fa_mark_as_read) AppCompatImageButton fastActionRead;
+ protected @BindView(R.id.fa_toggle) AppCompatImageButton fastActionToggle;
+ protected @BindView(R.id.fa_open_in_browser) AppCompatImageButton fastActionOpenInBrowser;
+ protected @BindView(R.id.fa_share) AppCompatImageButton fastActionShare;
+
/**
* The {@link ViewPager} that will host the section contents.
@@ -102,9 +116,6 @@ public class NewsDetailActivity extends PodcastFragmentActivity {
super.onCreate(savedInstanceState);
- binding = ActivityNewsDetailBinding.inflate(getLayoutInflater());
- setContentView(binding.getRoot());
-
/*
//make full transparent statusBar
if (Build.VERSION.SDK_INT >= 19 && Build.VERSION.SDK_INT < 21) {
@@ -133,6 +144,10 @@ public class NewsDetailActivity extends PodcastFragmentActivity {
}
*/
+
+
+ setContentView(R.layout.activity_news_detail);
+
/*
// For Debugging the WebView using Chrome Remote Debugging
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
@@ -140,8 +155,10 @@ public class NewsDetailActivity extends PodcastFragmentActivity {
}
*/
- if (binding.toolbarLayout.toolbar != null) {
- setSupportActionBar(binding.toolbarLayout.toolbar);
+ ButterKnife.bind(this);
+
+ if (toolbar != null) {
+ setSupportActionBar(toolbar);
}
/*
if (bottomAppBar != null) {
@@ -183,7 +200,7 @@ public class NewsDetailActivity extends PodcastFragmentActivity {
// primary sections of the app.
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
- binding.progressIndicator.setMax(mSectionsPagerAdapter.getCount());
+ progressIndicator.setMax(mSectionsPagerAdapter.getCount());
// Set up the ViewPager with the sections adapter.
mViewPager = findViewById(R.id.pager);
@@ -215,12 +232,7 @@ public class NewsDetailActivity extends PodcastFragmentActivity {
updateActionBarIcons();
}
- @Override
- protected PodcastSlidingUpPanelLayout getPodcastSlidingUpPanelLayout() {
- return binding.slidingLayout;
- }
-
- /**
+ /**
* Init fast action bar based on user settings.
* Only show if user selected setting CB_SHOW_FAST_ACTIONS. Otherwise hide.
*
@@ -231,18 +243,18 @@ public class NewsDetailActivity extends PodcastFragmentActivity {
if (mShowFastActions) {
// Set click listener for buttons on action bar
- binding.faDetailBar.faOpenInBrowser.setOnClickListener(v -> this.openInBrowser(currentPosition));
- binding.faDetailBar.faToggle.setOnClickListener(v -> this.toggleFastActionBar()); // toggle expand / collapse
- binding.faDetailBar.faStar.setOnClickListener(v -> NewsDetailActivity.this.toggleRssItemStarredState());
- binding.faDetailBar.faMarkAsRead.setOnClickListener(v -> NewsDetailActivity.this.markRead(currentPosition));
- binding.faDetailBar.faShare.setOnClickListener(v -> this.share(currentPosition));
+ fastActionOpenInBrowser.setOnClickListener(v -> this.openInBrowser(currentPosition));
+ fastActionToggle.setOnClickListener(v -> this.toggleFastActionBar()); // toggle expand / collapse
+ fastActionStar.setOnClickListener(v -> NewsDetailActivity.this.toggleRssItemStarredState());
+ fastActionRead.setOnClickListener(v -> NewsDetailActivity.this.markRead(currentPosition));
+ fastActionShare.setOnClickListener(v -> this.share(currentPosition));
- binding.faDetailBar.getRoot().setVisibility(View.VISIBLE);
+ fastActionDetailBar.setVisibility(View.VISIBLE);
// initially the bar should be opened in the expanded state
this.toggleFastActionBar();
} else {
- binding.faDetailBar.getRoot().setVisibility(View.INVISIBLE);
+ fastActionDetailBar.setVisibility(View.INVISIBLE);
}
}
@@ -250,21 +262,21 @@ public class NewsDetailActivity extends PodcastFragmentActivity {
* Expands or shrinks the fast action bar to show/hide secondary functions
*/
private void toggleFastActionBar() {
- int currentState = binding.faDetailBar.faCollapseLayout.getVisibility();
+ int currentState = fastActionCollapseLayout.getVisibility();
switch (currentState) {
case View.GONE:
- binding.faDetailBar.faToggle.setImageResource(R.drawable.ic_fa_expand);
- binding.faDetailBar.faCollapseLayout.setVisibility(View.VISIBLE);
+ fastActionToggle.setImageResource(R.drawable.ic_fa_expand);
+ fastActionCollapseLayout.setVisibility(View.VISIBLE);
break;
case View.VISIBLE:
- binding.faDetailBar.faToggle.setImageResource(R.drawable.ic_fa_shrink);
- binding.faDetailBar.faCollapseLayout.setVisibility(View.GONE);
+ fastActionToggle.setImageResource(R.drawable.ic_fa_shrink);
+ fastActionCollapseLayout.setVisibility(View.GONE);
break;
default:
break;
}
//((Animatable)fastActionToggle.getDrawable()).start();
- binding.faDetailBar.faToggle.setScaleX(-1);
+ fastActionToggle.setScaleX(-1);
}
private void toggleIncognitoMode() {
@@ -357,7 +369,7 @@ public class NewsDetailActivity extends PodcastFragmentActivity {
stopVideoOnCurrentPage();
currentPosition = position;
resumeVideoPlayersOnCurrentPage();
- binding.progressIndicator.setProgress(position + 1);
+ progressIndicator.setProgress(position + 1);
if(rssItems.get(position).getFeed() != null) {
// Try getting the feed title and use it for the action bar title
@@ -417,10 +429,10 @@ public class NewsDetailActivity extends PodcastFragmentActivity {
if(menuItem_Starred != null) {
if (isStarred) {
menuItem_Starred.setIcon(R.drawable.ic_action_star_dark);
- binding.faDetailBar.faStar.setImageResource(R.drawable.ic_action_star_dark);
+ fastActionStar.setImageResource(R.drawable.ic_action_star_dark);
} else {
menuItem_Starred.setIcon(R.drawable.ic_action_star_border_dark);
- binding.faDetailBar.faStar.setImageResource(R.drawable.ic_action_star_border_dark);
+ fastActionStar.setImageResource(R.drawable.ic_action_star_border_dark);
}
}
@@ -428,11 +440,11 @@ public class NewsDetailActivity extends PodcastFragmentActivity {
if (isRead) {
menuItem_Read.setIcon(R.drawable.ic_check_box_white);
menuItem_Read.setChecked(true);
- binding.faDetailBar.faMarkAsRead.setImageResource(R.drawable.ic_check_box_white);
+ fastActionRead.setImageResource(R.drawable.ic_check_box_white);
} else {
menuItem_Read.setIcon(R.drawable.ic_check_box_outline_blank_white);
menuItem_Read.setChecked(false);
- binding.faDetailBar.faMarkAsRead.setImageResource(R.drawable.ic_check_box_outline_blank_white);
+ fastActionRead.setImageResource(R.drawable.ic_check_box_outline_blank_white);
}
}
}
@@ -540,8 +552,8 @@ public class NewsDetailActivity extends PodcastFragmentActivity {
NewsDetailFragment newsDetailFragment = getNewsDetailFragmentAtPosition(currentPosition);
String link = "about:blank";
- if(newsDetailFragment != null && newsDetailFragment.binding.webview != null) {
- link = newsDetailFragment.binding.webview.getUrl();
+ if(newsDetailFragment != null && newsDetailFragment.mWebView != null) {
+ link = newsDetailFragment.mWebView.getUrl();
}
if("about:blank".equals(link)) {
@@ -566,9 +578,9 @@ public class NewsDetailActivity extends PodcastFragmentActivity {
NewsDetailFragment fragment = getNewsDetailFragmentAtPosition(currentPosition);
if(fragment != null) { // could be null if not instantiated yet
- if(!fragment.binding.webview.getUrl().equals("about:blank") && !fragment.binding.webview.getUrl().trim().equals("")) {
- content = fragment.binding.webview.getUrl();
- title = fragment.binding.webview.getTitle();
+ if(!fragment.mWebView.getUrl().equals("about:blank") && !fragment.mWebView.getUrl().trim().equals("")) {
+ content = fragment.mWebView.getUrl();
+ title = fragment.mWebView.getTitle();
}
}
@@ -655,7 +667,7 @@ public class NewsDetailActivity extends PodcastFragmentActivity {
public void initIncognitoMode() {
int color = getResources().getColor(isIncognitoEnabled() ? R.color.material_grey_900 : R.color.colorPrimary);
- ThemeUtils.colorizeToolbar(binding.toolbarLayout.toolbar, color);
+ ThemeUtils.colorizeToolbar(toolbar, color);
//ThemeUtils.colorizeToolbar(bottomAppBar, color);
//ThemeUtils.changeStatusBarColor(this, color);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
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();
}
/*