diff options
Diffstat (limited to 'org.fox.ttrss')
431 files changed, 3503 insertions, 3837 deletions
diff --git a/org.fox.ttrss/build.gradle b/org.fox.ttrss/build.gradle index 4cc14660..b9ccb805 100755 --- a/org.fox.ttrss/build.gradle +++ b/org.fox.ttrss/build.gradle @@ -1,9 +1,6 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 33 - buildToolsVersion "30.0.2" - compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 @@ -12,20 +9,22 @@ android { defaultConfig { applicationId "org.fox.ttrss" buildConfigField "long", "TIMESTAMP", System.currentTimeMillis() + "L" - buildConfigField "boolean", "ENABLE_UPDATER", "false" minSdkVersion 24 + //noinspection ExpiredTargetSdkVersion targetSdkVersion 31 - versionCode 557 - versionName "1.322" + compileSdk 35 + versionCode 560 + versionName getVersion() + vectorDrawables.useSupportLibrary = true } signingConfigs { - fdroid { - if (project.hasProperty("FDROID_STORE_FILE")) { - storeFile file(FDROID_STORE_FILE) - storePassword FDROID_STORE_PASSWORD - keyAlias FDROID_KEY_ALIAS - keyPassword FDROID_KEY_PASSWORD + signed { + if (project.hasProperty("SIGNING_STORE_FILE")) { + storeFile file(SIGNING_STORE_FILE) + storePassword SIGNING_STORE_PASSWORD + keyAlias SIGNING_KEY_ALIAS + keyPassword SIGNING_KEY_PASSWORD } } } @@ -42,19 +41,66 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } - fdroid { + signed { minifyEnabled false - versionNameSuffix "-fdroid" + versionNameSuffix "-signed" proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' - buildConfigField "boolean", "ENABLE_UPDATER", "true" - signingConfig signingConfigs.fdroid + signingConfig signingConfigs.signed matchingFallbacks = ['release'] } } + namespace 'org.fox.ttrss' + buildFeatures { + buildConfig true + } +} + +def getGitTimestamp() { + // gitlab CI iso-8601 timestamp + if (System.getenv("CI_COMMIT_TIMESTAMP")) { + return Date.parse("yyyy-MM-dd'T'HH:mm:ssXXX", System.getenv("CI_COMMIT_TIMESTAMP")).format('YY.MM') + } + + // try to get version from git repo in current dir + try { + def stdout = new ByteArrayOutputStream() + exec { + commandLine 'git', '--no-pager', 'log', '--pretty=%ct', '-n1', 'HEAD' + standardOutput = stdout + } + + return new Date(stdout.toString().trim().toLong() * 1000).format('YY.MM') + } + catch (ignored) { + return 0; + } + +} + +def getGitCommitHash() { + // gitlab CI + if (System.getenv("CI_COMMIT_SHORT_SHA")) + return System.getenv("CI_COMMIT_SHORT_SHA"); + + // try to get version from git repo in current dir + try { + def stdout = new ByteArrayOutputStream() + exec { + commandLine 'git', '--no-pager', 'log', '--pretty=%h', '-n1', 'HEAD' + standardOutput = stdout + } + return stdout.toString().trim() + } + catch (ignored) { + return 'UNKNOWN'; + } +} + +def getVersion() { + return getGitTimestamp() + '-' + getGitCommitHash(); } dependencies { - implementation files('libs/dashclock-api-r1.1.jar') implementation 'com.squareup.okhttp3:okhttp:3.12.5' implementation('com.github.bumptech.glide:okhttp3-integration:1.5.0') { exclude group: 'glide-parent' @@ -63,22 +109,25 @@ dependencies { implementation 'com.bogdwellers:pinchtozoom:0.1' implementation 'com.github.bumptech.glide:glide:3.8.0' implementation files('libs/glide-transformations-2.0.2.jar') - implementation 'androidx.recyclerview:recyclerview:1.3.2' + implementation 'androidx.recyclerview:recyclerview:1.4.0' + implementation 'androidx.activity:activity:1.10.1' implementation 'androidx.legacy:legacy-support-v4:1.0.0' - implementation 'androidx.appcompat:appcompat:1.6.0' - implementation 'androidx.browser:browser:1.4.0' - implementation 'androidx.coordinatorlayout:coordinatorlayout:1.2.0' + implementation 'androidx.appcompat:appcompat:1.7.0' + implementation 'androidx.appcompat:appcompat-resources:1.7.0' + implementation 'androidx.browser:browser:1.8.0' + implementation 'androidx.coordinatorlayout:coordinatorlayout:1.3.0' implementation 'com.github.natario1:NestedScrollCoordinatorLayout:5a33a7dbd8' - implementation 'com.google.android.material:material:1.6.0' - implementation 'com.google.code.gson:gson:2.8.5' + implementation 'com.google.android.material:material:1.12.0' + implementation 'com.google.code.gson:gson:2.10.1' implementation 'com.ToxicBakery.viewpager.transforms:view-pager-transforms:1.2.32@aar' implementation 'me.relex:circleindicator:1.2.2@aar' implementation 'com.nineoldandroids:library:2.4.0' implementation 'com.github.amulyakhare:TextDrawable:558677ea31' - implementation 'frankiesardo:icepick:3.2.0' - compileOnly 'frankiesardo:icepick-processor:3.2.0' - annotationProcessor 'frankiesardo:icepick-processor:3.2.0' - implementation 'com.github.livefront:bridge:v1.1.1' - implementation files('libs/YouTubeAndroidPlayerApi.jar') - implementation 'com.github.javiersantos:AppUpdater:2.7' + implementation 'com.telefonica:nestedscrollwebview:0.1.6' + implementation 'androidx.preference:preference:1.2.1' +} +java { + toolchain { + languageVersion = JavaLanguageVersion.of(17) + } } diff --git a/org.fox.ttrss/libs/YouTubeAndroidPlayerApi.jar b/org.fox.ttrss/libs/YouTubeAndroidPlayerApi.jar Binary files differdeleted file mode 100644 index 1dc2b822..00000000 --- a/org.fox.ttrss/libs/YouTubeAndroidPlayerApi.jar +++ /dev/null diff --git a/org.fox.ttrss/libs/dashclock-api-r1.1.jar b/org.fox.ttrss/libs/dashclock-api-r1.1.jar Binary files differdeleted file mode 100644 index 3a4e00d0..00000000 --- a/org.fox.ttrss/libs/dashclock-api-r1.1.jar +++ /dev/null diff --git a/org.fox.ttrss/src/main/AndroidManifest.xml b/org.fox.ttrss/src/main/AndroidManifest.xml index d2d1a779..b79e3b05 100755 --- a/org.fox.ttrss/src/main/AndroidManifest.xml +++ b/org.fox.ttrss/src/main/AndroidManifest.xml @@ -1,6 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="org.fox.ttrss"> +<manifest xmlns:android="http://schemas.android.com/apk/res/android"> <queries> <intent> @@ -99,7 +98,7 @@ android:excludeFromRecents="true" android:label="@string/app_name" android:exported="true" - android:theme="@style/DarkDialogTheme" > + android:theme="@style/MaterialAlertDialog.Material3" > <intent-filter> <action android:name="android.intent.action.SEND" /> @@ -113,7 +112,7 @@ android:excludeFromRecents="true" android:label="@string/subscribe_name" android:exported="true" - android:theme="@style/DarkDialogTheme" > + android:theme="@style/MaterialAlertDialog.Material3" > <intent-filter> <action android:name="android.intent.action.SEND" /> @@ -251,12 +250,6 @@ android:label="Article Images" > </activity> - <activity - android:name=".YoutubePlayerActivity" - android:configChanges="keyboardHidden|orientation|screenSize" - android:label="@string/title_activity_video_player" > - </activity> - <provider android:name="androidx.core.content.FileProvider" android:authorities="org.fox.ttrss.SharedFileProvider" diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/Application.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/Application.java index 94857855..ae6eaef6 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/Application.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/Application.java @@ -2,19 +2,11 @@ package org.fox.ttrss; import android.os.Bundle; -import com.livefront.bridge.Bridge; -import com.livefront.bridge.SavedStateHandler; - import org.fox.ttrss.types.Article; import org.fox.ttrss.types.ArticleList; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - import java.util.LinkedHashMap; -import icepick.Icepick; - public class Application extends android.app.Application { private static Application m_singleton; @@ -34,18 +26,6 @@ public class Application extends android.app.Application { public final void onCreate() { super.onCreate(); - Bridge.initialize(getApplicationContext(), new SavedStateHandler() { - @Override - public void saveInstanceState(@NonNull Object target, @NonNull Bundle state) { - Icepick.saveInstanceState(target, state); - } - - @Override - public void restoreInstanceState(@NonNull Object target, @Nullable Bundle state) { - Icepick.restoreInstanceState(target, state); - } - }); - m_singleton = this; } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java index 995e0074..f2fbce2c 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java @@ -6,13 +6,12 @@ import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.content.SharedPreferences; +import android.content.res.ColorStateList; import android.content.res.Resources; import android.graphics.Color; import android.net.Uri; -import android.os.Build; import android.os.Bundle; import android.preference.PreferenceManager; -import android.text.Html; import android.util.Log; import android.util.TypedValue; import android.view.ContextMenu; @@ -29,11 +28,13 @@ import android.webkit.WebView.HitTestResult; import android.webkit.WebViewClient; import android.widget.EditText; import android.widget.FrameLayout; -import android.widget.ImageView; import android.widget.TextView; import androidx.core.text.HtmlCompat; +import com.google.android.material.button.MaterialButton; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + import org.fox.ttrss.types.Article; import org.fox.ttrss.types.Attachment; @@ -43,13 +44,11 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; -import icepick.State; - -public class ArticleFragment extends StateSavedFragment { +public class ArticleFragment extends androidx.fragment.app.Fragment { private final String TAG = this.getClass().getSimpleName(); private SharedPreferences m_prefs; - @State protected Article m_article; + protected Article m_article; private DetailActivity m_activity; private WebView m_web; protected View m_customView; @@ -155,6 +154,15 @@ public class ArticleFragment extends StateSavedFragment { } + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + if (savedInstanceState != null) { + m_article = savedInstanceState.getParcelable("m_article"); + } + } + @SuppressLint("NewApi") @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, final Bundle savedInstanceState) { @@ -171,7 +179,6 @@ public class ArticleFragment extends StateSavedFragment { view.findViewById(R.id.article_scrollview).setVisibility(View.INVISIBLE); } */ - m_contentView = view.findViewById(R.id.article_scrollview); m_customViewContainer = view.findViewById(R.id.article_fullscreen_video); /* if (m_article.id == HeadlinesFragment.ARTICLE_SPECIAL_TOP_CHANGED) { @@ -185,7 +192,7 @@ public class ArticleFragment extends StateSavedFragment { return view; } */ - m_articleFontSize = Integer.parseInt(m_prefs.getString("article_font_size_sp", "16")); + m_articleFontSize = m_prefs.getInt("article_font_size_sp_int", 16); m_articleSmallFontSize = Math.max(10, Math.min(18, m_articleFontSize - 2)); TextView title = view.findViewById(R.id.title); @@ -217,97 +224,6 @@ public class ArticleFragment extends StateSavedFragment { } - final ImageView scoreView = view.findViewById(R.id.score); - - if (scoreView != null) { - setScoreImage(scoreView, m_article.score); - - Resources.Theme theme = m_activity.getTheme(); - TypedValue tv = new TypedValue(); - theme.resolveAttribute(R.attr.headlineTitleHighScoreUnreadTextColor, tv, true); - int titleHighScoreUnreadColor = tv.data; - - if (m_article.score > Article.SCORE_HIGH) - scoreView.setColorFilter(titleHighScoreUnreadColor); - else - scoreView.setColorFilter(null); - - if (m_activity.getApiLevel() >= 16) { - scoreView.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - final EditText edit = new EditText(getActivity()); - edit.setText(String.valueOf(m_article.score)); - - AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()) - .setTitle(R.string.score_for_this_article) - .setPositiveButton(R.string.set_score, - new DialogInterface.OnClickListener() { - - @Override - public void onClick(DialogInterface dialog, - int which) { - - try { - int newScore = Integer.parseInt(edit.getText().toString()); - - m_article.score = newScore; - - m_activity.saveArticleScore(m_article); - - setScoreImage(scoreView, newScore); - } catch (NumberFormatException e) { - m_activity.toast(R.string.score_invalid); - e.printStackTrace(); - } - } - }) - .setNegativeButton(getString(R.string.cancel), - new DialogInterface.OnClickListener() { - - @Override - public void onClick(DialogInterface dialog, - int which) { - - // - - } - }).setView(edit); - - Dialog dialog = builder.create(); - dialog.show(); - } - }); - } - } - - ImageView attachments = view.findViewById(R.id.attachments); - - if (attachments != null) { - if (m_article.attachments != null && m_article.attachments.size() > 0) { - attachments.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - m_activity.displayAttachments(m_article); - } - }); - - } else { - attachments.setVisibility(View.GONE); - } - } - - ImageView share = view.findViewById(R.id.share); - - if (share != null) { - share.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - m_activity.shareArticle(m_article); - } - }); - } - TextView comments = view.findViewById(R.id.comments); if (comments != null) { @@ -337,31 +253,17 @@ public class ArticleFragment extends StateSavedFragment { } } - TextView host = view.findViewById(R.id.host); - if (host != null) { - try { - URL inurl = new URL(m_article.site_url != null ? m_article.site_url : m_article.comments_link); - URL outurl = new URL(m_article.link); - String inhost = inurl.getHost(); - String outhost = outurl.getHost(); - if (!inhost.equals(outhost)) { - host.setText(outhost.replaceFirst("^www\\.", "")); - host.setTextSize(TypedValue.COMPLEX_UNIT_SP, m_articleSmallFontSize); - host.setVisibility(View.VISIBLE); - } - } catch (MalformedURLException ignored) {} - } - TextView note = view.findViewById(R.id.note); + View noteContainer = view.findViewById(R.id.note_container); - if (note != null) { - if (m_article.note != null && !"".equals(m_article.note)) { + if (note != null && noteContainer != null) { + if (m_article.note != null && m_article.note.length() > 0) { note.setTextSize(TypedValue.COMPLEX_UNIT_SP, m_articleSmallFontSize); note.setText(m_article.note); + noteContainer.setVisibility(View.VISIBLE); } else { - note.setVisibility(View.GONE); + noteContainer.setVisibility(View.GONE); } - } TextView dv = view.findViewById(R.id.date); @@ -446,7 +348,7 @@ public class ArticleFragment extends StateSavedFragment { return view; } - private void setScoreImage(ImageView scoreView, int score) { + private void setScoreImage(MaterialButton scoreView, int score) { TypedValue tv = new TypedValue(); int scoreAttr = R.attr.ic_action_trending_flat; @@ -457,7 +359,10 @@ public class ArticleFragment extends StateSavedFragment { m_activity.getTheme().resolveAttribute(scoreAttr, tv, true); - scoreView.setImageResource(tv.resourceId); + scoreView.setIconResource(tv.resourceId); + + TypedValue tvPrimary = new TypedValue(); + m_activity.getTheme().resolveAttribute(R.attr.colorPrimary, tvPrimary, true); } protected void renderContent(Bundle savedInstanceState) { @@ -468,42 +373,30 @@ public class ArticleFragment extends StateSavedFragment { WebSettings ws = m_web.getSettings(); ws.setSupportZoom(false); - TypedValue tvBackground = new TypedValue(); - getActivity().getTheme().resolveAttribute(R.attr.articleBackground, tvBackground, true); - - String backgroundHexColor = String.format("#%06X", (0xFFFFFF & tvBackground.data)); - - String cssOverride = ""; - - cssOverride = "body { background : "+ backgroundHexColor+"; }"; - TypedValue tvTextColor = new TypedValue(); - getActivity().getTheme().resolveAttribute(R.attr.articleTextColor, tvTextColor, true); + getActivity().getTheme().resolveAttribute(R.attr.colorOnSurface, tvTextColor, true); String textColor = String.format("#%06X", (0xFFFFFF & tvTextColor.data)); - cssOverride += "body { color : "+textColor+"; }"; + String cssOverride = "body { color : "+textColor+"; }"; - TypedValue tvLinkColor = new TypedValue(); - getActivity().getTheme().resolveAttribute(R.attr.linkColor, tvLinkColor, true); + TypedValue tvColorPrimary = new TypedValue(); + getActivity().getTheme().resolveAttribute(R.attr.colorPrimary, tvColorPrimary, true); - String linkHexColor = String.format("#%06X", (0xFFFFFF & tvLinkColor.data)); + String linkHexColor = String.format("#%06X", (0xFFFFFF & tvColorPrimary.data)); cssOverride += " a:link {color: "+linkHexColor+";} a:visited { color: "+linkHexColor+";}"; String articleContent = m_article.content != null ? m_article.content : ""; - ws.setJavaScriptEnabled(true); + ws.setJavaScriptEnabled(false); m_chromeClient = new FSVideoChromeClient(getView()); m_web.setWebChromeClient(m_chromeClient); + m_web.setBackgroundColor(Color.TRANSPARENT); ws.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); ws.setMediaPlaybackRequiresUserGesture(true); - if (m_activity.isUiNightMode()) { - m_web.setBackgroundColor(Color.BLACK); - } - if (m_prefs.getBoolean("justify_article_text", true)) { cssOverride += "body { text-align : justify; } "; } @@ -512,12 +405,14 @@ public class ArticleFragment extends StateSavedFragment { ws.setDefaultFontSize(m_articleFontSize); + int margin8dp = CommonActivity.dpToPx(getContext(), 8); + StringBuilder content = new StringBuilder("<html>" + "<head>" + "<meta content=\"text/html; charset=utf-8\" http-equiv=\"content-type\">" + "<meta name=\"viewport\" content=\"width=device-width, user-scalable=no\" />" + "<style type=\"text/css\">" + - "body { padding : 0px; margin : 0px; line-height : 1.3; word-wrap: break-word; }" + + "body { padding : 0px; margin : "+margin8dp+"px; line-height : 1.3; word-wrap: break-word; }" + "h1, h2, h3, h4, h5, h6 { line-height: 1; text-align: initial; }" + "img, video, iframe { max-width : 100%; width : auto; height : auto; }" + " table { width : 100%; }" + @@ -628,4 +523,11 @@ public class ArticleFragment extends StateSavedFragment { m_activity = (DetailActivity)activity; } + + @Override + public void onSaveInstanceState(Bundle out) { + super.onSaveInstanceState(out); + + out.putParcelable("m_article", m_article); + } } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java index 86feeaed..c94f0c3a 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java @@ -28,20 +28,18 @@ import org.fox.ttrss.util.HeadlinesRequest; import java.util.HashMap; -import icepick.State; - -public class ArticlePager extends StateSavedFragment { +public class ArticlePager extends androidx.fragment.app.Fragment { private final String TAG = "ArticlePager"; private PagerAdapter m_adapter; private HeadlinesEventListener m_listener; - @State protected Article m_article; - @State protected ArticleList m_articles = new ArticleList(); //m_articles = Application.getInstance().m_loadedArticles; + protected Article m_article; + protected ArticleList m_articles = new ArticleList(); //m_articles = Application.getInstance().m_loadedArticles; private OnlineActivity m_activity; private String m_searchQuery = ""; - @State protected Feed m_feed; + protected Feed m_feed; private SharedPreferences m_prefs; - @State protected int m_firstId = 0; + protected int m_firstId = 0; private boolean m_refreshInProgress; private boolean m_lazyLoadDisabled; @@ -112,15 +110,32 @@ public class ArticlePager extends StateSavedFragment { } @Override + public void onSaveInstanceState(Bundle out) { + super.onSaveInstanceState(out); + + out.putParcelable("m_article", m_article); + //out.putParcelable("m_articles", m_articles); + out.putParcelable("m_feed", m_feed); + out.putInt("m_firstId", m_firstId); + } + + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + if (savedInstanceState != null) { + m_article = savedInstanceState.getParcelable("m_article"); + //m_articles = savedInstanceState.getParcelable("m_articles"); + m_feed = savedInstanceState.getParcelable("m_feed"); + m_firstId = savedInstanceState.getInt("m_firstId"); + } + setRetainInstance(true); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.article_pager, container, false); + View view = inflater.inflate(R.layout.fragment_article_pager, container, false); if (savedInstanceState != null) { if (m_activity instanceof DetailActivity) { @@ -354,7 +369,7 @@ public class ArticlePager extends StateSavedFragment { m_prefs = PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext()); } - + @SuppressLint("NewApi") @Override public void onResume() { diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/BaseFeedlistFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/BaseFeedlistFragment.java index b97448fe..0952e7f7 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/BaseFeedlistFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/BaseFeedlistFragment.java @@ -11,166 +11,126 @@ import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; +import androidx.appcompat.widget.SwitchCompat; + import org.fox.ttrss.offline.OfflineActivity; import java.net.MalformedURLException; import java.net.URL; -import androidx.appcompat.widget.SwitchCompat; - -public abstract class BaseFeedlistFragment extends StateSavedFragment { +public abstract class BaseFeedlistFragment extends androidx.fragment.app.Fragment { abstract public void refresh(); public void initDrawerHeader(LayoutInflater inflater, View view, ListView list, final CommonActivity activity, final SharedPreferences prefs, boolean isRoot) { boolean isOffline = activity instanceof OfflineActivity; - if (true /*m_activity.findViewById(R.id.headlines_drawer) != null*/) { - try { + try { + View layout = inflater.inflate(R.layout.drawer_header, list, false); + list.addHeaderView(layout, null, false); - boolean needSettingsFooter = false; + TextView login = view.findViewById(R.id.drawer_header_login); + TextView server = view.findViewById(R.id.drawer_header_server); - if (activity.isSmallScreen()) { - View layout = inflater.inflate(R.layout.drawer_header, list, false); - list.addHeaderView(layout, null, false); + login.setText(prefs.getString("login", "")); + try { + server.setText(new URL(prefs.getString("ttrss_url", "")).getHost()); + } catch (MalformedURLException e) { + server.setText(""); + } - TextView login = view.findViewById(R.id.drawer_header_login); - TextView server = view.findViewById(R.id.drawer_header_server); + View settings = view.findViewById(R.id.drawer_settings_btn); - login.setText(prefs.getString("login", "")); + settings.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { try { - server.setText(new URL(prefs.getString("ttrss_url", "")).getHost()); - } catch (MalformedURLException e) { - server.setText(""); - } + Intent intent = new Intent(getActivity(), + PreferencesActivity.class); - View settings = view.findViewById(R.id.drawer_settings_btn); + startActivityForResult(intent, 0); - settings.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - try { - Intent intent = new Intent(getActivity(), - PreferencesActivity.class); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); - startActivityForResult(intent, 0); + /* deal with ~material~ footers */ - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - } else { - needSettingsFooter = true; + // divider + final View footer = inflater.inflate(R.layout.drawer_divider, list, false); + footer.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + // } + }); + list.addFooterView(footer); + + // unread only checkbox + final View rowToggle = inflater.inflate(R.layout.feeds_row_toggle, list, false); + list.addFooterView(rowToggle); + TextView text = rowToggle.findViewById(R.id.title); + text.setText(R.string.unread_only); + + ImageView icon = rowToggle.findViewById(R.id.icon); + TypedValue tv = new TypedValue(); + getActivity().getTheme().resolveAttribute(R.attr.ic_filter_variant, tv, true); + icon.setImageResource(tv.resourceId); + + final SwitchCompat rowSwitch = rowToggle.findViewById(R.id.row_switch); + rowSwitch.setChecked(activity.getUnreadOnly()); + + rowSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton button, boolean isChecked) { + activity.setUnreadOnly(isChecked); + refresh(); + } + }); - /* deal with ~material~ footers */ + footer.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + rowSwitch.setChecked(!rowSwitch.isChecked()); + } + }); - // divider - View footer = inflater.inflate(R.layout.drawer_divider, list, false); - footer.setOnClickListener(new View.OnClickListener() { + // root or subdirectory (i.e. feed category) + if (isRoot) { + // offline + final View offlineFooter = inflater.inflate(R.layout.feeds_row, list, false); + offlineFooter.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - // - } - }); - list.addFooterView(footer); - - // unread only checkbox - footer = inflater.inflate(R.layout.feeds_row_toggle, list, false); - list.addFooterView(footer); - TextView text = footer.findViewById(R.id.title); - text.setText(R.string.unread_only); - - ImageView icon = footer.findViewById(R.id.icon); - TypedValue tv = new TypedValue(); - getActivity().getTheme().resolveAttribute(R.attr.ic_filter_variant, tv, true); - icon.setImageResource(tv.resourceId); - - final SwitchCompat rowSwitch = footer.findViewById(R.id.row_switch); - rowSwitch.setChecked(activity.getUnreadOnly()); + if (activity instanceof OnlineActivity) { + ((OnlineActivity)activity).switchOffline(); - rowSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton button, boolean isChecked) { - activity.setUnreadOnly(isChecked); - refresh(); + } else if (activity instanceof OfflineActivity) { + ((OfflineActivity)activity).switchOnline(); + } } }); - footer.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - rowSwitch.setChecked(!rowSwitch.isChecked()); - } - }); + list.addFooterView(offlineFooter); + text = offlineFooter.findViewById(R.id.title); + text.setText(isOffline ? R.string.go_online : R.string.go_offline); - if (isRoot) { - if (needSettingsFooter) { - // settings (as a list footer row) - - footer = inflater.inflate(R.layout.feeds_row, list, false); - footer.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - try { - Intent intent = new Intent(getActivity(), - PreferencesActivity.class); - - startActivityForResult(intent, 0); - - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - - list.addFooterView(footer); - text = footer.findViewById(R.id.title); - text.setText(R.string.action_settings); - - icon = footer.findViewById(R.id.icon); - tv = new TypedValue(); - getActivity().getTheme().resolveAttribute(R.attr.ic_settings, tv, true); - icon.setImageResource(tv.resourceId); - - TextView counter = footer.findViewById(R.id.unread_counter); - counter.setText(R.string.blank); - } - - // offline - footer = inflater.inflate(R.layout.feeds_row, list, false); - footer.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (activity instanceof OnlineActivity) { - ((OnlineActivity)activity).switchOffline(); - - } else if (activity instanceof OfflineActivity) { - ((OfflineActivity)activity).switchOnline(); - } - } - }); - - list.addFooterView(footer); - text = footer.findViewById(R.id.title); - text.setText(isOffline ? R.string.go_online : R.string.go_offline); - - icon = footer.findViewById(R.id.icon); - tv = new TypedValue(); - getActivity().getTheme().resolveAttribute(isOffline ? R.attr.ic_cloud_upload : R.attr.ic_cloud_download, tv, true); - icon.setImageResource(tv.resourceId); - - TextView counter = footer.findViewById(R.id.unread_counter); - counter.setText(R.string.blank); - } + icon = offlineFooter.findViewById(R.id.icon); + tv = new TypedValue(); + getActivity().getTheme().resolveAttribute(isOffline ? R.attr.ic_cloud_upload : R.attr.ic_cloud_download, tv, true); + icon.setImageResource(tv.resourceId); - } catch (InflateException e) { - // welp couldn't inflate header i guess - e.printStackTrace(); - } catch (java.lang.UnsupportedOperationException e) { - e.printStackTrace(); + TextView counter = offlineFooter.findViewById(R.id.unread_counter); + counter.setText(R.string.blank); } + + } catch (InflateException e) { + // welp couldn't inflate header i guess + e.printStackTrace(); + } catch (java.lang.UnsupportedOperationException e) { + e.printStackTrace(); } } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java index 1933fe6a..fad4f8ef 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java @@ -27,12 +27,14 @@ import android.os.Bundle; import android.os.SystemClock; import android.preference.PreferenceManager; import android.text.TextUtils; +import android.util.DisplayMetrics; import android.util.Log; import android.util.TypedValue; import android.view.Display; import android.view.View; import android.widget.CheckBox; +import androidx.activity.EdgeToEdge; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatDelegate; import androidx.browser.customtabs.CustomTabsCallback; @@ -47,8 +49,8 @@ import com.bumptech.glide.Glide; import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.request.animation.GlideAnimation; import com.bumptech.glide.request.target.SimpleTarget; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.snackbar.Snackbar; -import com.livefront.bridge.Bridge; import org.fox.ttrss.util.DatabaseHelper; import org.fox.ttrss.widget.SmallWidgetProvider; @@ -63,8 +65,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import icepick.State; - public class CommonActivity extends AppCompatActivity implements SharedPreferences.OnSharedPreferenceChangeListener { private final String TAG = this.getClass().getSimpleName(); @@ -91,7 +91,7 @@ public class CommonActivity extends AppCompatActivity implements SharedPreferenc //private SQLiteDatabase m_writableDb; private boolean m_smallScreenMode = true; - @State protected String m_theme; + protected String m_theme; private boolean m_needRestart; private static String s_customTabPackageName; @@ -233,6 +233,7 @@ public class CommonActivity extends AppCompatActivity implements SharedPreferenc @Override public void onCreate(Bundle savedInstanceState) { + EdgeToEdge.enable(this); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationManager nmgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); @@ -263,10 +264,10 @@ public class CommonActivity extends AppCompatActivity implements SharedPreferenc setupWidgetUpdates(this); - Bridge.restoreInstanceState(this, savedInstanceState); - if (savedInstanceState == null) { m_theme = m_prefs.getString("theme", CommonActivity.THEME_DEFAULT); + } else { + m_theme = savedInstanceState.getString("m_theme"); } String customTabPackageName = getCustomTabPackageName(this); @@ -282,7 +283,8 @@ public class CommonActivity extends AppCompatActivity implements SharedPreferenc @Override public void onSaveInstanceState(Bundle out) { super.onSaveInstanceState(out); - Bridge.saveInstanceState(this, out); + + out.putString("m_theme", m_theme); } public boolean isSmallScreen() { @@ -454,15 +456,11 @@ public class CommonActivity extends AppCompatActivity implements SharedPreferenc private void openUriWithCustomTab(Uri uri) { if (m_customTabClient != null) { - TypedValue tvBackground = new TypedValue(); - getTheme().resolveAttribute(R.attr.colorPrimary, tvBackground, true); - CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder(getCustomTabSession()); builder.setStartAnimations(this, R.anim.slide_in_right, R.anim.slide_out_left); builder.setExitAnimations(this, R.anim.slide_in_left, R.anim.slide_out_right); - builder.setToolbarColor(tvBackground.data); builder.setShowTitle(true); Intent shareIntent = getShareIntent(uri.toString(), null); @@ -470,7 +468,7 @@ public class CommonActivity extends AppCompatActivity implements SharedPreferenc PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), CommonActivity.PENDING_INTENT_CHROME_SHARE, shareIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); - builder.setActionButton(BitmapFactory.decodeResource(getResources(), R.drawable.ic_share), + builder.setActionButton(BitmapFactory.decodeResource(getResources(), R.drawable.baseline_share_24), getString(R.string.share_article), pendingIntent); CustomTabsIntent intent = builder.build(); @@ -508,8 +506,7 @@ public class CommonActivity extends AppCompatActivity implements SharedPreferenc View dialogView = View.inflate(this, R.layout.dialog_open_link_askcb, null); final CheckBox askEveryTimeCB = dialogView.findViewById(R.id.open_link_ask_checkbox); - AlertDialog.Builder builder = new AlertDialog.Builder( - CommonActivity.this) + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) .setView(dialogView) .setMessage(uri.toString()) .setPositiveButton(R.string.quick_preview, @@ -564,7 +561,7 @@ public class CommonActivity extends AppCompatActivity implements SharedPreferenc } });*/ - AlertDialog dlg = builder.create(); + Dialog dlg = builder.create(); dlg.show(); } else { @@ -616,7 +613,7 @@ public class CommonActivity extends AppCompatActivity implements SharedPreferenc if (es.size() > 0) { if (es.get(0).hasAttr("title")) { - AlertDialog.Builder builder = new AlertDialog.Builder(this) + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) .setCancelable(true) .setMessage(es.get(0).attr("title")) .setPositiveButton(R.string.dialog_close, new DialogInterface.OnClickListener() { @@ -627,7 +624,7 @@ public class CommonActivity extends AppCompatActivity implements SharedPreferenc } ); - AlertDialog dialog = builder.create(); + Dialog dialog = builder.create(); dialog.show(); } else { @@ -656,5 +653,11 @@ public class CommonActivity extends AppCompatActivity implements SharedPreferenc JobIntentService.enqueueWork(context.getApplicationContext(), WidgetUpdateService.class, 0, new Intent()); } + static public int dpToPx(Context context, int dp) { + DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics(); + int px = Math.round(dp * (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT)); + return px; + } + } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java index 97819411..0edd6c10 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/DetailActivity.java @@ -13,19 +13,18 @@ import android.util.Log; import android.view.MenuItem; import android.view.View; +import androidx.appcompat.widget.Toolbar; +import androidx.fragment.app.FragmentTransaction; + import com.google.android.material.floatingactionbutton.FloatingActionButton; import org.fox.ttrss.types.Article; import org.fox.ttrss.types.ArticleList; import org.fox.ttrss.types.Feed; -import androidx.appcompat.widget.Toolbar; -import androidx.fragment.app.FragmentTransaction; -import icepick.State; - public class DetailActivity extends OnlineActivity implements HeadlinesEventListener { private final String TAG = this.getClass().getSimpleName(); - @State protected ArticleList m_articles = new ArticleList(); + protected ArticleList m_articles = new ArticleList(); protected SharedPreferences m_prefs; private Article m_activeArticle; @@ -40,6 +39,10 @@ public class DetailActivity extends OnlineActivity implements HeadlinesEventList super.onCreate(savedInstanceState); + if (savedInstanceState != null) { + m_articles = savedInstanceState.getParcelable("m_articles"); + } + if (m_prefs.getBoolean("force_phone_layout", false)) { setContentView(R.layout.activity_detail_phone); } else { @@ -111,6 +114,7 @@ public class DetailActivity extends OnlineActivity implements HeadlinesEventList ArticleList tmp = Application.getInstance().tmpArticleList; if (tmp != null) { + m_articles.clear(); m_articles.addAll(tmp); } @@ -166,20 +170,20 @@ public class DetailActivity extends OnlineActivity implements HeadlinesEventList public void onSaveInstanceState(Bundle out) { super.onSaveInstanceState(out); + out.putParcelable("m_articles", m_articles); + Application.getInstance().save(out); } @Override public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case android.R.id.home: + if (item.getItemId() == android.R.id.home) { onBackPressed(); - return true; - default: - Log.d(TAG, "onOptionsItemSelected, unhandled id=" + item.getItemId()); - return super.onOptionsItemSelected(item); - } - } + return true; + } + Log.d(TAG, "onOptionsItemSelected, unhandled id=" + item.getItemId()); + return super.onOptionsItemSelected(item); + } @Override public void onResume() { @@ -208,12 +212,12 @@ public class DetailActivity extends OnlineActivity implements HeadlinesEventList /* if (!isCompatMode() && (isSmallScreen() || !isPortrait())) { m_menu.findItem(R.id.toggle_attachments).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); } */ - //m_menu.findItem(R.id.toggle_attachments).setVisible(true); + m_menu.findItem(R.id.toggle_attachments).setVisible(true); } else { /* if (!isCompatMode()) { m_menu.findItem(R.id.toggle_attachments).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); } */ - //m_menu.findItem(R.id.toggle_attachments).setVisible(false); + m_menu.findItem(R.id.toggle_attachments).setVisible(false); } } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedCategoriesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedCategoriesFragment.java index 0feda5d9..b805ee6a 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedCategoriesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedCategoriesFragment.java @@ -24,6 +24,10 @@ import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; +import androidx.loader.app.LoaderManager; +import androidx.loader.content.Loader; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; + import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonElement; @@ -40,17 +44,12 @@ import java.util.Comparator; import java.util.HashMap; import java.util.List; -import androidx.loader.app.LoaderManager; -import androidx.loader.content.Loader; -import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; -import icepick.State; - public class FeedCategoriesFragment extends BaseFeedlistFragment implements OnItemClickListener, OnSharedPreferenceChangeListener, LoaderManager.LoaderCallbacks<JsonElement> { private final String TAG = this.getClass().getSimpleName(); private FeedCategoryListAdapter m_adapter; private FeedCategoryList m_cats = new FeedCategoryList(); - @State FeedCategory m_selectedCat; + FeedCategory m_selectedCat; private MasterActivity m_activity; private SwipeRefreshLayout m_swipeLayout; private ListView m_list; @@ -216,50 +215,48 @@ public class FeedCategoriesFragment extends BaseFeedlistFragment implements OnIt public boolean onContextItemSelected(MenuItem item) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item .getMenuInfo(); - - switch (item.getItemId()) { - case R.id.browse_headlines: - if (true) { - FeedCategory cat = getCategoryAtPosition(info.position); - if (cat != null) { - m_activity.onCatSelected(cat, true); - //setSelectedCategory(cat); - } - } - return true; - case R.id.browse_feeds: - if (true) { - FeedCategory cat = getCategoryAtPosition(info.position); - if (cat != null) { - m_activity.onCatSelected(cat, false); - //cf.setSelectedCategory(cat); - } - } - return true; - case R.id.create_shortcut: - if (true) { - FeedCategory cat = getCategoryAtPosition(info.position); - if (cat != null) { - m_activity.createCategoryShortcut(cat); - //cf.setSelectedCategory(cat); - } - } - return true; - case R.id.catchup_category: - if (true) { - final FeedCategory cat = getCategoryAtPosition(info.position); - if (cat != null) { - m_activity.catchupDialog(new Feed(cat.id, cat.title, true)); - } - } - return true; - - default: - Log.d(TAG, "onContextItemSelected, unhandled id=" + item.getItemId()); - return super.onContextItemSelected(item); - } - } + int itemId = item.getItemId(); + if (itemId == R.id.browse_headlines) { + if (true) { + FeedCategory cat = getCategoryAtPosition(info.position); + if (cat != null) { + m_activity.onCatSelected(cat, true); + //setSelectedCategory(cat); + } + } + return true; + } else if (itemId == R.id.browse_feeds) { + if (true) { + FeedCategory cat = getCategoryAtPosition(info.position); + if (cat != null) { + m_activity.onCatSelected(cat, false); + //cf.setSelectedCategory(cat); + } + } + return true; + } else if (itemId == R.id.create_shortcut) { + if (true) { + FeedCategory cat = getCategoryAtPosition(info.position); + if (cat != null) { + m_activity.createCategoryShortcut(cat); + //cf.setSelectedCategory(cat); + } + } + return true; + } else if (itemId == R.id.catchup_category) { + if (true) { + final FeedCategory cat = getCategoryAtPosition(info.position); + + if (cat != null) { + m_activity.catchupDialog(new Feed(cat.id, cat.title, true)); + } + } + return true; + } + Log.d(TAG, "onContextItemSelected, unhandled id=" + item.getItemId()); + return super.onContextItemSelected(item); + } @Override public void onCreateContextMenu(ContextMenu menu, View v, @@ -290,11 +287,20 @@ public class FeedCategoriesFragment extends BaseFeedlistFragment implements OnIt return null; } } - + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + if (savedInstanceState != null) { + m_selectedCat = savedInstanceState.getParcelable("m_selectedCat"); + } + } + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.fragment_cats, container, false); + View view = inflater.inflate(R.layout.fragment_feeds, container, false); m_swipeLayout = view.findViewById(R.id.feeds_swipe_container); @@ -474,5 +480,10 @@ public class FeedCategoriesFragment extends BaseFeedlistFragment implements OnIt } } + @Override + public void onSaveInstanceState(Bundle out) { + super.onSaveInstanceState(out); + out.putParcelable("m_selectedCat", m_selectedCat); + } } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java index 60020086..55c8950b 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java @@ -29,6 +29,11 @@ import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; +import androidx.loader.app.LoaderManager; +import androidx.loader.content.Loader; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; + +import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonElement; @@ -45,11 +50,6 @@ import java.util.Comparator; import java.util.HashMap; import java.util.List; -import androidx.loader.app.LoaderManager; -import androidx.loader.content.Loader; -import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; -import icepick.State; - public class FeedsFragment extends BaseFeedlistFragment implements OnItemClickListener, OnSharedPreferenceChangeListener, LoaderManager.LoaderCallbacks<JsonElement> { private final String TAG = this.getClass().getSimpleName(); @@ -57,10 +57,10 @@ public class FeedsFragment extends BaseFeedlistFragment implements OnItemClickLi private FeedListAdapter m_adapter; private FeedList m_feeds = new FeedList(); private MasterActivity m_activity; - @State Feed m_selectedFeed; - @State FeedCategory m_activeCategory; + Feed m_selectedFeed; + FeedCategory m_activeCategory; private SwipeRefreshLayout m_swipeLayout; - @State boolean m_enableParentBtn = false; + boolean m_enableParentBtn = false; private ListView m_list; public void initialize(FeedCategory cat, boolean enableParentBtn) { @@ -237,75 +237,72 @@ public class FeedsFragment extends BaseFeedlistFragment implements OnItemClickLi public boolean onContextItemSelected(MenuItem item) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item .getMenuInfo(); - switch (item.getItemId()) { - case R.id.browse_headlines: - if (true) { - Feed feed = getFeedAtPosition(info.position); - if (feed != null) { - m_activity.onFeedSelected(feed); - } - } - return true; - case R.id.browse_feeds: - if (true) { - Feed feed = getFeedAtPosition(info.position); - if (feed != null) { - m_activity.onCatSelected(new FeedCategory(feed.id, feed.title, feed.unread), false); - } - } - return true; - case R.id.unsubscribe_feed: - if (true) { - final Feed feed = getFeedAtPosition(info.position); - - AlertDialog.Builder builder = new AlertDialog.Builder( - m_activity) - .setMessage(getString(R.string.unsubscribe_from_prompt, feed.title)) - .setPositiveButton(R.string.unsubscribe, - new Dialog.OnClickListener() { - public void onClick(DialogInterface dialog, - int which) { - - m_activity.unsubscribeFeed(feed); - - } - }) - .setNegativeButton(R.string.dialog_cancel, - new Dialog.OnClickListener() { - public void onClick(DialogInterface dialog, - int which) { - - } - }); - - AlertDialog dlg = builder.create(); - dlg.show(); - } - - return true; - case R.id.create_shortcut: - if (true) { - Feed feed = getFeedAtPosition(info.position); - if (feed != null) { - m_activity.createFeedShortcut(feed); - } - } - return true; - case R.id.catchup_feed: - if (true) { - Feed feed = getFeedAtPosition(info.position); - - if (feed != null) { - m_activity.catchupDialog(feed); - } - } - return true; - - default: - Log.d(TAG, "onContextItemSelected, unhandled id=" + item.getItemId()); - return super.onContextItemSelected(item); - } - } + int itemId = item.getItemId(); + if (itemId == R.id.browse_headlines) { + if (true) { + Feed feed = getFeedAtPosition(info.position); + if (feed != null) { + m_activity.onFeedSelected(feed); + } + } + return true; + } else if (itemId == R.id.browse_feeds) { + if (true) { + Feed feed = getFeedAtPosition(info.position); + if (feed != null) { + m_activity.onCatSelected(new FeedCategory(feed.id, feed.title, feed.unread), false); + } + } + return true; + } else if (itemId == R.id.unsubscribe_feed) { + if (true) { + final Feed feed = getFeedAtPosition(info.position); + + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(getContext()) + .setMessage(getString(R.string.unsubscribe_from_prompt, feed.title)) + .setPositiveButton(R.string.unsubscribe, + new Dialog.OnClickListener() { + public void onClick(DialogInterface dialog, + int which) { + + m_activity.unsubscribeFeed(feed); + + } + }) + .setNegativeButton(R.string.dialog_cancel, + new Dialog.OnClickListener() { + public void onClick(DialogInterface dialog, + int which) { + + } + }); + + Dialog dlg = builder.create(); + dlg.show(); + } + + return true; + } else if (itemId == R.id.create_shortcut) { + if (true) { + Feed feed = getFeedAtPosition(info.position); + if (feed != null) { + m_activity.createFeedShortcut(feed); + } + } + return true; + } else if (itemId == R.id.catchup_feed) { + if (true) { + Feed feed = getFeedAtPosition(info.position); + + if (feed != null) { + m_activity.catchupDialog(feed); + } + } + return true; + } + Log.d(TAG, "onContextItemSelected, unhandled id=" + item.getItemId()); + return super.onContextItemSelected(item); + } @Override public void onCreateContextMenu(ContextMenu menu, View v, @@ -334,6 +331,32 @@ public class FeedsFragment extends BaseFeedlistFragment implements OnItemClickLi super.onCreateContextMenu(menu, v, menuInfo); } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + if (savedInstanceState != null) { + ArrayList<Feed> list = savedInstanceState.getParcelableArrayList("m_feeds"); + + m_feeds.clear(); + m_feeds.addAll(list); + + m_selectedFeed = savedInstanceState.getParcelable("m_selectedFeed"); + m_activeCategory = savedInstanceState.getParcelable("m_activeCategory"); + m_enableParentBtn = savedInstanceState.getBoolean("m_enableParentBtn"); + } + } + + @Override + public void onSaveInstanceState(Bundle out) { + super.onSaveInstanceState(out); + + out.putParcelableArrayList("m_feeds", m_feeds); + out.putParcelable("m_selectedFeed", m_selectedFeed); + out.putParcelable("m_activeCategory", m_activeCategory); + out.putBoolean("m_enableParentBtn", m_enableParentBtn); + } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryActivity.java index 9645ad80..ef3797b3 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryActivity.java @@ -3,18 +3,26 @@ package org.fox.ttrss; import android.graphics.Bitmap; import android.net.Uri; import android.os.AsyncTask; +import android.os.Build; import android.os.Bundle; import android.preference.PreferenceManager; import android.util.Log; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; +import android.view.Window; import android.widget.PopupMenu; import android.widget.ProgressBar; +import androidx.activity.EdgeToEdge; import androidx.appcompat.app.AppCompatDelegate; import androidx.appcompat.widget.Toolbar; import androidx.core.app.ActivityCompat; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowCompat; +import androidx.core.view.WindowInsetsCompat; +import androidx.core.view.WindowInsetsControllerCompat; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentStatePagerAdapter; @@ -34,16 +42,15 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.ExecutionException; -import icepick.State; import me.relex.circleindicator.CircleIndicator; public class GalleryActivity extends CommonActivity { private final String TAG = this.getClass().getSimpleName(); - @State protected ArrayList<GalleryEntry> m_items = new ArrayList<>(); - @State protected String m_title; + protected ArrayList<GalleryEntry> m_items = new ArrayList<>(); + protected String m_title; private ArticleImagesPagerAdapter m_adapter; - @State public String m_content; + public String m_content; private ViewPager m_pager; private ProgressBar m_checkProgress; @@ -234,6 +241,14 @@ public class GalleryActivity extends CommonActivity { return firstFound; } + public void onSaveInstanceState(Bundle out) { + super.onSaveInstanceState(out); + + out.putParcelableArrayList("m_items", m_items); + out.putString("m_title", m_title); + out.putString("m_content", m_content); + } + @Override public void onCreate(Bundle savedInstanceState) { ActivityCompat.postponeEnterTransition(this); @@ -242,19 +257,19 @@ public class GalleryActivity extends CommonActivity { m_prefs = PreferenceManager .getDefaultSharedPreferences(getApplicationContext()); - - getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_YES); - setTheme(R.style.AppTheme); + setAppTheme(m_prefs); super.onCreate(savedInstanceState); + Window window = getWindow(); + WindowInsetsControllerCompat windowInsetsController = WindowCompat.getInsetsController(window, window.getDecorView()); + windowInsetsController.hide(WindowInsetsCompat.Type.statusBars()); + setContentView(R.layout.activity_gallery); Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); - //m_progress = (ProgressBar) findViewById(R.id.gallery_check_progress); - getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().hide(); @@ -273,6 +288,14 @@ public class GalleryActivity extends CommonActivity { if (!collectGalleryContents(imgSrcFirst, doc, uncheckedItems)) if (!collectGalleryContents("", doc, uncheckedItems)) m_items.add(new GalleryEntry(imgSrcFirst, GalleryEntry.GalleryEntryType.TYPE_IMAGE, null)); + } else { + ArrayList<GalleryEntry> list = savedInstanceState.getParcelableArrayList("m_items"); + + m_items.clear(); + m_items.addAll(list); + + m_title = savedInstanceState.getString("m_title"); + m_content = savedInstanceState.getString("m_content"); } findViewById(R.id.gallery_overflow).setOnClickListener(new View.OnClickListener() { @@ -361,44 +384,43 @@ public class GalleryActivity extends CommonActivity { public boolean onImageMenuItemSelected(MenuItem item, GalleryEntry entry) { String url = entry.url; - switch (item.getItemId()) { - case R.id.article_img_open: - if (url != null) { - try { - openUri(Uri.parse(url)); - } catch (Exception e) { - e.printStackTrace(); - toast(R.string.error_other_error); - } - } - return true; - case R.id.article_img_copy: - if (url != null) { - copyToClipboard(url); + int itemId = item.getItemId(); + if (itemId == R.id.article_img_open) { + if (url != null) { + try { + openUri(Uri.parse(url)); + } catch (Exception e) { + e.printStackTrace(); + toast(R.string.error_other_error); } - return true; - case R.id.article_img_share: - if (url != null) { - if (entry.type == GalleryEntry.GalleryEntryType.TYPE_IMAGE) { - Log.d(TAG, "image sharing image from URL=" + url); + } + return true; + } else if (itemId == R.id.article_img_copy) { + if (url != null) { + copyToClipboard(url); + } + return true; + } else if (itemId == R.id.article_img_share) { + if (url != null) { + if (entry.type == GalleryEntry.GalleryEntryType.TYPE_IMAGE) { + Log.d(TAG, "image sharing image from URL=" + url); - shareImageFromUri(url); - } - } - return true; - case R.id.article_img_share_url: - if (url != null) { - shareText(url); - } - return true; - case R.id.article_img_view_caption: - if (url != null) { - displayImageCaption(url, m_content); + shareImageFromUri(url); } - return true; - default: - Log.d(TAG, "onImageMenuItemSelected, unhandled id=" + item.getItemId()); - return false; + } + return true; + } else if (itemId == R.id.article_img_share_url) { + if (url != null) { + shareText(url); + } + return true; + } else if (itemId == R.id.article_img_view_caption) { + if (url != null) { + displayImageCaption(url, m_content); + } + return true; } + Log.d(TAG, "onImageMenuItemSelected, unhandled id=" + item.getItemId()); + return false; } } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryBaseFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryBaseFragment.java index 338845a2..b35ca9e7 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryBaseFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryBaseFragment.java @@ -5,7 +5,7 @@ import android.os.Bundle; import android.view.ContextMenu; import android.view.View; -public class GalleryBaseFragment extends StateSavedFragment { +public class GalleryBaseFragment extends androidx.fragment.app.Fragment { private final String TAG = this.getClass().getSimpleName(); protected GalleryActivity m_activity; diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryImageFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryImageFragment.java index e058ca7b..addb48d3 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryImageFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryImageFragment.java @@ -19,12 +19,19 @@ import com.bumptech.glide.request.RequestListener; import com.bumptech.glide.request.target.GlideDrawableImageViewTarget; import com.bumptech.glide.request.target.Target; -import icepick.State; - public class GalleryImageFragment extends GalleryBaseFragment { private final String TAG = this.getClass().getSimpleName(); - @State String m_url; + String m_url; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + if (savedInstanceState != null) { + m_url = savedInstanceState.getString("m_url"); + } + } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -84,6 +91,13 @@ public class GalleryImageFragment extends GalleryBaseFragment { m_url = url; } + @Override + public void onSaveInstanceState(Bundle out) { + super.onSaveInstanceState(out); + + out.putString("m_url", m_url); + } + /*@Override public boolean onContextItemSelected(MenuItem item) { int position = m_pager.getCurrentItem(); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryVideoFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryVideoFragment.java index c2f8841d..2e2df149 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryVideoFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryVideoFragment.java @@ -15,20 +15,36 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.MediaController; -import java.io.IOException; - import androidx.core.app.ActivityCompat; import androidx.core.view.ViewCompat; -import icepick.State; + +import java.io.IOException; public class GalleryVideoFragment extends GalleryBaseFragment { private final String TAG = this.getClass().getSimpleName(); - @State String m_url; - @State String m_coverUrl; + String m_url; + String m_coverUrl; MediaPlayer m_mediaPlayer; private boolean m_userVisibleHint = false; + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + if (savedInstanceState != null) { + m_url = savedInstanceState.getString("m_url"); + m_coverUrl = savedInstanceState.getString("m_coverUrl"); + } + } + + @Override + public void onSaveInstanceState(Bundle out) { + super.onSaveInstanceState(out); + + out.putString("m_url", m_url); + out.putString("m_coverUrl", m_coverUrl); + } + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { final View view = inflater.inflate(R.layout.fragment_gallery_entry, container, false); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java index fb43f7ca..b6953bc6 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java @@ -2,14 +2,12 @@ package org.fox.ttrss; import android.annotation.SuppressLint; import android.app.Activity; -import android.app.AlertDialog; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; -import android.content.pm.ApplicationInfo; -import android.content.res.Resources.Theme; +import android.content.res.ColorStateList; import android.graphics.Paint; import android.graphics.Point; import android.graphics.SurfaceTexture; @@ -44,18 +42,17 @@ import android.view.WindowManager; import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.CheckBox; import android.widget.EditText; +import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.ListView; import android.widget.PopupMenu; import android.widget.ProgressBar; -import android.widget.RelativeLayout; import android.widget.TextView; import androidx.core.app.ActivityCompat; import androidx.core.app.ActivityOptionsCompat; import androidx.core.view.ViewCompat; import androidx.recyclerview.widget.DefaultItemAnimator; -import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.ItemTouchHelper; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -69,6 +66,9 @@ import com.bumptech.glide.load.resource.drawable.GlideDrawable; import com.bumptech.glide.request.RequestListener; import com.bumptech.glide.request.target.GlideDrawableImageViewTarget; import com.bumptech.glide.request.target.Target; +import com.google.android.material.button.MaterialButton; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; +import com.google.android.material.divider.MaterialDividerItemDecoration; import com.google.android.material.snackbar.Snackbar; import com.google.gson.JsonElement; @@ -87,14 +87,11 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; -import java.util.List; import java.util.TimeZone; -import java.util.concurrent.TimeUnit; -import icepick.State; import jp.wasabeef.glide.transformations.CropCircleTransformation; -public class HeadlinesFragment extends StateSavedFragment { +public class HeadlinesFragment extends androidx.fragment.app.Fragment { public enum ArticlesSelection { ALL, NONE, UNREAD } @@ -105,23 +102,23 @@ public class HeadlinesFragment extends StateSavedFragment { private final String TAG = this.getClass().getSimpleName(); - @State Feed m_feed; - @State Article m_activeArticle; - @State String m_searchQuery = ""; + Feed m_feed; + Article m_activeArticle; + String m_searchQuery = ""; private boolean m_refreshInProgress = false; - @State int m_firstId = 0; - @State boolean m_lazyLoadDisabled = false; + int m_firstId = 0; + boolean m_lazyLoadDisabled = false; private SharedPreferences m_prefs; private HeaderViewRecyclerAdapter m_adapter; - @State ArticleList m_articles = new ArticleList(); + ArticleList m_articles = new ArticleList(); private ArticleList m_readArticles = new ArticleList(); private HeadlinesEventListener m_listener; private OnlineActivity m_activity; private SwipeRefreshLayout m_swipeLayout; private int m_maxImageSize = 0; - @State boolean m_compactLayoutMode = false; + boolean m_compactLayoutMode = false; private RecyclerView m_list; private LinearLayoutManager m_layoutManager; @@ -159,68 +156,66 @@ public class HeadlinesFragment extends StateSavedFragment { if (article == null) return false; - switch (item.getItemId()) { - case R.id.set_labels: - m_activity.editArticleLabels(article); - return true; - case R.id.article_set_note: - m_activity.editArticleNote(article); - return true; - case R.id.headlines_article_unread: - article.unread = !article.unread; - m_activity.saveArticleUnread(article); - m_adapter.notifyItemChanged(position); - return true; - case R.id.headlines_article_link_copy: - m_activity.copyToClipboard(article.link); - return true; - case R.id.headlines_article_link_open: - m_activity.openUri(Uri.parse(article.link)); - - if (article.unread) { - article.unread = false; - m_activity.saveArticleUnread(article); - - m_adapter.notifyItemChanged(position); - } - return true; - case R.id.headlines_share_article: - m_activity.shareArticle(article); - return true; - case R.id.catchup_above: - if (true) { - - final Article fa = article; - - AlertDialog.Builder builder = new AlertDialog.Builder( - m_activity) - .setMessage(R.string.confirm_catchup_above) - .setPositiveButton(R.string.dialog_ok, - new Dialog.OnClickListener() { - public void onClick(DialogInterface dialog, - int which) { - - catchupAbove(fa); - - } - }) - .setNegativeButton(R.string.dialog_cancel, - new Dialog.OnClickListener() { - public void onClick(DialogInterface dialog, - int which) { - - } - }); - - AlertDialog dialog = builder.create(); - dialog.show(); - } - return true; - default: - Log.d(TAG, "onArticleMenuItemSelected, unhandled id=" + item.getItemId()); - return false; - } - } + int itemId = item.getItemId(); + if (itemId == R.id.set_labels) { + m_activity.editArticleLabels(article); + return true; + } else if (itemId == R.id.article_set_note) { + m_activity.editArticleNote(article); + return true; + } else if (itemId == R.id.headlines_article_unread) { + article.unread = !article.unread; + m_activity.saveArticleUnread(article); + m_adapter.notifyItemChanged(position); + return true; + } else if (itemId == R.id.headlines_article_link_copy) { + m_activity.copyToClipboard(article.link); + return true; + } else if (itemId == R.id.headlines_article_link_open) { + m_activity.openUri(Uri.parse(article.link)); + + if (article.unread) { + article.unread = false; + m_activity.saveArticleUnread(article); + + m_adapter.notifyItemChanged(position); + } + return true; + } else if (itemId == R.id.headlines_share_article) { + m_activity.shareArticle(article); + return true; + } else if (itemId == R.id.catchup_above) { + if (true) { + + final Article fa = article; + + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(getContext()) + .setMessage(R.string.confirm_catchup_above) + .setPositiveButton(R.string.dialog_ok, + new Dialog.OnClickListener() { + public void onClick(DialogInterface dialog, + int which) { + + catchupAbove(fa); + + } + }) + .setNegativeButton(R.string.dialog_cancel, + new Dialog.OnClickListener() { + public void onClick(DialogInterface dialog, + int which) { + + } + }); + + Dialog dialog = builder.create(); + dialog.show(); + } + return true; + } + Log.d(TAG, "onArticleMenuItemSelected, unhandled id=" + item.getItemId()); + return false; + } private void catchupAbove(Article article) { ArticleList articles = getAllArticles(); @@ -283,12 +278,49 @@ public class HeadlinesFragment extends StateSavedFragment { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + if (savedInstanceState != null) { + m_feed = savedInstanceState.getParcelable("m_feed"); + m_activeArticle = savedInstanceState.getParcelable("m_activeArticle"); + m_searchQuery = savedInstanceState.getString("m_searchQuery"); + m_firstId = savedInstanceState.getInt("m_firstId"); + m_lazyLoadDisabled = savedInstanceState.getBoolean("m_lazyLoadDisabled"); + + /*ArrayList<Article> list = savedInstanceState.getParcelableArrayList("m_articles"); + + m_articles.clear(); // ? + m_articles.addAll(list);*/ + + ArticleList tmp = Application.getInstance().tmpArticleList; + + if (tmp != null) { + m_articles.clear(); + m_articles.addAll(Application.getInstance().tmpArticleList); + } + + savedInstanceState.getBoolean("m_compactLayoutMode", m_compactLayoutMode); + } + setRetainInstance(true); Glide.get(getContext()).clearMemory(); } @Override + public void onSaveInstanceState(Bundle out) { + super.onSaveInstanceState(out); + + out.putParcelable("m_feed", m_feed); + out.putParcelable("m_activeArticle", m_activeArticle); + out.putString("m_searchQuery", m_searchQuery); + out.putInt("m_firstId", m_firstId); + out.putBoolean("m_lazyLoadDisabled", m_lazyLoadDisabled); + //out.putParcelable("m_articles", m_articles); + out.putBoolean("m_compactLayoutMode", m_compactLayoutMode); + + Application.getInstance().tmpArticleList = m_articles; + } + + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (savedInstanceState != null) { @@ -325,7 +357,13 @@ public class HeadlinesFragment extends StateSavedFragment { m_layoutManager = new LinearLayoutManager(m_activity.getApplicationContext()); m_list.setLayoutManager(m_layoutManager); m_list.setItemAnimator(new DefaultItemAnimator()); - m_list.addItemDecoration(new DividerItemDecoration(m_list.getContext(), m_layoutManager.getOrientation())); + + if (m_compactLayoutMode) { + MaterialDividerItemDecoration materialDivider = new MaterialDividerItemDecoration(m_list.getContext(), m_layoutManager.getOrientation()); + materialDivider.setDividerInsetStart(dpToPx(80)); + + m_list.addItemDecoration(materialDivider); + } ArticleListAdapter adapter = new ArticleListAdapter(getActivity(), R.layout.headlines_row, m_articles); @@ -701,16 +739,16 @@ public class HeadlinesFragment extends StateSavedFragment { public TextView titleView; public TextView feedTitleView; - public ImageView markedView; - public ImageView scoreView; - public ImageView publishedView; + public MaterialButton markedView; + public MaterialButton scoreView; + public MaterialButton publishedView; public TextView excerptView; public ImageView flavorImageView; public ImageView flavorVideoKindView; public TextView authorView; public TextView dateView; public CheckBox selectionBoxView; - public ImageView menuButtonView; + public MaterialButton menuButtonView; public ViewGroup flavorImageHolder; public ProgressBar flavorImageLoadingBar; public View headlineFooter; @@ -719,7 +757,7 @@ public class HeadlinesFragment extends StateSavedFragment { public View headlineHeader; public View flavorImageOverflow; public TextureView flavorVideoView; - public ImageView attachmentsView; + public MaterialButton attachmentsView; //public int position; public boolean flavorImageEmbedded; public ProgressTarget<String, GlideDrawable> flavorProgressTarget; @@ -815,14 +853,12 @@ public class HeadlinesFragment extends StateSavedFragment { public static final int VIEW_COUNT = VIEW_AMR_FOOTER + 1; private final Integer[] origTitleColors = new Integer[VIEW_COUNT]; - private final int titleHighScoreUnreadColor; private ColorGenerator m_colorGenerator = ColorGenerator.DEFAULT; private TextDrawable.IBuilder m_drawableBuilder = TextDrawable.builder().round(); boolean flavorImageEnabled; private int m_minimumHeightToEmbed; - boolean m_youtubeInstalled; private int m_screenHeight; private int m_lastAddedPosition; @@ -859,19 +895,6 @@ public class HeadlinesFragment extends StateSavedFragment { flavorImageEnabled = "HL_DEFAULT".equals(headlineMode) || "HL_COMPACT".equals(headlineMode); m_cmgr = (ConnectivityManager) m_activity.getSystemService(Context.CONNECTIVITY_SERVICE); - - Theme theme = context.getTheme(); - TypedValue tv = new TypedValue(); - theme.resolveAttribute(R.attr.headlineTitleHighScoreUnreadTextColor, tv, true); - titleHighScoreUnreadColor = tv.data; - - List<ApplicationInfo> packages = m_activity.getPackageManager().getInstalledApplications(0); - for (ApplicationInfo pi : packages) { - if (pi.packageName.equals("com.google.android.youtube")) { - m_youtubeInstalled = true; - break; - } - } } @Override @@ -887,13 +910,13 @@ public class HeadlinesFragment extends StateSavedFragment { layoutId = R.layout.headlines_row_loadmore; break; case VIEW_UNREAD: - layoutId = m_compactLayoutMode ? R.layout.headlines_row_unread_compact : R.layout.headlines_row_unread; + layoutId = m_compactLayoutMode ? R.layout.headlines_row_compact_unread : R.layout.headlines_row_unread; break; case VIEW_SELECTED: - layoutId = m_compactLayoutMode ? R.layout.headlines_row_selected_compact : R.layout.headlines_row; + layoutId = m_compactLayoutMode ? R.layout.headlines_row_compact_selected : R.layout.headlines_row; break; case VIEW_SELECTED_UNREAD: - layoutId = m_compactLayoutMode ? R.layout.headlines_row_selected_unread_compact : R.layout.headlines_row_unread; + layoutId = m_compactLayoutMode ? R.layout.headlines_row_compact_selected_unread : R.layout.headlines_row_unread; break; } @@ -908,7 +931,7 @@ public class HeadlinesFragment extends StateSavedFragment { public void onBindViewHolder(final ArticleViewHolder holder, int position) { holder.article = items.get(position); - int headlineFontSize = Integer.parseInt(m_prefs.getString("headlines_font_size_sp", "13")); + int headlineFontSize = m_prefs.getInt("headlines_font_size_sp_int", 13); int headlineSmallFontSize = Math.max(10, Math.min(18, headlineFontSize - 2)); final Article article = holder.article; @@ -1007,19 +1030,23 @@ public class HeadlinesFragment extends StateSavedFragment { } - TypedValue tvAccent = new TypedValue(); - m_activity.getTheme().resolveAttribute(R.attr.colorAccent, tvAccent, true); + TypedValue tvTertiary = new TypedValue(); + m_activity.getTheme().resolveAttribute(R.attr.colorTertiary, tvTertiary, true); + + TypedValue tvPrimary = new TypedValue(); + m_activity.getTheme().resolveAttribute(R.attr.colorPrimary, tvPrimary, true); if (holder.markedView != null) { TypedValue tv = new TypedValue(); m_activity.getTheme().resolveAttribute(article.marked ? R.attr.ic_star : R.attr.ic_star_outline, tv, true); - holder.markedView.setImageResource(tv.resourceId); + holder.markedView.setIconResource(tv.resourceId); + if (article.marked) - holder.markedView.setColorFilter(tvAccent.data); + holder.markedView.setIconTint(ColorStateList.valueOf(tvTertiary.data)); else - holder.markedView.setColorFilter(null); + holder.markedView.setIconTint(ColorStateList.valueOf(tvPrimary.data)); holder.markedView.setOnClickListener(new OnClickListener() { @@ -1045,12 +1072,12 @@ public class HeadlinesFragment extends StateSavedFragment { m_activity.getTheme().resolveAttribute(scoreAttr, tv, true); - holder.scoreView.setImageResource(tv.resourceId); + holder.scoreView.setIconResource(tv.resourceId); if (article.score > Article.SCORE_HIGH) - holder.scoreView.setColorFilter(titleHighScoreUnreadColor); + holder.scoreView.setIconTint(ColorStateList.valueOf(tvTertiary.data)); else - holder.scoreView.setColorFilter(null); + holder.scoreView.setIconTint(ColorStateList.valueOf(tvPrimary.data)); if (m_activity.getApiLevel() >= 16) { holder.scoreView.setOnClickListener(new OnClickListener() { @@ -1059,7 +1086,7 @@ public class HeadlinesFragment extends StateSavedFragment { final EditText edit = new EditText(getActivity()); edit.setText(String.valueOf(article.score)); - AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()) + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(getContext()) .setTitle(R.string.score_for_this_article) .setPositiveButton(R.string.set_score, new DialogInterface.OnClickListener() { @@ -1103,14 +1130,14 @@ public class HeadlinesFragment extends StateSavedFragment { if (holder.publishedView != null) { TypedValue tv = new TypedValue(); - m_activity.getTheme().resolveAttribute(article.published ? R.attr.ic_checkbox_marked : R.attr.ic_rss_box, tv, true); + m_activity.getTheme().resolveAttribute(R.attr.ic_rss_box, tv, true); - holder.publishedView.setImageResource(tv.resourceId); + holder.publishedView.setIconResource(tv.resourceId); if (article.published) - holder.publishedView.setColorFilter(tvAccent.data); + holder.publishedView.setIconTint(ColorStateList.valueOf(tvTertiary.data)); else - holder.publishedView.setColorFilter(null); + holder.publishedView.setIconTint(ColorStateList.valueOf(tvPrimary.data)); holder.publishedView.setOnClickListener(new OnClickListener() { @@ -1182,7 +1209,6 @@ public class HeadlinesFragment extends StateSavedFragment { holder.flavorVideoKindView.setVisibility(View.GONE); holder.flavorImageOverflow.setVisibility(View.GONE); holder.flavorVideoView.setVisibility(View.GONE); - holder.headlineHeader.setBackgroundDrawable(null); Glide.clear(holder.flavorImageView); @@ -1224,26 +1250,25 @@ public class HeadlinesFragment extends StateSavedFragment { Uri mediaUri = Uri.parse(article.flavorStreamUri != null ? article.flavorStreamUri : article.flavorImageUri); - switch (item.getItemId()) { - case R.id.article_img_open: - m_activity.openUri(mediaUri); - return true; - case R.id.article_img_copy: - m_activity.copyToClipboard(mediaUri.toString()); - return true; - case R.id.article_img_share: - m_activity.shareImageFromUri(mediaUri.toString()); - return true; - case R.id.article_img_share_url: - m_activity.shareText(mediaUri.toString()); - return true; - case R.id.article_img_view_caption: - m_activity.displayImageCaption(article.flavorImageUri, article.content); - return true; - default: - return false; - } - } + int itemId = item.getItemId(); + if (itemId == R.id.article_img_open) { + m_activity.openUri(mediaUri); + return true; + } else if (itemId == R.id.article_img_copy) { + m_activity.copyToClipboard(mediaUri.toString()); + return true; + } else if (itemId == R.id.article_img_share) { + m_activity.shareImageFromUri(mediaUri.toString()); + return true; + } else if (itemId == R.id.article_img_share_url) { + m_activity.shareText(mediaUri.toString()); + return true; + } else if (itemId == R.id.article_img_view_caption) { + m_activity.displayImageCaption(article.flavorImageUri, article.content); + return true; + } + return false; + } }); popup.show(); @@ -1263,24 +1288,15 @@ public class HeadlinesFragment extends StateSavedFragment { //Log.d(TAG, "TAG:" + holder.flavorImageOverflow.getTag()); holder.flavorImageView.setVisibility(View.VISIBLE); + holder.flavorImageView.setMaxHeight((int)(m_screenHeight * 0.6f)); - holder.flavorImageView.setMaxHeight((int)(m_screenHeight * 0.8f)); - holder.flavorProgressTarget.setModel(article.flavorImageUri); - + // prevent lower listiew entries from jumping around if this row is modified if (article.flavorViewHeight > 0) { - RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) holder.flavorImageView.getLayoutParams(); + FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) holder.flavorImageView.getLayoutParams(); lp.height = article.flavorViewHeight; - holder.flavorImageView.setLayoutParams(lp); } - - /* TODO: maybe an option? force height for all images to reduce list jumping around - - RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) holder.flavorImageView.getLayoutParams(); - lp.height = (int)(m_screenHeight * 0.5f); - lp.addRule(RelativeLayout.BELOW, R.id.headline_header); - holder.flavorImageView.setLayoutParams(lp); - */ + holder.flavorProgressTarget.setModel(article.flavorImageUri); try { @@ -1306,16 +1322,9 @@ public class HeadlinesFragment extends StateSavedFragment { if (resource.getIntrinsicWidth() > FLAVOR_IMG_MIN_SIZE && resource.getIntrinsicHeight() > FLAVOR_IMG_MIN_SIZE) { - //holder.flavorImageView.setVisibility(View.VISIBLE); + holder.flavorImageView.setVisibility(View.VISIBLE); holder.flavorImageOverflow.setVisibility(View.VISIBLE); - boolean forceDown = !m_activity.isSmallScreen() || article.flavorImage != null && "video".equals(article.flavorImage.tagName().toLowerCase()); - - RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) holder.flavorImageView.getLayoutParams(); - lp.height = RelativeLayout.LayoutParams.WRAP_CONTENT; - holder.flavorImageView.setLayoutParams(lp); - - maybeRepositionFlavorImage(holder.flavorImageView, resource, holder, forceDown); adjustVideoKindView(holder, article); return false; @@ -1607,20 +1616,7 @@ public class HeadlinesFragment extends StateSavedFragment { //Log.d(TAG, "openGalleryForType: " + article + " " + holder + " " + transitionView); if ("iframe".equals(article.flavorImage.tagName().toLowerCase())) { - - if (m_youtubeInstalled) { - Intent intent = new Intent(m_activity, YoutubePlayerActivity.class); - intent.putExtra("streamUri", article.flavorStreamUri); - intent.putExtra("vid", article.youtubeVid); - intent.putExtra("title", article.title); - - startActivity(intent); - m_activity.overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left); - - } else { - m_activity.openUri(Uri.parse(article.flavorStreamUri)); - } - + m_activity.openUri(Uri.parse(article.flavorStreamUri)); } else { Intent intent = new Intent(m_activity, GalleryActivity.class); @@ -1664,13 +1660,10 @@ public class HeadlinesFragment extends StateSavedFragment { private void adjustVideoKindView(ArticleViewHolder holder, Article article) { if (article.flavorImage != null) { if (article.flavor_kind == Article.FLAVOR_KIND_YOUTUBE || "iframe".equals(article.flavorImage.tagName().toLowerCase())) { - holder.flavorVideoKindView.setImageResource(R.drawable.ic_youtube_play); + holder.flavorVideoKindView.setImageResource(R.drawable.baseline_play_circle_outline_24); holder.flavorVideoKindView.setVisibility(View.VISIBLE); } else if (article.flavor_kind == Article.FLAVOR_KIND_VIDEO || "video".equals(article.flavorImage.tagName().toLowerCase())) { - holder.flavorVideoKindView.setImageResource(R.drawable.ic_play_circle); - holder.flavorVideoKindView.setVisibility(View.VISIBLE); - } else if (article.flavor_kind == Article.FLAVOR_KIND_ALBUM ||article.mediaList.size() > 1) { - holder.flavorVideoKindView.setImageResource(R.drawable.ic_image_album); + holder.flavorVideoKindView.setImageResource(R.drawable.baseline_play_circle_24); holder.flavorVideoKindView.setVisibility(View.VISIBLE); } else { holder.flavorVideoKindView.setVisibility(View.INVISIBLE); @@ -1680,48 +1673,6 @@ public class HeadlinesFragment extends StateSavedFragment { } } - public int pxToDp(int px) { - DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics(); - int dp = Math.round(px / (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT)); - return dp; - } - - public int dpToPx(int dp) { - DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics(); - int px = Math.round(dp * (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT)); - return px; - } - - private void maybeRepositionFlavorImage(View view, GlideDrawable resource, ArticleViewHolder holder, boolean forceDown) { - RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) view.getLayoutParams(); - - int w = resource.getIntrinsicWidth(); - int h = resource.getIntrinsicHeight(); - float r = h != 0 ? (float)w/h : 0; - - //Log.d(TAG, "XYR: " + pxToDp(w) + " " + pxToDp(h) + " " + r); - - if (forceDown || h < m_minimumHeightToEmbed || r >= 1) { - - lp.addRule(RelativeLayout.BELOW, R.id.headline_header); - - holder.headlineHeader.setBackgroundDrawable(null); - holder.flavorImageEmbedded = false; - - } else { - lp.addRule(RelativeLayout.BELOW, 0); - - TypedValue tv = new TypedValue(); - if (m_activity.getTheme().resolveAttribute(R.attr.headlineHeaderBackground, tv, true)) { - holder.headlineHeader.setBackgroundColor(tv.data); - } - - holder.flavorImageEmbedded = true; - } - - view.setLayoutParams(lp); - } - private void adjustTitleTextView(int score, TextView tv, int position) { int viewType = getItemViewType(position); if (origTitleColors[viewType] == null) @@ -1730,9 +1681,6 @@ public class HeadlinesFragment extends StateSavedFragment { if (score < Article.SCORE_LOW) { tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); - } else if (score > Article.SCORE_HIGH) { - tv.setTextColor(titleHighScoreUnreadColor); - tv.setPaintFlags(tv.getPaintFlags() & ~Paint.STRIKE_THRU_TEXT_FLAG); } else { tv.setTextColor(origTitleColors[viewType].intValue()); tv.setPaintFlags(tv.getPaintFlags() & ~Paint.STRIKE_THRU_TEXT_FLAG); @@ -1874,7 +1822,19 @@ public class HeadlinesFragment extends StateSavedFragment { m_adapter.notifyDataSetChanged(); } - @Override + public int pxToDp(int px) { + DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics(); + int dp = Math.round(px / (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT)); + return dp; + } + + public int dpToPx(int dp) { + DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics(); + int px = Math.round(dp * (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT)); + return px; + } + + @Override public void onPause() { super.onPause(); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/LogcatActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/LogcatActivity.java index c9cbcbf9..60fad0ba 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/LogcatActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/LogcatActivity.java @@ -7,19 +7,18 @@ import android.view.MenuItem; import android.widget.ArrayAdapter; import android.widget.ListView; -import java.io.BufferedReader; -import java.io.InputStreamReader; -import java.util.ArrayList; - import androidx.appcompat.app.AppCompatDelegate; import androidx.appcompat.widget.Toolbar; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; -import icepick.State; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.util.ArrayList; public class LogcatActivity extends CommonActivity { private static final int MAX_LOG_ENTRIES = 500; private final String TAG = this.getClass().getSimpleName(); - @State protected ArrayList<String> m_items = new ArrayList<>(); + protected ArrayList<String> m_items = new ArrayList<>(); ArrayAdapter<String> m_adapter; ListView m_list; @@ -41,6 +40,8 @@ public class LogcatActivity extends CommonActivity { if (savedInstanceState == null) { refresh(); + } else { + m_items = savedInstanceState.getStringArrayList("m_items"); } m_adapter = new ArrayAdapter<>(this, R.layout.logcat_row, m_items); @@ -59,6 +60,13 @@ public class LogcatActivity extends CommonActivity { }); } + @Override + public void onSaveInstanceState(Bundle out) { + super.onSaveInstanceState(out); + + out.putStringArrayList("m_items", m_items); + } + private void refresh() { m_items.clear(); @@ -92,19 +100,17 @@ public class LogcatActivity extends CommonActivity { public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); - switch (id) { - case android.R.id.home: - onBackPressed(); - return true; - case R.id.logcat_copy: - shareLogcat(); - return true; - case R.id.logcat_refresh: - refresh(); - return true; - default: - return super.onOptionsItemSelected(item); + if (id == android.R.id.home) { + onBackPressed(); + return true; + } else if (id == R.id.logcat_copy) { + shareLogcat(); + return true; + } else if (id == R.id.logcat_refresh) { + refresh(); + return true; } + return super.onOptionsItemSelected(item); } private void shareLogcat() { diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java index 50a0e7f2..9d9d0901 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java @@ -2,7 +2,6 @@ package org.fox.ttrss; import android.annotation.SuppressLint; -import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.content.Intent; @@ -17,11 +16,15 @@ import android.view.View; import androidx.appcompat.app.ActionBarDrawerToggle; import androidx.appcompat.widget.Toolbar; +import androidx.core.graphics.Insets; import androidx.core.view.GravityCompat; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; import androidx.drawerlayout.widget.DrawerLayout; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentTransaction; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.gson.JsonElement; @@ -34,8 +37,6 @@ import java.util.Date; import java.util.HashMap; import java.util.LinkedHashMap; -import icepick.State; - public class MasterActivity extends OnlineActivity implements HeadlinesEventListener { private final String TAG = this.getClass().getSimpleName(); @@ -45,8 +46,8 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList protected long m_lastRefresh = 0; protected long m_lastWidgetRefresh = 0; - @State protected boolean m_feedIsSelected = false; - @State protected boolean m_userFeedSelected = false; + protected boolean m_feedIsSelected = false; + protected boolean m_userFeedSelected = false; private ActionBarDrawerToggle m_drawerToggle; private DrawerLayout m_drawerLayout; @@ -69,6 +70,8 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList setSmallScreen(findViewById(R.id.sw600dp_anchor) == null); + applyEdgeToEdgeInsets(); + Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); @@ -196,6 +199,9 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList } else { // savedInstanceState != null + m_feedIsSelected = savedInstanceState.getBoolean("m_feedIsSelected"); + m_userFeedSelected = savedInstanceState.getBoolean("m_userFeedSelected"); + if (m_drawerLayout != null && !m_feedIsSelected) { m_drawerLayout.openDrawer(GravityCompat.START); } @@ -219,7 +225,32 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList } } - protected void onPostCreate(Bundle savedInstanceState) { + private void applyEdgeToEdgeInsets() { + // https://stackoverflow.com/questions/79018063/trying-to-understand-edge-to-edge-in-android + // https://developer.android.com/develop/ui/views/layout/edge-to-edge + + View coordinatorView = findViewById(R.id.headlines_coordinator); + + if (coordinatorView != null) { + ViewCompat.setOnApplyWindowInsetsListener(coordinatorView, (v, windowInsets) -> { + Insets insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(0, insets.top, 0, insets.bottom); + return windowInsets; + }); + } + + View navigationView = findViewById(R.id.modal_navigation_view); + + if (navigationView != null) { + ViewCompat.setOnApplyWindowInsetsListener(navigationView, (v, windowInsets) -> { + Insets insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(0, insets.top, 0, insets.bottom); + return windowInsets; + }); + } + } + + protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); // Sync the toggle state after onRestoreInstanceState has occurred. if (m_drawerToggle != null) m_drawerToggle.syncState(); @@ -331,44 +362,43 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList return true; } - switch (item.getItemId()) { - case R.id.headlines_toggle_sort_order: + if (item.getItemId() == R.id.headlines_toggle_sort_order) { LinkedHashMap<String, String> sortModes = getSortModes(); - CharSequence[] sortTitles = sortModes.values().toArray(new CharSequence[0]); - final CharSequence[] sortNames = sortModes.keySet().toArray(new CharSequence[0]); + CharSequence[] sortTitles = sortModes.values().toArray(new CharSequence[0]); + final CharSequence[] sortNames = sortModes.keySet().toArray(new CharSequence[0]); - String currentMode = getSortMode(); + String currentMode = getSortMode(); - int i = 0; - int selectedIndex = 0; + int i = 0; + int selectedIndex = 0; - for (CharSequence tmp : sortNames) { - if (tmp.equals(currentMode)) { - selectedIndex = i; - break; - } + for (CharSequence tmp : sortNames) { + if (tmp.equals(currentMode)) { + selectedIndex = i; + break; + } - ++i; - } + ++i; + } - AlertDialog.Builder builder = new AlertDialog.Builder(this) + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) .setTitle(getString(R.string.headlines_sort_articles_title)) .setSingleChoiceItems( - sortTitles, + sortTitles, selectedIndex, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - try { + try { // Log.d(TAG, "sort selected index:" + which + ": " + sortNames[which]); - setSortMode((String)sortNames[which]); + setSortMode((String) sortNames[which]); - } catch (IndexOutOfBoundsException e) { - e.printStackTrace(); - } + } catch (IndexOutOfBoundsException e) { + e.printStackTrace(); + } dialog.cancel(); @@ -380,11 +410,10 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList dialog.show(); return true; - default: - Log.d(TAG, "onOptionsItemSelected, unhandled id=" + item.getItemId()); - return super.onOptionsItemSelected(item); - } - } + } + Log.d(TAG, "onOptionsItemSelected, unhandled id=" + item.getItemId()); + return super.onOptionsItemSelected(item); + } @Override public void onBackPressed() { @@ -413,6 +442,9 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList public void onSaveInstanceState(Bundle out) { super.onSaveInstanceState(out); + out.putBoolean("m_feedIsSelected", m_feedIsSelected); + out.putBoolean("m_userFeedSelected", m_userFeedSelected); + Application.getInstance().save(out); } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/NetworkPreferencesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/NetworkPreferencesFragment.java index 8e0e6519..b279f307 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/NetworkPreferencesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/NetworkPreferencesFragment.java @@ -1,15 +1,14 @@ package org.fox.ttrss; import android.os.Bundle; -import android.preference.PreferenceFragment; -public class NetworkPreferencesFragment extends PreferenceFragment { +import androidx.annotation.Nullable; +import androidx.preference.PreferenceFragmentCompat; - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); +public class NetworkPreferencesFragment extends PreferenceFragmentCompat { - // Load the preferences from an XML resource - addPreferencesFromResource(R.xml.preferences_network); + @Override + public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable String rootKey) { + setPreferencesFromResource(R.xml.preferences_network, rootKey); } }
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java index 2350187e..3af78ddf 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java @@ -31,8 +31,7 @@ import android.widget.TextView; import androidx.appcompat.view.ActionMode; import androidx.appcompat.widget.Toolbar; -import com.github.javiersantos.appupdater.AppUpdater; -import com.github.javiersantos.appupdater.enums.UpdateFrom; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; @@ -91,7 +90,7 @@ public class OnlineActivity extends CommonActivity { int titleStringId = searchQuery.length() > 0 ? R.string.catchup_dialog_title_search : R.string.catchup_dialog_title; - AlertDialog.Builder builder = new AlertDialog.Builder(this) + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) .setTitle(getString(titleStringId, feed.title)) .setSingleChoiceItems( new String[] { @@ -135,8 +134,7 @@ public class OnlineActivity extends CommonActivity { dialog.show(); } else { - AlertDialog.Builder builder = new AlertDialog.Builder( - this) + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) .setMessage(getString(R.string.catchup_dialog_title, feed.title)) .setPositiveButton(R.string.catchup, new Dialog.OnClickListener() { @@ -155,7 +153,7 @@ public class OnlineActivity extends CommonActivity { } }); - AlertDialog dialog = builder.create(); + Dialog dialog = builder.create(); dialog.show(); } } @@ -271,23 +269,12 @@ public class OnlineActivity extends CommonActivity { if (isOffline) { switchOfflineSuccess(); } else { - checkUpdates(); - m_headlinesActionModeCallback = new HeadlinesActionModeCallback(); } } - protected void checkUpdates() { - if (m_prefs.getBoolean("check_for_updates", true) && (BuildConfig.DEBUG || BuildConfig.ENABLE_UPDATER)) { - new AppUpdater(this) - .setUpdateFrom(UpdateFrom.JSON) - .setUpdateJSON(String.format("https://srv.tt-rss.org/fdroid/updates/%1$s.json", this.getPackageName())) - .start(); - } - } - protected void switchOffline() { - AlertDialog.Builder builder = new AlertDialog.Builder(this) + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) .setMessage(R.string.dialog_offline_switch_prompt) .setPositiveButton(R.string.dialog_offline_go, new Dialog.OnClickListener() { @@ -314,7 +301,7 @@ public class OnlineActivity extends CommonActivity { } }); - AlertDialog dlg = builder.create(); + Dialog dlg = builder.create(); dlg.show(); } @@ -380,8 +367,8 @@ public class OnlineActivity extends CommonActivity { setLoadingStatus(R.string.login_need_configure); - AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setMessage(R.string.dialog_need_configure_prompt) + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) + .setMessage(R.string.dialog_need_configure_prompt) .setCancelable(false) .setPositiveButton(R.string.dialog_open_preferences, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { @@ -397,7 +384,8 @@ public class OnlineActivity extends CommonActivity { dialog.cancel(); } }); - AlertDialog alert = builder.create(); + + Dialog alert = builder.create(); alert.show(); } else { @@ -439,53 +427,52 @@ public class OnlineActivity extends CommonActivity { .getMenuInfo(); */ final ArticlePager ap = (ArticlePager)getSupportFragmentManager().findFragmentByTag(FRAG_ARTICLE); - - switch (item.getItemId()) { - case R.id.article_img_open: - if (getLastContentImageHitTestUrl() != null) { - try { - openUri(Uri.parse(getLastContentImageHitTestUrl())); - } catch (Exception e) { - e.printStackTrace(); - toast(R.string.error_other_error); - } - } - return true; - case R.id.article_img_copy: - if (getLastContentImageHitTestUrl() != null) { - copyToClipboard(getLastContentImageHitTestUrl()); - } - return true; - case R.id.article_img_share: - if (getLastContentImageHitTestUrl() != null) { - shareImageFromUri(getLastContentImageHitTestUrl()); - } - return true; - case R.id.article_img_share_url: - if (getLastContentImageHitTestUrl() != null) { - shareText(getLastContentImageHitTestUrl()); - } - return true; - case R.id.article_img_view_caption: - if (getLastContentImageHitTestUrl() != null) { - displayImageCaption(getLastContentImageHitTestUrl(), ap.getSelectedArticle().content); + + int itemId = item.getItemId(); + if (itemId == R.id.article_img_open) { + if (getLastContentImageHitTestUrl() != null) { + try { + openUri(Uri.parse(getLastContentImageHitTestUrl())); + } catch (Exception e) { + e.printStackTrace(); + toast(R.string.error_other_error); + } } return true; - case R.id.article_link_share: - if (ap != null && ap.getSelectedArticle() != null) { - shareArticle(ap.getSelectedArticle()); - } - return true; - case R.id.article_link_copy: - if (ap != null && ap.getSelectedArticle() != null) { - copyToClipboard(ap.getSelectedArticle().link); - } - return true; - default: - Log.d(TAG, "onContextItemSelected, unhandled id=" + item.getItemId()); - return super.onContextItemSelected(item); - } - } + } else if (itemId == R.id.article_img_copy) { + if (getLastContentImageHitTestUrl() != null) { + copyToClipboard(getLastContentImageHitTestUrl()); + } + return true; + } else if (itemId == R.id.article_img_share) { + if (getLastContentImageHitTestUrl() != null) { + shareImageFromUri(getLastContentImageHitTestUrl()); + } + return true; + } else if (itemId == R.id.article_img_share_url) { + if (getLastContentImageHitTestUrl() != null) { + shareText(getLastContentImageHitTestUrl()); + } + return true; + } else if (itemId == R.id.article_img_view_caption) { + if (getLastContentImageHitTestUrl() != null) { + displayImageCaption(getLastContentImageHitTestUrl(), ap.getSelectedArticle().content); + } + return true; + } else if (itemId == R.id.article_link_share) { + if (ap != null && ap.getSelectedArticle() != null) { + shareArticle(ap.getSelectedArticle()); + } + return true; + } else if (itemId == R.id.article_link_copy) { + if (ap != null && ap.getSelectedArticle() != null) { + copyToClipboard(ap.getSelectedArticle().link); + } + return true; + } + Log.d(TAG, "onContextItemSelected, unhandled id=" + item.getItemId()); + return super.onContextItemSelected(item); + } public void displayAttachments(Article article) { if (article != null && article.attachments != null && article.attachments.size() > 0) { @@ -499,8 +486,7 @@ public class OnlineActivity extends CommonActivity { itemUrls[i] = article.attachments.get(i).content_url; } - Dialog dialog = new Dialog(OnlineActivity.this); - AlertDialog.Builder builder = new AlertDialog.Builder(OnlineActivity.this) + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) .setTitle(R.string.attachments_prompt) .setCancelable(true) .setSingleChoiceItems(items, 0, new OnClickListener() { @@ -533,7 +519,7 @@ public class OnlineActivity extends CommonActivity { } }); - dialog = builder.create(); + Dialog dialog = builder.create(); dialog.show(); } } @@ -543,247 +529,249 @@ public class OnlineActivity extends CommonActivity { final HeadlinesFragment hf = (HeadlinesFragment) getSupportFragmentManager().findFragmentByTag(FRAG_HEADLINES); final ArticlePager ap = (ArticlePager)getSupportFragmentManager().findFragmentByTag(FRAG_ARTICLE); - switch (item.getItemId()) { - case R.id.subscribe_to_feed: + int itemId = item.getItemId(); + if (itemId == R.id.subscribe_to_feed) { Intent subscribe = new Intent(OnlineActivity.this, SubscribeActivity.class); startActivityForResult(subscribe, 0); return true; - /*case R.id.toggle_attachments: - if (true) { - Article article = ap.getSelectedArticle(); + } else if (itemId == R.id.toggle_attachments) { + Article article = ap.getSelectedArticle(); - if (article != null) { - displayAttachments(article); - } + if (article != null) { + displayAttachments(article); } - return true; */ + return true; /*case R.id.logout: logout(); return true;*/ - case R.id.login: - login(); - return true; + } else if (itemId == R.id.login) { + login(); + return true; /*case R.id.go_offline: switchOffline(); return true;*/ - case R.id.article_set_note: - if (ap != null && ap.getSelectedArticle() != null) { - editArticleNote(ap.getSelectedArticle()); - } - return true; - case R.id.preferences: - Intent intent = new Intent(OnlineActivity.this, - PreferencesActivity.class); - startActivityForResult(intent, 0); - return true; - case R.id.search: - if (hf != null) { - Dialog dialog = new Dialog(this); + } else if (itemId == R.id.article_set_note) { + if (ap != null && ap.getSelectedArticle() != null) { + editArticleNote(ap.getSelectedArticle()); + } + return true; + } else if (itemId == R.id.preferences) { + Intent intent = new Intent(OnlineActivity.this, + PreferencesActivity.class); + startActivityForResult(intent, 0); + return true; + } else if (itemId == R.id.search) { + if (hf != null) { + Dialog dialog = new Dialog(this); - final EditText edit = new EditText(this); + final EditText edit = new EditText(this); - AlertDialog.Builder builder = new AlertDialog.Builder(this) - .setTitle(R.string.search) - .setPositiveButton(getString(R.string.search), - new OnClickListener() { + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) + .setTitle(R.string.search) + .setPositiveButton(getString(R.string.search), + new OnClickListener() { - @Override - public void onClick(DialogInterface dialog, - int which) { - - String query = edit.getText().toString().trim(); - - hf.setSearchQuery(query); + @Override + public void onClick(DialogInterface dialog, + int which) { - } - }) - .setNegativeButton(getString(R.string.cancel), - new OnClickListener() { + String query = edit.getText().toString().trim(); - @Override - public void onClick(DialogInterface dialog, - int which) { - - // + hf.setSearchQuery(query); - } - }).setView(edit); - - dialog = builder.create(); - dialog.show(); - } - return true; - case R.id.headlines_mark_as_read: - if (hf != null) { + } + }) + .setNegativeButton(getString(R.string.cancel), + new OnClickListener() { - Feed feed = hf.getFeed(); + @Override + public void onClick(DialogInterface dialog, + int which) { - if (feed != null) { - catchupDialog(hf.getFeed()); - } - } - return true; - case R.id.headlines_display_mode: - if (hf != null) { - Dialog dialog = new Dialog(this); + // - String headlineMode = m_prefs.getString("headline_mode", "HL_DEFAULT"); - String[] headlineModeNames = getResources().getStringArray(R.array.headline_mode_names); - final String[] headlineModeValues = getResources().getStringArray(R.array.headline_mode_values); + } + }).setView(edit); - int selectedIndex = Arrays.asList(headlineModeValues).indexOf(headlineMode); + dialog = builder.create(); + dialog.show(); + } + return true; + } else if (itemId == R.id.headlines_mark_as_read) { + if (hf != null) { - AlertDialog.Builder builder = new AlertDialog.Builder(this) - .setTitle(R.string.headlines_set_view_mode) - .setSingleChoiceItems(headlineModeNames, - selectedIndex, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, - int which) { - dialog.cancel(); + Feed feed = hf.getFeed(); - SharedPreferences.Editor editor = m_prefs.edit(); - editor.putString("headline_mode", headlineModeValues[which]); - editor.apply(); + if (feed != null) { + catchupDialog(hf.getFeed()); + } + } + return true; + } else if (itemId == R.id.headlines_display_mode) { + if (hf != null) { + Dialog dialog = new Dialog(this); - Intent intent = getIntent(); + String headlineMode = m_prefs.getString("headline_mode", "HL_DEFAULT"); + String[] headlineModeNames = getResources().getStringArray(R.array.headline_mode_names); + final String[] headlineModeValues = getResources().getStringArray(R.array.headline_mode_values); - Feed feed = hf.getFeed(); + int selectedIndex = Arrays.asList(headlineModeValues).indexOf(headlineMode); - if (feed != null) { - intent.putExtra("feed_id", feed.id); - intent.putExtra("feed_is_cat", feed.is_cat); - intent.putExtra("feed_title", feed.title); - } + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) + .setTitle(R.string.headlines_set_view_mode) + .setSingleChoiceItems(headlineModeNames, + selectedIndex, new OnClickListener() { + @Override + public void onClick(DialogInterface dialog, + int which) { + dialog.cancel(); - finish(); + SharedPreferences.Editor editor = m_prefs.edit(); + editor.putString("headline_mode", headlineModeValues[which]); + editor.apply(); - startActivity(intent); - overridePendingTransition(0, 0); - } - }); + Intent intent = getIntent(); - dialog = builder.create(); - dialog.show(); + Feed feed = hf.getFeed(); - } - return true; - case R.id.headlines_view_mode: - if (hf != null) { - Dialog dialog = new Dialog(this); - - String viewMode = getViewMode(); - - //Log.d(TAG, "viewMode:" + getViewMode()); - - int selectedIndex = 0; - - if (viewMode.equals("all_articles")) { - selectedIndex = 1; - } else if (viewMode.equals("marked")) { - selectedIndex = 2; - } else if (viewMode.equals("published")) { - selectedIndex = 3; - } else if (viewMode.equals("unread")) { - selectedIndex = 4; - } - - AlertDialog.Builder builder = new AlertDialog.Builder(this) - .setTitle(R.string.headlines_set_view_mode) - .setSingleChoiceItems( - new String[] { - getString(R.string.headlines_adaptive), - getString(R.string.headlines_all_articles), - getString(R.string.headlines_starred), - getString(R.string.headlines_published), - getString(R.string.headlines_unread) }, - selectedIndex, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, - int which) { - switch (which) { - case 0: - setViewMode("adaptive"); - break; - case 1: - setViewMode("all_articles"); - break; - case 2: - setViewMode("marked"); - break; - case 3: - setViewMode("published"); - break; - case 4: - setViewMode("unread"); - break; - } - dialog.cancel(); + if (feed != null) { + intent.putExtra("feed_id", feed.id); + intent.putExtra("feed_is_cat", feed.is_cat); + intent.putExtra("feed_title", feed.title); + } - refresh(); - } - }); + finish(); - dialog = builder.create(); - dialog.show(); + startActivity(intent); + overridePendingTransition(0, 0); + } + }); - } - return true; - case R.id.headlines_select: - if (hf != null) { - Dialog dialog = new Dialog(this); - AlertDialog.Builder builder = new AlertDialog.Builder(this) - .setTitle(R.string.headlines_select_dialog) - .setSingleChoiceItems( - new String[] { - getString(R.string.headlines_select_all), - getString(R.string.headlines_select_unread), - getString(R.string.headlines_select_none) }, - 0, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, - int which) { - switch (which) { - case 0: - hf.setSelection(HeadlinesFragment.ArticlesSelection.ALL); - break; - case 1: - hf.setSelection(HeadlinesFragment.ArticlesSelection.UNREAD); - break; - case 2: - hf.setSelection(HeadlinesFragment.ArticlesSelection.NONE); - break; - } - dialog.cancel(); - invalidateOptionsMenu(); - } - }); + dialog = builder.create(); + dialog.show(); - dialog = builder.create(); - dialog.show(); - } - return true; - /* case R.id.share_article: + } + return true; + } else if (itemId == R.id.headlines_view_mode) { + if (hf != null) { + Dialog dialog = new Dialog(this); + + String viewMode = getViewMode(); + + //Log.d(TAG, "viewMode:" + getViewMode()); + + int selectedIndex = 0; + + if (viewMode.equals("all_articles")) { + selectedIndex = 1; + } else if (viewMode.equals("marked")) { + selectedIndex = 2; + } else if (viewMode.equals("published")) { + selectedIndex = 3; + } else if (viewMode.equals("unread")) { + selectedIndex = 4; + } + + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) + .setTitle(R.string.headlines_set_view_mode) + .setSingleChoiceItems( + new String[]{ + getString(R.string.headlines_adaptive), + getString(R.string.headlines_all_articles), + getString(R.string.headlines_starred), + getString(R.string.headlines_published), + getString(R.string.headlines_unread)}, + selectedIndex, new OnClickListener() { + @Override + public void onClick(DialogInterface dialog, + int which) { + switch (which) { + case 0: + setViewMode("adaptive"); + break; + case 1: + setViewMode("all_articles"); + break; + case 2: + setViewMode("marked"); + break; + case 3: + setViewMode("published"); + break; + case 4: + setViewMode("unread"); + break; + } + dialog.cancel(); + + refresh(); + } + }); + + dialog = builder.create(); + dialog.show(); + + } + return true; + } else if (itemId == R.id.headlines_select) { + if (hf != null) { + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) + .setTitle(R.string.headlines_select_dialog) + .setSingleChoiceItems( + new String[]{ + getString(R.string.headlines_select_all), + getString(R.string.headlines_select_unread), + getString(R.string.headlines_select_none)}, + 0, new OnClickListener() { + @Override + public void onClick(DialogInterface dialog, + int which) { + switch (which) { + case 0: + hf.setSelection(HeadlinesFragment.ArticlesSelection.ALL); + break; + case 1: + hf.setSelection(HeadlinesFragment.ArticlesSelection.UNREAD); + break; + case 2: + hf.setSelection(HeadlinesFragment.ArticlesSelection.NONE); + break; + } + dialog.cancel(); + invalidateOptionsMenu(); + } + }); + + Dialog dialog = builder.create(); + dialog.show(); + } + return true; + } else if (itemId == R.id.share_article) { if (ap != null) { shareArticle(ap.getSelectedArticle()); } - return true; */ - case R.id.toggle_marked: - if (ap != null && ap.getSelectedArticle() != null) { - Article a = ap.getSelectedArticle(); - a.marked = !a.marked; - saveArticleMarked(a); - if (hf != null) hf.notifyUpdated(); + return true; + } else if (itemId == R.id.article_set_score) { + if (ap != null) { + setArticleScore(ap.getSelectedArticle()); } return true; - case R.id.toggle_unread: - if (ap != null && ap.getSelectedArticle() != null) { - Article a = ap.getSelectedArticle(); - a.unread = !a.unread; - saveArticleUnread(a); - if (hf != null) hf.notifyUpdated(); - } - return true; + } else if (itemId == R.id.toggle_marked) { + if (ap != null && ap.getSelectedArticle() != null) { + Article a = ap.getSelectedArticle(); + a.marked = !a.marked; + saveArticleMarked(a); + if (hf != null) hf.notifyUpdated(); + } + return true; + } else if (itemId == R.id.toggle_unread) { + if (ap != null && ap.getSelectedArticle() != null) { + Article a = ap.getSelectedArticle(); + a.unread = !a.unread; + saveArticleUnread(a); + if (hf != null) hf.notifyUpdated(); + } + return true; /* case R.id.selection_select_none: if (hf != null) { ArticleList selected = hf.getSelectedArticles(); @@ -794,105 +782,103 @@ public class OnlineActivity extends CommonActivity { } } return true; */ - case R.id.selection_toggle_unread: - if (hf != null) { - ArticleList selected = hf.getSelectedArticles(); + } else if (itemId == R.id.selection_toggle_unread) { + if (hf != null) { + ArticleList selected = hf.getSelectedArticles(); - if (selected.size() > 0) { - for (Article a : selected) - a.unread = !a.unread; + if (selected.size() > 0) { + for (Article a : selected) + a.unread = !a.unread; - toggleArticlesUnread(selected); - hf.notifyUpdated(); - invalidateOptionsMenu(); - } - } - return true; - case R.id.selection_toggle_marked: - if (hf != null) { - ArticleList selected = hf.getSelectedArticles(); + toggleArticlesUnread(selected); + hf.notifyUpdated(); + invalidateOptionsMenu(); + } + } + return true; + } else if (itemId == R.id.selection_toggle_marked) { + if (hf != null) { + ArticleList selected = hf.getSelectedArticles(); - if (selected.size() > 0) { - for (Article a : selected) - a.marked = !a.marked; + if (selected.size() > 0) { + for (Article a : selected) + a.marked = !a.marked; - toggleArticlesMarked(selected); - hf.notifyUpdated(); - invalidateOptionsMenu(); - } - } - return true; - case R.id.selection_toggle_published: - if (hf != null) { - ArticleList selected = hf.getSelectedArticles(); + toggleArticlesMarked(selected); + hf.notifyUpdated(); + invalidateOptionsMenu(); + } + } + return true; + } else if (itemId == R.id.selection_toggle_published) { + if (hf != null) { + ArticleList selected = hf.getSelectedArticles(); - if (selected.size() > 0) { - for (Article a : selected) - a.published = !a.published; + if (selected.size() > 0) { + for (Article a : selected) + a.published = !a.published; - toggleArticlesPublished(selected); - hf.notifyUpdated(); - invalidateOptionsMenu(); - } - } - return true; - case R.id.toggle_published: - if (ap != null && ap.getSelectedArticle() != null) { - Article a = ap.getSelectedArticle(); - a.published = !a.published; - saveArticlePublished(a); - if (hf != null) hf.notifyUpdated(); - } - return true; - case R.id.catchup_above: - if (hf != null) { + toggleArticlesPublished(selected); + hf.notifyUpdated(); + invalidateOptionsMenu(); + } + } + return true; + } else if (itemId == R.id.toggle_published) { + if (ap != null && ap.getSelectedArticle() != null) { + Article a = ap.getSelectedArticle(); + a.published = !a.published; + saveArticlePublished(a); + if (hf != null) hf.notifyUpdated(); + } + return true; + } else if (itemId == R.id.catchup_above) { + if (hf != null) { - AlertDialog.Builder builder = new AlertDialog.Builder( - OnlineActivity.this) - .setMessage(R.string.confirm_catchup_above) - .setPositiveButton(R.string.dialog_ok, - new Dialog.OnClickListener() { - public void onClick(DialogInterface dialog, - int which) { + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) + .setMessage(R.string.confirm_catchup_above) + .setPositiveButton(R.string.dialog_ok, + new OnClickListener() { + public void onClick(DialogInterface dialog, + int which) { - catchupAbove(hf, ap); + catchupAbove(hf, ap); - } - }) - .setNegativeButton(R.string.dialog_cancel, - new Dialog.OnClickListener() { - public void onClick(DialogInterface dialog, - int which) { + } + }) + .setNegativeButton(R.string.dialog_cancel, + new OnClickListener() { + public void onClick(DialogInterface dialog, + int which) { - } - }); + } + }); - AlertDialog dialog = builder.create(); - dialog.show(); + Dialog dialog = builder.create(); + dialog.show(); - } - return true; - case R.id.set_labels: - if (ap != null && ap.getSelectedArticle() != null) { - if (getApiLevel() != 7) { - editArticleLabels(ap.getSelectedArticle()); - } else { - toast(R.string.server_function_not_available); - } - - } - return true; + } + return true; + } else if (itemId == R.id.set_labels) { + if (ap != null && ap.getSelectedArticle() != null) { + if (getApiLevel() != 7) { + editArticleLabels(ap.getSelectedArticle()); + } else { + toast(R.string.server_function_not_available); + } + + } + return true; /*case R.id.update_headlines: if (hf != null) { //m_pullToRefreshAttacher.setRefreshing(true); hf.refresh(false, true); } return true;*/ - default: - Log.d(TAG, "onOptionsItemSelected, unhandled id=" + item.getItemId()); - return super.onOptionsItemSelected(item); - } - } + } + Log.d(TAG, "onOptionsItemSelected, unhandled id=" + item.getItemId()); + return super.onOptionsItemSelected(item); + } private void catchupAbove(HeadlinesFragment hf, ArticlePager ap) { if (ap != null && ap.getSelectedArticle() != null) { @@ -952,9 +938,10 @@ public class OnlineActivity extends CommonActivity { public void editArticleNote(final Article article) { String note = ""; - - AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setTitle(article.title); + + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) + .setTitle(article.title); + final EditText topicEdit = new EditText(this); topicEdit.setText(note); builder.setView(topicEdit); @@ -980,7 +967,7 @@ public class OnlineActivity extends CommonActivity { } }); - AlertDialog dialog = builder.create(); + Dialog dialog = builder.create(); dialog.show(); } @@ -1003,9 +990,8 @@ public class OnlineActivity extends CommonActivity { itemIds[i] = labels.get(i).id; checkedItems[i] = labels.get(i).checked; } - - Dialog dialog = new Dialog(OnlineActivity.this); - AlertDialog.Builder builder = new AlertDialog.Builder(OnlineActivity.this) + + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(OnlineActivity.this) .setTitle(R.string.article_set_labels) .setMultiChoiceItems(items, checkedItems, new OnMultiChoiceClickListener() { @@ -1033,7 +1019,7 @@ public class OnlineActivity extends CommonActivity { } }); - dialog = builder.create(); + Dialog dialog = builder.create(); dialog.show(); } @@ -1075,8 +1061,7 @@ public class OnlineActivity extends CommonActivity { if (getDatabaseHelper().hasOfflineData()) { - AlertDialog.Builder builder = new AlertDialog.Builder( - OnlineActivity.this) + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) .setMessage(R.string.dialog_offline_prompt) .setPositiveButton(R.string.dialog_offline_go, new Dialog.OnClickListener() { @@ -1093,7 +1078,7 @@ public class OnlineActivity extends CommonActivity { } }); - AlertDialog dlg = builder.create(); + Dialog dlg = builder.create(); dlg.show(); } } @@ -1249,6 +1234,45 @@ public class OnlineActivity extends CommonActivity { } } + public void setArticleScore(Article article) { + final EditText edit = new EditText(this); + edit.setText(String.valueOf(article.score)); + + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) + .setTitle(R.string.score_for_this_article) + .setPositiveButton(R.string.set_score, + new DialogInterface.OnClickListener() { + + @Override + public void onClick(DialogInterface dialog, + int which) { + + try { + article.score = Integer.parseInt(edit.getText().toString()); + + saveArticleScore(article); + } catch (NumberFormatException e) { + toast(R.string.score_invalid); + e.printStackTrace(); + } + } + }) + .setNegativeButton(getString(R.string.cancel), + new DialogInterface.OnClickListener() { + + @Override + public void onClick(DialogInterface dialog, + int which) { + + // + + } + }).setView(edit); + + Dialog dialog = builder.create(); + dialog.show(); + } + @Override public boolean onKeyDown(int keyCode, KeyEvent event) { ArticlePager ap = (ArticlePager) getSupportFragmentManager().findFragmentByTag(FRAG_ARTICLE); @@ -1418,14 +1442,14 @@ public class OnlineActivity extends CommonActivity { Article article = ap.getSelectedArticle(); if (article != null) { - m_menu.findItem(R.id.toggle_marked).setIcon(article.marked ? R.drawable.ic_star : - R.drawable.ic_star_outline); + m_menu.findItem(R.id.toggle_marked).setIcon(article.marked ? R.drawable.baseline_star_24 : + R.drawable.baseline_star_outline_24); - m_menu.findItem(R.id.toggle_published).setIcon(article.published ? R.drawable.ic_checkbox_marked : - R.drawable.ic_rss_box); + m_menu.findItem(R.id.toggle_published).setIcon(article.published ? R.drawable.baseline_check_box_24 : + R.drawable.baseline_rss_feed_24); - m_menu.findItem(R.id.toggle_unread).setIcon(article.unread ? R.drawable.ic_email : - R.drawable.ic_email_open); + m_menu.findItem(R.id.toggle_unread).setIcon(article.unread ? R.drawable.baseline_mark_as_unread_24 : + R.drawable.baseline_email_24); } } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesActivity.java index af321a5a..9ac9f56c 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesActivity.java @@ -5,6 +5,7 @@ import android.preference.PreferenceManager; import android.view.MenuItem; import androidx.appcompat.widget.Toolbar; +import androidx.fragment.app.FragmentTransaction; public class PreferencesActivity extends CommonActivity { @Override @@ -24,10 +25,9 @@ public class PreferencesActivity extends CommonActivity { getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeButtonEnabled(true); - getSupportActionBar().hide(); if (savedInstanceState == null) { - android.app.FragmentTransaction ft = getFragmentManager().beginTransaction(); + FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.preferences_container, new PreferencesFragment()); ft.commit(); @@ -36,13 +36,11 @@ public class PreferencesActivity extends CommonActivity { @Override public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case android.R.id.home: - onBackPressed(); - return true; - default: - return super.onOptionsItemSelected(item); + if (item.getItemId() == android.R.id.home) { + onBackPressed(); + return true; } + return super.onOptionsItemSelected(item); } } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java index 65e0b556..af4c6b44 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java @@ -5,32 +5,31 @@ import android.content.SharedPreferences; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.Bundle; -import android.preference.Preference; -import android.preference.PreferenceFragment; -import android.preference.PreferenceManager; + +import androidx.activity.EdgeToEdge; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.preference.Preference; +import androidx.preference.PreferenceFragmentCompat; +import androidx.preference.PreferenceManager; import java.text.SimpleDateFormat; import java.util.Date; -public class PreferencesFragment extends PreferenceFragment { +public class PreferencesFragment extends PreferenceFragmentCompat { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - // Load the preferences from an XML resource - addPreferencesFromResource(R.xml.preferences); - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext()); - findPreference("check_for_updates").setEnabled(BuildConfig.DEBUG || BuildConfig.ENABLE_UPDATER); - findPreference("ttrss_url").setSummary(prefs.getString("ttrss_url", getString(R.string.ttrss_url_summary))); findPreference("login").setSummary(prefs.getString("login", getString(R.string.login_summary))); - findPreference("show_logcat").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { + findPreference("show_logcat").setOnPreferenceClickListener(new androidx.preference.Preference.OnPreferenceClickListener() { @Override - public boolean onPreferenceClick(Preference preference) { + public boolean onPreferenceClick(@NonNull androidx.preference.Preference preference) { Intent intent = new Intent(getActivity(), LogcatActivity.class); startActivity(intent); return false; @@ -40,7 +39,7 @@ public class PreferencesFragment extends PreferenceFragment { findPreference("network_settings").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { - getFragmentManager() + getActivity().getSupportFragmentManager() .beginTransaction() .replace(R.id.preferences_container, new NetworkPreferencesFragment() ) .addToBackStack( NetworkPreferencesFragment.class.getSimpleName() ) @@ -76,4 +75,9 @@ public class PreferencesFragment extends PreferenceFragment { } } + + @Override + public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable String rootKey) { + setPreferencesFromResource(R.xml.preferences,rootKey); + } }
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/StateSavedFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/StateSavedFragment.java deleted file mode 100755 index 08802acd..00000000 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/StateSavedFragment.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.fox.ttrss; - -import android.os.Bundle; - -import com.livefront.bridge.Bridge; - -import androidx.fragment.app.Fragment; - -public class StateSavedFragment extends Fragment { - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - Bridge.restoreInstanceState(this, savedInstanceState); - } - - @Override - public void onSaveInstanceState(Bundle out) { - super.onSaveInstanceState(out); - - Bridge.saveInstanceState(this, out); - } -} diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/YoutubePlayerActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/YoutubePlayerActivity.java deleted file mode 100755 index 81afbf0e..00000000 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/YoutubePlayerActivity.java +++ /dev/null @@ -1,144 +0,0 @@ -package org.fox.ttrss; - -import android.content.res.Configuration; -import android.net.Uri; -import android.os.Bundle; -import android.util.Log; -import android.view.ContextMenu; -import android.view.Menu; -import android.view.MenuItem; -import android.view.View; - -import com.google.android.youtube.player.YouTubeInitializationResult; -import com.google.android.youtube.player.YouTubePlayer; -import com.google.android.youtube.player.YouTubePlayerSupportFragment; - -import androidx.appcompat.app.AppCompatDelegate; -import androidx.appcompat.widget.Toolbar; -import icepick.State; - - -public class YoutubePlayerActivity extends CommonActivity implements YouTubePlayer.OnInitializedListener { - - private final String TAG = this.getClass().getSimpleName(); - private static final String DEVELOPER_KEY = "AIzaSyD8BS4Uj21jg_gHZfP4v0VXrAWiwqd05nk"; - - @State protected String m_streamUri; - @State protected String m_videoId; - - @Override - public void onCreate(Bundle savedInstanceState) { - - getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_YES); - setTheme(R.style.AppTheme); - - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_youtube_player); - - Toolbar toolbar = findViewById(R.id.toolbar); - setSupportActionBar(toolbar); - - getSupportActionBar().setDisplayHomeAsUpEnabled(true); - - if (!isPortrait()) - getSupportActionBar().hide(); - - setTitle(getIntent().getStringExtra("title")); - - if (savedInstanceState == null) { - m_streamUri = getIntent().getStringExtra("streamUri"); - m_videoId = getIntent().getStringExtra("vid"); - } - - YouTubePlayerSupportFragment frag = (YouTubePlayerSupportFragment) getSupportFragmentManager().findFragmentById(R.id.fragment_youtube_player); - frag.initialize(DEVELOPER_KEY, this); - } - - public void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - - if (!isPortrait()) - getSupportActionBar().hide(); - else - getSupportActionBar().show(); - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - getMenuInflater().inflate(R.menu.activity_youtube_player, menu); - return true; - } - - - @Override - public void onCreateContextMenu(ContextMenu menu, View v, - ContextMenu.ContextMenuInfo menuInfo) { - - getMenuInflater().inflate(R.menu.activity_youtube_player, menu); - - super.onCreateContextMenu(menu, v, menuInfo); - } - - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - return onContextItemSelected(item); // this is really bad :() - } - - @Override - public boolean onContextItemSelected(android.view.MenuItem item) { - switch (item.getItemId()) { - case android.R.id.home: - onBackPressed(); - return true; - case R.id.article_vid_open: - if (m_streamUri != null) { - try { - openUri(Uri.parse(m_streamUri)); - } catch (Exception e) { - e.printStackTrace(); - toast(R.string.error_other_error); - } - } - return true; - case R.id.article_vid_share: - if (m_streamUri != null) { - shareText(m_streamUri); - } - return true; - default: - Log.d(TAG, "onContextItemSelected, unhandled id=" + item.getItemId()); - return super.onContextItemSelected(item); - } - } - - @Override - public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) { - Log.d(TAG, "youtube: init success"); - - findViewById(R.id.video_loading).setVisibility(View.GONE); - - if (!wasRestored) { - player.cueVideo(m_videoId); - } - } - - @Override - public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult result) { - Log.d(TAG, "youtube: init failure"); - - findViewById(R.id.video_loading).setVisibility(View.GONE); - - toast(result.toString()); - } - - @Override - public void onPause() { - super.onPause(); - - if (isFinishing()) { - overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right); - } - - } -} diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineActivity.java index 5b63356d..96e0ee34 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineActivity.java @@ -24,6 +24,8 @@ import android.widget.EditText; import androidx.appcompat.view.ActionMode; import androidx.appcompat.widget.Toolbar; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + import org.fox.ttrss.CommonActivity; import org.fox.ttrss.OnlineActivity; import org.fox.ttrss.PreferencesActivity; @@ -100,54 +102,53 @@ public class OfflineActivity extends CommonActivity { .getMenuInfo(); */ final OfflineArticlePager ap = (OfflineArticlePager)getSupportFragmentManager().findFragmentByTag(FRAG_ARTICLE); - - switch (item.getItemId()) { - case R.id.article_img_open: - if (getLastContentImageHitTestUrl() != null) { - try { - openUri(Uri.parse(getLastContentImageHitTestUrl())); - } catch (Exception e) { - e.printStackTrace(); - toast(R.string.error_other_error); - } - } - return true; - case R.id.article_img_copy: - if (getLastContentImageHitTestUrl() != null) { - copyToClipboard(getLastContentImageHitTestUrl()); - } - return true; - case R.id.article_img_share: - if (getLastContentImageHitTestUrl() != null) { - shareImageFromUri(getLastContentImageHitTestUrl()); - } - return true; - case R.id.article_img_share_url: - if (getLastContentImageHitTestUrl() != null) { - shareText(getLastContentImageHitTestUrl()); - } - return true; - case R.id.article_img_view_caption: - if (getLastContentImageHitTestUrl() != null) { - String content = ""; - - Cursor article = getArticleById(ap.getSelectedArticleId()); - - if (article != null) { - content = article.getString(article.getColumnIndex("content")); - article.close(); - } + int itemId = item.getItemId(); + if (itemId == R.id.article_img_open) { + if (getLastContentImageHitTestUrl() != null) { + try { + openUri(Uri.parse(getLastContentImageHitTestUrl())); + } catch (Exception e) { + e.printStackTrace(); + toast(R.string.error_other_error); + } + } + return true; + } else if (itemId == R.id.article_img_copy) { + if (getLastContentImageHitTestUrl() != null) { + copyToClipboard(getLastContentImageHitTestUrl()); + } + return true; + } else if (itemId == R.id.article_img_share) { + if (getLastContentImageHitTestUrl() != null) { + shareImageFromUri(getLastContentImageHitTestUrl()); + } + return true; + } else if (itemId == R.id.article_img_share_url) { + if (getLastContentImageHitTestUrl() != null) { + shareText(getLastContentImageHitTestUrl()); + } + return true; + } else if (itemId == R.id.article_img_view_caption) { + if (getLastContentImageHitTestUrl() != null) { - displayImageCaption(getLastContentImageHitTestUrl(), content); + String content = ""; + + Cursor article = getArticleById(ap.getSelectedArticleId()); + + if (article != null) { + content = article.getString(article.getColumnIndex("content")); + article.close(); + } + + displayImageCaption(getLastContentImageHitTestUrl(), content); } return true; - default: - Log.d(TAG, "onContextItemSelected, unhandled id=" + item.getItemId()); - return super.onContextItemSelected(item); - } - - } + } + Log.d(TAG, "onContextItemSelected, unhandled id=" + item.getItemId()); + return super.onContextItemSelected(item); + + } @Override public void onCreate(Bundle savedInstanceState) { @@ -244,303 +245,295 @@ public class OfflineActivity extends CommonActivity { final OfflineArticlePager oap = (OfflineArticlePager) getSupportFragmentManager() .findFragmentByTag(FRAG_ARTICLE); - switch (item.getItemId()) { - /* case android.R.id.home: + int itemId = item.getItemId();/* case android.R.id.home: finish(); - return true; */ - /* case R.id.headlines_toggle_sidebar: + return true; *//* case R.id.headlines_toggle_sidebar: if (true && !isSmallScreen()) { SharedPreferences.Editor editor = m_prefs.edit(); editor.putBoolean("headlines_hide_sidebar", !m_prefs.getBoolean("headlines_hide_sidebar", false)); editor.commit(); - + if (ohf != null && ohf.isAdded()) { ohf.getView().setVisibility(m_prefs.getBoolean("headlines_hide_sidebar", false) ? View.GONE : View.VISIBLE); } } - return true; */ - /*case R.id.go_online: + return true; *//*case R.id.go_online: switchOnline(); return true;*/ - case R.id.search: - if (ohf != null) { - Dialog dialog = new Dialog(this); - - final EditText edit = new EditText(this); - - AlertDialog.Builder builder = new AlertDialog.Builder(this) - .setTitle(R.string.search) - .setPositiveButton(getString(R.string.search), - new OnClickListener() { - - @Override - public void onClick(DialogInterface dialog, - int which) { - - String query = edit.getText().toString().trim(); - - ohf.setSearchQuery(query); - - } - }) - .setNegativeButton(getString(R.string.cancel), - new OnClickListener() { - - @Override - public void onClick(DialogInterface dialog, - int which) { - - // - - } - }).setView(edit); - - dialog = builder.create(); - dialog.show(); - } - - return true; - case R.id.preferences: - Intent intent = new Intent(this, PreferencesActivity.class); - startActivityForResult(intent, 0); - return true; - case R.id.headlines_view_mode: - if (ohf != null) { - Dialog dialog = new Dialog(this); - - String viewMode = getViewMode(); - - //Log.d(TAG, "viewMode:" + getViewMode()); + if (itemId == R.id.search) { + if (ohf != null) { + Dialog dialog = new Dialog(this); - int selectedIndex = 0; - - if (viewMode.equals("all_articles")) { - selectedIndex = 0; - } else if (viewMode.equals("marked")) { - selectedIndex = 1; - } else if (viewMode.equals("published")) { - selectedIndex = 2; - } else if (viewMode.equals("unread")) { - selectedIndex = 3; - } - - AlertDialog.Builder builder = new AlertDialog.Builder(this) - .setTitle(R.string.headlines_set_view_mode) - .setSingleChoiceItems( - new String[] { - /* getString(R.string.headlines_adaptive), */ - getString(R.string.headlines_all_articles), - getString(R.string.headlines_starred), - getString(R.string.headlines_published), - getString(R.string.headlines_unread) }, - selectedIndex, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, - int which) { - switch (which) { + final EditText edit = new EditText(this); + + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) + .setTitle(R.string.search) + .setPositiveButton(getString(R.string.search), + new OnClickListener() { + + @Override + public void onClick(DialogInterface dialog, + int which) { + + String query = edit.getText().toString().trim(); + + ohf.setSearchQuery(query); + + } + }) + .setNegativeButton(getString(R.string.cancel), + new OnClickListener() { + + @Override + public void onClick(DialogInterface dialog, + int which) { + + // + + } + }).setView(edit); + + dialog = builder.create(); + dialog.show(); + } + + return true; + } else if (itemId == R.id.preferences) { + Intent intent = new Intent(this, PreferencesActivity.class); + startActivityForResult(intent, 0); + return true; + } else if (itemId == R.id.headlines_view_mode) { + if (ohf != null) { + Dialog dialog = new Dialog(this); + + String viewMode = getViewMode(); + + //Log.d(TAG, "viewMode:" + getViewMode()); + + int selectedIndex = 0; + + if (viewMode.equals("all_articles")) { + selectedIndex = 0; + } else if (viewMode.equals("marked")) { + selectedIndex = 1; + } else if (viewMode.equals("published")) { + selectedIndex = 2; + } else if (viewMode.equals("unread")) { + selectedIndex = 3; + } + + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) + .setTitle(R.string.headlines_set_view_mode) + .setSingleChoiceItems( + new String[]{ + /* getString(R.string.headlines_adaptive), */ + getString(R.string.headlines_all_articles), + getString(R.string.headlines_starred), + getString(R.string.headlines_published), + getString(R.string.headlines_unread)}, + selectedIndex, new OnClickListener() { + @Override + public void onClick(DialogInterface dialog, + int which) { + switch (which) { /* case 0: setViewMode("adaptive"); break; */ - case 0: - setViewMode("all_articles"); - break; - case 1: - setViewMode("marked"); - break; - case 2: - setViewMode("published"); - break; - case 3: - setViewMode("unread"); - break; - } - dialog.cancel(); - - refresh(); - } - }); - - dialog = builder.create(); - dialog.show(); + case 0: + setViewMode("all_articles"); + break; + case 1: + setViewMode("marked"); + break; + case 2: + setViewMode("published"); + break; + case 3: + setViewMode("unread"); + break; + } + dialog.cancel(); + + refresh(); + } + }); + + dialog = builder.create(); + dialog.show(); + + } + return true; + } else if (itemId == R.id.headlines_select) { + if (ohf != null) { + + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) + .setTitle(R.string.headlines_select_dialog) + .setSingleChoiceItems(new String[]{ + getString(R.string.headlines_select_all), + getString(R.string.headlines_select_unread), + getString(R.string.headlines_select_none)}, 0, + new OnClickListener() { + @Override + public void onClick(DialogInterface dialog, + int which) { + + selectArticles(ohf.getFeedId(), ohf.getFeedIsCat(), which); + invalidateOptionsMenu(); + refresh(); + + dialog.cancel(); + } + }); + + Dialog dialog = builder.create(); + dialog.show(); + } + return true; + } else if (itemId == R.id.headlines_mark_as_read) { + if (ohf != null) { + final int feedId = ohf.getFeedId(); + final boolean isCat = ohf.getFeedIsCat(); + + int count = getUnreadArticleCount(feedId, isCat); + + if (count > 0) { + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) + .setMessage(getResources().getQuantityString(R.plurals.mark_num_headlines_as_read, count, count)) + .setPositiveButton(R.string.catchup, + new OnClickListener() { + public void onClick(DialogInterface dialog, + int which) { + + catchupFeed(feedId, isCat); + + } + }) + .setNegativeButton(R.string.dialog_cancel, + new OnClickListener() { + public void onClick(DialogInterface dialog, + int which) { + + } + }); + + Dialog dlg = builder.create(); + dlg.show(); + } + } + return true; + } else if (itemId == R.id.share_article) { + int articleId = oap.getSelectedArticleId(); + + shareArticle(articleId); - } - return true; - case R.id.headlines_select: - if (ohf != null) { - Dialog dialog = new Dialog(this); - AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setTitle(R.string.headlines_select_dialog); - - builder.setSingleChoiceItems(new String[] { - getString(R.string.headlines_select_all), - getString(R.string.headlines_select_unread), - getString(R.string.headlines_select_none) }, 0, - new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, - int which) { - - selectArticles(ohf.getFeedId(), ohf.getFeedIsCat(), which); - invalidateOptionsMenu(); - refresh(); - - dialog.cancel(); - } - }); - - dialog = builder.create(); - dialog.show(); - } - return true; - case R.id.headlines_mark_as_read: - if (ohf != null) { - final int feedId = ohf.getFeedId(); - final boolean isCat = ohf.getFeedIsCat(); - - int count = getUnreadArticleCount(feedId, isCat); - - if (count > 0) { - AlertDialog.Builder builder = new AlertDialog.Builder( - OfflineActivity.this) - .setMessage(getResources().getQuantityString(R.plurals.mark_num_headlines_as_read, count, count)) - .setPositiveButton(R.string.catchup, - new Dialog.OnClickListener() { - public void onClick(DialogInterface dialog, - int which) { - - catchupFeed(feedId, isCat); - - } - }) - .setNegativeButton(R.string.dialog_cancel, - new Dialog.OnClickListener() { - public void onClick(DialogInterface dialog, - int which) { - - } - }); - - AlertDialog dlg = builder.create(); - dlg.show(); - } - } - return true; - /* case R.id.share_article: - if (true) { - int articleId = oap.getSelectedArticleId(); - - shareArticle(articleId); - } - return true; */ - case R.id.toggle_marked: - if (oap != null) { - int articleId = oap.getSelectedArticleId(); - - SQLiteStatement stmt = getDatabase().compileStatement( - "UPDATE articles SET modified = 1, modified_marked = 1, marked = NOT marked WHERE " - + BaseColumns._ID + " = ?"); - stmt.bindLong(1, articleId); - stmt.execute(); - stmt.close(); - - refresh(); - } - return true; - case R.id.toggle_unread: - if (oap != null) { - int articleId = oap.getSelectedArticleId(); - - SQLiteStatement stmt = getDatabase().compileStatement( - "UPDATE articles SET modified = 1, unread = NOT unread WHERE " - + BaseColumns._ID + " = ?"); - stmt.bindLong(1, articleId); - stmt.execute(); - stmt.close(); - - refresh(); - } return true; + } else if (itemId == R.id.toggle_marked) { + if (oap != null) { + int articleId = oap.getSelectedArticleId(); + + SQLiteStatement stmt = getDatabase().compileStatement( + "UPDATE articles SET modified = 1, modified_marked = 1, marked = NOT marked WHERE " + + BaseColumns._ID + " = ?"); + stmt.bindLong(1, articleId); + stmt.execute(); + stmt.close(); + + refresh(); + } + return true; + } else if (itemId == R.id.toggle_unread) { + if (oap != null) { + int articleId = oap.getSelectedArticleId(); + + SQLiteStatement stmt = getDatabase().compileStatement( + "UPDATE articles SET modified = 1, unread = NOT unread WHERE " + + BaseColumns._ID + " = ?"); + stmt.bindLong(1, articleId); + stmt.execute(); + stmt.close(); + + refresh(); + } + return true; /* case R.id.selection_select_none: - deselectAllArticles(); + deselectAllArticles(); return true; */ - case R.id.selection_toggle_unread: - if (getSelectedArticleCount() > 0) { - SQLiteStatement stmt = getDatabase() - .compileStatement( - "UPDATE articles SET modified = 1, unread = NOT unread WHERE selected = 1"); - stmt.execute(); - stmt.close(); - - refresh(); - } - return true; - case R.id.selection_toggle_marked: - if (getSelectedArticleCount() > 0) { - SQLiteStatement stmt = getDatabase() - .compileStatement( - "UPDATE articles SET modified = 1, modified_marked = 1, marked = NOT marked WHERE selected = 1"); - stmt.execute(); - stmt.close(); - - refresh(); - } - return true; - case R.id.selection_toggle_published: - if (getSelectedArticleCount() > 0) { - SQLiteStatement stmt = getDatabase() - .compileStatement( - "UPDATE articles SET modified = 1, modified_published = 1, published = NOT published WHERE selected = 1"); - stmt.execute(); - stmt.close(); - - refresh(); - } - return true; - case R.id.toggle_published: - if (oap != null) { - int articleId = oap.getSelectedArticleId(); - - SQLiteStatement stmt = getDatabase().compileStatement( - "UPDATE articles SET modified = 1, modified_published = 1, published = NOT published WHERE " - + BaseColumns._ID + " = ?"); - stmt.bindLong(1, articleId); - stmt.execute(); - stmt.close(); - - refresh(); - } - return true; - case R.id.catchup_above: - if (oap != null) { - AlertDialog.Builder builder = new AlertDialog.Builder( - OfflineActivity.this) - .setMessage(R.string.confirm_catchup_above) - .setPositiveButton(R.string.dialog_ok, - new Dialog.OnClickListener() { - public void onClick(DialogInterface dialog, - int which) { - - catchupAbove(oap); - - } - }) - .setNegativeButton(R.string.dialog_cancel, - new Dialog.OnClickListener() { - public void onClick(DialogInterface dialog, - int which) { - - } - }); - - AlertDialog dlg = builder.create(); - dlg.show(); - } - return true; - default: - Log.d(TAG, "onOptionsItemSelected, unhandled id=" + item.getItemId()); - return super.onOptionsItemSelected(item); - } - } + } else if (itemId == R.id.selection_toggle_unread) { + if (getSelectedArticleCount() > 0) { + SQLiteStatement stmt = getDatabase() + .compileStatement( + "UPDATE articles SET modified = 1, unread = NOT unread WHERE selected = 1"); + stmt.execute(); + stmt.close(); + + refresh(); + } + return true; + } else if (itemId == R.id.selection_toggle_marked) { + if (getSelectedArticleCount() > 0) { + SQLiteStatement stmt = getDatabase() + .compileStatement( + "UPDATE articles SET modified = 1, modified_marked = 1, marked = NOT marked WHERE selected = 1"); + stmt.execute(); + stmt.close(); + + refresh(); + } + return true; + } else if (itemId == R.id.selection_toggle_published) { + if (getSelectedArticleCount() > 0) { + SQLiteStatement stmt = getDatabase() + .compileStatement( + "UPDATE articles SET modified = 1, modified_published = 1, published = NOT published WHERE selected = 1"); + stmt.execute(); + stmt.close(); + + refresh(); + } + return true; + } else if (itemId == R.id.toggle_published) { + if (oap != null) { + int articleId = oap.getSelectedArticleId(); + + SQLiteStatement stmt = getDatabase().compileStatement( + "UPDATE articles SET modified = 1, modified_published = 1, published = NOT published WHERE " + + BaseColumns._ID + " = ?"); + stmt.bindLong(1, articleId); + stmt.execute(); + stmt.close(); + + refresh(); + } + return true; + } else if (itemId == R.id.catchup_above) { + if (oap != null) { + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) + .setMessage(R.string.confirm_catchup_above) + .setPositiveButton(R.string.dialog_ok, + new OnClickListener() { + public void onClick(DialogInterface dialog, + int which) { + + catchupAbove(oap); + + } + }) + .setNegativeButton(R.string.dialog_cancel, + new OnClickListener() { + public void onClick(DialogInterface dialog, + int which) { + + } + }); + + Dialog dlg = builder.create(); + dlg.show(); + } + return true; + } + Log.d(TAG, "onOptionsItemSelected, unhandled id=" + item.getItemId()); + return super.onOptionsItemSelected(item); + } private void catchupAbove(OfflineArticlePager oap) { int articleId = oap.getSelectedArticleId(); @@ -610,14 +603,14 @@ public class OfflineActivity extends CommonActivity { boolean marked = article.getInt(article.getColumnIndex("marked")) == 1; boolean published = article.getInt(article.getColumnIndex("published")) == 1; - m_menu.findItem(R.id.toggle_marked).setIcon(marked ? R.drawable.ic_star : - R.drawable.ic_star_outline); + m_menu.findItem(R.id.toggle_marked).setIcon(marked ? R.drawable.baseline_star_24 : + R.drawable.baseline_star_outline_24); - m_menu.findItem(R.id.toggle_published).setIcon(published ? R.drawable.ic_checkbox_marked : - R.drawable.ic_rss_box); + m_menu.findItem(R.id.toggle_published).setIcon(published ? R.drawable.baseline_check_box_24 : + R.drawable.baseline_rss_feed_24); - m_menu.findItem(R.id.toggle_unread).setIcon(unread ? R.drawable.ic_email : - R.drawable.ic_email_open); + m_menu.findItem(R.id.toggle_unread).setIcon(unread ? R.drawable.baseline_mark_as_unread_24 : + R.drawable.baseline_email_24); article.close(); } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java index a3b152a7..dfc47131 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticleFragment.java @@ -43,6 +43,8 @@ import java.util.Date; import androidx.fragment.app.Fragment; +import com.google.android.material.button.MaterialButton; + public class OfflineArticleFragment extends Fragment { private final String TAG = this.getClass().getSimpleName(); @@ -127,26 +129,25 @@ public class OfflineArticleFragment extends Fragment { public boolean onContextItemSelected(MenuItem item) { /* AdapterContextMenuInfo info = (AdapterContextMenuInfo) item .getMenuInfo(); */ - - switch (item.getItemId()) { - case R.id.article_link_share: - m_activity.shareArticle(m_articleId); - return true; - case R.id.article_link_copy: - if (true) { - Cursor article = m_activity.getArticleById(m_articleId); - - if (article != null) { - m_activity.copyToClipboard(article.getString(article.getColumnIndex("link"))); - article.close(); - } - } - return true; - default: - Log.d(TAG, "onContextItemSelected, unhandled id=" + item.getItemId()); - return super.onContextItemSelected(item); - } - } + + int itemId = item.getItemId(); + if (itemId == R.id.article_link_share) { + m_activity.shareArticle(m_articleId); + return true; + } else if (itemId == R.id.article_link_copy) { + if (true) { + Cursor article = m_activity.getArticleById(m_articleId); + + if (article != null) { + m_activity.copyToClipboard(article.getString(article.getColumnIndex("link"))); + article.close(); + } + } + return true; + } + Log.d(TAG, "onContextItemSelected, unhandled id=" + item.getItemId()); + return super.onContextItemSelected(item); + } @Override public void onCreateContextMenu(ContextMenu menu, View v, @@ -198,7 +199,6 @@ public class OfflineArticleFragment extends Fragment { m_cursor.moveToFirst(); if (m_cursor.isFirst()) { - m_contentView = view.findViewById(R.id.article_scrollview); m_customViewContainer = view.findViewById(R.id.article_fullscreen_video); final String link = m_cursor.getString(m_cursor.getColumnIndex("link")); @@ -235,19 +235,19 @@ public class OfflineArticleFragment extends Fragment { } - ImageView score = view.findViewById(R.id.score); + /* MaterialButton score = view.findViewById(R.id.score); if (score != null) { score.setVisibility(View.GONE); } - ImageView attachments = view.findViewById(R.id.attachments); + MaterialButton attachments = view.findViewById(R.id.attachments); if (attachments != null) { attachments.setVisibility(View.GONE); } - ImageView share = view.findViewById(R.id.share); + MaterialButton share = view.findViewById(R.id.share); if (share != null) { share.setOnClickListener(new OnClickListener() { @@ -256,15 +256,14 @@ public class OfflineArticleFragment extends Fragment { m_activity.shareArticle(m_articleId); } }); - } - + } */ TextView comments = view.findViewById(R.id.comments); if (comments != null) { comments.setVisibility(View.GONE); } - + TextView note = view.findViewById(R.id.note); if (note != null) { @@ -275,10 +274,6 @@ public class OfflineArticleFragment extends Fragment { if (m_web != null) { - if (m_activity.isUiNightMode()) { - m_web.setBackgroundColor(Color.BLACK); - } - m_web.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { @@ -311,19 +306,16 @@ public class OfflineArticleFragment extends Fragment { }); String content; - String cssOverride = ""; WebSettings ws = m_web.getSettings(); ws.setSupportZoom(false); + ws.setJavaScriptEnabled(false); - if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { - ws.setJavaScriptEnabled(true); + m_chromeClient = new FSVideoChromeClient(getView()); + m_web.setWebChromeClient(m_chromeClient); + m_web.setBackgroundColor(Color.TRANSPARENT); - m_chromeClient = new FSVideoChromeClient(getView()); - m_web.setWebChromeClient(m_chromeClient); - - ws.setMediaPlaybackRequiresUserGesture(true); - } + ws.setMediaPlaybackRequiresUserGesture(true); // we need to show "insecure" file:// urls if (m_prefs.getBoolean("offline_image_cache_enabled", false) && @@ -332,24 +324,17 @@ public class OfflineArticleFragment extends Fragment { ws.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); } - TypedValue tvBackground = new TypedValue(); - getActivity().getTheme().resolveAttribute(R.attr.articleBackground, tvBackground, true); - - String backgroundHexColor = String.format("#%06X", (0xFFFFFF & tvBackground.data)); - - cssOverride = "body { background : "+ backgroundHexColor+"; }"; - TypedValue tvTextColor = new TypedValue(); - getActivity().getTheme().resolveAttribute(R.attr.articleTextColor, tvTextColor, true); + getActivity().getTheme().resolveAttribute(R.attr.colorOnSurface, tvTextColor, true); String textColor = String.format("#%06X", (0xFFFFFF & tvTextColor.data)); - cssOverride += "body { color : "+textColor+"; }"; + String cssOverride = "body { color : "+textColor+"; }"; - TypedValue tvLinkColor = new TypedValue(); - getActivity().getTheme().resolveAttribute(R.attr.linkColor, tvLinkColor, true); + TypedValue tvColorPrimary = new TypedValue(); + getActivity().getTheme().resolveAttribute(R.attr.colorPrimary, tvColorPrimary, true); - String linkHexColor = String.format("#%06X", (0xFFFFFF & tvLinkColor.data)); + String linkHexColor = String.format("#%06X", (0xFFFFFF & tvColorPrimary.data)); cssOverride += " a:link {color: "+linkHexColor+";} a:visited { color: "+linkHexColor+";}"; String articleContent = m_cursor.getString(m_cursor.getColumnIndex("content")); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticlePager.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticlePager.java index 20c2fd0c..ce4f6f72 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticlePager.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticlePager.java @@ -136,7 +136,7 @@ public class OfflineArticlePager extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.article_pager, container, false); + View view = inflater.inflate(R.layout.fragment_article_pager, container, false); if (savedInstanceState != null) { m_articleId = savedInstanceState.getInt("articleId", 0); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineDetailActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineDetailActivity.java index 50335966..1f8f3dc6 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineDetailActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineDetailActivity.java @@ -169,15 +169,13 @@ public class OfflineDetailActivity extends OfflineActivity implements OfflineHea return true; } - switch (item.getItemId()) { - case android.R.id.home: - finish(); - return true; - default: - Log.d(TAG, "onOptionsItemSelected, unhandled id=" + item.getItemId()); - return super.onOptionsItemSelected(item); - } - } + if (item.getItemId() == android.R.id.home) { + finish(); + return true; + } + Log.d(TAG, "onOptionsItemSelected, unhandled id=" + item.getItemId()); + return super.onOptionsItemSelected(item); + } @Override public void onArticleSelected(int articleId, boolean open) { diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineDownloadService.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineDownloadService.java index 933fbc03..c3c31133 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineDownloadService.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineDownloadService.java @@ -116,7 +116,7 @@ public class OfflineDownloadService extends Service { .setContentTitle(getString(R.string.notify_downloading_title)) .setContentIntent(contentIntent) .setWhen(System.currentTimeMillis()) - .setSmallIcon(R.drawable.ic_cloud_download) + .setSmallIcon(R.drawable.baseline_cloud_download_24) .setLargeIcon(BitmapFactory.decodeResource(getApplicationContext().getResources(), R.drawable.ic_launcher)) .setOngoing(!isError) @@ -124,20 +124,17 @@ public class OfflineDownloadService extends Service { if (showProgress) builder.setProgress(max, progress, max == 0); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + intent = new Intent(this, OnlineActivity.class); + intent.setAction(INTENT_ACTION_CANCEL); - intent = new Intent(this, OnlineActivity.class); - intent.setAction(INTENT_ACTION_CANCEL); + PendingIntent cancelIntent = PendingIntent.getActivity(this, PI_CANCEL, intent, PendingIntent.FLAG_IMMUTABLE); - PendingIntent cancelIntent = PendingIntent.getActivity(this, PI_CANCEL, intent, PendingIntent.FLAG_IMMUTABLE); - - builder.setCategory(Notification.CATEGORY_PROGRESS) - .setVibrate(new long[0]) - .setVisibility(Notification.VISIBILITY_PUBLIC) - .setColor(0x88b0f0) - .setGroup("org.fox.ttrss") - .addAction(R.drawable.ic_launcher, getString(R.string.cancel), cancelIntent); - } + builder.setCategory(Notification.CATEGORY_PROGRESS) + .setVibrate(new long[0]) + .setVisibility(NotificationCompat.VISIBILITY_PUBLIC) + .setColor(0x88b0f0) + .setGroup("org.fox.ttrss") + .addAction(R.drawable.ic_launcher, getString(R.string.cancel), cancelIntent); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { builder.setChannelId(CommonActivity.NOTIFICATION_CHANNEL_NORMAL); @@ -182,7 +179,7 @@ public class OfflineDownloadService extends Service { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { builder.setCategory(Notification.CATEGORY_MESSAGE) .setVibrate(new long[0]) - .setVisibility(Notification.VISIBILITY_PUBLIC) + .setVisibility(NotificationCompat.VISIBILITY_PUBLIC) .setColor(0x88b0f0) .setGroup("org.fox.ttrss"); } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedCategoriesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedCategoriesFragment.java index 40674bb8..372728e4 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedCategoriesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedCategoriesFragment.java @@ -92,37 +92,36 @@ public class OfflineFeedCategoriesFragment extends BaseFeedlistFragment implemen public boolean onContextItemSelected(MenuItem item) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item .getMenuInfo(); - - switch (item.getItemId()) { - case R.id.browse_headlines: - if (true) { - int catId = getCatIdAtPosition(info.position); - if (catId != -10000) { - m_activity.onCatSelected(catId, true); - } - } - return true; - case R.id.browse_feeds: - if (true) { - int catId = getCatIdAtPosition(info.position); - if (catId != -10000) { - m_activity.onCatSelected(catId, false); - } - } - return true; - case R.id.catchup_category: - if (true) { - int catId = getCatIdAtPosition(info.position); - if (catId != -10000) { - m_activity.catchupFeed(catId, true); - } - } - return true; - default: - Log.d(TAG, "onContextItemSelected, unhandled id=" + item.getItemId()); - return super.onContextItemSelected(item); - } - } + + int itemId = item.getItemId(); + if (itemId == R.id.browse_headlines) { + if (true) { + int catId = getCatIdAtPosition(info.position); + if (catId != -10000) { + m_activity.onCatSelected(catId, true); + } + } + return true; + } else if (itemId == R.id.browse_feeds) { + if (true) { + int catId = getCatIdAtPosition(info.position); + if (catId != -10000) { + m_activity.onCatSelected(catId, false); + } + } + return true; + } else if (itemId == R.id.catchup_category) { + if (true) { + int catId = getCatIdAtPosition(info.position); + if (catId != -10000) { + m_activity.catchupFeed(catId, true); + } + } + return true; + } + Log.d(TAG, "onContextItemSelected, unhandled id=" + item.getItemId()); + return super.onContextItemSelected(item); + } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsFragment.java index 6dd85a87..c0b63330 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsFragment.java @@ -56,26 +56,25 @@ public class OfflineFeedsFragment extends BaseFeedlistFragment implements OnItem public boolean onContextItemSelected(MenuItem item) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item .getMenuInfo(); - switch (item.getItemId()) { - case R.id.browse_headlines: - if (true) { - int feedId = getFeedIdAtPosition(info.position); - if (feedId != -10000) { - m_activity.onFeedSelected(feedId); - } - } - return true; - case R.id.catchup_feed: - int feedId = getFeedIdAtPosition(info.position); - if (feedId != -10000) { - m_activity.catchupFeed(feedId, false); - } - return true; - default: - Log.d(TAG, "onContextItemSelected, unhandled id=" + item.getItemId()); - return super.onContextItemSelected(item); - } - } + int itemId = item.getItemId(); + if (itemId == R.id.browse_headlines) { + if (true) { + int feedId = getFeedIdAtPosition(info.position); + if (feedId != -10000) { + m_activity.onFeedSelected(feedId); + } + } + return true; + } else if (itemId == R.id.catchup_feed) { + int feedId = getFeedIdAtPosition(info.position); + if (feedId != -10000) { + m_activity.catchupFeed(feedId, false); + } + return true; + } + Log.d(TAG, "onContextItemSelected, unhandled id=" + item.getItemId()); + return super.onContextItemSelected(item); + } @Override public void onCreateContextMenu(ContextMenu menu, View v, diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineHeadlinesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineHeadlinesFragment.java index d448117c..7994b576 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineHeadlinesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineHeadlinesFragment.java @@ -1,13 +1,12 @@ package org.fox.ttrss.offline; import android.app.Activity; -import android.app.AlertDialog; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; -import android.content.res.Resources.Theme; +import android.content.res.ColorStateList; import android.database.Cursor; import android.database.sqlite.SQLiteStatement; import android.graphics.Paint; @@ -36,11 +35,11 @@ import android.widget.AdapterView; import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.AdapterView.OnItemClickListener; import android.widget.CheckBox; +import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.ListView; import android.widget.PopupMenu; import android.widget.ProgressBar; -import android.widget.RelativeLayout; import android.widget.TextView; import com.amulyakhare.textdrawable.TextDrawable; @@ -50,6 +49,8 @@ import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.load.resource.drawable.GlideDrawable; import com.bumptech.glide.request.RequestListener; import com.bumptech.glide.request.target.Target; +import com.google.android.material.button.MaterialButton; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; import org.fox.ttrss.Application; import org.fox.ttrss.CommonActivity; @@ -158,79 +159,77 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis } private boolean onArticleMenuItemSelected(MenuItem item, final int articleId) { - switch (item.getItemId()) { - case R.id.headlines_article_unread: - if (true) { + int itemId = item.getItemId(); + if (itemId == R.id.headlines_article_unread) { + if (true) { - SQLiteStatement stmt = m_activity.getDatabase().compileStatement( - "UPDATE articles SET modified = 1, unread = not unread " + "WHERE " + BaseColumns._ID - + " = ?"); - - stmt.bindLong(1, articleId); - stmt.execute(); - stmt.close(); - - refresh(); - } - return true; - case R.id.headlines_article_link_copy: - if (true) { - Cursor article = m_activity.getArticleById(articleId); - - if (article != null) { - m_activity.copyToClipboard(article.getString(article.getColumnIndex("link"))); - article.close(); - } - } - return true; - case R.id.headlines_article_link_open: - if (true) { - Cursor article = m_activity.getArticleById(articleId); - - if (article != null) { - m_activity.openUri(Uri.parse(article.getString(article.getColumnIndex("link")))); + SQLiteStatement stmt = m_activity.getDatabase().compileStatement( + "UPDATE articles SET modified = 1, unread = not unread " + "WHERE " + BaseColumns._ID + + " = ?"); - // TODO: mark article as read, set modified = 1, refresh + stmt.bindLong(1, articleId); + stmt.execute(); + stmt.close(); - article.close(); - } - } - return true; - case R.id.headlines_share_article: - m_activity.shareArticle(articleId); - return true; - case R.id.catchup_above: - if (true) { - AlertDialog.Builder builder = new AlertDialog.Builder( - m_activity) - .setMessage(R.string.confirm_catchup_above) - .setPositiveButton(R.string.dialog_ok, - new Dialog.OnClickListener() { - public void onClick(DialogInterface dialog, - int which) { - - catchupAbove(articleId); + refresh(); + } + return true; + } else if (itemId == R.id.headlines_article_link_copy) { + if (true) { + Cursor article = m_activity.getArticleById(articleId); + + if (article != null) { + m_activity.copyToClipboard(article.getString(article.getColumnIndex("link"))); + article.close(); + } + } + return true; + } else if (itemId == R.id.headlines_article_link_open) { + if (true) { + Cursor article = m_activity.getArticleById(articleId); - } - }) - .setNegativeButton(R.string.dialog_cancel, - new Dialog.OnClickListener() { - public void onClick(DialogInterface dialog, - int which) { + if (article != null) { + m_activity.openUri(Uri.parse(article.getString(article.getColumnIndex("link")))); - } - }); + // TODO: mark article as read, set modified = 1, refresh - AlertDialog dialog = builder.create(); - dialog.show(); - } - return true; - default: - Log.d(TAG, "onArticleMenuItemSelected, unhandled id=" + item.getItemId()); - return false; - } + article.close(); + } + } + return true; + } else if (itemId == R.id.headlines_share_article) { + m_activity.shareArticle(articleId); + return true; + } else if (itemId == R.id.catchup_above) { + if (true) { + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(getContext()) + .setMessage(R.string.confirm_catchup_above) + .setPositiveButton(R.string.dialog_ok, + new Dialog.OnClickListener() { + public void onClick(DialogInterface dialog, + int which) { + + catchupAbove(articleId); + + } + }) + .setNegativeButton(R.string.dialog_cancel, + new Dialog.OnClickListener() { + public void onClick(DialogInterface dialog, + int which) { + + } + }); + + Dialog dialog = builder.create(); + dialog.show(); + } + return true; + } + Log.d(TAG, "onArticleMenuItemSelected, unhandled id=" + item.getItemId()); + return false; - } + } private void catchupAbove(int articleId) { SQLiteStatement stmt = null; @@ -488,14 +487,14 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis public TextView titleView; public TextView feedTitleView; - public ImageView markedView; - public ImageView publishedView; + public MaterialButton markedView; + public MaterialButton publishedView; public TextView excerptView; public ImageView flavorImageView; public TextView authorView; public TextView dateView; public CheckBox selectionBoxView; - public ImageView menuButtonView; + public MaterialButton menuButtonView; public ViewGroup flavorImageHolder; public ProgressBar flavorImageLoadingBar; public View headlineFooter; @@ -504,8 +503,8 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis public ImageView flavorVideoKindView; public View flavorImageOverflow; public View headlineHeader; - public ImageView attachmentsView; - public ImageView scoreView; + public MaterialButton attachmentsView; + public MaterialButton scoreView; public ArticleViewHolder(View v) { @@ -564,7 +563,6 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis public static final int VIEW_COUNT = VIEW_LOADMORE+1; private final Integer[] origTitleColors = new Integer[VIEW_COUNT]; - private final int titleHighScoreUnreadColor; private ColorGenerator m_colorGenerator = ColorGenerator.DEFAULT; private TextDrawable.IBuilder m_drawableBuilder = TextDrawable.builder().round(); @@ -576,11 +574,6 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis String[] from, int[] to, int flags) { super(context, layout, c, from, to, flags); - Theme theme = context.getTheme(); - TypedValue tv = new TypedValue(); - theme.resolveAttribute(R.attr.headlineTitleHighScoreUnreadTextColor, tv, true); - titleHighScoreUnreadColor = tv.data; - String headlineMode = m_prefs.getString("headline_mode", "HL_DEFAULT"); showFlavorImage = "HL_DEFAULT".equals(headlineMode) || "HL_COMPACT".equals(headlineMode); @@ -669,8 +662,8 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis final ArticleViewHolder holder; final int articleId = article.getInt(0); - - int headlineFontSize = Integer.parseInt(m_prefs.getString("headlines_font_size_sp", "13")); + + int headlineFontSize = m_prefs.getInt("headlines_font_size_sp_int", 13); int headlineSmallFontSize = Math.max(10, Math.min(18, headlineFontSize - 2)); if (v == null) { @@ -681,13 +674,13 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis layoutId = R.layout.headlines_row_loadmore; break; case VIEW_UNREAD: - layoutId = m_compactLayoutMode ? R.layout.headlines_row_unread_compact : R.layout.headlines_row_unread; + layoutId = m_compactLayoutMode ? R.layout.headlines_row_compact_unread : R.layout.headlines_row_unread; break; case VIEW_SELECTED: - layoutId = m_compactLayoutMode ? R.layout.headlines_row_selected_compact : R.layout.headlines_row; + layoutId = m_compactLayoutMode ? R.layout.headlines_row_compact_selected : R.layout.headlines_row; break; case VIEW_SELECTED_UNREAD: - layoutId = m_compactLayoutMode ? R.layout.headlines_row_selected_unread_compact : R.layout.headlines_row_unread; + layoutId = m_compactLayoutMode ? R.layout.headlines_row_compact_selected_unread : R.layout.headlines_row_unread; break; } @@ -789,8 +782,11 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis holder.feedTitleView.setVisibility(View.GONE); } - TypedValue tvAccent = new TypedValue(); - m_activity.getTheme().resolveAttribute(R.attr.colorAccent, tvAccent, true); + TypedValue tvTertiary = new TypedValue(); + m_activity.getTheme().resolveAttribute(R.attr.colorTertiary, tvTertiary, true); + + TypedValue tvPrimary = new TypedValue(); + m_activity.getTheme().resolveAttribute(R.attr.colorPrimary, tvPrimary, true); if (holder.attachmentsView != null) { holder.attachmentsView.setVisibility(View.GONE); @@ -807,12 +803,12 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis m_activity.getTheme().resolveAttribute(marked ? R.attr.ic_star : R.attr.ic_star_outline, tv, true); - holder.markedView.setImageResource(tv.resourceId); + holder.markedView.setIconResource(tv.resourceId); if (marked) - holder.markedView.setColorFilter(tvAccent.data); + holder.markedView.setIconTint(ColorStateList.valueOf(tvTertiary.data)); else - holder.markedView.setColorFilter(null); + holder.markedView.setIconTint(ColorStateList.valueOf(tvPrimary.data)); holder.markedView.setOnClickListener(new OnClickListener() { @@ -838,12 +834,12 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis m_activity.getTheme().resolveAttribute(published ? R.attr.ic_checkbox_marked : R.attr.ic_rss_box, tv, true); - holder.publishedView.setImageResource(tv.resourceId); + holder.publishedView.setIconResource(tv.resourceId); if (published) - holder.publishedView.setColorFilter(tvAccent.data); + holder.publishedView.setIconTint(ColorStateList.valueOf(tvTertiary.data)); else - holder.publishedView.setColorFilter(null); + holder.publishedView.setIconTint(ColorStateList.valueOf(tvPrimary.data)); holder.publishedView.setOnClickListener(new OnClickListener() { @@ -935,8 +931,6 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis holder.flavorVideoKindView.setVisibility(View.GONE); holder.flavorImageOverflow.setVisibility(View.GONE); - holder.headlineHeader.setBackgroundDrawable(null); - // this is needed if our flavor image goes behind base listview element holder.headlineHeader.setOnClickListener(new OnClickListener() { @Override @@ -967,9 +961,8 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis //Log.d(TAG, articleId + " IMG: " + afi.flavorImageUri + " STREAM: " + afi.flavorStreamUri + " H:" + flavorViewHeight); if (flavorViewHeight > 0) { - RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) holder.flavorImageView.getLayoutParams(); + FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) holder.flavorImageView.getLayoutParams(); lp.height = flavorViewHeight; - holder.flavorImageView.setLayoutParams(lp); } final String articleContent = article.getString(article.getColumnIndex("content")); @@ -1011,24 +1004,8 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis holder.flavorImageView.setVisibility(View.VISIBLE); - - //TODO: not implemented - //holder.flavorImageOverflow.setVisibility(View.VISIBLE); - - /*boolean forceDown = article.flavorImage != null && "video".equals(article.flavorImage.tagName().toLowerCase()); - - maybeRepositionFlavorImage(holder.flavorImageView, resource, holder, forceDown);*/ adjustVideoKindView(holder, afi); - /* we don't support image embedding in offline */ - - RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) holder.flavorImageView.getLayoutParams(); - lp.addRule(RelativeLayout.BELOW, R.id.headline_header); - lp.height = RelativeLayout.LayoutParams.WRAP_CONTENT; - holder.flavorImageView.setLayoutParams(lp); - - holder.headlineHeader.setBackgroundDrawable(null); - return false; } else { @@ -1081,10 +1058,10 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis private void adjustVideoKindView(ArticleViewHolder holder, ArticleFlavorInfo afi) { if (afi.flavorImageUri != null) { if (afi.flavorStreamUri != null) { - holder.flavorVideoKindView.setImageResource(R.drawable.ic_play_circle); + holder.flavorVideoKindView.setImageResource(R.drawable.baseline_play_circle_24); holder.flavorVideoKindView.setVisibility(View.VISIBLE); } else if (afi.mediaList.size() > 1) { - holder.flavorVideoKindView.setImageResource(R.drawable.ic_image_album); + holder.flavorVideoKindView.setImageResource(R.drawable.baseline_photo_album_24); holder.flavorVideoKindView.setVisibility(View.VISIBLE); } else { holder.flavorVideoKindView.setVisibility(View.INVISIBLE); @@ -1208,9 +1185,6 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis if (score < -500) { tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); - } else if (score > 500) { - tv.setTextColor(titleHighScoreUnreadColor); - tv.setPaintFlags(tv.getPaintFlags() & ~Paint.STRIKE_THRU_TEXT_FLAG); } else { tv.setTextColor(origTitleColors[viewType].intValue()); tv.setPaintFlags(tv.getPaintFlags() & ~Paint.STRIKE_THRU_TEXT_FLAG); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineMasterActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineMasterActivity.java index efd1ed97..44016124 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineMasterActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineMasterActivity.java @@ -25,6 +25,8 @@ import androidx.drawerlayout.widget.DrawerLayout; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentTransaction; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + import java.util.HashMap; public class OfflineMasterActivity extends OfflineActivity implements OfflineHeadlinesEventListener { @@ -141,9 +143,7 @@ public class OfflineMasterActivity extends OfflineActivity implements OfflineHea return true; } - switch (item.getItemId()) { - case R.id.headlines_toggle_sort_order: - /* SharedPreferences.Editor editor = m_prefs.edit(); + if (item.getItemId() == R.id.headlines_toggle_sort_order) {/* SharedPreferences.Editor editor = m_prefs.edit(); editor.putBoolean("offline_oldest_first", !m_prefs.getBoolean("offline_oldest_first", false)); editor.commit(); refresh(); */ @@ -152,10 +152,10 @@ public class OfflineMasterActivity extends OfflineActivity implements OfflineHea int selectedIndex = m_prefs.getBoolean("offline_oldest_first", false) ? 1 : 0; - AlertDialog.Builder builder = new AlertDialog.Builder(this) + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) .setTitle(getString(R.string.headlines_sort_articles_title)) .setSingleChoiceItems( - new String[] { + new String[]{ getString(R.string.headlines_sort_default), getString(R.string.headlines_sort_oldest_first) }, @@ -175,7 +175,7 @@ public class OfflineMasterActivity extends OfflineActivity implements OfflineHea if (true) { SharedPreferences.Editor editor = m_prefs.edit(); editor.putBoolean("offline_oldest_first", true); - editor.apply(); + editor.apply(); } break; } @@ -194,11 +194,10 @@ public class OfflineMasterActivity extends OfflineActivity implements OfflineHea invalidateOptionsMenu(); refresh(); return true; */ - default: - Log.d(TAG, "onOptionsItemSelected, unhandled id=" + item.getItemId()); - return super.onOptionsItemSelected(item); - } - } + } + Log.d(TAG, "onOptionsItemSelected, unhandled id=" + item.getItemId()); + return super.onOptionsItemSelected(item); + } @Override public void onSaveInstanceState(Bundle out) { diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineUploadService.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineUploadService.java index cce355a1..efbeef2c 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineUploadService.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineUploadService.java @@ -68,7 +68,7 @@ public class OfflineUploadService extends IntentService { .setContentTitle(getString(R.string.notify_uploading_title)) .setContentIntent(contentIntent) .setWhen(System.currentTimeMillis()) - .setSmallIcon(R.drawable.ic_cloud_upload) + .setSmallIcon(R.drawable.baseline_cloud_upload_24) .setLargeIcon(BitmapFactory.decodeResource(getApplicationContext().getResources(), R.drawable.ic_launcher)) .setOngoing(!isError) @@ -79,7 +79,7 @@ public class OfflineUploadService extends IntentService { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { builder.setCategory(Notification.CATEGORY_PROGRESS) - .setVisibility(Notification.VISIBILITY_PUBLIC) + .setVisibility(NotificationCompat.VISIBILITY_PUBLIC) .setColor(0x88b0f0) .setGroup("org.fox.ttrss") .addAction(R.drawable.ic_launcher, getString(R.string.offline_sync_try_again), contentIntent); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/share/CommonShareActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/share/CommonShareActivity.java index b6a989b1..39d6c2ef 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/share/CommonShareActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/share/CommonShareActivity.java @@ -1,6 +1,7 @@ package org.fox.ttrss.share; import android.app.AlertDialog; +import android.app.Dialog; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; @@ -11,18 +12,18 @@ import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + import org.fox.ttrss.ApiRequest; import org.fox.ttrss.PreferencesActivity; import org.fox.ttrss.R; import org.fox.ttrss.util.SimpleLoginManager; -import icepick.State; - public abstract class CommonShareActivity extends CommonActivity { protected SharedPreferences m_prefs; - @State protected String m_sessionId; - @State protected int m_apiLevel = 0; + protected String m_sessionId; + protected int m_apiLevel = 0; private final String TAG = this.getClass().getSimpleName(); @@ -31,9 +32,22 @@ public abstract class CommonShareActivity extends CommonActivity { m_prefs = PreferenceManager .getDefaultSharedPreferences(getApplicationContext()); + if (savedInstanceState != null) { + m_sessionId = savedInstanceState.getString("m_sessionId"); + m_apiLevel = savedInstanceState.getInt("m_apiLevel"); + } + super.onCreate(savedInstanceState); } + @Override + public void onSaveInstanceState(Bundle out) { + super.onSaveInstanceState(out); + + out.putString("m_sessionId", m_sessionId); + out.putInt("m_apiLevel", m_apiLevel); + } + protected abstract void onLoggedIn(int requestId); protected abstract void onLoggingIn(int requestId); @@ -42,10 +56,10 @@ public abstract class CommonShareActivity extends CommonActivity { if (m_prefs.getString("ttrss_url", "").trim().length() == 0) { - AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setMessage(R.string.dialog_need_configure_prompt) - .setCancelable(false) - .setPositiveButton(R.string.dialog_open_preferences, new DialogInterface.OnClickListener() { + MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) + .setMessage(R.string.dialog_need_configure_prompt) + .setCancelable(false) + .setPositiveButton(R.string.dialog_open_preferences, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { // launch preferences @@ -54,12 +68,12 @@ public abstract class CommonShareActivity extends CommonActivity { startActivityForResult(intent, 0); } }) - .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { + .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); - AlertDialog alert = builder.create(); + Dialog alert = builder.create(); alert.show(); } else { @@ -94,18 +108,16 @@ public abstract class CommonShareActivity extends CommonActivity { } public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case R.id.preferences: - Intent intent = new Intent(CommonShareActivity.this, - PreferencesActivity.class); - startActivityForResult(intent, 0); - return true; - default: - Log.d(TAG, - "onOptionsItemSelected, unhandled id=" + item.getItemId()); - return super.onOptionsItemSelected(item); - } - } + if (item.getItemId() == R.id.preferences) { + Intent intent = new Intent(CommonShareActivity.this, + PreferencesActivity.class); + startActivityForResult(intent, 0); + return true; + } + Log.d(TAG, + "onOptionsItemSelected, unhandled id=" + item.getItemId()); + return super.onOptionsItemSelected(item); + } @Override public boolean onCreateOptionsMenu(Menu menu) { diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/share/ShareActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/share/ShareActivity.java index 3b1da2c9..9e391411 100644 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/share/ShareActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/share/ShareActivity.java @@ -22,12 +22,10 @@ public class ShareActivity extends CommonShareActivity { @Override public void onCreate(Bundle savedInstanceState) { - //setTheme(R.style.DarkTheme); - super.onCreate(savedInstanceState); - - requestWindowFeature(Window.FEATURE_LEFT_ICON); + requestWindowFeature(Window.FEATURE_LEFT_ICON); + Intent intent = getIntent(); String urlValue = intent.getStringExtra(Intent.EXTRA_TEXT); @@ -41,9 +39,7 @@ public class ShareActivity extends CommonShareActivity { } setContentView(R.layout.activity_share); - - getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.ic_launcher); - + setSmallScreen(false); EditText url = (EditText) findViewById(R.id.url); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/share/SubscribeActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/share/SubscribeActivity.java index 1463958d..df0c82f9 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/share/SubscribeActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/share/SubscribeActivity.java @@ -90,9 +90,7 @@ public class SubscribeActivity extends CommonShareActivity { setContentView(R.layout.activity_subscribe); - getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.ic_launcher); - - setSmallScreen(false); + setSmallScreen(false); m_progressBar = (ProgressBar) findViewById(R.id.subscribe_progress); Spinner catList = (Spinner) findViewById(R.id.category_spinner); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/types/GalleryEntry.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/GalleryEntry.java index 0eb45074..50e34f78 100644 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/types/GalleryEntry.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/types/GalleryEntry.java @@ -1,14 +1,51 @@ package org.fox.ttrss.types; +import android.os.Parcel; +import android.os.Parcelable; + import java.io.Serializable; -public class GalleryEntry implements Serializable { +public class GalleryEntry implements Serializable, Parcelable { + @Override + public int describeContents() { + return 0; + } + + @SuppressWarnings("rawtypes") + public static final Parcelable.Creator CREATOR = + new Parcelable.Creator() { + public GalleryEntry createFromParcel(Parcel in) { + return new GalleryEntry(in); + } + + public GalleryEntry[] newArray(int size) { + return new GalleryEntry[size]; + } + }; + public enum GalleryEntryType { TYPE_IMAGE, TYPE_VIDEO } public String url; public GalleryEntryType type; public String coverUrl; + @Override + public void writeToParcel(Parcel out, int flags) { + out.writeString(url); + out.writeString(type.name()); + out.writeString(coverUrl); + } + + public void readFromParcel(Parcel in) { + url = in.readString(); + type = GalleryEntryType.valueOf(in.readString()); + coverUrl = in.readString(); + } + + public GalleryEntry(Parcel in) { + readFromParcel(in); + } + public GalleryEntry() { // } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/FontSizeDialogPreference.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/util/FontSizeDialogPreference.java deleted file mode 100644 index 3f3d1a53..00000000 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/FontSizeDialogPreference.java +++ /dev/null @@ -1,224 +0,0 @@ -package org.fox.ttrss.util; - -// http://www.lukehorvat.com/blog/android-seekbardialogpreference/ - -import android.content.Context; -import android.content.res.TypedArray; -import android.os.Parcel; -import android.os.Parcelable; -import android.preference.DialogPreference; -import android.util.AttributeSet; -import android.util.TypedValue; -import android.view.View; -import android.widget.SeekBar; -import android.widget.SeekBar.OnSeekBarChangeListener; -import android.widget.TextView; - -import org.fox.ttrss.R; - -/** - * A {@link DialogPreference} that provides a user with the means to select an - * integer from a {@link SeekBar}, and persist it. - * - * @author lukehorvat - * - */ -public class FontSizeDialogPreference extends DialogPreference { - private static final int DEFAULT_MIN_PROGRESS = 9; - private static final int DEFAULT_MAX_PROGRESS = 24; - private static final String DEFAULT_PROGRESS = "0"; - - private int mMinProgress = DEFAULT_MIN_PROGRESS; - private int mMaxProgress = DEFAULT_MAX_PROGRESS; - private int mProgress; - private CharSequence mProgressTextSuffix; - private TextView mProgressText; - private SeekBar mSeekBar; - - public FontSizeDialogPreference(Context context) { - this(context, null); - } - - public FontSizeDialogPreference(Context context, AttributeSet attrs) { - super(context, attrs); - - setProgressTextSuffix(" " + context.getString(R.string.font_size_dialog_suffix)); - - // set layout - setDialogLayoutResource(R.layout.settings_select_font_size); - setPositiveButtonText(android.R.string.ok); - setNegativeButtonText(android.R.string.cancel); - setDialogIcon(null); - } - - @Override - protected void onSetInitialValue(boolean restore, Object defaultValue) { - setProgress(restore ? Integer.valueOf(getPersistedString(DEFAULT_PROGRESS)) - : Integer.valueOf((String)defaultValue)); - } - - @Override - protected Object onGetDefaultValue(TypedArray a, int index) { - return a.getString(index); - } - - @Override - protected void onBindDialogView(View view) { - super.onBindDialogView(view); - - mProgressText = (TextView) view.findViewById(R.id.text_progress); - - mSeekBar = (SeekBar) view.findViewById(R.id.seek_bar); - mSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { - @Override - public void onStopTrackingTouch(SeekBar seekBar) { - } - - @Override - public void onStartTrackingTouch(SeekBar seekBar) { - } - - @Override - public void onProgressChanged(SeekBar seekBar, int progress, - boolean fromUser) { - // update text that displays the current SeekBar progress value - // note: this does not persist the progress value. that is only - // ever done in setProgress() - String progressStr = String.valueOf(progress + mMinProgress); - mProgressText.setText(mProgressTextSuffix == null ? progressStr - : progressStr.concat(mProgressTextSuffix.toString())); - mProgressText.setTextSize(TypedValue.COMPLEX_UNIT_SP, progress + mMinProgress); - } - }); - - mSeekBar.setMax(mMaxProgress - mMinProgress); - mSeekBar.setProgress(mProgress - mMinProgress); - } - - public int getMinProgress() { - return mMinProgress; - } - - public void setMinProgress(int minProgress) { - mMinProgress = minProgress; - setProgress(Math.max(mProgress, mMinProgress)); - } - - public int getMaxProgress() { - return mMaxProgress; - } - - public void setMaxProgress(int maxProgress) { - mMaxProgress = maxProgress; - setProgress(Math.min(mProgress, mMaxProgress)); - } - - public int getProgress() { - return mProgress; - } - - public void setProgress(int progress) { - progress = Math.max(Math.min(progress, mMaxProgress), mMinProgress); - - if (progress != mProgress) { - mProgress = progress; - persistString(String.valueOf(progress)); - notifyChanged(); - } - } - - public CharSequence getProgressTextSuffix() { - return mProgressTextSuffix; - } - - public void setProgressTextSuffix(CharSequence progressTextSuffix) { - mProgressTextSuffix = progressTextSuffix; - } - - @Override - protected void onDialogClosed(boolean positiveResult) { - super.onDialogClosed(positiveResult); - - // when the user selects "OK", persist the new value - if (positiveResult) { - int seekBarProgress = mSeekBar.getProgress() + mMinProgress; - if (callChangeListener(seekBarProgress)) { - setProgress(seekBarProgress); - } - } - } - - @Override - protected Parcelable onSaveInstanceState() { - // save the instance state so that it will survive screen orientation - // changes and other events that may temporarily destroy it - final Parcelable superState = super.onSaveInstanceState(); - - // set the state's value with the class member that holds current - // setting value - final SavedState myState = new SavedState(superState); - myState.minProgress = getMinProgress(); - myState.maxProgress = getMaxProgress(); - myState.progress = getProgress(); - - return myState; - } - - @Override - protected void onRestoreInstanceState(Parcelable state) { - // check whether we saved the state in onSaveInstanceState() - if (state == null || !state.getClass().equals(SavedState.class)) { - // didn't save the state, so call superclass - super.onRestoreInstanceState(state); - return; - } - - // restore the state - SavedState myState = (SavedState) state; - setMinProgress(myState.minProgress); - setMaxProgress(myState.maxProgress); - setProgress(myState.progress); - - super.onRestoreInstanceState(myState.getSuperState()); - } - - private static class SavedState extends BaseSavedState { - int minProgress; - int maxProgress; - int progress; - - public SavedState(Parcelable superState) { - super(superState); - } - - public SavedState(Parcel source) { - super(source); - - minProgress = source.readInt(); - maxProgress = source.readInt(); - progress = source.readInt(); - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - super.writeToParcel(dest, flags); - - dest.writeInt(minProgress); - dest.writeInt(maxProgress); - dest.writeInt(progress); - } - - @SuppressWarnings("unused") - public static final Parcelable.Creator<SavedState> CREATOR = new Parcelable.Creator<SavedState>() { - @Override - public SavedState createFromParcel(Parcel in) { - return new SavedState(in); - } - - @Override - public SavedState[] newArray(int size) { - return new SavedState[size]; - } - }; - } -}
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/ImageCacheService.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/util/ImageCacheService.java index ae8e7a4c..b2ae08f7 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/ImageCacheService.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/util/ImageCacheService.java @@ -204,7 +204,7 @@ public class ImageCacheService extends IntentService { .setContentTitle(getString(R.string.notify_downloading_title)) .setContentIntent(contentIntent) .setWhen(System.currentTimeMillis()) - .setSmallIcon(R.drawable.ic_cloud_download) + .setSmallIcon(R.drawable.baseline_cloud_download_24) .setLargeIcon(BitmapFactory.decodeResource(getApplicationContext().getResources(), R.drawable.ic_launcher)) .setOngoing(true) diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/LessBrokenSwitchPreference.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/util/LessBrokenSwitchPreference.java deleted file mode 100644 index df116064..00000000 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/LessBrokenSwitchPreference.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.fox.ttrss.util; - -// android is shit garbage -// https://code.google.com/p/android/issues/detail?id=26194 - -import android.content.Context; -import android.preference.SwitchPreference; -import android.util.AttributeSet; -import android.view.View; -import android.view.ViewGroup; -import android.widget.Switch; - -public class LessBrokenSwitchPreference extends SwitchPreference { - - /** - * Construct a new SwitchPreference with the given style options. - * - * @param context The Context that will style this preference - * @param attrs Style attributes that differ from the default - * @param defStyle Theme attribute defining the default style options - */ - public LessBrokenSwitchPreference(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - /** - * Construct a new SwitchPreference with the given style options. - * - * @param context The Context that will style this preference - * @param attrs Style attributes that differ from the default - */ - public LessBrokenSwitchPreference(Context context, AttributeSet attrs) { - super(context, attrs); - } - - /** - * Construct a new SwitchPreference with default style options. - * - * @param context The Context that will style this preference - */ - public LessBrokenSwitchPreference(Context context) { - super(context, null); - } - - @Override - protected void onBindView(View view) { - // Clean listener before invoke SwitchPreference.onBindView - ViewGroup viewGroup= (ViewGroup)view; - clearListenerInViewGroup(viewGroup); - super.onBindView(view); - } - - /** - * Clear listener in Switch for specify ViewGroup. - * - * @param viewGroup The ViewGroup that will need to clear the listener. - */ - private void clearListenerInViewGroup(ViewGroup viewGroup) { - if (null == viewGroup) { - return; - } - - int count = viewGroup.getChildCount(); - for(int n = 0; n < count; ++n) { - View childView = viewGroup.getChildAt(n); - if(childView instanceof Switch) { - final Switch switchView = (Switch) childView; - switchView.setOnCheckedChangeListener(null); - return; - } else if (childView instanceof ViewGroup){ - ViewGroup childGroup = (ViewGroup)childView; - clearListenerInViewGroup(childGroup); - } - } - } - -}
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/LessBrokenWebView.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/util/LessBrokenWebView.java deleted file mode 100644 index 4a3ea826..00000000 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/LessBrokenWebView.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.fox.ttrss.util; - -import android.content.Context; -import android.util.AttributeSet; -import android.view.MotionEvent; -import android.webkit.WebView; - -public class LessBrokenWebView extends WebView { - - public LessBrokenWebView(Context context) { - super(context); - // TODO Auto-generated constructor stub - } - - public LessBrokenWebView(Context context, AttributeSet attrs) { - super(context, attrs); - // TODO Auto-generated constructor stub - } - - public LessBrokenWebView(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - // TODO Auto-generated constructor stub - } - - @Override - public boolean onTouchEvent(MotionEvent event) { - - if (event.getAction() == MotionEvent.ACTION_DOWN) { - int temp_ScrollY = getScrollY(); - scrollTo(getScrollX(), getScrollY() + 1); - scrollTo(getScrollX(), temp_ScrollY); - } - - return super.onTouchEvent(event); - } - -} diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/ScrimInsetsFrameLayout.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/util/ScrimInsetsFrameLayout.java deleted file mode 100755 index d3a5ab27..00000000 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/ScrimInsetsFrameLayout.java +++ /dev/null @@ -1,142 +0,0 @@ -package org.fox.ttrss.util; -/* - * Copyright 2014 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import android.content.Context; -import android.content.res.TypedArray; -import android.graphics.Canvas; -import android.graphics.Rect; -import android.graphics.drawable.Drawable; -import android.util.AttributeSet; -import android.widget.FrameLayout; - -import org.fox.ttrss.R; - -import androidx.core.view.ViewCompat; - -/** - * A layout that draws something in the insets passed to {@link #fitSystemWindows(Rect)}, i.e. the area above UI chrome - * (status and navigation bars, overlay action bars). - */ -public class ScrimInsetsFrameLayout extends FrameLayout { - private Drawable mInsetForeground; - - private Rect mInsets; - private Rect mTempRect = new Rect(); - private OnInsetsCallback mOnInsetsCallback; - - public ScrimInsetsFrameLayout(Context context) { - super(context); - init(context, null, 0); - } - - public ScrimInsetsFrameLayout(Context context, AttributeSet attrs) { - super(context, attrs); - init(context, attrs, 0); - } - - public ScrimInsetsFrameLayout(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - init(context, attrs, defStyle); - } - - private void init(Context context, AttributeSet attrs, int defStyle) { - final TypedArray a = context.obtainStyledAttributes(attrs, - R.styleable.ScrimInsetsView, defStyle, 0); - if (a == null) { - return; - } - mInsetForeground = a.getDrawable(R.styleable.ScrimInsetsView_insetForeground); - a.recycle(); - - setWillNotDraw(true); - } - - @Override - protected boolean fitSystemWindows(Rect insets) { - mInsets = new Rect(insets); - setWillNotDraw(mInsetForeground == null); - ViewCompat.postInvalidateOnAnimation(this); - if (mOnInsetsCallback != null) { - mOnInsetsCallback.onInsetsChanged(insets); - } - return true; // consume insets - } - - @Override - public void draw(Canvas canvas) { - super.draw(canvas); - - int width = getWidth(); - int height = getHeight(); - if (mInsets != null && mInsetForeground != null) { - int sc = canvas.save(); - canvas.translate(getScrollX(), getScrollY()); - - // Top - mTempRect.set(0, 0, width, mInsets.top); - mInsetForeground.setBounds(mTempRect); - mInsetForeground.draw(canvas); - - // Bottom - mTempRect.set(0, height - mInsets.bottom, width, height); - mInsetForeground.setBounds(mTempRect); - mInsetForeground.draw(canvas); - - // Left - mTempRect.set(0, mInsets.top, mInsets.left, height - mInsets.bottom); - mInsetForeground.setBounds(mTempRect); - mInsetForeground.draw(canvas); - - // Right - mTempRect.set(width - mInsets.right, mInsets.top, width, height - mInsets.bottom); - mInsetForeground.setBounds(mTempRect); - mInsetForeground.draw(canvas); - - canvas.restoreToCount(sc); - } - } - - @Override - protected void onAttachedToWindow() { - super.onAttachedToWindow(); - if (mInsetForeground != null) { - mInsetForeground.setCallback(this); - } - } - - @Override - protected void onDetachedFromWindow() { - super.onDetachedFromWindow(); - if (mInsetForeground != null) { - mInsetForeground.setCallback(null); - } - } - - /** - * Allows the calling container to specify a callback for custom processing when insets change (i.e. when - * {@link #fitSystemWindows(Rect)} is called. This is useful for setting padding on UI elements based on - * UI chrome insets (e.g. a Google Map or a ListView). When using with ListView or GridView, remember to set - * clipToPadding to false. - */ - public void setOnInsetsCallback(OnInsetsCallback onInsetsCallback) { - mOnInsetsCallback = onInsetsCallback; - } - - public interface OnInsetsCallback { - void onInsetsChanged(Rect insets); - } -}
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/dashclock.png b/org.fox.ttrss/src/main/res/drawable-hdpi/dashclock.png Binary files differdeleted file mode 100644 index 99ffa932..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/dashclock.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/drawer_header.png b/org.fox.ttrss/src/main/res/drawable-hdpi/drawer_header.png Binary files differdeleted file mode 100644 index d556700b..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/drawer_header.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/drawer_header_amber.png b/org.fox.ttrss/src/main/res/drawable-hdpi/drawer_header_amber.png Binary files differdeleted file mode 100644 index e41c647d..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/drawer_header_amber.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/drawer_header_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/drawer_header_dark.png Binary files differdeleted file mode 100644 index 7cf97e22..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/drawer_header_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_trending_down.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_trending_down.png Binary files differdeleted file mode 100644 index d84624ca..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_trending_down.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_trending_down_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_trending_down_dark.png Binary files differdeleted file mode 100644 index 1b4e2ac6..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_trending_down_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_trending_flat.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_trending_flat.png Binary files differdeleted file mode 100644 index ec65283b..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_trending_flat.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_trending_flat_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_trending_flat_dark.png Binary files differdeleted file mode 100644 index d877db05..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_trending_flat_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_trending_up.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_trending_up.png Binary files differdeleted file mode 100644 index 68945759..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_trending_up.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_trending_up_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_trending_up_dark.png Binary files differdeleted file mode 100644 index b3ecbf00..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_trending_up_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_web_site.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_web_site.png Binary files differdeleted file mode 100644 index b7347bbc..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_action_web_site.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_archive.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_archive.png Binary files differdeleted file mode 100644 index 86658e2c..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_archive.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_archive_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_archive_dark.png Binary files differdeleted file mode 100644 index 6849379a..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_archive_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_attachment.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_attachment.png Binary files differdeleted file mode 100644 index d444973e..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_attachment.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_attachment_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_attachment_dark.png Binary files differdeleted file mode 100644 index 2f7c51d1..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_attachment_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_attachment_vert.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_attachment_vert.png Binary files differdeleted file mode 100644 index 389acd29..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_attachment_vert.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_attachment_vert_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_attachment_vert_dark.png Binary files differdeleted file mode 100644 index 9e92b8c5..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_attachment_vert_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_checkbox_marked.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_checkbox_marked.png Binary files differdeleted file mode 100644 index a568060a..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_checkbox_marked.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_checkbox_marked_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_checkbox_marked_dark.png Binary files differdeleted file mode 100644 index 67bd912b..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_checkbox_marked_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_cloud_download.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_cloud_download.png Binary files differdeleted file mode 100644 index 5d15649c..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_cloud_download.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_cloud_download_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_cloud_download_dark.png Binary files differdeleted file mode 100644 index a9fee824..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_cloud_download_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_cloud_upload.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_cloud_upload.png Binary files differdeleted file mode 100644 index c27d448d..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_cloud_upload.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_cloud_upload_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_cloud_upload_dark.png Binary files differdeleted file mode 100644 index b685b8d3..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_cloud_upload_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_content_copy.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_content_copy.png Binary files differdeleted file mode 100644 index f3febcae..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_content_copy.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_dots_vertical.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_dots_vertical.png Binary files differdeleted file mode 100644 index 9e091806..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_dots_vertical.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_dots_vertical_circle.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_dots_vertical_circle.png Binary files differdeleted file mode 100644 index 8f24f42c..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_dots_vertical_circle.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_dots_vertical_circle_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_dots_vertical_circle_dark.png Binary files differdeleted file mode 100644 index bd6275c7..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_dots_vertical_circle_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_dots_vertical_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_dots_vertical_dark.png Binary files differdeleted file mode 100644 index 1819c7f3..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_dots_vertical_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_email.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_email.png Binary files differdeleted file mode 100644 index c3a004a3..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_email.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_email_open.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_email_open.png Binary files differdeleted file mode 100644 index 463a808b..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_email_open.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_filter_variant.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_filter_variant.png Binary files differdeleted file mode 100644 index 4faa102b..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_filter_variant.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_filter_variant_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_filter_variant_dark.png Binary files differdeleted file mode 100644 index 623ea2c5..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_filter_variant_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_folder_outline.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_folder_outline.png Binary files differdeleted file mode 100644 index f7cc7739..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_folder_outline.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_folder_outline_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_folder_outline_dark.png Binary files differdeleted file mode 100644 index 2c505beb..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_folder_outline_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_fresh.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_fresh.png Binary files differdeleted file mode 100644 index 650d0f11..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_fresh.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_fresh_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_fresh_dark.png Binary files differdeleted file mode 100644 index 29bed701..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_fresh_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_go_back.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_go_back.png Binary files differdeleted file mode 100644 index fc6ebb25..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_go_back.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_go_back_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_go_back_dark.png Binary files differdeleted file mode 100644 index e4322c95..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_go_back_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_image_album.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_image_album.png Binary files differdeleted file mode 100644 index 58ae6503..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_image_album.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_inbox.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_inbox.png Binary files differdeleted file mode 100644 index 92ab24ce..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_inbox.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_inbox_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_inbox_dark.png Binary files differdeleted file mode 100644 index 9c42749c..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_inbox_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_login.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_login.png Binary files differdeleted file mode 100644 index b4e322e2..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_login.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_logout.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_logout.png Binary files differdeleted file mode 100644 index 1778fb15..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_logout.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_play_circle.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_play_circle.png Binary files differdeleted file mode 100644 index b4d4f903..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_play_circle.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_refresh.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_refresh.png Binary files differdeleted file mode 100644 index 8c0a324d..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_refresh.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_restore.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_restore.png Binary files differdeleted file mode 100644 index 3cc4fd3f..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_restore.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_restore_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_restore_dark.png Binary files differdeleted file mode 100644 index d3282429..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_restore_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_rss_box.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_rss_box.png Binary files differdeleted file mode 100644 index 2139f158..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_rss_box.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_rss_box_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_rss_box_dark.png Binary files differdeleted file mode 100644 index 8ea7af61..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_rss_box_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_search.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_search.png Binary files differdeleted file mode 100644 index da11a757..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_search.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_select.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_select.png Binary files differdeleted file mode 100644 index 6c469fe9..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_select.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_settings.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_settings.png Binary files differdeleted file mode 100644 index e65808c9..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_settings.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_settings_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_settings_dark.png Binary files differdeleted file mode 100644 index c404fd0c..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_settings_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_share.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_share.png Binary files differdeleted file mode 100644 index 60269c5f..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_share.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_share_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_share_dark.png Binary files differdeleted file mode 100644 index 7d730af3..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_share_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_sort.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_sort.png Binary files differdeleted file mode 100644 index 69815f4a..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_sort.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_star.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_star.png Binary files differdeleted file mode 100644 index aadffe6a..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_star.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_star_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_star_dark.png Binary files differdeleted file mode 100644 index a9e5ba81..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_star_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_star_outline.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_star_outline.png Binary files differdeleted file mode 100644 index e5e5c271..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_star_outline.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_star_outline_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_star_outline_dark.png Binary files differdeleted file mode 100644 index 17afc5f5..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_star_outline_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_youtube_play.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_youtube_play.png Binary files differdeleted file mode 100644 index f36d9259..00000000 --- a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_youtube_play.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_trending_down.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_trending_down.png Binary files differdeleted file mode 100644 index 7dcdca0e..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_trending_down.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_trending_down_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_trending_down_dark.png Binary files differdeleted file mode 100644 index 37ea9a33..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_trending_down_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_trending_flat.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_trending_flat.png Binary files differdeleted file mode 100644 index 7b47abd1..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_trending_flat.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_trending_flat_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_trending_flat_dark.png Binary files differdeleted file mode 100644 index d9251d44..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_trending_flat_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_trending_up.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_trending_up.png Binary files differdeleted file mode 100644 index fe3218cf..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_trending_up.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_trending_up_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_trending_up_dark.png Binary files differdeleted file mode 100644 index 5af3c92e..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_trending_up_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_web_site.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_web_site.png Binary files differdeleted file mode 100644 index 7e5958ac..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_action_web_site.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_archive.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_archive.png Binary files differdeleted file mode 100644 index 908e4bbc..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_archive.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_archive_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_archive_dark.png Binary files differdeleted file mode 100644 index 0a350363..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_archive_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_attachment.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_attachment.png Binary files differdeleted file mode 100644 index 24ed83da..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_attachment.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_attachment_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_attachment_dark.png Binary files differdeleted file mode 100644 index 9936076e..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_attachment_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_attachment_vert.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_attachment_vert.png Binary files differdeleted file mode 100644 index 781b6372..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_attachment_vert.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_attachment_vert_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_attachment_vert_dark.png Binary files differdeleted file mode 100644 index 7c884662..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_attachment_vert_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_checkbox_marked.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_checkbox_marked.png Binary files differdeleted file mode 100644 index cea1ad89..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_checkbox_marked.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_checkbox_marked_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_checkbox_marked_dark.png Binary files differdeleted file mode 100644 index 4b85499d..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_checkbox_marked_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_cloud_download.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_cloud_download.png Binary files differdeleted file mode 100644 index 7ac3955f..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_cloud_download.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_cloud_download_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_cloud_download_dark.png Binary files differdeleted file mode 100644 index 37c3ccf9..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_cloud_download_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_cloud_upload.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_cloud_upload.png Binary files differdeleted file mode 100644 index f84984b0..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_cloud_upload.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_cloud_upload_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_cloud_upload_dark.png Binary files differdeleted file mode 100644 index d025c97e..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_cloud_upload_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_content_copy.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_content_copy.png Binary files differdeleted file mode 100644 index aff7317c..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_content_copy.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_dots_vertical.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_dots_vertical.png Binary files differdeleted file mode 100644 index 38591372..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_dots_vertical.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_dots_vertical_circle.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_dots_vertical_circle.png Binary files differdeleted file mode 100644 index cb96e59b..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_dots_vertical_circle.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_dots_vertical_circle_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_dots_vertical_circle_dark.png Binary files differdeleted file mode 100644 index 1284feba..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_dots_vertical_circle_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_dots_vertical_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_dots_vertical_dark.png Binary files differdeleted file mode 100644 index eb100c47..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_dots_vertical_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_email.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_email.png Binary files differdeleted file mode 100644 index 688bcfdf..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_email.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_email_open.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_email_open.png Binary files differdeleted file mode 100644 index e3156355..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_email_open.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_filter_variant.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_filter_variant.png Binary files differdeleted file mode 100644 index 7f3d0364..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_filter_variant.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_filter_variant_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_filter_variant_dark.png Binary files differdeleted file mode 100644 index a761e237..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_filter_variant_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_folder_outline.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_folder_outline.png Binary files differdeleted file mode 100644 index 6c1d7d85..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_folder_outline.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_folder_outline_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_folder_outline_dark.png Binary files differdeleted file mode 100644 index 84a81461..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_folder_outline_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_fresh.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_fresh.png Binary files differdeleted file mode 100644 index 6c098bf5..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_fresh.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_fresh_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_fresh_dark.png Binary files differdeleted file mode 100644 index 2bce1991..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_fresh_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_go_back.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_go_back.png Binary files differdeleted file mode 100644 index e88fe3db..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_go_back.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_go_back_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_go_back_dark.png Binary files differdeleted file mode 100644 index bbe935db..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_go_back_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_image_album.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_image_album.png Binary files differdeleted file mode 100644 index 5c943d79..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_image_album.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_inbox.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_inbox.png Binary files differdeleted file mode 100644 index b12f5c19..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_inbox.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_inbox_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_inbox_dark.png Binary files differdeleted file mode 100644 index 3ad671e3..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_inbox_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_login.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_login.png Binary files differdeleted file mode 100644 index b6ea39c8..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_login.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_logout.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_logout.png Binary files differdeleted file mode 100644 index 24abb2fb..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_logout.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_play_circle.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_play_circle.png Binary files differdeleted file mode 100644 index e442ae26..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_play_circle.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_refresh.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_refresh.png Binary files differdeleted file mode 100644 index 47e67916..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_refresh.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_restore.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_restore.png Binary files differdeleted file mode 100644 index 8417d747..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_restore.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_restore_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_restore_dark.png Binary files differdeleted file mode 100644 index 6b5bee62..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_restore_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_rss_box.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_rss_box.png Binary files differdeleted file mode 100644 index fd54c863..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_rss_box.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_rss_box_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_rss_box_dark.png Binary files differdeleted file mode 100644 index 1a878c47..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_rss_box_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_search.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_search.png Binary files differdeleted file mode 100644 index ddd225a7..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_search.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_select.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_select.png Binary files differdeleted file mode 100644 index 19dfda24..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_select.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_settings.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_settings.png Binary files differdeleted file mode 100644 index 6f4637a7..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_settings.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_settings_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_settings_dark.png Binary files differdeleted file mode 100644 index 9947ffb8..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_settings_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_share.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_share.png Binary files differdeleted file mode 100644 index cff4a732..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_share.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_share_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_share_dark.png Binary files differdeleted file mode 100644 index 829087f8..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_share_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_sort.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_sort.png Binary files differdeleted file mode 100644 index 31c6806f..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_sort.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_star.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_star.png Binary files differdeleted file mode 100644 index c87100e2..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_star.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_star_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_star_dark.png Binary files differdeleted file mode 100644 index 6d15e8a7..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_star_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_star_outline.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_star_outline.png Binary files differdeleted file mode 100644 index a53d0f60..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_star_outline.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_star_outline_dark.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_star_outline_dark.png Binary files differdeleted file mode 100644 index d0405813..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_star_outline_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_youtube_play.png b/org.fox.ttrss/src/main/res/drawable-mdpi/ic_youtube_play.png Binary files differdeleted file mode 100644 index 5dbfc8d1..00000000 --- a/org.fox.ttrss/src/main/res/drawable-mdpi/ic_youtube_play.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/dashclock.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/dashclock.png Binary files differdeleted file mode 100644 index 65ebe3c1..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/dashclock.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_trending_down.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_trending_down.png Binary files differdeleted file mode 100644 index 53ff92a2..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_trending_down.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_trending_down_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_trending_down_dark.png Binary files differdeleted file mode 100644 index 0f15737f..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_trending_down_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_trending_flat.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_trending_flat.png Binary files differdeleted file mode 100644 index 33d96f00..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_trending_flat.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_trending_flat_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_trending_flat_dark.png Binary files differdeleted file mode 100644 index 8c1ea784..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_trending_flat_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_trending_up.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_trending_up.png Binary files differdeleted file mode 100644 index 33b01737..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_trending_up.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_trending_up_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_trending_up_dark.png Binary files differdeleted file mode 100644 index ec479dbf..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_trending_up_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_web_site.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_web_site.png Binary files differdeleted file mode 100644 index db5cbe60..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_action_web_site.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_archive.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_archive.png Binary files differdeleted file mode 100644 index e759dc38..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_archive.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_archive_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_archive_dark.png Binary files differdeleted file mode 100644 index d29d7861..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_archive_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_attachment.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_attachment.png Binary files differdeleted file mode 100644 index 26f61c29..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_attachment.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_attachment_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_attachment_dark.png Binary files differdeleted file mode 100644 index 05aeeff7..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_attachment_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_attachment_vert.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_attachment_vert.png Binary files differdeleted file mode 100644 index 69d778e1..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_attachment_vert.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_attachment_vert_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_attachment_vert_dark.png Binary files differdeleted file mode 100644 index d0657c0e..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_attachment_vert_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_checkbox_marked.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_checkbox_marked.png Binary files differdeleted file mode 100644 index 6964562d..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_checkbox_marked.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_checkbox_marked_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_checkbox_marked_dark.png Binary files differdeleted file mode 100644 index 54936ef9..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_checkbox_marked_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_cloud_download.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_cloud_download.png Binary files differdeleted file mode 100644 index 20bcdd58..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_cloud_download.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_cloud_download_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_cloud_download_dark.png Binary files differdeleted file mode 100644 index c1bb95d7..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_cloud_download_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_cloud_upload.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_cloud_upload.png Binary files differdeleted file mode 100644 index b0bed197..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_cloud_upload.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_cloud_upload_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_cloud_upload_dark.png Binary files differdeleted file mode 100644 index ab9f1c71..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_cloud_upload_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_content_copy.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_content_copy.png Binary files differdeleted file mode 100644 index 9f63f9b0..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_content_copy.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_dots_vertical.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_dots_vertical.png Binary files differdeleted file mode 100644 index 8a1172f2..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_dots_vertical.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_dots_vertical_circle.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_dots_vertical_circle.png Binary files differdeleted file mode 100644 index 469e4074..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_dots_vertical_circle.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_dots_vertical_circle_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_dots_vertical_circle_dark.png Binary files differdeleted file mode 100644 index d7dc01d2..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_dots_vertical_circle_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_dots_vertical_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_dots_vertical_dark.png Binary files differdeleted file mode 100644 index 27538d34..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_dots_vertical_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_email.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_email.png Binary files differdeleted file mode 100644 index c1a79b44..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_email.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_email_open.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_email_open.png Binary files differdeleted file mode 100644 index d65791a1..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_email_open.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_filter_variant.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_filter_variant.png Binary files differdeleted file mode 100644 index 4511f444..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_filter_variant.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_filter_variant_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_filter_variant_dark.png Binary files differdeleted file mode 100644 index 3468b02b..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_filter_variant_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_folder_outline.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_folder_outline.png Binary files differdeleted file mode 100644 index 036daa89..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_folder_outline.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_folder_outline_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_folder_outline_dark.png Binary files differdeleted file mode 100644 index a5eeeca0..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_folder_outline_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_fresh.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_fresh.png Binary files differdeleted file mode 100644 index ff106b38..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_fresh.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_fresh_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_fresh_dark.png Binary files differdeleted file mode 100644 index 7b541ca8..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_fresh_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_go_back.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_go_back.png Binary files differdeleted file mode 100644 index b3a5556b..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_go_back.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_go_back_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_go_back_dark.png Binary files differdeleted file mode 100644 index a2ef528f..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_go_back_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_image_album.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_image_album.png Binary files differdeleted file mode 100644 index 2f4d73cb..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_image_album.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_inbox.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_inbox.png Binary files differdeleted file mode 100644 index 35f6fc1b..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_inbox.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_inbox_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_inbox_dark.png Binary files differdeleted file mode 100644 index bcceb5c4..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_inbox_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_login.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_login.png Binary files differdeleted file mode 100644 index ee7edf0c..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_login.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_logout.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_logout.png Binary files differdeleted file mode 100644 index 25e32eff..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_logout.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_play_circle.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_play_circle.png Binary files differdeleted file mode 100644 index 46b06231..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_play_circle.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_refresh.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_refresh.png Binary files differdeleted file mode 100644 index 2582b47a..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_refresh.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_restore.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_restore.png Binary files differdeleted file mode 100644 index 24052165..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_restore.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_restore_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_restore_dark.png Binary files differdeleted file mode 100644 index b066e8d6..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_restore_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_rss_box.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_rss_box.png Binary files differdeleted file mode 100644 index ad319be9..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_rss_box.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_rss_box_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_rss_box_dark.png Binary files differdeleted file mode 100644 index 7e8b428c..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_rss_box_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_search.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_search.png Binary files differdeleted file mode 100644 index 1e01383f..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_search.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_select.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_select.png Binary files differdeleted file mode 100644 index d46a33e3..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_select.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_settings.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_settings.png Binary files differdeleted file mode 100644 index f01e5372..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_settings.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_settings_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_settings_dark.png Binary files differdeleted file mode 100644 index 27c334bf..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_settings_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_share.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_share.png Binary files differdeleted file mode 100644 index 6688550f..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_share.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_share_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_share_dark.png Binary files differdeleted file mode 100644 index 7185c9be..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_share_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_sort.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_sort.png Binary files differdeleted file mode 100644 index e735d160..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_sort.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_star.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_star.png Binary files differdeleted file mode 100644 index 06a24604..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_star.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_star_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_star_dark.png Binary files differdeleted file mode 100644 index 71fc5c28..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_star_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_star_outline.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_star_outline.png Binary files differdeleted file mode 100644 index 1b932488..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_star_outline.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_star_outline_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_star_outline_dark.png Binary files differdeleted file mode 100644 index 7be768e1..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_star_outline_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_youtube_play.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_youtube_play.png Binary files differdeleted file mode 100644 index 1194d0db..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_youtube_play.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/drawer_header.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/drawer_header.png Binary files differdeleted file mode 100644 index 80c578ba..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/drawer_header.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/drawer_header_amber.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/drawer_header_amber.png Binary files differdeleted file mode 100644 index 463fba18..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/drawer_header_amber.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/drawer_header_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/drawer_header_dark.png Binary files differdeleted file mode 100644 index 77170adb..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/drawer_header_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_trending_down.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_trending_down.png Binary files differdeleted file mode 100644 index c2ec115e..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_trending_down.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_trending_down_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_trending_down_dark.png Binary files differdeleted file mode 100644 index 02183b60..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_trending_down_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_trending_flat.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_trending_flat.png Binary files differdeleted file mode 100644 index 7b51ffcc..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_trending_flat.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_trending_flat_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_trending_flat_dark.png Binary files differdeleted file mode 100644 index f55069c1..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_trending_flat_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_trending_up.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_trending_up.png Binary files differdeleted file mode 100644 index dd732d55..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_trending_up.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_trending_up_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_trending_up_dark.png Binary files differdeleted file mode 100644 index f8d6b481..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_trending_up_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_web_site.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_web_site.png Binary files differdeleted file mode 100644 index 1a845b9f..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_action_web_site.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_archive.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_archive.png Binary files differdeleted file mode 100644 index 97ebb509..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_archive.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_archive_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_archive_dark.png Binary files differdeleted file mode 100644 index 03a36027..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_archive_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_attachment.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_attachment.png Binary files differdeleted file mode 100644 index 0117966d..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_attachment.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_attachment_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_attachment_dark.png Binary files differdeleted file mode 100644 index d91d1cd7..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_attachment_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_attachment_vert.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_attachment_vert.png Binary files differdeleted file mode 100644 index 9df9428f..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_attachment_vert.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_attachment_vert_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_attachment_vert_dark.png Binary files differdeleted file mode 100644 index 369567c6..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_attachment_vert_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_checkbox_marked.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_checkbox_marked.png Binary files differdeleted file mode 100644 index 8237fa47..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_checkbox_marked.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_checkbox_marked_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_checkbox_marked_dark.png Binary files differdeleted file mode 100644 index 84cc49cc..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_checkbox_marked_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_cloud_download.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_cloud_download.png Binary files differdeleted file mode 100644 index 87110eb1..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_cloud_download.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_cloud_download_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_cloud_download_dark.png Binary files differdeleted file mode 100644 index 3906cd11..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_cloud_download_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_cloud_upload.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_cloud_upload.png Binary files differdeleted file mode 100644 index f9d8318d..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_cloud_upload.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_cloud_upload_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_cloud_upload_dark.png Binary files differdeleted file mode 100644 index f02f39f4..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_cloud_upload_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_content_copy.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_content_copy.png Binary files differdeleted file mode 100644 index b4ae0edb..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_content_copy.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_dots_vertical.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_dots_vertical.png Binary files differdeleted file mode 100644 index b1618d48..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_dots_vertical.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_dots_vertical_circle.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_dots_vertical_circle.png Binary files differdeleted file mode 100644 index 2d21a371..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_dots_vertical_circle.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_dots_vertical_circle_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_dots_vertical_circle_dark.png Binary files differdeleted file mode 100644 index 3e09a58d..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_dots_vertical_circle_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_dots_vertical_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_dots_vertical_dark.png Binary files differdeleted file mode 100644 index 449deaea..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_dots_vertical_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_email.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_email.png Binary files differdeleted file mode 100644 index a68455d0..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_email.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_email_open.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_email_open.png Binary files differdeleted file mode 100644 index 7527bb3b..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_email_open.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_filter_variant.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_filter_variant.png Binary files differdeleted file mode 100644 index 8639bb4b..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_filter_variant.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_filter_variant_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_filter_variant_dark.png Binary files differdeleted file mode 100644 index 4bfc1042..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_filter_variant_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_folder_outline.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_folder_outline.png Binary files differdeleted file mode 100644 index 87307ab0..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_folder_outline.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_folder_outline_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_folder_outline_dark.png Binary files differdeleted file mode 100644 index ce60e7e3..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_folder_outline_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_fresh.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_fresh.png Binary files differdeleted file mode 100644 index af3e831b..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_fresh.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_fresh_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_fresh_dark.png Binary files differdeleted file mode 100644 index e2ff7761..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_fresh_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_go_back.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_go_back.png Binary files differdeleted file mode 100644 index 24202f15..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_go_back.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_go_back_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_go_back_dark.png Binary files differdeleted file mode 100644 index ed7dcbd0..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_go_back_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_image_album.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_image_album.png Binary files differdeleted file mode 100644 index a301f00e..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_image_album.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_inbox.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_inbox.png Binary files differdeleted file mode 100644 index 78b64c81..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_inbox.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_inbox_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_inbox_dark.png Binary files differdeleted file mode 100644 index c2752bf9..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_inbox_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_login.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_login.png Binary files differdeleted file mode 100644 index f77fb27a..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_login.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_logout.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_logout.png Binary files differdeleted file mode 100644 index 5ef9b41d..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_logout.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_play_circle.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_play_circle.png Binary files differdeleted file mode 100644 index 0e41ce8c..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_play_circle.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_refresh.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_refresh.png Binary files differdeleted file mode 100644 index 31c4c443..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_refresh.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_restore.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_restore.png Binary files differdeleted file mode 100644 index 2951c59f..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_restore.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_restore_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_restore_dark.png Binary files differdeleted file mode 100644 index 35331d03..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_restore_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_rss_box.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_rss_box.png Binary files differdeleted file mode 100644 index 34b1df58..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_rss_box.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_rss_box_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_rss_box_dark.png Binary files differdeleted file mode 100644 index beb0dd19..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_rss_box_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_search.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_search.png Binary files differdeleted file mode 100644 index 04814136..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_search.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_select.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_select.png Binary files differdeleted file mode 100644 index 4f81a58d..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_select.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_settings.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_settings.png Binary files differdeleted file mode 100644 index 1b0e3149..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_settings.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_settings_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_settings_dark.png Binary files differdeleted file mode 100644 index f51b3913..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_settings_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_share.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_share.png Binary files differdeleted file mode 100644 index a44cf763..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_share.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_share_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_share_dark.png Binary files differdeleted file mode 100644 index 3e712879..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_share_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_sort.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_sort.png Binary files differdeleted file mode 100644 index 0f0f4ed8..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_sort.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_star.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_star.png Binary files differdeleted file mode 100644 index 176e426f..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_star.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_star_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_star_dark.png Binary files differdeleted file mode 100644 index 4b25596f..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_star_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_star_outline.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_star_outline.png Binary files differdeleted file mode 100644 index 8b7b8367..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_star_outline.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_star_outline_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_star_outline_dark.png Binary files differdeleted file mode 100644 index fb68b6c6..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_star_outline_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_youtube_play.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_youtube_play.png Binary files differdeleted file mode 100644 index bd097e4f..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_youtube_play.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_trending_down.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_trending_down.png Binary files differdeleted file mode 100644 index ef0c2a10..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_trending_down.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_trending_down_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_trending_down_dark.png Binary files differdeleted file mode 100644 index 7dd24dcd..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_trending_down_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_trending_flat.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_trending_flat.png Binary files differdeleted file mode 100644 index 26cffdf5..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_trending_flat.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_trending_flat_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_trending_flat_dark.png Binary files differdeleted file mode 100644 index bd78a122..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_trending_flat_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_trending_up.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_trending_up.png Binary files differdeleted file mode 100644 index 0d020b1f..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_trending_up.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_trending_up_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_trending_up_dark.png Binary files differdeleted file mode 100644 index 7a750aa4..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_trending_up_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_web_site.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_web_site.png Binary files differdeleted file mode 100644 index 97798369..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_action_web_site.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_archive.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_archive.png Binary files differdeleted file mode 100644 index 6de98b17..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_archive.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_archive_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_archive_dark.png Binary files differdeleted file mode 100644 index 516be711..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_archive_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_attachment.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_attachment.png Binary files differdeleted file mode 100644 index 78d73b80..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_attachment.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_attachment_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_attachment_dark.png Binary files differdeleted file mode 100644 index e4b8794e..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_attachment_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_attachment_vert.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_attachment_vert.png Binary files differdeleted file mode 100644 index f9edd9d6..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_attachment_vert.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_attachment_vert_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_attachment_vert_dark.png Binary files differdeleted file mode 100644 index d0939f3c..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_attachment_vert_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_checkbox_marked.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_checkbox_marked.png Binary files differdeleted file mode 100644 index 3cc0cbaf..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_checkbox_marked.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_checkbox_marked_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_checkbox_marked_dark.png Binary files differdeleted file mode 100644 index a29076b6..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_checkbox_marked_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_cloud_download.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_cloud_download.png Binary files differdeleted file mode 100644 index de4e3ed3..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_cloud_download.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_cloud_download_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_cloud_download_dark.png Binary files differdeleted file mode 100644 index 838f62b7..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_cloud_download_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_cloud_upload.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_cloud_upload.png Binary files differdeleted file mode 100644 index d82c1f1b..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_cloud_upload.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_cloud_upload_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_cloud_upload_dark.png Binary files differdeleted file mode 100644 index b6797aab..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_cloud_upload_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_content_copy.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_content_copy.png Binary files differdeleted file mode 100644 index f9ed3a1a..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_content_copy.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_dots_vertical.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_dots_vertical.png Binary files differdeleted file mode 100644 index 2dacd528..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_dots_vertical.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_dots_vertical_circle.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_dots_vertical_circle.png Binary files differdeleted file mode 100644 index 05895fa3..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_dots_vertical_circle.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_dots_vertical_circle_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_dots_vertical_circle_dark.png Binary files differdeleted file mode 100644 index 884d0f0d..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_dots_vertical_circle_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_dots_vertical_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_dots_vertical_dark.png Binary files differdeleted file mode 100644 index f463232f..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_dots_vertical_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_email.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_email.png Binary files differdeleted file mode 100644 index 9482e57b..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_email.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_email_open.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_email_open.png Binary files differdeleted file mode 100644 index 1eb68434..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_email_open.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_filter_variant.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_filter_variant.png Binary files differdeleted file mode 100644 index bb353bd9..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_filter_variant.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_filter_variant_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_filter_variant_dark.png Binary files differdeleted file mode 100644 index 6a640b3c..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_filter_variant_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_folder_outline.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_folder_outline.png Binary files differdeleted file mode 100644 index ede9f7b9..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_folder_outline.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_folder_outline_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_folder_outline_dark.png Binary files differdeleted file mode 100644 index 7d012c92..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_folder_outline_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_fresh.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_fresh.png Binary files differdeleted file mode 100644 index 89b72943..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_fresh.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_fresh_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_fresh_dark.png Binary files differdeleted file mode 100644 index 2525f453..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_fresh_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_go_back.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_go_back.png Binary files differdeleted file mode 100644 index c909f21a..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_go_back.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_go_back_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_go_back_dark.png Binary files differdeleted file mode 100644 index d6eeb6cb..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_go_back_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_image_album.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_image_album.png Binary files differdeleted file mode 100644 index bbd94d99..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_image_album.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_inbox.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_inbox.png Binary files differdeleted file mode 100644 index 2aa78d56..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_inbox.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_inbox_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_inbox_dark.png Binary files differdeleted file mode 100644 index 90dbaf9b..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_inbox_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_login.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_login.png Binary files differdeleted file mode 100644 index b4dea4a0..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_login.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_logout.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_logout.png Binary files differdeleted file mode 100644 index 5c1dca04..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_logout.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_play_circle.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_play_circle.png Binary files differdeleted file mode 100644 index 2f2eff29..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_play_circle.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_refresh.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_refresh.png Binary files differdeleted file mode 100644 index 2db096de..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_refresh.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_restore.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_restore.png Binary files differdeleted file mode 100644 index b7c389e4..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_restore.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_restore_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_restore_dark.png Binary files differdeleted file mode 100644 index 193ce37b..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_restore_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_rss_box.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_rss_box.png Binary files differdeleted file mode 100644 index d31146fd..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_rss_box.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_rss_box_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_rss_box_dark.png Binary files differdeleted file mode 100644 index 4aa1057b..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_rss_box_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_search.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_search.png Binary files differdeleted file mode 100644 index 0f671764..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_search.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_select.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_select.png Binary files differdeleted file mode 100644 index 161476e1..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_select.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_settings.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_settings.png Binary files differdeleted file mode 100644 index 6f0a9d57..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_settings.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_settings_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_settings_dark.png Binary files differdeleted file mode 100644 index 5b597b8b..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_settings_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_share.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_share.png Binary files differdeleted file mode 100644 index 095a4574..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_share.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_share_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_share_dark.png Binary files differdeleted file mode 100644 index f51c3e91..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_share_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_sort.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_sort.png Binary files differdeleted file mode 100644 index 431756b0..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_sort.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_star.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_star.png Binary files differdeleted file mode 100644 index dacfc20e..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_star.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_star_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_star_dark.png Binary files differdeleted file mode 100644 index c156ea15..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_star_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_star_outline.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_star_outline.png Binary files differdeleted file mode 100644 index 191708d1..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_star_outline.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_star_outline_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_star_outline_dark.png Binary files differdeleted file mode 100644 index 06b4ddae..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_star_outline_dark.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_youtube_play.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_youtube_play.png Binary files differdeleted file mode 100644 index ee708798..00000000 --- a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_youtube_play.png +++ /dev/null diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_archive_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_archive_24.xml new file mode 100644 index 00000000..c50fa951 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_archive_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M20.54,5.23l-1.39,-1.68C18.88,3.21 18.47,3 18,3H6c-0.47,0 -0.88,0.21 -1.16,0.55L3.46,5.23C3.17,5.57 3,6.02 3,6.5V19c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V6.5c0,-0.48 -0.17,-0.93 -0.46,-1.27zM12,17.5L6.5,12H10v-2h4v2h3.5L12,17.5zM5.12,5l0.81,-1h12l0.94,1H5.12z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_arrow_back_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_arrow_back_24.xml new file mode 100644 index 00000000..075e95dc --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_arrow_back_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_attach_file_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_attach_file_24.xml new file mode 100644 index 00000000..b09f8bc0 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_attach_file_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M16.5,6v11.5c0,2.21 -1.79,4 -4,4s-4,-1.79 -4,-4V5c0,-1.38 1.12,-2.5 2.5,-2.5s2.5,1.12 2.5,2.5v10.5c0,0.55 -0.45,1 -1,1s-1,-0.45 -1,-1V6H10v9.5c0,1.38 1.12,2.5 2.5,2.5s2.5,-1.12 2.5,-2.5V5c0,-2.21 -1.79,-4 -4,-4S7,2.79 7,5v12.5c0,3.04 2.46,5.5 5.5,5.5s5.5,-2.46 5.5,-5.5V6h-1.5z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_attachment_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_attachment_24.xml new file mode 100644 index 00000000..def9bd66 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_attachment_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M2,12.5C2,9.46 4.46,7 7.5,7H18c2.21,0 4,1.79 4,4s-1.79,4 -4,4H9.5C8.12,15 7,13.88 7,12.5S8.12,10 9.5,10H17v2H9.41c-0.55,0 -0.55,1 0,1H18c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2H7.5C5.57,9 4,10.57 4,12.5S5.57,16 7.5,16H17v2H7.5C4.46,18 2,15.54 2,12.5z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_check_box_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_check_box_24.xml new file mode 100644 index 00000000..f6d56943 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_check_box_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M19,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.11,0 2,-0.9 2,-2L21,5c0,-1.1 -0.89,-2 -2,-2zM10,17l-5,-5 1.41,-1.41L10,14.17l7.59,-7.59L19,8l-9,9z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_cloud_download_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_cloud_download_24.xml new file mode 100644 index 00000000..9a6427bc --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_cloud_download_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M19.35,10.04C18.67,6.59 15.64,4 12,4 9.11,4 6.6,5.64 5.35,8.04 2.34,8.36 0,10.91 0,14c0,3.31 2.69,6 6,6h13c2.76,0 5,-2.24 5,-5 0,-2.64 -2.05,-4.78 -4.65,-4.96zM17,13l-5,5 -5,-5h3V9h4v4h3z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_cloud_upload_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_cloud_upload_24.xml new file mode 100644 index 00000000..82b88ac1 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_cloud_upload_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M19.35,10.04C18.67,6.59 15.64,4 12,4 9.11,4 6.6,5.64 5.35,8.04 2.34,8.36 0,10.91 0,14c0,3.31 2.69,6 6,6h13c2.76,0 5,-2.24 5,-5 0,-2.64 -2.05,-4.78 -4.65,-4.96zM14,13v4h-4v-4H7l5,-5 5,5h-3z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_content_copy_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_content_copy_24.xml new file mode 100644 index 00000000..942aeb96 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_content_copy_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM19,5L8,5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h11c1.1,0 2,-0.9 2,-2L21,7c0,-1.1 -0.9,-2 -2,-2zM19,21L8,21L8,7h11v14z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_email_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_email_24.xml new file mode 100644 index 00000000..a3335d40 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_email_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM20,8l-8,5 -8,-5L4,6l8,5 8,-5v2z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_filter_alt_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_filter_alt_24.xml new file mode 100644 index 00000000..22ac7411 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_filter_alt_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M4.25,5.61C6.27,8.2 10,13 10,13v6c0,0.55 0.45,1 1,1h2c0.55,0 1,-0.45 1,-1v-6c0,0 3.72,-4.8 5.74,-7.39C20.25,4.95 19.78,4 18.95,4H5.04C4.21,4 3.74,4.95 4.25,5.61z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_folder_open_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_folder_open_24.xml new file mode 100644 index 00000000..56013720 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_folder_open_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M20,6h-8l-2,-2L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,8c0,-1.1 -0.9,-2 -2,-2zM20,18L4,18L4,8h16v10z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_inbox_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_inbox_24.xml new file mode 100644 index 00000000..bb6540aa --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_inbox_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M19,3L4.99,3c-1.11,0 -1.98,0.89 -1.98,2L3,19c0,1.1 0.88,2 1.99,2L19,21c1.1,0 2,-0.9 2,-2L21,5c0,-1.11 -0.9,-2 -2,-2zM19,15h-4c0,1.66 -1.35,3 -3,3s-3,-1.34 -3,-3L4.99,15L4.99,5L19,5v10z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_local_fire_department_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_local_fire_department_24.xml new file mode 100644 index 00000000..ec632cbb --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_local_fire_department_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M19.48,12.35c-1.57,-4.08 -7.16,-4.3 -5.81,-10.23c0.1,-0.44 -0.37,-0.78 -0.75,-0.55C9.29,3.71 6.68,8 8.87,13.62c0.18,0.46 -0.36,0.89 -0.75,0.59c-1.81,-1.37 -2,-3.34 -1.84,-4.75c0.06,-0.52 -0.62,-0.77 -0.91,-0.34C4.69,10.16 4,11.84 4,14.37c0.38,5.6 5.11,7.32 6.81,7.54c2.43,0.31 5.06,-0.14 6.95,-1.87C19.84,18.11 20.6,15.03 19.48,12.35zM10.2,17.38c1.44,-0.35 2.18,-1.39 2.38,-2.31c0.33,-1.43 -0.96,-2.83 -0.09,-5.09c0.33,1.87 3.27,3.04 3.27,5.08C15.84,17.59 13.1,19.76 10.2,17.38z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_login_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_login_24.xml new file mode 100644 index 00000000..d99fc664 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_login_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M11,7L9.6,8.4l2.6,2.6H2v2h10.2l-2.6,2.6L11,17l5,-5L11,7zM20,19h-8v2h8c1.1,0 2,-0.9 2,-2V5c0,-1.1 -0.9,-2 -2,-2h-8v2h8V19z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_mark_as_unread_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_mark_as_unread_24.xml new file mode 100644 index 00000000..94381df3 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_mark_as_unread_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M18.83,7h-2.6L10.5,4 4,7.4L4,17c-1.1,0 -2,-0.9 -2,-2L2,7.17c0,-0.53 0.32,-1.09 0.8,-1.34L10.5,2l7.54,3.83c0.43,0.23 0.73,0.7 0.79,1.17zM20,8L7,8c-1.1,0 -2,0.9 -2,2v9c0,1.1 0.9,2 2,2h13c1.1,0 2,-0.9 2,-2v-9c0,-1.1 -0.9,-2 -2,-2zM20,11.67L13.5,15 7,11.67L7,10l6.5,3.33L20,10v1.67z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_mark_email_read_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_mark_email_read_24.xml new file mode 100644 index 00000000..8c898cfa --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_mark_email_read_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M12,19c0,-3.87 3.13,-7 7,-7c1.08,0 2.09,0.25 3,0.68V6c0,-1.1 -0.9,-2 -2,-2H4C2.9,4 2,4.9 2,6v12c0,1.1 0.9,2 2,2h8.08C12.03,19.67 12,19.34 12,19zM4,6l8,5l8,-5v2l-8,5L4,8V6zM17.34,22l-3.54,-3.54l1.41,-1.41l2.12,2.12l4.24,-4.24L23,16.34L17.34,22z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_more_vert_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_more_vert_24.xml new file mode 100644 index 00000000..5ffb98a5 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_more_vert_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M12,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM12,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM12,16c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_note_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_note_24.xml new file mode 100644 index 00000000..1e502e2f --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_note_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M22,10l-6,-6L4,4c-1.1,0 -2,0.9 -2,2v12.01c0,1.1 0.9,1.99 2,1.99l16,-0.01c1.1,0 2,-0.89 2,-1.99v-8zM15,5.5l5.5,5.5L15,11L15,5.5z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_open_in_browser_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_open_in_browser_24.xml new file mode 100644 index 00000000..465c22e8 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_open_in_browser_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M19,4L5,4c-1.11,0 -2,0.9 -2,2v12c0,1.1 0.89,2 2,2h4v-2L5,18L5,8h14v10h-4v2h4c1.1,0 2,-0.9 2,-2L21,6c0,-1.1 -0.89,-2 -2,-2zM12,10l-4,4h3v6h2v-6h3l-4,-4z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_photo_album_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_photo_album_24.xml new file mode 100644 index 00000000..19eeec6a --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_photo_album_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M18,2H6C4.9,2 4,2.9 4,4v16c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2V4C20,2.9 19.1,2 18,2zM11,4h5v7l-2.5,-1.5L11,11V4zM7,18l2.38,-3.17L11,17l2.62,-3.5L17,18H7z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_play_circle_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_play_circle_24.xml new file mode 100644 index 00000000..9bb5a196 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_play_circle_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10s10,-4.48 10,-10S17.52,2 12,2zM9.5,16.5v-9l7,4.5L9.5,16.5z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_play_circle_outline_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_play_circle_outline_24.xml new file mode 100644 index 00000000..b1bdebfe --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_play_circle_outline_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M10,16.5l6,-4.5 -6,-4.5v9zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_refresh_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_refresh_24.xml new file mode 100644 index 00000000..86504d0e --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_refresh_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4l-2.35,2.35z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_restore_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_restore_24.xml new file mode 100644 index 00000000..6ad75a1c --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_restore_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M13,3c-4.97,0 -9,4.03 -9,9L1,12l3.89,3.89 0.07,0.14L9,12L6,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.93,0 -3.68,-0.79 -4.94,-2.06l-1.42,1.42C8.27,19.99 10.51,21 13,21c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9zM12,8v5l4.28,2.54 0.72,-1.21 -3.5,-2.08L13.5,8L12,8z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_rss_feed_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_rss_feed_24.xml new file mode 100644 index 00000000..1cccd026 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_rss_feed_24.xml @@ -0,0 +1,7 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M6.18,17.82m-2.18,0a2.18,2.18 0,1 1,4.36 0a2.18,2.18 0,1 1,-4.36 0"/> + + <path android:fillColor="@android:color/white" android:pathData="M4,4.44v2.83c7.03,0 12.73,5.7 12.73,12.73h2.83c0,-8.59 -6.97,-15.56 -15.56,-15.56zM4,10.1v2.83c3.9,0 7.07,3.17 7.07,7.07h2.83c0,-5.47 -4.43,-9.9 -9.9,-9.9z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_search_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_search_24.xml new file mode 100644 index 00000000..d29c6ea6 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_search_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_select_all_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_select_all_24.xml new file mode 100644 index 00000000..b59b4f77 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_select_all_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M3,5h2L5,3c-1.1,0 -2,0.9 -2,2zM3,13h2v-2L3,11v2zM7,21h2v-2L7,19v2zM3,9h2L5,7L3,7v2zM13,3h-2v2h2L13,3zM19,3v2h2c0,-1.1 -0.9,-2 -2,-2zM5,21v-2L3,19c0,1.1 0.9,2 2,2zM3,17h2v-2L3,15v2zM9,3L7,3v2h2L9,3zM11,21h2v-2h-2v2zM19,13h2v-2h-2v2zM19,21c1.1,0 2,-0.9 2,-2h-2v2zM19,9h2L21,7h-2v2zM19,17h2v-2h-2v2zM15,21h2v-2h-2v2zM15,5h2L17,3h-2v2zM7,17h10L17,7L7,7v10zM9,9h6v6L9,15L9,9z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_settings_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_settings_24.xml new file mode 100644 index 00000000..6593f3a4 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_settings_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M19.14,12.94c0.04,-0.3 0.06,-0.61 0.06,-0.94c0,-0.32 -0.02,-0.64 -0.07,-0.94l2.03,-1.58c0.18,-0.14 0.23,-0.41 0.12,-0.61l-1.92,-3.32c-0.12,-0.22 -0.37,-0.29 -0.59,-0.22l-2.39,0.96c-0.5,-0.38 -1.03,-0.7 -1.62,-0.94L14.4,2.81c-0.04,-0.24 -0.24,-0.41 -0.48,-0.41h-3.84c-0.24,0 -0.43,0.17 -0.47,0.41L9.25,5.35C8.66,5.59 8.12,5.92 7.63,6.29L5.24,5.33c-0.22,-0.08 -0.47,0 -0.59,0.22L2.74,8.87C2.62,9.08 2.66,9.34 2.86,9.48l2.03,1.58C4.84,11.36 4.8,11.69 4.8,12s0.02,0.64 0.07,0.94l-2.03,1.58c-0.18,0.14 -0.23,0.41 -0.12,0.61l1.92,3.32c0.12,0.22 0.37,0.29 0.59,0.22l2.39,-0.96c0.5,0.38 1.03,0.7 1.62,0.94l0.36,2.54c0.05,0.24 0.24,0.41 0.48,0.41h3.84c0.24,0 0.44,-0.17 0.47,-0.41l0.36,-2.54c0.59,-0.24 1.13,-0.56 1.62,-0.94l2.39,0.96c0.22,0.08 0.47,0 0.59,-0.22l1.92,-3.32c0.12,-0.22 0.07,-0.47 -0.12,-0.61L19.14,12.94zM12,15.6c-1.98,0 -3.6,-1.62 -3.6,-3.6s1.62,-3.6 3.6,-3.6s3.6,1.62 3.6,3.6S13.98,15.6 12,15.6z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_share_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_share_24.xml new file mode 100644 index 00000000..74753b7a --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_share_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92 1.61,0 2.92,-1.31 2.92,-2.92s-1.31,-2.92 -2.92,-2.92z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_sort_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_sort_24.xml new file mode 100644 index 00000000..33eeeae1 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_sort_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M3,18h6v-2L3,16v2zM3,6v2h18L21,6L3,6zM3,13h12v-2L3,11v2z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_sort_by_alpha_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_sort_by_alpha_24.xml new file mode 100644 index 00000000..db03b2e5 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_sort_by_alpha_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M14.94,4.66h-4.72l2.36,-2.36zM10.25,19.37h4.66l-2.33,2.33zM6.1,6.27L1.6,17.73h1.84l0.92,-2.45h5.11l0.92,2.45h1.84L7.74,6.27L6.1,6.27zM4.97,13.64l1.94,-5.18 1.94,5.18L4.97,13.64zM15.73,16.14h6.12v1.59h-8.53v-1.29l5.92,-8.56h-5.88v-1.6h8.3v1.26l-5.93,8.6z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_star_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_star_24.xml new file mode 100644 index 00000000..9b295a03 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_star_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M12,17.27L18.18,21l-1.64,-7.03L22,9.24l-7.19,-0.61L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_star_outline_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_star_outline_24.xml new file mode 100644 index 00000000..925b9731 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_star_outline_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M22,9.24l-7.19,-0.62L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21 12,17.27 18.18,21l-1.63,-7.03L22,9.24zM12,15.4l-3.76,2.27 1,-4.28 -3.32,-2.88 4.38,-0.38L12,6.1l1.71,4.04 4.38,0.38 -3.32,2.88 1,4.28L12,15.4z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_trending_down_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_trending_down_24.xml new file mode 100644 index 00000000..9038a87a --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_trending_down_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M16,18l2.29,-2.29 -4.88,-4.88 -4,4L2,7.41 3.41,6l6,6 4,-4 6.3,6.29L22,12v6z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_trending_flat_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_trending_flat_24.xml new file mode 100644 index 00000000..45b32861 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_trending_flat_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M22,12l-4,-4v3H3v2h15v3z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/baseline_trending_up_24.xml b/org.fox.ttrss/src/main/res/drawable/baseline_trending_up_24.xml new file mode 100644 index 00000000..756f7ed3 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/baseline_trending_up_24.xml @@ -0,0 +1,5 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M16,6l2.29,2.29 -4.88,4.88 -4,-4L2,16.59 3.41,18l6,-6 4,4 6.3,-6.29L22,12V6z"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/drawable/outline_more_24.xml b/org.fox.ttrss/src/main/res/drawable/outline_more_24.xml new file mode 100644 index 00000000..c80312a7 --- /dev/null +++ b/org.fox.ttrss/src/main/res/drawable/outline_more_24.xml @@ -0,0 +1,11 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp"> + + <path android:fillColor="@android:color/white" android:pathData="M22,3L7,3c-0.69,0 -1.23,0.35 -1.59,0.88L0,12l5.41,8.11c0.36,0.53 0.97,0.89 1.66,0.89L22,21c1.1,0 2,-0.9 2,-2L24,5c0,-1.1 -0.9,-2 -2,-2zM22,19L7.07,19L2.4,12l4.66,-7L22,5v14z"/> + + <path android:fillColor="@android:color/white" android:pathData="M9,12m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0"/> + + <path android:fillColor="@android:color/white" android:pathData="M14,12m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0"/> + + <path android:fillColor="@android:color/white" android:pathData="M19,12m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0"/> + +</vector> diff --git a/org.fox.ttrss/src/main/res/layout-sw600dp/activity_detail.xml b/org.fox.ttrss/src/main/res/layout-sw600dp-land/activity_detail.xml index 95215992..09534bc7 100644 --- a/org.fox.ttrss/src/main/res/layout-sw600dp/activity_detail.xml +++ b/org.fox.ttrss/src/main/res/layout-sw600dp-land/activity_detail.xml @@ -5,8 +5,6 @@ android:layout_height="fill_parent" android:orientation="vertical" > - <include layout="@layout/toolbar" android:id="@+id/toolbar" /> - <FrameLayout android:id="@+id/sw600dp_anchor" android:layout_width="match_parent" @@ -21,23 +19,38 @@ android:baselineAligned="false" android:orientation="horizontal" > - <FrameLayout - android:paddingRight="4dp" - android:id="@+id/headlines_fragment" + <com.google.android.material.navigation.NavigationView + xmlns:app="http://schemas.android.com/apk/res-auto" + android:id="@+id/navigation_view" + android:background="?colorSurfaceContainer" android:layout_width="0dp" - android:layout_height="match_parent" android:layout_weight="0.3" - android:background="?headlinesBackground" > + android:layout_height="match_parent" + android:padding="8dp" + app:shapeAppearance="@style/ShapeAppearanceHeadlinesTablet" + android:layout_gravity="start"> + + <FrameLayout + android:id="@+id/headlines_fragment" + android:layout_width="wrap_content" + android:layout_height="match_parent"> </FrameLayout> + </com.google.android.material.navigation.NavigationView> + <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="0dp" android:layout_weight="0.7" - android:elevation="4dp" - android:background="?articleBackground" android:layout_height="match_parent"> + <com.google.android.material.appbar.AppBarLayout + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <include layout="@layout/toolbar" android:id="@+id/toolbar" /> + </com.google.android.material.appbar.AppBarLayout> + <FrameLayout android:layout_width="match_parent" android:id="@+id/article_fragment" @@ -50,7 +63,7 @@ android:layout_height="wrap_content" android:layout_gravity="end|bottom" android:visibility="gone" - android:src="@drawable/ic_action_web_site" + android:src="@drawable/baseline_open_in_browser_24" android:layout_margin="16dp" /> </androidx.coordinatorlayout.widget.CoordinatorLayout> diff --git a/org.fox.ttrss/src/main/res/layout-sw600dp-land/activity_master.xml b/org.fox.ttrss/src/main/res/layout-sw600dp-land/activity_master.xml index 9ba663f6..b6a6f19d 100644 --- a/org.fox.ttrss/src/main/res/layout-sw600dp-land/activity_master.xml +++ b/org.fox.ttrss/src/main/res/layout-sw600dp-land/activity_master.xml @@ -5,15 +5,13 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android"> - <include layout="@layout/toolbar" android:id="@+id/toolbar" /> - <LinearLayout android:id="@+id/fragment_container" + android:background="?colorSurfaceContainer" android:layout_width="fill_parent" android:layout_height="fill_parent" android:baselineAligned="false" - android:orientation="horizontal" - android:layout_below="@+id/toolbar"> + android:orientation="horizontal"> <FrameLayout android:id="@+id/sw600dp_anchor" @@ -22,26 +20,48 @@ android:visibility="gone" > </FrameLayout> - <FrameLayout - android:id="@+id/feeds_fragment" - android:layout_width="0dp" + <com.google.android.material.navigation.NavigationView + xmlns:app="http://schemas.android.com/apk/res-auto" + android:id="@+id/navigation_view" + android:layout_width="300dp" + app:shapeAppearance="@style/ShapeAppearanceFeedsTablet" android:layout_height="match_parent" - android:layout_weight="0.25" - android:background="?feedlistBackground" > - </FrameLayout> + android:layout_gravity="start"> + + <FrameLayout + android:id="@+id/feeds_fragment" + android:layout_width="match_parent" + android:layout_height="match_parent" > + </FrameLayout> + + </com.google.android.material.navigation.NavigationView> <androidx.coordinatorlayout.widget.CoordinatorLayout android:layout_width="0dp" android:layout_weight="0.75" - android:elevation="4dp" - android:background="?headlinesBackground" android:layout_height="match_parent"> - <FrameLayout + <com.google.android.material.appbar.AppBarLayout android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <com.google.android.material.appbar.MaterialToolbar + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:id="@+id/toolbar" + app:layout_scrollFlags="scroll|enterAlways" + app:titleTextAppearance="?attr/textAppearanceTitleMedium" + android:layout_height="wrap_content" + android:layout_width="match_parent" + android:background="?colorSurfaceContainer" + android:minHeight="?attr/actionBarSize"/> + </com.google.android.material.appbar.AppBarLayout> + + <FrameLayout android:id="@+id/headlines_fragment" - app:layout_behavior=".util.FabAwareScrollingViewBehavior" - android:layout_height="match_parent"/> + android:layout_width="match_parent" + android:layout_height="wrap_content" + app:layout_behavior=".util.FabAwareScrollingViewBehavior" /> <com.google.android.material.floatingactionbutton.FloatingActionButton android:id="@+id/master_fab" @@ -49,7 +69,7 @@ android:layout_height="wrap_content" android:layout_gravity="end|bottom" android:visibility="gone" - android:src="@drawable/ic_refresh" + android:src="@drawable/baseline_refresh_24" android:layout_margin="16dp" /> </androidx.coordinatorlayout.widget.CoordinatorLayout> diff --git a/org.fox.ttrss/src/main/res/layout-sw600dp-port/activity_master.xml b/org.fox.ttrss/src/main/res/layout-sw600dp-port/activity_master.xml deleted file mode 100644 index 95cb35e0..00000000 --- a/org.fox.ttrss/src/main/res/layout-sw600dp-port/activity_master.xml +++ /dev/null @@ -1,62 +0,0 @@ -<!-- we don't hide actionbar on tablets even in portrait so this is a bit different from activity_master_phone.xml --> - -<androidx.drawerlayout.widget.DrawerLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:fitsSystemWindows="true" - android:id="@+id/headlines_drawer" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> - - <RelativeLayout - android:layout_width="match_parent" - android:layout_height="match_parent"> - - <include layout="@layout/toolbar" android:id="@+id/toolbar" /> - - <androidx.coordinatorlayout.widget.CoordinatorLayout - xmlns:app="http://schemas.android.com/apk/res-auto" - android:layout_below="@+id/toolbar" - android:layout_width="match_parent" - android:layout_height="match_parent"> - - <com.google.android.material.floatingactionbutton.FloatingActionButton - android:id="@+id/master_fab" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="end|bottom" - android:visibility="gone" - android:src="@drawable/ic_refresh" - android:layout_margin="16dp" /> - - <FrameLayout - android:id="@+id/headlines_fragment" - app:layout_behavior=".util.FabAwareScrollingViewBehavior" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="?headlinesBackground" /> - - </androidx.coordinatorlayout.widget.CoordinatorLayout> - - </RelativeLayout> - - <org.fox.ttrss.util.ScrimInsetsFrameLayout - xmlns:app="http://schemas.android.com/apk/res-auto" - android:id="@+id/scrimInsetsFrameLayout" - android:layout_width="300dp" - android:layout_height="match_parent" - android:layout_gravity="start" - android:background="@android:color/white" - android:elevation="10dp" - android:fitsSystemWindows="true" - app:insetForeground="#4000"> - - <FrameLayout - android:id="@+id/feeds_fragment" - android:layout_width="match_parent" - android:background="?feedlistBackground" - android:layout_height="match_parent" > - </FrameLayout> - - </org.fox.ttrss.util.ScrimInsetsFrameLayout> - -</androidx.drawerlayout.widget.DrawerLayout> diff --git a/org.fox.ttrss/src/main/res/layout/activity_detail.xml b/org.fox.ttrss/src/main/res/layout/activity_detail.xml index 8f36bbd6..8cb1ba10 100644 --- a/org.fox.ttrss/src/main/res/layout/activity_detail.xml +++ b/org.fox.ttrss/src/main/res/layout/activity_detail.xml @@ -1,9 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> <FrameLayout -xmlns:android="http://schemas.android.com/apk/res/android" -android:layout_width="match_parent" -android:layout_height="match_parent"> + xmlns:android="http://schemas.android.com/apk/res/android" + android:fitsSystemWindows="true" + android:layout_width="match_parent" + android:layout_height="match_parent"> -<include layout="@layout/activity_detail_phone" /> + <include layout="@layout/layout_detail_phone" /> </FrameLayout>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout/activity_detail_phone.xml b/org.fox.ttrss/src/main/res/layout/activity_detail_phone.xml index 6d9a8dbd..8cb1ba10 100644 --- a/org.fox.ttrss/src/main/res/layout/activity_detail_phone.xml +++ b/org.fox.ttrss/src/main/res/layout/activity_detail_phone.xml @@ -1,48 +1,10 @@ -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/headlines" +<?xml version="1.0" encoding="utf-8"?> +<FrameLayout + xmlns:android="http://schemas.android.com/apk/res/android" android:fitsSystemWindows="true" - android:animateLayoutChanges="true" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> + android:layout_width="match_parent" + android:layout_height="match_parent"> - <androidx.coordinatorlayout.widget.CoordinatorLayout - xmlns:app="http://schemas.android.com/apk/res-auto" - android:layout_width="match_parent" - android:layout_height="match_parent"> - - <com.google.android.material.floatingactionbutton.FloatingActionButton - android:id="@+id/detail_fab" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="end|bottom" - android:visibility="gone" - android:src="@drawable/ic_action_web_site" - android:layout_margin="16dp" /> - - <com.google.android.material.appbar.AppBarLayout - android:layout_width="match_parent" - android:layout_height="wrap_content"> - - <include layout="@layout/toolbar" android:id="@+id/toolbar" /> - - </com.google.android.material.appbar.AppBarLayout> - - <FrameLayout - android:id="@+id/article_fragment" - app:layout_behavior=".util.DetailActivityScrollingViewBehavior" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="?articleBackground"> - </FrameLayout> - - </androidx.coordinatorlayout.widget.CoordinatorLayout> - - <FrameLayout - android:id="@+id/headlines_fragment" - android:visibility="gone" - android:layout_height="0dp" - android:layout_width="0dp" - android:background="?headlinesBackground"> - </FrameLayout> + <include layout="@layout/layout_detail_phone" /> </FrameLayout>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout/activity_gallery.xml b/org.fox.ttrss/src/main/res/layout/activity_gallery.xml index 7f47de50..f44bb74b 100644 --- a/org.fox.ttrss/src/main/res/layout/activity_gallery.xml +++ b/org.fox.ttrss/src/main/res/layout/activity_gallery.xml @@ -1,9 +1,8 @@ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:fitsSystemWindows="true" + xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/article_images" android:layout_width="fill_parent" android:animateLayoutChanges="true" - android:background="@android:color/black" android:layout_height="fill_parent"> <com.bogdwellers.pinchtozoom.view.ImageViewPager @@ -12,18 +11,16 @@ android:layout_height="fill_parent" android:layout_alignParentTop="true" /> - <ImageView + <com.google.android.material.button.MaterialButton + style="?attr/materialIconButtonStyle" android:id="@+id/gallery_overflow" - android:clickable="true" android:layout_width="wrap_content" - android:layout_height="26dp" + android:layout_height="wrap_content" android:layout_weight="0" - android:background="@drawable/ripple" - android:src="@drawable/ic_dots_vertical_circle" + app:icon="?ic_dots_vertical" android:layout_alignParentRight="true" - android:tint="?colorAccent" - android:layout_marginRight="8dp" - android:layout_marginTop="@dimen/activity_vertical_margin" /> + android:layout_marginTop="48dp" + app:iconTint="?colorTertiary" /> <ProgressBar style="?android:attr/progressBarStyleHorizontal" @@ -44,7 +41,8 @@ <me.relex.circleindicator.CircleIndicator android:id="@+id/gallery_pager_indicator" android:layout_width="fill_parent" - android:layout_height="40dp" + android:layout_height="32dp" + android:layout_marginBottom="55dp" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" diff --git a/org.fox.ttrss/src/main/res/layout/activity_logcat.xml b/org.fox.ttrss/src/main/res/layout/activity_logcat.xml index f6cccd22..f13a17b3 100755 --- a/org.fox.ttrss/src/main/res/layout/activity_logcat.xml +++ b/org.fox.ttrss/src/main/res/layout/activity_logcat.xml @@ -1,5 +1,4 @@ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:background="?android:colorBackground" android:fitsSystemWindows="true" android:layout_width="fill_parent" android:layout_height="fill_parent" > diff --git a/org.fox.ttrss/src/main/res/layout/activity_login.xml b/org.fox.ttrss/src/main/res/layout/activity_login.xml index 8f6cf4ed..829e0897 100755 --- a/org.fox.ttrss/src/main/res/layout/activity_login.xml +++ b/org.fox.ttrss/src/main/res/layout/activity_login.xml @@ -1,5 +1,4 @@ <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:background="?android:colorBackground" android:fitsSystemWindows="true" android:layout_width="fill_parent" android:layout_height="fill_parent" > diff --git a/org.fox.ttrss/src/main/res/layout/activity_master.xml b/org.fox.ttrss/src/main/res/layout/activity_master.xml index 9bb9bff5..4ea81118 100755 --- a/org.fox.ttrss/src/main/res/layout/activity_master.xml +++ b/org.fox.ttrss/src/main/res/layout/activity_master.xml @@ -4,5 +4,5 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - <include layout="@layout/activity_master_phone" /> + <include layout="@layout/layout_master_phone" /> </FrameLayout>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout/activity_master_phone.xml b/org.fox.ttrss/src/main/res/layout/activity_master_phone.xml index 6ae5064f..4ea81118 100644 --- a/org.fox.ttrss/src/main/res/layout/activity_master_phone.xml +++ b/org.fox.ttrss/src/main/res/layout/activity_master_phone.xml @@ -1,59 +1,8 @@ - <androidx.drawerlayout.widget.DrawerLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:fitsSystemWindows="true" - android:id="@+id/headlines_drawer" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> - - <androidx.coordinatorlayout.widget.CoordinatorLayout - xmlns:app="http://schemas.android.com/apk/res-auto" - android:layout_width="match_parent" - android:layout_height="match_parent"> - - <com.google.android.material.floatingactionbutton.FloatingActionButton - android:id="@+id/master_fab" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="end|bottom" - android:visibility="gone" - android:src="@drawable/ic_refresh" - android:layout_margin="16dp" /> - - <com.google.android.material.appbar.AppBarLayout - android:layout_width="match_parent" - android:layout_height="wrap_content"> - - <include layout="@layout/toolbar" android:id="@+id/toolbar" /> - - </com.google.android.material.appbar.AppBarLayout> - - <FrameLayout - android:id="@+id/headlines_fragment" - app:layout_behavior=".util.FabAwareScrollingViewBehavior" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="?headlinesBackground" /> - - </androidx.coordinatorlayout.widget.CoordinatorLayout> - - <org.fox.ttrss.util.ScrimInsetsFrameLayout - xmlns:app="http://schemas.android.com/apk/res-auto" - android:id="@+id/scrimInsetsFrameLayout" - android:layout_width="300dp" - android:layout_height="match_parent" - android:layout_gravity="start" - android:background="@android:color/white" - android:elevation="10dp" - android:fitsSystemWindows="true" - app:insetForeground="#4000"> - - <FrameLayout - android:id="@+id/feeds_fragment" - android:layout_width="match_parent" - android:background="?feedlistBackground" - android:layout_height="match_parent" > - </FrameLayout> - - </org.fox.ttrss.util.ScrimInsetsFrameLayout> - - </androidx.drawerlayout.widget.DrawerLayout> +<?xml version="1.0" encoding="utf-8"?> +<FrameLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <include layout="@layout/layout_master_phone" /> +</FrameLayout>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout/activity_preferences.xml b/org.fox.ttrss/src/main/res/layout/activity_preferences.xml index 519bfe61..6032b951 100755 --- a/org.fox.ttrss/src/main/res/layout/activity_preferences.xml +++ b/org.fox.ttrss/src/main/res/layout/activity_preferences.xml @@ -2,11 +2,11 @@ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" + android:fitsSystemWindows="true" android:layout_height="match_parent"> <FrameLayout android:id="@+id/preferences_container" - android:background="?android:colorBackground" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentLeft="true" diff --git a/org.fox.ttrss/src/main/res/layout/activity_tasker_settings.xml b/org.fox.ttrss/src/main/res/layout/activity_tasker_settings.xml deleted file mode 100644 index efdd76ab..00000000 --- a/org.fox.ttrss/src/main/res/layout/activity_tasker_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/main" - android:layout_width="fill_parent" - android:layout_height="fill_parent" - android:padding="5dp" > - - <Button - android:id="@+id/close_button" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentBottom="true" - android:layout_centerHorizontal="true" - android:text="@string/tasker_save_and_close" /> - - <RadioGroup - android:id="@+id/taskerActions" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentRight="true" - android:layout_alignParentTop="true" > - - <RadioButton - android:id="@+id/actionDownload" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:checked="true" - android:text="@string/download_articles_and_go_offline" /> - - <RadioButton - android:id="@+id/actionUpload" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:text="@string/synchronize_read_articles_and_go_online" /> - </RadioGroup> - -</RelativeLayout>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout/activity_youtube_player.xml b/org.fox.ttrss/src/main/res/layout/activity_youtube_player.xml deleted file mode 100644 index 0b423edc..00000000 --- a/org.fox.ttrss/src/main/res/layout/activity_youtube_player.xml +++ /dev/null @@ -1,29 +0,0 @@ -<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" - android:layout_height="match_parent" - android:fitsSystemWindows="true" - android:background="@android:color/black"> - - <FrameLayout - android:layout_width="match_parent" - android:layout_height="match_parent" - android:layout_below="@+id/toolbar"> - - <fragment - android:name="com.google.android.youtube.player.YouTubePlayerSupportFragment" - android:id="@+id/fragment_youtube_player" - android:layout_width="match_parent" - android:layout_height="match_parent" /> - - <ProgressBar - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:id="@+id/video_loading" - android:layout_gravity="center" - android:indeterminate="true" /> - - </FrameLayout> - - <include layout="@layout/toolbar" android:id="@+id/toolbar" /> - -</RelativeLayout> diff --git a/org.fox.ttrss/src/main/res/layout/drawer_divider.xml b/org.fox.ttrss/src/main/res/layout/drawer_divider.xml index d47c3b5b..55aa5fdc 100644 --- a/org.fox.ttrss/src/main/res/layout/drawer_divider.xml +++ b/org.fox.ttrss/src/main/res/layout/drawer_divider.xml @@ -1,14 +1,15 @@ <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_width="match_parent" + android:layout_height="wrap_content"> - <View - android:layout_gravity="top|center_horizontal" - android:layout_marginTop="10dp" + <com.google.android.material.divider.MaterialDivider android:layout_width="match_parent" - android:layout_height="1dp" - android:background="?headlineFooterColor"/> + app:dividerInsetEnd="16dp" + app:dividerInsetStart="16dp" + android:layout_marginTop="8dp" + android:layout_height="wrap_content"/> </FrameLayout>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout/drawer_header.xml b/org.fox.ttrss/src/main/res/layout/drawer_header.xml index 6779a950..f4954259 100755 --- a/org.fox.ttrss/src/main/res/layout/drawer_header.xml +++ b/org.fox.ttrss/src/main/res/layout/drawer_header.xml @@ -1,40 +1,33 @@ <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="120dp" + android:layout_height="72dp" xmlns:tools="http://schemas.android.com/tools" + xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical" android:weightSum="1" android:clickable="false"> - <ImageView - android:layout_width="fill_parent" - android:layout_height="fill_parent" - android:id="@+id/imageView" - android:scaleType="fitXY" - android:background="?colorPrimaryDark" - android:src="?drawer_header" /> - <FrameLayout android:layout_width="match_parent" - android:background="@android:color/transparent" android:layout_height="match_parent"> - <ImageView + <com.google.android.material.button.MaterialButton + style="?attr/materialIconButtonStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:src="@drawable/ic_settings" + android:scaleX="1.5" + android:scaleY="1.5" + app:icon="@drawable/baseline_settings_24" android:id="@+id/drawer_settings_btn" - android:layout_gravity="bottom|end" - android:clickable="true" - android:layout_marginBottom="16dp" - android:layout_marginEnd="12dp" + android:layout_gravity="center_vertical|end" + android:layout_marginEnd="8dp" android:transitionName="SETTINGS_REVEAL" - android:background="@drawable/ripple" /> + /> <LinearLayout android:layout_width="match_parent" - android:layout_height="56dp" + android:layout_height="wrap_content" android:orientation="vertical" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" @@ -47,25 +40,20 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="16dp" - android:textColor="@android:color/primary_text_dark" - tools:text="test" - android:textSize="14sp" - android:textStyle="bold" - - /> + tools:text="user" + android:textAppearance="?attr/textAppearanceHeadlineSmall" + android:textColor="?attr/colorOnSurface"/> <TextView android:id="@+id/drawer_header_server" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:textColor="@android:color/primary_text_dark" android:layout_marginStart="16dp" - android:layout_marginTop="5dp" + android:layout_marginTop="8dp" + android:layout_marginBottom="8dp" tools:text="example.org" - android:textSize="14sp" - android:textStyle="normal" - - /> + android:textAppearance="?attr/textAppearanceTitleSmall" + android:textColor="?attr/colorOnSurfaceVariant"/> </LinearLayout> </FrameLayout> diff --git a/org.fox.ttrss/src/main/res/layout/feeds_goback.xml b/org.fox.ttrss/src/main/res/layout/feeds_goback.xml index bb263237..f4c580a3 100755 --- a/org.fox.ttrss/src/main/res/layout/feeds_goback.xml +++ b/org.fox.ttrss/src/main/res/layout/feeds_goback.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/feeds_row" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -19,8 +20,8 @@ android:layout_height="21dp" android:layout_weight="0" android:scaleType="fitXY" - android:tint="?colorAccent" - android:src="?ic_go_back" /> + android:src="?ic_go_back" + app:tint="?colorTertiary" /> <TextView android:fontFamily="sans-serif-medium" @@ -29,11 +30,9 @@ android:gravity="center_vertical" android:layout_weight="1" android:ellipsize="end" - android:paddingStart="35dp" + android:paddingStart="16dp" android:singleLine="true" android:text=".." - android:paddingBottom="2dp" - android:textColor="?feedlistTextColor" android:textSize="14sp" /> </LinearLayout>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout/feeds_row.xml b/org.fox.ttrss/src/main/res/layout/feeds_row.xml index 7a10bc23..32e20c26 100755 --- a/org.fox.ttrss/src/main/res/layout/feeds_row.xml +++ b/org.fox.ttrss/src/main/res/layout/feeds_row.xml @@ -1,64 +1,64 @@ <?xml version="1.0" encoding="utf-8"?> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:tools="http://schemas.android.com/tools" - android:id="@+id/feeds_row" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:descendantFocusability="blocksDescendants" - android:paddingLeft="16dp" - android:paddingRight="16dp" - android:paddingTop="8dp" - android:paddingBottom="8dp" - android:baselineAligned="true" - android:gravity="center_vertical" - android:orientation="horizontal"> - - <ImageView - android:id="@+id/icon" - android:layout_gravity="center_vertical" - android:layout_width="21dp" - android:layout_height="21dp" - android:layout_weight="0" - android:scaleType="fitXY" - android:src="?ic_rss_box" /> - - <TextView - android:id="@+id/title" - android:fontFamily="sans-serif-medium" - android:layout_width="wrap_content" + <LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:id="@+id/feeds_row" + android:layout_width="match_parent" android:layout_height="wrap_content" + android:descendantFocusability="blocksDescendants" + android:paddingLeft="16dp" + android:paddingRight="16dp" + android:paddingTop="8dp" + android:paddingBottom="8dp" + android:baselineAligned="true" android:gravity="center_vertical" - android:layout_weight="1" - android:ellipsize="middle" - android:paddingStart="35dp" - android:paddingEnd="16dp" - android:singleLine="true" - tools:text="Feed title" - android:textAlignment="viewStart" - android:paddingBottom="2dp" - android:textColor="?feedlistTextColor" - android:textSize="14sp" /> + android:orientation="horizontal"> - <TextView - android:id="@+id/unread_counter" - android:fontFamily="sans-serif-medium" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_weight="0" - android:textAlignment="viewEnd" - android:singleLine="true" - tools:text="3200" - android:textColor="?unreadCounterColor" - android:textSize="14sp" /> + <ImageView + android:id="@+id/icon" + android:layout_gravity="center_vertical" + android:layout_width="21dp" + android:layout_height="21dp" + android:layout_weight="0" + android:scaleType="fitXY" + app:tint="?colorOnPrimaryContainer" + android:src="?ic_rss_box" /> - <!-- <ImageButton - android:id="@+id/feed_menu_button" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_weight="0" - android:background="@null" - android:paddingLeft="8dp" - android:visibility="gone" - android:src="?ic_dots_vertical" /> --> + <TextView + android:id="@+id/title" + android:fontFamily="sans-serif-medium" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:layout_gravity="center_vertical" + android:ellipsize="middle" + android:paddingStart="16dp" + android:paddingEnd="16dp" + android:singleLine="true" + tools:text="Feed title" + android:textSize="14sp" /> + + <TextView + android:id="@+id/unread_counter" + android:fontFamily="sans-serif-medium" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="0" + android:textAlignment="viewEnd" + android:singleLine="true" + tools:text="3200" + android:textColor="?colorTertiary" + android:textSize="14sp" /> + + <!-- <ImageButton + android:id="@+id/feed_menu_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="0" + android:background="@null" + android:paddingLeft="8dp" + android:visibility="gone" + android:src="?ic_dots_vertical" /> --> -</LinearLayout>
\ No newline at end of file + </LinearLayout> diff --git a/org.fox.ttrss/src/main/res/layout/feeds_row_selected.xml b/org.fox.ttrss/src/main/res/layout/feeds_row_selected.xml index d5b6cb3c..c12c732d 100755 --- a/org.fox.ttrss/src/main/res/layout/feeds_row_selected.xml +++ b/org.fox.ttrss/src/main/res/layout/feeds_row_selected.xml @@ -1,66 +1,73 @@ <?xml version="1.0" encoding="utf-8"?> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" +<com.google.android.material.card.MaterialCardView + xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" - android:id="@+id/feeds_row" + xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" - android:layout_height="wrap_content" - android:descendantFocusability="blocksDescendants" - android:background="?feedsSelectedBackground" - android:paddingLeft="16dp" - android:paddingRight="16dp" - android:paddingTop="8dp" - android:paddingBottom="8dp" - android:baselineAligned="true" - android:gravity="center_vertical" - android:orientation="horizontal"> + app:strokeWidth="0dp" + app:cardBackgroundColor="?colorTertiaryContainer" + android:layout_height="wrap_content"> - <ImageView - android:id="@+id/icon" - android:tint="?colorAccent" - android:layout_gravity="center_vertical" - android:layout_width="21dp" - android:layout_height="21dp" - android:layout_weight="0" - android:scaleType="fitXY" - android:src="?ic_rss_box" /> - - <TextView - android:id="@+id/title" - android:fontFamily="sans-serif-medium" - android:layout_width="wrap_content" + <LinearLayout + android:id="@+id/feeds_row" + android:layout_width="match_parent" android:layout_height="wrap_content" + android:descendantFocusability="blocksDescendants" + android:paddingLeft="16dp" + android:paddingRight="16dp" + android:paddingTop="8dp" + android:paddingBottom="8dp" + android:baselineAligned="true" android:gravity="center_vertical" - android:layout_weight="1" - android:ellipsize="middle" - android:paddingStart="35dp" - android:paddingEnd="16dp" - android:singleLine="true" - tools:text="Feed title" - android:textAlignment="viewStart" - android:paddingBottom="2dp" - android:textColor="?feedlistSelectedTextColor" - android:textSize="14sp" /> + android:orientation="horizontal"> - <TextView - android:id="@+id/unread_counter" - android:fontFamily="sans-serif-medium" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_weight="0" - android:textAlignment="viewEnd" - android:singleLine="true" - tools:text="3200" - android:textColor="?unreadCounterColor" - android:textSize="14sp" /> + <ImageView + android:id="@+id/icon" + android:layout_gravity="center_vertical" + android:layout_width="21dp" + android:layout_height="21dp" + android:layout_weight="0" + android:scaleType="fitXY" + app:tint="?colorOnTertiaryContainer" + android:src="?ic_rss_box" /> - <!-- <ImageButton - android:id="@+id/feed_menu_button" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_weight="0" - android:background="@null" - android:paddingLeft="8dp" - android:visibility="gone" - android:src="?ic_dots_vertical" /> --> + <TextView + android:id="@+id/title" + android:fontFamily="sans-serif-medium" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:layout_weight="1" + android:ellipsize="middle" + android:paddingStart="16dp" + android:paddingEnd="16dp" + android:singleLine="true" + tools:text="Feed title" + android:textColor="?colorOnTertiaryContainer" + android:textSize="14sp" /> + + <TextView + android:id="@+id/unread_counter" + android:fontFamily="sans-serif-medium" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="0" + android:textAlignment="viewEnd" + android:singleLine="true" + tools:text="3200" + android:textColor="?colorTertiary" + android:textSize="14sp" /> + + <!-- <ImageButton + android:id="@+id/feed_menu_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="0" + android:background="@null" + android:paddingLeft="8dp" + android:visibility="gone" + android:src="?ic_dots_vertical" /> --> + + </LinearLayout> -</LinearLayout>
\ No newline at end of file +</com.google.android.material.card.MaterialCardView> diff --git a/org.fox.ttrss/src/main/res/layout/feeds_row_toggle.xml b/org.fox.ttrss/src/main/res/layout/feeds_row_toggle.xml index f9f377f6..d4451bbe 100755 --- a/org.fox.ttrss/src/main/res/layout/feeds_row_toggle.xml +++ b/org.fox.ttrss/src/main/res/layout/feeds_row_toggle.xml @@ -1,14 +1,13 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" + xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/feeds_row" android:layout_width="match_parent" android:layout_height="wrap_content" android:descendantFocusability="blocksDescendants" android:paddingLeft="16dp" android:paddingRight="16dp" - android:paddingTop="8dp" - android:paddingBottom="8dp" android:baselineAligned="true" android:gravity="center_vertical" android:orientation="horizontal"> @@ -20,6 +19,7 @@ android:layout_height="21dp" android:layout_weight="0" android:scaleType="fitXY" + app:tint="?colorOnPrimaryContainer" android:src="?ic_rss_box" /> <TextView @@ -27,19 +27,16 @@ android:fontFamily="sans-serif-medium" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:gravity="center_vertical" + android:layout_gravity="center_vertical" android:layout_weight="1" android:ellipsize="end" - android:paddingStart="35dp" + android:paddingStart="16dp" android:paddingEnd="16dp" android:singleLine="true" - tools:text="Unread only" - android:textAlignment="viewStart" - android:paddingBottom="2dp" - android:textColor="?feedlistTextColor" + tools:text="@string/unread_only" android:textSize="14sp" /> - <androidx.appcompat.widget.SwitchCompat + <com.google.android.material.materialswitch.MaterialSwitch android:id="@+id/row_switch" android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/org.fox.ttrss/src/main/res/layout/fragment_article.xml b/org.fox.ttrss/src/main/res/layout/fragment_article.xml index 61215a40..e75980b0 100755 --- a/org.fox.ttrss/src/main/res/layout/fragment_article.xml +++ b/org.fox.ttrss/src/main/res/layout/fragment_article.xml @@ -3,8 +3,8 @@ xmlns:tools="http://schemas.android.com/tools" android:id="@+id/article_fragment" android:layout_width="fill_parent" - android:layout_height="match_parent" - android:background="?articleBackground"> + android:background="?colorSurfaceContainer" + android:layout_height="match_parent"> <FrameLayout android:id="@+id/article_fullscreen_video" @@ -17,105 +17,63 @@ android:layout_height="wrap_content"> <com.google.android.material.appbar.AppBarLayout - android:background="?articleHeader" - android:elevation="0dp" - app:elevation="0dp" android:layout_width="match_parent" + android:background="?colorSurfaceContainer" android:layout_height="match_parent"> - <LinearLayout + <com.google.android.material.card.MaterialCardView app:layout_scrollFlags="scroll|enterAlways" - android:padding="16dp" + app:strokeWidth="0dp" + app:shapeAppearance="@style/ShapeAppearanceArticleHeader" + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <LinearLayout android:id="@+id/article_header" android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="vertical" - android:paddingBottom="6dp"> + android:orientation="vertical"> <LinearLayout android:orientation="horizontal" + android:layout_marginStart="16dp" + android:layout_marginEnd="16dp" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/title" - android:background="@drawable/ripple" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" - android:layout_marginEnd="8dp" - android:textAlignment="viewStart" + android:textColor="?colorPrimary" tools:text="Unreasonably long article title blah blah blah blah blah blah" - android:textColor="?articleHeaderTextColor" android:textSize="18sp" - android:layout_marginRight="8dp" android:gravity="start" /> - <ImageView - android:id="@+id/score" - android:layout_width="wrap_content" - android:layout_height="24dp" - android:layout_weight="0" - android:background="@drawable/ripple" - android:clickable="true" - android:layout_marginLeft="8dp" - android:src="?ic_action_trending_flat" - android:layout_gravity="center_vertical|end" /> - - <ImageView - android:id="@+id/attachments" - android:background="@drawable/ripple" - android:layout_width="wrap_content" - android:layout_height="24dp" - android:layout_weight="0" - android:layout_marginLeft="8dp" - android:clickable="true" - android:src="?ic_attachment_vert" - android:layout_gravity="center_vertical|end" /> - - <ImageView - android:id="@+id/share" - android:background="@drawable/ripple" - android:layout_width="wrap_content" - android:layout_height="24dp" - android:layout_weight="0" - android:clickable="true" - android:src="?ic_share" - android:layout_gravity="center_vertical|end" /> </LinearLayout> <TextView android:id="@+id/comments" + android:layout_marginStart="16dp" + android:layout_marginEnd="16dp" tools:text="comments" - android:background="@drawable/ripple" android:layout_width="match_parent" android:layout_height="wrap_content" android:textAlignment="viewStart" android:layout_weight="1" android:fontFamily="sans-serif-light" - android:paddingTop="8dp" - android:textColor="?headlineSecondaryTextColor" + android:layout_marginTop="8dp" + android:textColor="?colorPrimary" android:textSize="12sp" /> - <TextView - android:id="@+id/host" - tools:text="host" - android:background="@drawable/ripple" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:textAlignment="viewStart" - android:layout_weight="1" - android:fontFamily="sans-serif-light" - android:paddingTop="8dp" - android:textColor="?headlineSecondaryTextColor" - android:textSize="12sp" - android:visibility="gone"/> - <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_weight="1" - android:paddingTop="8dp"> + android:layout_marginStart="16dp" + android:layout_marginEnd="16dp" + android:layout_marginBottom="8dp" + android:layout_marginTop="8dp"> <TextView android:id="@+id/tags" @@ -127,7 +85,7 @@ android:textAlignment="viewStart" android:singleLine="true" android:fontFamily="sans-serif-light" - android:textColor="?headlineSecondaryTextColor" + android:textColor="?colorSecondary" android:textSize="12sp" /> <TextView @@ -136,69 +94,64 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.3" - android:gravity="" android:textAlignment="viewEnd" android:fontFamily="sans-serif-light" android:textAppearance="?android:attr/textAppearanceSmall" - android:textColor="?headlineSecondaryTextColor" + android:textColor="?colorSecondary" android:textSize="12sp" /> </LinearLayout> - </LinearLayout> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content"> - <View - android:layout_gravity="top|center_horizontal" - android:layout_width="match_parent" - android:layout_height="1dp" - android:background="?articleHeaderSeparator"/> + <com.google.android.material.card.MaterialCardView + android:id="@+id/note_container" + android:layout_width="match_parent" + app:cardBackgroundColor="?colorTertiaryContainer" + android:layout_margin="8dp" + app:strokeWidth="0dp" + android:layout_height="match_parent"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_margin="8dp" + android:layout_height="wrap_content"> + + <TextView + android:id="@+id/note" + tools:text="Article note (if any...)" + android:layout_gravity="center_vertical" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginEnd="8dp" + android:textColor="?colorOnTertiaryContainer" + android:layout_weight="1" + android:textSize="12sp"/> + + <ImageView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + app:tint="?colorOnTertiaryContainer" + android:src="@drawable/baseline_note_24"/> + + </LinearLayout> + </com.google.android.material.card.MaterialCardView> + + </LinearLayout> + </LinearLayout> + </com.google.android.material.card.MaterialCardView> </com.google.android.material.appbar.AppBarLayout> - <androidx.core.widget.NestedScrollView - android:id="@+id/article_scrollview" - android:scrollbars="vertical|horizontal" + <com.telefonica.nestedscrollwebview.NestedScrollWebView + android:id="@+id/article_content" app:layout_behavior="@string/appbar_scrolling_view_behavior" android:layout_width="match_parent" - android:layout_height="match_parent"> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="match_parent" - android:descendantFocusability="blocksDescendants" - android:orientation="vertical" > - - <TextView - android:id="@+id/note" - tools:text="Article note (if any...)" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_weight="1" - android:background="?articleNoteBackground" - android:textColor="?articleNoteTextColor" - android:textSize="12sp" - android:paddingLeft="16dp" - android:paddingTop="8dp" - android:paddingRight="16dp" - android:paddingBottom="8dp" /> - - <org.fox.ttrss.util.LessBrokenWebView - android:layout_margin="16dp" - android:id="@+id/article_content" - android:scrollbars="none" - android:layout_width="match_parent" - android:layout_height="wrap_content" /> - - </LinearLayout> - </androidx.core.widget.NestedScrollView> + android:layout_height="wrap_content" /> </com.otaliastudios.nestedscrollcoordinatorlayout.NestedScrollCoordinatorLayout> - <TextView - android:layout_width="match_parent" - android:layout_height="match_parent" - android:id="@+id/article_status_message" - android:gravity="center" - android:visibility="gone" /> - </FrameLayout>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout/article_pager.xml b/org.fox.ttrss/src/main/res/layout/fragment_article_pager.xml index 62b3fea4..1a687b1d 100755 --- a/org.fox.ttrss/src/main/res/layout/article_pager.xml +++ b/org.fox.ttrss/src/main/res/layout/fragment_article_pager.xml @@ -2,6 +2,5 @@ <androidx.viewpager.widget.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/article_pager" - android:background="?android:colorBackground" - android:layout_width="fill_parent" - android:layout_height="fill_parent"/> + android:layout_width="match_parent" + android:layout_height="wrap_content"/> diff --git a/org.fox.ttrss/src/main/res/layout/fragment_cats.xml b/org.fox.ttrss/src/main/res/layout/fragment_cats.xml deleted file mode 100755 index 64240be6..00000000 --- a/org.fox.ttrss/src/main/res/layout/fragment_cats.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/cats_fragment.xml" - android:layout_width="match_parent" - android:layout_height="fill_parent" > - - <androidx.swiperefreshlayout.widget.SwipeRefreshLayout - android:id="@+id/feeds_swipe_container" - android:layout_width="match_parent" - android:layout_height="match_parent" > - - <ListView - android:id="@+id/feeds" - android:dividerHeight="0dp" - android:divider="@null" - android:layout_width="match_parent" - android:layout_height="match_parent" > - </ListView> - </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> -</FrameLayout>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout/fragment_feeds.xml b/org.fox.ttrss/src/main/res/layout/fragment_feeds.xml index 2d8d963b..bf26e3fc 100755 --- a/org.fox.ttrss/src/main/res/layout/fragment_feeds.xml +++ b/org.fox.ttrss/src/main/res/layout/fragment_feeds.xml @@ -11,8 +11,10 @@ <ListView android:id="@+id/feeds" - android:dividerHeight="0dp" + android:dividerHeight="4dp" android:divider="@null" + android:paddingStart="4dp" + android:paddingEnd="4dp" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentLeft="true" diff --git a/org.fox.ttrss/src/main/res/layout/fragment_headlines.xml b/org.fox.ttrss/src/main/res/layout/fragment_headlines.xml index 9f09290f..2783a1e4 100755 --- a/org.fox.ttrss/src/main/res/layout/fragment_headlines.xml +++ b/org.fox.ttrss/src/main/res/layout/fragment_headlines.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/headlines_fragment" - android:background="?android:colorBackground" android:layout_width="fill_parent" android:layout_height="fill_parent"> @@ -12,6 +11,7 @@ <org.fox.ttrss.util.ContextMenuRecyclerView android:id="@+id/headlines_list" + android:background="?colorSurfaceContainer" android:drawSelectorOnTop="true" android:scrollbars="vertical" android:layout_width="match_parent" diff --git a/org.fox.ttrss/src/main/res/layout/fragment_headlines_offline.xml b/org.fox.ttrss/src/main/res/layout/fragment_headlines_offline.xml index 6e43864a..4ce8c1dd 100755 --- a/org.fox.ttrss/src/main/res/layout/fragment_headlines_offline.xml +++ b/org.fox.ttrss/src/main/res/layout/fragment_headlines_offline.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/headlines_fragment" - android:background="?android:colorBackground" android:layout_width="fill_parent" android:layout_height="fill_parent"> @@ -12,7 +11,11 @@ <ListView android:id="@+id/headlines_list" + android:background="?colorSurfaceContainer" android:drawSelectorOnTop="true" + android:padding="8dp" + android:dividerHeight="8dp" + android:divider="@null" android:layout_width="match_parent" android:layout_height="match_parent" /> </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> diff --git a/org.fox.ttrss/src/main/res/layout/headlines_footer.xml b/org.fox.ttrss/src/main/res/layout/headlines_footer.xml index a734a294..b4d52fd5 100644 --- a/org.fox.ttrss/src/main/res/layout/headlines_footer.xml +++ b/org.fox.ttrss/src/main/res/layout/headlines_footer.xml @@ -11,6 +11,6 @@ android:layout_marginBottom="10dp" android:layout_width="128dp" android:layout_height="1dp" - android:background="?headlineFooterColor"/> + android:background="?colorPrimary"/> </FrameLayout>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout/headlines_row.xml b/org.fox.ttrss/src/main/res/layout/headlines_row.xml index 2e997e2c..52bbae56 100755 --- a/org.fox.ttrss/src/main/res/layout/headlines_row.xml +++ b/org.fox.ttrss/src/main/res/layout/headlines_row.xml @@ -1,7 +1,12 @@ <?xml version="1.0" encoding="utf-8"?> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" +<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" + xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/headlines_row" + android:layout_marginStart="8dp" + android:layout_marginEnd="8dp" + android:layout_marginTop="8dp" + app:strokeWidth="0dp" android:layout_width="wrap_content" android:layout_height="wrap_content"> @@ -12,162 +17,136 @@ android:shrinkColumns="0,1" android:stretchColumns="0,1"> - <TableRow android:layout_width="fill_parent" android:layout_height="wrap_content"> - <FrameLayout - android:id="@+id/flavorImageHolder" + <RelativeLayout + android:id="@+id/headline_header" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_span="2"> + android:clickable="true" + android:layout_span="2" + android:padding="16dp"> - <RelativeLayout + <TextView + android:id="@+id/title" android:layout_width="match_parent" - android:layout_height="wrap_content"> + android:layout_height="wrap_content" + android:ellipsize="end" + android:maxLines="3" + android:paddingBottom="8dp" + android:singleLine="false" + android:textColor="?colorPrimary" + android:textSize="18sp" + android:textStyle="normal" + tools:text="Sample entry title which is overwhelmingly long blah blah blah" /> - <ProgressBar - android:id="@+id/flavorImageLoadingBar" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center" - android:visibility="visible" - style="?android:attr/progressBarStyleHorizontal" - android:layout_alignParentTop="false" - android:layout_alignParentRight="false" - android:layout_alignParentEnd="true" - android:max="100" - android:indeterminate="false" - android:layout_toRightOf="@+id/flavor_video" - android:layout_alignParentLeft="true" - android:layout_alignParentStart="true" /> + <LinearLayout + android:id="@+id/linearLayout2" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_below="@+id/title" + android:orientation="horizontal"> - <ImageView - android:id="@+id/flavor_image" - android:foreground="@drawable/ripple" - android:layout_width="match_parent" + <TextView + android:id="@+id/feed_title" + android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_centerHorizontal="true" - android:layout_gravity="center" - android:adjustViewBounds="true" - android:background="@android:color/transparent" - android:cropToPadding="true" - android:scaleType="fitCenter" - android:visibility="visible" /> + android:layout_weight="0.5" + android:ellipsize="middle" + android:fontFamily="sans-serif-light" + android:singleLine="true" + android:textAlignment="viewStart" + android:textColor="?colorSecondary" + android:textSize="12sp" + tools:text="Example Feed AAA AAA AAAAAA AAAA AAAAA AA A A AA AA" /> - <TextureView - android:id="@+id/flavor_video" - android:foreground="@null" - android:layout_width="match_parent" + <TextView + android:id="@+id/date" + android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_centerHorizontal="true" - android:layout_gravity="center" - android:adjustViewBounds="true" - android:background="@null" - android:cropToPadding="true" - android:src="@drawable/drawer_header" - android:scaleType="fitCenter" - android:visibility="gone" - android:layout_alignBottom="@+id/flavor_image" - android:layout_alignTop="@+id/flavor_image" /> + android:layout_weight="0.5" + android:ellipsize="none" + android:fontFamily="sans-serif-light" + android:singleLine="true" + android:textAlignment="viewEnd" + android:textColor="?colorSecondary" + android:textSize="12sp" + tools:text="Jan 01, 12:00, 1970" /> - <RelativeLayout - android:id="@+id/headline_header" - android:clickable="true" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="?headlineHeaderBackground" - android:padding="16dp"> + </LinearLayout> - <TextView - android:id="@+id/title" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="@drawable/ripple" - android:ellipsize="end" - android:textAlignment="viewStart" - android:gravity="center_vertical" - android:maxLines="3" - android:paddingBottom="8dp" - android:singleLine="false" - android:textColor="?headlineExcerptTextColor" - android:textSize="18sp" - android:textStyle="normal" - tools:text="Sample entry title" /> + </RelativeLayout> - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_below="@+id/title" - android:orientation="horizontal" - android:id="@+id/linearLayout2"> + </TableRow> - <TextView - android:id="@+id/feed_title" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="0.5" - android:ellipsize="middle" - android:fontFamily="sans-serif-light" - android:gravity="center_vertical" - android:textAlignment="viewStart" - android:singleLine="true" - tools:text="Example Feed AAA AAA AAAAAA AAAA AAAAA AA A A AA AA" - android:textColor="?headlineSecondaryTextColor" - android:textSize="12sp" /> + <TableRow + android:layout_width="match_parent" + android:layout_height="match_parent" > - <TextView - android:id="@+id/date" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="0.5" - android:ellipsize="none" - android:fontFamily="sans-serif-light" - android:gravity="center_vertical" - android:textAlignment="viewEnd" - android:singleLine="true" - tools:text="Jan 01, 12:00, 1970" - android:textColor="?headlineSecondaryTextColor" - android:textSize="12sp" /> + <FrameLayout + android:id="@+id/flavorImageHolder" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_span="2"> - </LinearLayout> + <ProgressBar + android:id="@+id/flavorImageLoadingBar" + style="?android:attr/progressBarStyleHorizontal" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:indeterminate="false" + android:max="100" + android:visibility="visible" /> - </RelativeLayout> + <ImageView + android:id="@+id/flavor_image" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:adjustViewBounds="true" + android:background="@android:color/transparent" + android:cropToPadding="true" + android:scaleType="centerCrop" + tools:src="@drawable/ic_launcher_background" + android:visibility="visible" /> - </RelativeLayout> + <TextureView + android:id="@+id/flavor_video" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:adjustViewBounds="true" + android:background="@null" + android:cropToPadding="true" + android:foreground="@null" + android:scaleType="fitCenter" + android:visibility="gone" /> <ImageView android:id="@+id/flavor_video_kind" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="start|bottom" + android:layout_marginStart="8dp" + android:layout_marginBottom="10dp" + android:elevation="4dp" android:scaleType="fitXY" - android:src="@drawable/ic_play_circle" + android:src="@drawable/baseline_play_circle_24" android:visibility="visible" - android:layout_below="@+id/headline_header" - android:layout_alignParentRight="true" - android:layout_alignParentEnd="true" - android:elevation="4dp" - android:tint="?colorAccent" - android:layout_marginBottom="8dp" - android:layout_marginStart="8dp" /> + app:tint="?colorTertiary" /> - <ImageView + <com.google.android.material.button.MaterialButton android:id="@+id/gallery_overflow" - android:clickable="true" + style="?attr/materialIconButtonStyle" android:layout_width="wrap_content" - android:layout_height="24dp" - android:layout_weight="0" - android:background="@drawable/ripple" - android:paddingLeft="4dp" - android:paddingRight="4dp" - android:src="@drawable/ic_dots_vertical_circle" + android:layout_height="wrap_content" android:layout_gravity="bottom|end" - android:elevation="4dp" - android:tint="?colorAccent" - android:layout_marginBottom="10dp" - tools:targetApi="lollipop" /> + android:layout_marginEnd="-8dp" + app:icon="@drawable/baseline_more_vert_24" + app:iconTint="?colorTertiary"/> </FrameLayout> </TableRow> @@ -187,7 +166,6 @@ android:maxLines="5" android:padding="16dp" tools:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - android:textColor="?headlineExcerptTextColor" android:textSize="13sp" /> </TableRow> @@ -204,7 +182,7 @@ android:paddingBottom="8dp" android:paddingLeft="8dp"> - <CheckBox + <com.google.android.material.checkbox.MaterialCheckBox android:id="@+id/selected" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -222,65 +200,60 @@ android:singleLine="true" tools:text="by Author" android:textAlignment="viewStart" - android:textColor="?headlineSecondaryTextColor" + android:textColor="?colorSecondary" android:textSize="12sp" android:textStyle="italic" /> - <ImageView + <com.google.android.material.button.MaterialButton + style="?attr/materialIconButtonStyle" android:id="@+id/score" android:layout_width="wrap_content" - android:layout_height="24dp" + android:layout_height="wrap_content" android:layout_weight="0" - android:background="@drawable/ripple" - android:clickable="true" android:paddingLeft="4dp" android:paddingRight="4dp" - android:src="?ic_action_trending_flat" /> + app:icon="?ic_action_trending_flat" /> - <ImageView + <com.google.android.material.button.MaterialButton + style="?attr/materialIconButtonStyle" android:id="@+id/attachments" android:layout_width="wrap_content" - android:layout_height="24dp" + android:layout_height="wrap_content" android:layout_weight="0" - android:background="@drawable/ripple" - android:clickable="true" android:paddingLeft="4dp" android:paddingRight="4dp" - android:src="?ic_attachment" /> + app:icon="?ic_attachment" /> - <ImageView + <com.google.android.material.button.MaterialButton + style="?attr/materialIconButtonStyle" android:id="@+id/marked" android:layout_width="wrap_content" - android:layout_height="24dp" + android:layout_height="wrap_content" android:layout_weight="0" - android:background="@drawable/ripple" - android:clickable="true" android:paddingLeft="4dp" android:paddingRight="4dp" - android:src="?ic_star_outline" /> + app:icon="?ic_star_outline" /> - <ImageView + <com.google.android.material.button.MaterialButton + style="?attr/materialIconButtonStyle" android:id="@+id/published" android:layout_width="wrap_content" - android:layout_height="24dp" + android:layout_height="wrap_content" android:layout_weight="0" - android:background="@drawable/ripple" - android:clickable="true" android:paddingLeft="4dp" android:paddingRight="4dp" - android:src="?ic_rss_box" /> + app:icon="?ic_rss_box" /> - <ImageView + <com.google.android.material.button.MaterialButton + style="?attr/materialIconButtonStyle" android:id="@+id/article_menu_button" android:layout_width="wrap_content" - android:layout_height="24dp" + android:layout_height="wrap_content" android:layout_weight="0" - android:background="@drawable/ripple" android:paddingLeft="4dp" android:paddingRight="4dp" - android:src="?ic_dots_vertical" /> + app:icon="?ic_dots_vertical" /> </LinearLayout> </TableRow> </TableLayout> - -</FrameLayout>
\ No newline at end of file +</com.google.android.material.card.MaterialCardView>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout/headlines_row_compact.xml b/org.fox.ttrss/src/main/res/layout/headlines_row_compact.xml index d139313e..fd328276 100755 --- a/org.fox.ttrss/src/main/res/layout/headlines_row_compact.xml +++ b/org.fox.ttrss/src/main/res/layout/headlines_row_compact.xml @@ -2,6 +2,7 @@ <LinearLayout xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/headlines_row" android:padding="@dimen/activity_horizontal_margin" android:layout_width="fill_parent" @@ -48,7 +49,7 @@ android:maxLines="2" android:ellipsize="end" tools:text="Sample entry title" - android:textColor="?headlineExcerptTextColor" + android:textColor="?colorPrimary" android:textSize="18sp" android:layout_span="2" /> @@ -60,7 +61,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" tools:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - android:textColor="?headlineExcerptTextColor" + android:textColor="?colorSecondary" android:textSize="13sp" android:layout_span="2" android:paddingTop="4dp" /> @@ -80,7 +81,7 @@ android:singleLine="true" tools:text="Example Feed AAA AAA AAAAAA AAAA AAAAA AA A A AA AA" android:textAlignment="viewStart" - android:textColor="?headlineSecondaryTextColor" + android:textColor="?colorSecondary" android:textSize="12sp" android:layout_weight="0.5" android:paddingTop="4dp" /> @@ -105,22 +106,20 @@ android:ellipsize="none" android:layout_weight="1" tools:text="Jan 01" - android:textColor="?headlineSecondaryTextColor" + android:textColor="?colorPrimary" android:textSize="12sp" /> - <ImageView + <com.google.android.material.button.MaterialButton android:id="@+id/marked" - android:background="@drawable/ripple" - android:layout_width="24dp" + style="?attr/materialIconButtonStyle" + android:layout_width="wrap_content" android:layout_gravity="bottom|end" - android:layout_height="24dp" + android:layout_height="wrap_content" android:layout_weight="0" android:clickable="true" - android:src="?ic_star_outline" /> - - + app:icon="?ic_star_outline" /> </LinearLayout> diff --git a/org.fox.ttrss/src/main/res/layout/headlines_row_selected_compact.xml b/org.fox.ttrss/src/main/res/layout/headlines_row_compact_selected.xml index 2e449dbb..6030df54 100755 --- a/org.fox.ttrss/src/main/res/layout/headlines_row_selected_compact.xml +++ b/org.fox.ttrss/src/main/res/layout/headlines_row_compact_selected.xml @@ -2,12 +2,14 @@ <LinearLayout xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/headlines_row" android:padding="@dimen/activity_horizontal_margin" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" - android:background="?headlineSelectedBackground" + android:background="?colorTertiaryContainer" + android:textColor="?colorOnTertiaryContainer" tools:ignore="HardcodedText" > <FrameLayout @@ -49,7 +51,6 @@ android:maxLines="2" android:ellipsize="end" tools:text="Sample entry title" - android:textColor="?headlineSelectedTextColor" android:textSize="18sp" android:layout_span="2" /> @@ -61,7 +62,6 @@ android:layout_width="match_parent" android:layout_height="match_parent" tools:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - android:textColor="?headlineSelectedExcerptTextColor" android:textSize="13sp" android:layout_span="2" android:paddingTop="4dp" /> @@ -81,7 +81,6 @@ android:singleLine="true" tools:text="Example Feed" android:textAlignment="viewStart" - android:textColor="?headlineSelectedSecondaryTextColor" android:textSize="12sp" android:layout_weight="0.5" android:paddingTop="4dp" /> @@ -106,23 +105,20 @@ android:ellipsize="none" android:layout_weight="1" tools:text="Jan 01" - android:textColor="?headlineSelectedSecondaryTextColor" + android:textColor="?colorSecondary" android:textSize="12sp" /> - <ImageView + <com.google.android.material.button.MaterialButton android:id="@+id/marked" - android:tint="?headlineFooterColor" - android:background="@drawable/ripple" - android:layout_width="24dp" + style="?attr/materialIconButtonStyle" + android:layout_width="wrap_content" android:layout_gravity="bottom|end" - android:layout_height="24dp" + android:layout_height="wrap_content" android:layout_weight="0" android:clickable="true" - android:src="?ic_star_outline" /> - - + app:icon="?ic_star_outline" /> </LinearLayout> diff --git a/org.fox.ttrss/src/main/res/layout/headlines_row_selected_unread_compact.xml b/org.fox.ttrss/src/main/res/layout/headlines_row_compact_selected_unread.xml index 024eb7cf..0d8d930d 100755 --- a/org.fox.ttrss/src/main/res/layout/headlines_row_selected_unread_compact.xml +++ b/org.fox.ttrss/src/main/res/layout/headlines_row_compact_selected_unread.xml @@ -2,12 +2,13 @@ <LinearLayout xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/headlines_row" android:padding="@dimen/activity_horizontal_margin" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" - android:background="?headlineSelectedBackground" + android:background="?colorTertiaryContainer" tools:ignore="HardcodedText" > <FrameLayout @@ -47,7 +48,6 @@ android:maxLines="2" android:ellipsize="end" tools:text="Sample entry title" - android:textColor="?headlineSelectedTextColor" android:textStyle="bold" android:textSize="18sp" android:layout_span="2" /> @@ -60,7 +60,6 @@ android:layout_width="match_parent" android:layout_height="match_parent" tools:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - android:textColor="?headlineSelectedExcerptTextColor" android:textSize="13sp" android:layout_span="2" android:paddingTop="4dp" /> @@ -80,7 +79,6 @@ android:singleLine="true" tools:text="Example Feed" android:textAlignment="viewStart" - android:textColor="?headlineSelectedSecondaryTextColor" android:textSize="12sp" android:layout_weight="0.5" android:paddingTop="4dp" /> @@ -105,23 +103,17 @@ android:ellipsize="none" android:layout_weight="1" tools:text="Jan 01" - android:textColor="?headlineSelectedSecondaryTextColor" - android:textSize="12sp" - /> + android:textColor="?colorSecondary" + android:textSize="12sp" /> - - <ImageView + <com.google.android.material.button.MaterialButton android:id="@+id/marked" - android:background="@drawable/ripple" - android:tint="?headlineFooterColor" - android:layout_width="24dp" + style="?attr/materialIconButtonStyle" + android:layout_width="wrap_content" android:layout_gravity="bottom|end" - android:layout_height="24dp" + android:layout_height="wrap_content" android:layout_weight="0" - android:clickable="true" - android:src="?ic_star_outline" /> - - + app:icon="?ic_star_outline" /> </LinearLayout> diff --git a/org.fox.ttrss/src/main/res/layout/headlines_row_unread_compact.xml b/org.fox.ttrss/src/main/res/layout/headlines_row_compact_unread.xml index e440188f..222d19d1 100755 --- a/org.fox.ttrss/src/main/res/layout/headlines_row_unread_compact.xml +++ b/org.fox.ttrss/src/main/res/layout/headlines_row_compact_unread.xml @@ -2,12 +2,13 @@ <LinearLayout xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/headlines_row" android:padding="@dimen/activity_horizontal_margin" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" - android:background="?headlineUnreadBackground" + android:background="?colorSurfaceContainerLowest" tools:ignore="HardcodedText" > <FrameLayout @@ -49,7 +50,6 @@ android:maxLines="2" android:ellipsize="end" tools:text="Sample entry title" - android:textColor="?headlineUnreadTextColor" android:textStyle="bold" android:textSize="18sp" android:layout_span="2" /> @@ -62,7 +62,6 @@ android:layout_width="match_parent" android:layout_height="match_parent" tools:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - android:textColor="?headlineExcerptTextColor" android:textSize="13sp" android:layout_span="2" android:paddingTop="4dp" /> @@ -82,7 +81,6 @@ android:singleLine="true" tools:text="Example Feed AAA AAA AAAAAA AAAA AAAAA AA A A AA AA" android:textAlignment="viewStart" - android:textColor="?headlineSecondaryTextColor" android:textSize="12sp" android:layout_weight="0.5" android:paddingTop="4dp" /> @@ -103,38 +101,22 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="sans-serif-light" + android:textColor="?colorSecondary" android:singleLine="true" android:ellipsize="none" android:layout_weight="1" tools:text="Jan 01" - android:textColor="?headlineSecondaryTextColor" - android:textSize="12sp" - /> + android:textSize="12sp" /> - - <ImageView + <com.google.android.material.button.MaterialButton android:id="@+id/marked" - android:background="@drawable/ripple" - android:layout_width="24dp" + style="?attr/materialIconButtonStyle" + android:layout_width="wrap_content" android:layout_gravity="bottom|end" - android:layout_height="24dp" + android:layout_height="wrap_content" android:layout_weight="0" - android:clickable="true" - android:src="?ic_star_outline" /> - - + app:icon="?ic_star_outline" /> </LinearLayout> - <!-- <ImageView - android:id="@+id/article_menu_button" - android:layout_gravity="center" - android:layout_width="wrap_content" - android:layout_height="16dp" - android:layout_weight="0" - android:paddingLeft="4dp" - android:paddingRight="4dp" - android:src="@drawable/ic_action_overflow" /> --> - - </LinearLayout>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout/headlines_row_loadmore.xml b/org.fox.ttrss/src/main/res/layout/headlines_row_loadmore.xml index 6444bfa5..43e9d8c8 100755 --- a/org.fox.ttrss/src/main/res/layout/headlines_row_loadmore.xml +++ b/org.fox.ttrss/src/main/res/layout/headlines_row_loadmore.xml @@ -19,7 +19,7 @@ android:id="@+id/loadmore_label" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:textColor="?headlineExcerptTextColor" + android:textColor="?colorSecondary" android:text="@string/loading_message" /> </LinearLayout>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout/headlines_row_unread.xml b/org.fox.ttrss/src/main/res/layout/headlines_row_unread.xml index ba70bb89..4b20d9cb 100755 --- a/org.fox.ttrss/src/main/res/layout/headlines_row_unread.xml +++ b/org.fox.ttrss/src/main/res/layout/headlines_row_unread.xml @@ -1,10 +1,15 @@ <?xml version="1.0" encoding="utf-8"?> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" +<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" + xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/headlines_row" + app:cardBackgroundColor="?colorSurfaceContainerLowest" + android:layout_marginStart="8dp" + android:layout_marginEnd="8dp" + android:layout_marginTop="8dp" + app:strokeWidth="0dp" android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:background="?headlineUnreadBackground"> + android:layout_height="wrap_content"> <TableLayout android:layout_width="fill_parent" @@ -17,157 +22,131 @@ android:layout_width="fill_parent" android:layout_height="wrap_content"> - <FrameLayout - android:id="@+id/flavorImageHolder" + <RelativeLayout + android:id="@+id/headline_header" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_span="2"> + android:clickable="true" + android:layout_span="2" + android:padding="16dp"> - <RelativeLayout + <TextView + android:id="@+id/title" android:layout_width="match_parent" - android:layout_height="wrap_content"> + android:layout_height="wrap_content" + android:ellipsize="end" + android:maxLines="3" + android:paddingBottom="8dp" + android:singleLine="false" + android:textColor="?colorOnSurface" + android:textSize="18sp" + android:textStyle="bold" + tools:text="Sample entry title which is overwhelmingly long blah blah blah" /> - <ProgressBar - android:id="@+id/flavorImageLoadingBar" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center" - android:visibility="visible" - style="?android:attr/progressBarStyleHorizontal" - android:layout_alignParentTop="false" - android:layout_alignParentRight="false" - android:layout_alignParentEnd="true" - android:max="100" - android:indeterminate="false" - android:layout_toRightOf="@+id/flavor_video" - android:layout_alignParentLeft="true" - android:layout_alignParentStart="true" /> + <LinearLayout + android:id="@+id/linearLayout2" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_below="@+id/title" + android:orientation="horizontal"> - <ImageView - android:id="@+id/flavor_image" - android:foreground="@drawable/ripple" - android:layout_width="match_parent" + <TextView + android:id="@+id/feed_title" + android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_centerHorizontal="true" - android:layout_gravity="center" - android:adjustViewBounds="true" - android:background="@android:color/transparent" - android:cropToPadding="true" - android:scaleType="fitCenter" - android:visibility="visible" /> + android:layout_weight="0.5" + android:ellipsize="middle" + android:fontFamily="sans-serif-light" + android:singleLine="true" + android:textAlignment="viewStart" + android:textColor="?colorSecondary" + android:textSize="12sp" + tools:text="Example Feed AAA AAA AAAAAA AAAA AAAAA AA A A AA AA" /> - <TextureView - android:id="@+id/flavor_video" - android:foreground="@null" - android:layout_width="match_parent" + <TextView + android:id="@+id/date" + android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_centerHorizontal="true" - android:layout_gravity="center" - android:adjustViewBounds="true" - android:background="@null" - android:cropToPadding="true" - android:src="@drawable/drawer_header" - android:scaleType="fitCenter" - android:visibility="gone" - android:layout_alignBottom="@+id/flavor_image" - android:layout_alignTop="@+id/flavor_image" /> + android:layout_weight="0.5" + android:ellipsize="none" + android:fontFamily="sans-serif-light" + android:singleLine="true" + android:textAlignment="viewEnd" + android:textColor="?colorSecondary" + android:textSize="12sp" + tools:text="Jan 01, 12:00, 1970" /> - <RelativeLayout - android:id="@+id/headline_header" - android:clickable="true" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="?headlineHeaderBackground" - android:padding="16dp"> + </LinearLayout> - <TextView - android:id="@+id/title" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_span="2" - android:background="@drawable/ripple" - android:ellipsize="end" - android:gravity="center_vertical" - android:maxLines="3" - android:paddingBottom="8dp" - android:singleLine="false" - android:textAlignment="viewStart" - android:textColor="?headlineUnreadTextColor" - android:textSize="18sp" - android:textStyle="bold" - tools:text="Sample entry title" /> + </RelativeLayout> - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_below="@+id/title" - android:orientation="horizontal" - android:id="@+id/linearLayout2"> + </TableRow> - <TextView - android:id="@+id/feed_title" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="0.5" - android:ellipsize="middle" - android:fontFamily="sans-serif-light" - android:gravity="center_vertical" - android:textAlignment="viewStart" - android:singleLine="true" - tools:text="Example Feed" - android:textColor="?headlineSecondaryTextColor" - android:textSize="12sp" /> + <TableRow + android:layout_width="match_parent" + android:layout_height="match_parent" > - <TextView - android:id="@+id/date" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="0.5" - android:ellipsize="none" - android:fontFamily="sans-serif-light" - android:gravity="center_vertical" - android:textAlignment="viewEnd" - android:singleLine="true" - tools:text="Jan 01, 12:00, 1970" - android:textColor="?headlineSecondaryTextColor" - android:textSize="12sp" /> + <FrameLayout + android:id="@+id/flavorImageHolder" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_span="2"> - </LinearLayout> + <ProgressBar + android:id="@+id/flavorImageLoadingBar" + style="?android:attr/progressBarStyleHorizontal" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:indeterminate="false" + android:max="100" + android:visibility="visible" /> - </RelativeLayout> + <ImageView + android:id="@+id/flavor_image" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:adjustViewBounds="true" + android:background="@android:color/transparent" + android:cropToPadding="true" + android:scaleType="centerCrop" + tools:src="@drawable/ic_launcher_background" + android:visibility="visible" /> - </RelativeLayout> + <TextureView + android:id="@+id/flavor_video" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:adjustViewBounds="true" + android:background="@null" + android:cropToPadding="true" + android:foreground="@null" + android:scaleType="fitCenter" + android:visibility="gone" /> <ImageView android:id="@+id/flavor_video_kind" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_gravity="bottom|start" + android:layout_gravity="start|bottom" + android:layout_marginStart="8dp" + android:layout_marginBottom="10dp" android:scaleType="fitXY" - android:src="@drawable/ic_play_circle" + android:src="@drawable/baseline_play_circle_24" android:visibility="visible" - android:layout_below="@+id/headline_header" - android:layout_alignParentRight="true" - android:layout_alignParentEnd="true" - android:tint="?colorAccent" - android:layout_marginStart="8dp" - android:layout_marginBottom="8dp" /> + app:tint="?colorTertiary" /> - <ImageView + <com.google.android.material.button.MaterialButton android:id="@+id/gallery_overflow" - android:clickable="true" + style="?attr/materialIconButtonStyle" android:layout_width="wrap_content" - android:layout_height="24dp" - android:layout_weight="0" - android:background="@drawable/ripple" - android:paddingLeft="4dp" - android:paddingRight="4dp" - android:src="@drawable/ic_dots_vertical_circle" + android:layout_height="wrap_content" android:layout_gravity="bottom|end" - android:elevation="4dp" - android:tint="?colorAccent" - android:layout_marginBottom="10dp" - tools:targetApi="lollipop" /> + android:layout_marginEnd="-8dp" + app:icon="@drawable/baseline_more_vert_24" + app:iconTint="?colorTertiary"/> </FrameLayout> </TableRow> @@ -187,7 +166,6 @@ android:maxLines="5" android:padding="16dp" tools:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." - android:textColor="?headlineExcerptTextColor" android:textSize="13sp" /> </TableRow> @@ -204,7 +182,7 @@ android:paddingBottom="8dp" android:paddingLeft="8dp"> - <CheckBox + <com.google.android.material.checkbox.MaterialCheckBox android:id="@+id/selected" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -222,65 +200,60 @@ android:singleLine="true" tools:text="by Author" android:textAlignment="viewStart" - android:textColor="?headlineSecondaryTextColor" + android:textColor="?colorSecondary" android:textSize="12sp" android:textStyle="italic" /> - <ImageView + <com.google.android.material.button.MaterialButton + style="?attr/materialIconButtonStyle" android:id="@+id/score" android:layout_width="wrap_content" - android:layout_height="24dp" + android:layout_height="wrap_content" android:layout_weight="0" - android:background="@drawable/ripple" - android:clickable="true" android:paddingLeft="4dp" android:paddingRight="4dp" - android:src="?ic_action_trending_flat" /> + app:icon="?ic_action_trending_flat" /> - <ImageView + <com.google.android.material.button.MaterialButton + style="?attr/materialIconButtonStyle" android:id="@+id/attachments" android:layout_width="wrap_content" - android:layout_height="24dp" + android:layout_height="wrap_content" android:layout_weight="0" - android:background="@drawable/ripple" - android:clickable="true" android:paddingLeft="4dp" android:paddingRight="4dp" - android:src="?ic_attachment" /> + app:icon="?ic_attachment" /> - <ImageView + <com.google.android.material.button.MaterialButton + style="?attr/materialIconButtonStyle" android:id="@+id/marked" android:layout_width="wrap_content" - android:layout_height="24dp" + android:layout_height="wrap_content" android:layout_weight="0" - android:background="@drawable/ripple" - android:clickable="true" android:paddingLeft="4dp" android:paddingRight="4dp" - android:src="?ic_star_outline" /> + app:icon="?ic_star_outline" /> - <ImageView + <com.google.android.material.button.MaterialButton + style="?attr/materialIconButtonStyle" android:id="@+id/published" android:layout_width="wrap_content" - android:layout_height="24dp" + android:layout_height="wrap_content" android:layout_weight="0" - android:background="@drawable/ripple" - android:clickable="true" android:paddingLeft="4dp" android:paddingRight="4dp" - android:src="?ic_rss_box" /> + app:icon="?ic_rss_box" /> - <ImageView + <com.google.android.material.button.MaterialButton + style="?attr/materialIconButtonStyle" android:id="@+id/article_menu_button" android:layout_width="wrap_content" - android:layout_height="24dp" + android:layout_height="wrap_content" android:layout_weight="0" - android:background="@drawable/ripple" android:paddingLeft="4dp" android:paddingRight="4dp" - android:src="?ic_dots_vertical" /> + app:icon="?ic_dots_vertical" /> </LinearLayout> </TableRow> </TableLayout> - -</FrameLayout>
\ No newline at end of file +</com.google.android.material.card.MaterialCardView>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout/layout_detail_phone.xml b/org.fox.ttrss/src/main/res/layout/layout_detail_phone.xml new file mode 100644 index 00000000..429b27c0 --- /dev/null +++ b/org.fox.ttrss/src/main/res/layout/layout_detail_phone.xml @@ -0,0 +1,39 @@ +<androidx.coordinatorlayout.widget.CoordinatorLayout + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <com.google.android.material.floatingactionbutton.FloatingActionButton + android:id="@+id/detail_fab" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="end|bottom" + android:visibility="gone" + android:src="@drawable/baseline_open_in_browser_24" + android:layout_margin="16dp" /> + + <com.google.android.material.appbar.AppBarLayout + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <include layout="@layout/toolbar" android:id="@+id/toolbar" /> + + </com.google.android.material.appbar.AppBarLayout> + + <FrameLayout + android:id="@+id/article_fragment" + app:layout_behavior=".util.DetailActivityScrollingViewBehavior" + android:layout_width="match_parent" + android:layout_height="wrap_content"> + </FrameLayout> + + <FrameLayout + android:id="@+id/headlines_fragment" + android:visibility="gone" + android:layout_height="0dp" + android:layout_width="0dp"> + </FrameLayout> + +</androidx.coordinatorlayout.widget.CoordinatorLayout> + diff --git a/org.fox.ttrss/src/main/res/layout/layout_master_phone.xml b/org.fox.ttrss/src/main/res/layout/layout_master_phone.xml new file mode 100644 index 00000000..b4cb6b59 --- /dev/null +++ b/org.fox.ttrss/src/main/res/layout/layout_master_phone.xml @@ -0,0 +1,53 @@ +<androidx.drawerlayout.widget.DrawerLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/headlines_drawer" + android:layout_width="fill_parent" + android:layout_height="fill_parent"> + + <androidx.coordinatorlayout.widget.CoordinatorLayout + xmlns:app="http://schemas.android.com/apk/res-auto" + android:id="@+id/headlines_coordinator" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <com.google.android.material.floatingactionbutton.FloatingActionButton + android:id="@+id/master_fab" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="end|bottom" + android:visibility="gone" + android:src="@drawable/baseline_refresh_24" + android:layout_margin="16dp" /> + + <com.google.android.material.appbar.AppBarLayout + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <include layout="@layout/toolbar" android:id="@+id/toolbar" /> + + </com.google.android.material.appbar.AppBarLayout> + + <FrameLayout + android:id="@+id/headlines_fragment" + app:layout_behavior=".util.FabAwareScrollingViewBehavior" + android:layout_width="match_parent" + android:layout_height="wrap_content"/> + + </androidx.coordinatorlayout.widget.CoordinatorLayout> + + <com.google.android.material.navigation.NavigationView + xmlns:app="http://schemas.android.com/apk/res-auto" + android:id="@+id/modal_navigation_view" + android:layout_width="300dp" + android:layout_height="match_parent" + android:layout_gravity="start"> + + <FrameLayout + android:id="@+id/feeds_fragment" + android:layout_width="match_parent" + android:layout_height="match_parent" > + </FrameLayout> + + </com.google.android.material.navigation.NavigationView> + +</androidx.drawerlayout.widget.DrawerLayout> diff --git a/org.fox.ttrss/src/main/res/layout/preference_material_switch.xml b/org.fox.ttrss/src/main/res/layout/preference_material_switch.xml new file mode 100644 index 00000000..94d654f0 --- /dev/null +++ b/org.fox.ttrss/src/main/res/layout/preference_material_switch.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Derived from https://github.com/androidx/androidx/blob/8cb282cc/preference/preference/res/layout/preference_widget_switch_compat.xml --> +<com.google.android.material.materialswitch.MaterialSwitch xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/switchWidget" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@null" + android:clickable="false" + android:focusable="false" />
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout/toolbar.xml b/org.fox.ttrss/src/main/res/layout/toolbar.xml index f5fb7654..989292b2 100755 --- a/org.fox.ttrss/src/main/res/layout/toolbar.xml +++ b/org.fox.ttrss/src/main/res/layout/toolbar.xml @@ -1,13 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> -<androidx.appcompat.widget.Toolbar +<com.google.android.material.appbar.MaterialToolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbar" - android:elevation="4dp" app:layout_scrollFlags="scroll|enterAlways" - android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" - app:popupTheme="@style/ThemeOverlay.AppCompat.Light" + app:titleTextAppearance="?attr/textAppearanceTitleMedium" android:layout_height="wrap_content" android:layout_width="match_parent" - android:minHeight="?attr/actionBarSize" - android:background="?attr/colorPrimary" />
\ No newline at end of file + android:minHeight="?attr/actionBarSize"/> diff --git a/org.fox.ttrss/src/main/res/menu/action_mode_headlines.xml b/org.fox.ttrss/src/main/res/menu/action_mode_headlines.xml index b3afdafc..35981c01 100644 --- a/org.fox.ttrss/src/main/res/menu/action_mode_headlines.xml +++ b/org.fox.ttrss/src/main/res/menu/action_mode_headlines.xml @@ -3,18 +3,21 @@ <item android:id="@+id/selection_toggle_unread" app:showAsAction="always" - android:icon="@drawable/ic_email_open" + app:iconTint="?attr/colorControlNormal" + android:icon="@drawable/baseline_mark_as_unread_24" android:title="@string/selection_toggle_unread"/> <item android:id="@+id/selection_toggle_marked" - android:icon="@drawable/ic_star_outline" + android:icon="@drawable/baseline_star_outline_24" + app:iconTint="?attr/colorControlNormal" app:showAsAction="always" android:title="@string/selection_toggle_marked"/> <item android:id="@+id/selection_toggle_published" - android:icon="@drawable/ic_rss_box" + android:icon="@drawable/baseline_rss_feed_24" + app:iconTint="?attr/colorControlNormal" app:showAsAction="always" android:title="@string/selection_toggle_published"/> diff --git a/org.fox.ttrss/src/main/res/menu/activity_logcat.xml b/org.fox.ttrss/src/main/res/menu/activity_logcat.xml index 52ee9b26..66734665 100755 --- a/org.fox.ttrss/src/main/res/menu/activity_logcat.xml +++ b/org.fox.ttrss/src/main/res/menu/activity_logcat.xml @@ -2,13 +2,15 @@ <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/logcat_refresh" - android:icon="@drawable/ic_refresh" + android:icon="@drawable/baseline_refresh_24" + app:iconTint="?attr/colorControlNormal" app:showAsAction="ifRoom" android:title="@string/logcat_refresh"/> <item android:id="@+id/logcat_copy" - android:icon="@drawable/ic_content_copy" + android:icon="@drawable/baseline_content_copy_24" + app:iconTint="?attr/colorControlNormal" app:showAsAction="ifRoom" android:title="@string/logcat_copy"/> diff --git a/org.fox.ttrss/src/main/res/menu/activity_main.xml b/org.fox.ttrss/src/main/res/menu/activity_main.xml index d2ef27a0..f983e224 100755 --- a/org.fox.ttrss/src/main/res/menu/activity_main.xml +++ b/org.fox.ttrss/src/main/res/menu/activity_main.xml @@ -12,22 +12,27 @@ <group android:id="@+id/menu_group_headlines" > <item android:id="@+id/search" - android:icon="@drawable/ic_search" + android:icon="@drawable/baseline_search_24" + app:iconTint="?attr/colorControlNormal" app:showAsAction="ifRoom" android:title="@string/search"/> <item android:id="@+id/headlines_mark_as_read" app:showAsAction="" + app:iconTint="?attr/colorControlNormal" + android:icon="@drawable/baseline_mark_email_read_24" android:title="@string/headlines_mark_as_read"/> <item android:id="@+id/headlines_select" app:showAsAction="ifRoom" - android:icon="@drawable/ic_select" + app:iconTint="?attr/colorControlNormal" + android:icon="@drawable/baseline_select_all_24" android:title="@string/headlines_select"/> <item android:id="@+id/headlines_toggle_sort_order" - android:icon="@drawable/ic_sort" + app:iconTint="?attr/colorControlNormal" + android:icon="@drawable/baseline_sort_by_alpha_24" app:showAsAction="ifRoom" android:title="@string/toggle_sort_order"/> @@ -45,29 +50,31 @@ <group android:id="@+id/menu_group_article" > <item android:id="@+id/toggle_marked" - android:icon="@drawable/ic_star_outline" + android:icon="@drawable/baseline_star_outline_24" + app:iconTint="?attr/colorControlNormal" app:showAsAction="ifRoom" android:title="@string/article_toggle_marked"/> <item android:id="@+id/toggle_published" - android:icon="@drawable/ic_rss_box" + android:icon="@drawable/baseline_rss_feed_24" + app:iconTint="?attr/colorControlNormal" app:showAsAction="ifRoom" android:title="@string/article_toggle_published"/> <item android:id="@+id/toggle_unread" - android:icon="@drawable/ic_email" - app:showAsAction="ifRoom" + android:icon="@drawable/baseline_email_24" + app:iconTint="?attr/colorControlNormal" android:title="@string/article_toggle_unread"/> - <!-- <item + <item android:id="@+id/toggle_attachments" - android:icon="@drawable/ic_attachment" + android:icon="@drawable/baseline_attach_file_24" app:showAsAction="" - android:title="@string/attachments_prompt"/> --> - <!-- <item + android:title="@string/attachments_prompt"/> + <item android:id="@+id/share_article" - android:icon="@drawable/ic_share" + android:icon="@drawable/baseline_share_24" app:showAsAction="ifRoom" - android:title="@string/share_article"/> --> + android:title="@string/share_article"/> <item android:id="@+id/set_labels" app:showAsAction="" @@ -76,6 +83,10 @@ android:id="@+id/article_set_note" app:showAsAction="" android:title="@string/article_set_note"/> + <item + android:id="@+id/article_set_score" + app:showAsAction="" + android:title="@string/set_score"/> <item android:id="@+id/catchup_above" @@ -83,26 +94,21 @@ </group> - <!-- <item - android:orderInCategory="999" - android:id="@+id/preferences" - android:icon="@drawable/ic_settings" - app:showAsAction="" - android:title="@string/preferences"/> --> - </group> <group android:id="@+id/menu_group_logged_out" > <item android:id="@+id/login" - android:icon="@drawable/ic_login" + android:icon="@drawable/baseline_login_24" + app:iconTint="?attr/colorControlNormal" app:showAsAction="ifRoom" android:title="@string/login_login"/> <item android:orderInCategory="999" android:id="@+id/preferences" - android:icon="@drawable/ic_settings" + android:icon="@drawable/baseline_settings_24" + app:iconTint="?attr/colorControlNormal" app:showAsAction="ifRoom" android:title="@string/preferences"/> diff --git a/org.fox.ttrss/src/main/res/menu/activity_offline.xml b/org.fox.ttrss/src/main/res/menu/activity_offline.xml index c533ae75..09dbf194 100644 --- a/org.fox.ttrss/src/main/res/menu/activity_offline.xml +++ b/org.fox.ttrss/src/main/res/menu/activity_offline.xml @@ -5,22 +5,22 @@ <group android:id="@+id/menu_group_headlines" > <item android:id="@+id/search" - app:showAsAction="ifRoom" - android:icon="@drawable/ic_search" - android:title="@string/search"/> + android:icon="@drawable/baseline_search_24" + android:title="@string/search" + app:showAsAction="ifRoom" /> <item android:id="@+id/headlines_mark_as_read" app:showAsAction="" android:title="@string/headlines_mark_as_read"/> <item android:id="@+id/headlines_select" - android:icon="@drawable/ic_select" + android:icon="@drawable/baseline_select_all_24" app:showAsAction="ifRoom" android:title="@string/headlines_select"/> <item android:id="@+id/headlines_toggle_sort_order" - android:icon="@drawable/ic_sort" + android:icon="@drawable/baseline_sort_24" app:showAsAction="ifRoom" android:title="@string/toggle_sort_order"/> @@ -32,17 +32,17 @@ <group android:id="@+id/menu_group_article" > <item android:id="@+id/toggle_marked" - android:icon="@drawable/ic_star_outline" + android:icon="@drawable/baseline_star_outline_24" app:showAsAction="ifRoom" android:title="@string/article_toggle_marked"/> <item android:id="@+id/toggle_published" - android:icon="@drawable/ic_rss_box" + android:icon="@drawable/baseline_rss_feed_24" app:showAsAction="ifRoom" android:title="@string/article_toggle_published"/> <item android:id="@+id/toggle_unread" - android:icon="@drawable/ic_email" + android:icon="@drawable/baseline_email_24" app:showAsAction="ifRoom" android:title="@string/article_toggle_unread"/> <!-- <item diff --git a/org.fox.ttrss/src/main/res/menu/activity_share.xml b/org.fox.ttrss/src/main/res/menu/activity_share.xml index 40bb9237..2722f68b 100644 --- a/org.fox.ttrss/src/main/res/menu/activity_share.xml +++ b/org.fox.ttrss/src/main/res/menu/activity_share.xml @@ -2,7 +2,7 @@ <item android:id="@+id/preferences" - android:icon="@drawable/ic_settings" + android:icon="@drawable/baseline_settings_24" app:showAsAction="" android:title="@string/preferences"/> diff --git a/org.fox.ttrss/src/main/res/menu/activity_youtube_player.xml b/org.fox.ttrss/src/main/res/menu/activity_youtube_player.xml deleted file mode 100644 index acce1d3a..00000000 --- a/org.fox.ttrss/src/main/res/menu/activity_youtube_player.xml +++ /dev/null @@ -1,19 +0,0 @@ -<menu xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" - xmlns:tools="http://schemas.android.com/tools"> - - <item - android:id="@+id/article_vid_open" - app:showAsAction="" - android:title="@string/open_with"/> - <item - android:id="@+id/article_vid_copy" - app:showAsAction="" - android:icon="@drawable/ic_content_copy" - android:title="@string/article_link_copy"/> - <item - android:id="@+id/article_vid_share" - android:icon="@drawable/ic_share" - app:showAsAction="ifRoom" - android:title="@string/video_player_share"/> -</menu> diff --git a/org.fox.ttrss/src/main/res/menu/content_gallery_entry.xml b/org.fox.ttrss/src/main/res/menu/content_gallery_entry.xml index 70e2bdfb..12bc5c20 100755 --- a/org.fox.ttrss/src/main/res/menu/content_gallery_entry.xml +++ b/org.fox.ttrss/src/main/res/menu/content_gallery_entry.xml @@ -7,16 +7,19 @@ <item android:id="@+id/article_img_copy" app:showAsAction="" - android:icon="@drawable/ic_content_copy" + app:iconTint="?attr/colorControlNormal" + android:icon="@drawable/baseline_content_copy_24" android:title="@string/article_link_copy"/> <item android:id="@+id/article_img_share" - android:icon="@drawable/ic_share" + android:icon="@drawable/baseline_share_24" + app:iconTint="?attr/colorControlNormal" app:showAsAction="" android:title="@string/img_share_image"/> <item android:id="@+id/article_img_share_url" - android:icon="@drawable/ic_share" + android:icon="@drawable/baseline_share_24" + app:iconTint="?attr/colorControlNormal" app:showAsAction="" android:title="@string/img_share_url"/> <item diff --git a/org.fox.ttrss/src/main/res/values-night-v21/style.xml b/org.fox.ttrss/src/main/res/values-night-v21/style.xml deleted file mode 100644 index c154ed8a..00000000 --- a/org.fox.ttrss/src/main/res/values-night-v21/style.xml +++ /dev/null @@ -1,12 +0,0 @@ -<resources xmlns:android="http://schemas.android.com/apk/res/android"> - <style name="AppTheme.Base" parent="Theme.AppCompat.DayNight.NoActionBar"> - <item name="android:windowDrawsSystemBarBackgrounds">true</item> - <item name="android:statusBarColor">@android:color/transparent</item> - <item name="android:windowBackground">@color/window_background_dark</item> - <item name="android:navigationBarColor">@android:color/black</item> - </style> - - <style name="DarkDialogTheme" parent="android:Theme.Material.Dialog"> - </style> - -</resources>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/values-night/colors.xml b/org.fox.ttrss/src/main/res/values-night/colors.xml new file mode 100644 index 00000000..86ffc96f --- /dev/null +++ b/org.fox.ttrss/src/main/res/values-night/colors.xml @@ -0,0 +1,143 @@ +<resources> + <color name="md_theme_primary">#93CDF6</color> + <color name="md_theme_onPrimary">#00344C</color> + <color name="md_theme_primaryContainer">#004C6C</color> + <color name="md_theme_onPrimaryContainer">#C7E7FF</color> + <color name="md_theme_secondary">#B6C9D8</color> + <color name="md_theme_onSecondary">#21323E</color> + <color name="md_theme_secondaryContainer">#374955</color> + <color name="md_theme_onSecondaryContainer">#D2E5F5</color> + <color name="md_theme_tertiary">#FFB5A0</color> + <color name="md_theme_onTertiary">#561F0F</color> + <color name="md_theme_tertiaryContainer">#723523</color> + <color name="md_theme_onTertiaryContainer">#FFDBD1</color> + <color name="md_theme_error">#FFB4AB</color> + <color name="md_theme_onError">#690005</color> + <color name="md_theme_errorContainer">#93000A</color> + <color name="md_theme_onErrorContainer">#FFDAD6</color> + <color name="md_theme_background">#101417</color> + <color name="md_theme_onBackground">#DFE3E7</color> + <color name="md_theme_surface">#101417</color> + <color name="md_theme_onSurface">#DFE3E7</color> + <color name="md_theme_surfaceVariant">#41484D</color> + <color name="md_theme_onSurfaceVariant">#C1C7CE</color> + <color name="md_theme_outline">#8B9198</color> + <color name="md_theme_outlineVariant">#41484D</color> + <color name="md_theme_scrim">#000000</color> + <color name="md_theme_inverseSurface">#DFE3E7</color> + <color name="md_theme_inverseOnSurface">#2D3135</color> + <color name="md_theme_inversePrimary">#226488</color> + <color name="md_theme_primaryFixed">#C7E7FF</color> + <color name="md_theme_onPrimaryFixed">#001E2E</color> + <color name="md_theme_primaryFixedDim">#93CDF6</color> + <color name="md_theme_onPrimaryFixedVariant">#004C6C</color> + <color name="md_theme_secondaryFixed">#D2E5F5</color> + <color name="md_theme_onSecondaryFixed">#0B1D29</color> + <color name="md_theme_secondaryFixedDim">#B6C9D8</color> + <color name="md_theme_onSecondaryFixedVariant">#374955</color> + <color name="md_theme_tertiaryFixed">#FFDBD1</color> + <color name="md_theme_onTertiaryFixed">#3A0B01</color> + <color name="md_theme_tertiaryFixedDim">#FFB5A0</color> + <color name="md_theme_onTertiaryFixedVariant">#723523</color> + <color name="md_theme_surfaceDim">#101417</color> + <color name="md_theme_surfaceBright">#353A3D</color> + <color name="md_theme_surfaceContainerLowest">#0A0F12</color> + <color name="md_theme_surfaceContainerLow">#181C20</color> + <color name="md_theme_surfaceContainer">#1C2024</color> + <color name="md_theme_surfaceContainerHigh">#262A2E</color> + <color name="md_theme_surfaceContainerHighest">#313539</color> + <color name="md_theme_primary_mediumContrast">#BAE1FF</color> + <color name="md_theme_onPrimary_mediumContrast">#00293D</color> + <color name="md_theme_primaryContainer_mediumContrast">#5C97BD</color> + <color name="md_theme_onPrimaryContainer_mediumContrast">#000000</color> + <color name="md_theme_secondary_mediumContrast">#CCDFEE</color> + <color name="md_theme_onSecondary_mediumContrast">#162833</color> + <color name="md_theme_secondaryContainer_mediumContrast">#8193A1</color> + <color name="md_theme_onSecondaryContainer_mediumContrast">#000000</color> + <color name="md_theme_tertiary_mediumContrast">#FFD2C7</color> + <color name="md_theme_onTertiary_mediumContrast">#481506</color> + <color name="md_theme_tertiaryContainer_mediumContrast">#CB7C66</color> + <color name="md_theme_onTertiaryContainer_mediumContrast">#000000</color> + <color name="md_theme_error_mediumContrast">#FFD2CC</color> + <color name="md_theme_onError_mediumContrast">#540003</color> + <color name="md_theme_errorContainer_mediumContrast">#FF5449</color> + <color name="md_theme_onErrorContainer_mediumContrast">#000000</color> + <color name="md_theme_background_mediumContrast">#101417</color> + <color name="md_theme_onBackground_mediumContrast">#DFE3E7</color> + <color name="md_theme_surface_mediumContrast">#101417</color> + <color name="md_theme_onSurface_mediumContrast">#FFFFFF</color> + <color name="md_theme_surfaceVariant_mediumContrast">#41484D</color> + <color name="md_theme_onSurfaceVariant_mediumContrast">#D7DDE4</color> + <color name="md_theme_outline_mediumContrast">#ACB3B9</color> + <color name="md_theme_outlineVariant_mediumContrast">#8B9197</color> + <color name="md_theme_scrim_mediumContrast">#000000</color> + <color name="md_theme_inverseSurface_mediumContrast">#DFE3E7</color> + <color name="md_theme_inverseOnSurface_mediumContrast">#262B2E</color> + <color name="md_theme_inversePrimary_mediumContrast">#004D6E</color> + <color name="md_theme_primaryFixed_mediumContrast">#C7E7FF</color> + <color name="md_theme_onPrimaryFixed_mediumContrast">#00131F</color> + <color name="md_theme_primaryFixedDim_mediumContrast">#93CDF6</color> + <color name="md_theme_onPrimaryFixedVariant_mediumContrast">#003A54</color> + <color name="md_theme_secondaryFixed_mediumContrast">#D2E5F5</color> + <color name="md_theme_onSecondaryFixed_mediumContrast">#02131E</color> + <color name="md_theme_secondaryFixedDim_mediumContrast">#B6C9D8</color> + <color name="md_theme_onSecondaryFixedVariant_mediumContrast">#273844</color> + <color name="md_theme_tertiaryFixed_mediumContrast">#FFDBD1</color> + <color name="md_theme_onTertiaryFixed_mediumContrast">#290400</color> + <color name="md_theme_tertiaryFixedDim_mediumContrast">#FFB5A0</color> + <color name="md_theme_onTertiaryFixedVariant_mediumContrast">#5D2515</color> + <color name="md_theme_surfaceDim_mediumContrast">#101417</color> + <color name="md_theme_surfaceBright_mediumContrast">#414549</color> + <color name="md_theme_surfaceContainerLowest_mediumContrast">#05080B</color> + <color name="md_theme_surfaceContainerLow_mediumContrast">#1A1E22</color> + <color name="md_theme_surfaceContainer_mediumContrast">#24282C</color> + <color name="md_theme_surfaceContainerHigh_mediumContrast">#2F3337</color> + <color name="md_theme_surfaceContainerHighest_mediumContrast">#3A3E42</color> + <color name="md_theme_primary_highContrast">#E3F2FF</color> + <color name="md_theme_onPrimary_highContrast">#000000</color> + <color name="md_theme_primaryContainer_highContrast">#8FC9F2</color> + <color name="md_theme_onPrimaryContainer_highContrast">#000D16</color> + <color name="md_theme_secondary_highContrast">#E3F2FF</color> + <color name="md_theme_onSecondary_highContrast">#000000</color> + <color name="md_theme_secondaryContainer_highContrast">#B3C5D4</color> + <color name="md_theme_onSecondaryContainer_highContrast">#000D16</color> + <color name="md_theme_tertiary_highContrast">#FFECE7</color> + <color name="md_theme_onTertiary_highContrast">#000000</color> + <color name="md_theme_tertiaryContainer_highContrast">#FFAF99</color> + <color name="md_theme_onTertiaryContainer_highContrast">#1E0300</color> + <color name="md_theme_error_highContrast">#FFECE9</color> + <color name="md_theme_onError_highContrast">#000000</color> + <color name="md_theme_errorContainer_highContrast">#FFAEA4</color> + <color name="md_theme_onErrorContainer_highContrast">#220001</color> + <color name="md_theme_background_highContrast">#101417</color> + <color name="md_theme_onBackground_highContrast">#DFE3E7</color> + <color name="md_theme_surface_highContrast">#101417</color> + <color name="md_theme_onSurface_highContrast">#FFFFFF</color> + <color name="md_theme_surfaceVariant_highContrast">#41484D</color> + <color name="md_theme_onSurfaceVariant_highContrast">#FFFFFF</color> + <color name="md_theme_outline_highContrast">#EAF1F7</color> + <color name="md_theme_outlineVariant_highContrast">#BDC3CA</color> + <color name="md_theme_scrim_highContrast">#000000</color> + <color name="md_theme_inverseSurface_highContrast">#DFE3E7</color> + <color name="md_theme_inverseOnSurface_highContrast">#000000</color> + <color name="md_theme_inversePrimary_highContrast">#004D6E</color> + <color name="md_theme_primaryFixed_highContrast">#C7E7FF</color> + <color name="md_theme_onPrimaryFixed_highContrast">#000000</color> + <color name="md_theme_primaryFixedDim_highContrast">#93CDF6</color> + <color name="md_theme_onPrimaryFixedVariant_highContrast">#00131F</color> + <color name="md_theme_secondaryFixed_highContrast">#D2E5F5</color> + <color name="md_theme_onSecondaryFixed_highContrast">#000000</color> + <color name="md_theme_secondaryFixedDim_highContrast">#B6C9D8</color> + <color name="md_theme_onSecondaryFixedVariant_highContrast">#02131E</color> + <color name="md_theme_tertiaryFixed_highContrast">#FFDBD1</color> + <color name="md_theme_onTertiaryFixed_highContrast">#000000</color> + <color name="md_theme_tertiaryFixedDim_highContrast">#FFB5A0</color> + <color name="md_theme_onTertiaryFixedVariant_highContrast">#290400</color> + <color name="md_theme_surfaceDim_highContrast">#101417</color> + <color name="md_theme_surfaceBright_highContrast">#4C5155</color> + <color name="md_theme_surfaceContainerLowest_highContrast">#000000</color> + <color name="md_theme_surfaceContainerLow_highContrast">#1C2024</color> + <color name="md_theme_surfaceContainer_highContrast">#2D3135</color> + <color name="md_theme_surfaceContainerHigh_highContrast">#383C40</color> + <color name="md_theme_surfaceContainerHighest_highContrast">#43474B</color> +</resources> diff --git a/org.fox.ttrss/src/main/res/values-night/style.xml b/org.fox.ttrss/src/main/res/values-night/style.xml deleted file mode 100644 index 3c15a0fd..00000000 --- a/org.fox.ttrss/src/main/res/values-night/style.xml +++ /dev/null @@ -1,66 +0,0 @@ -<resources xmlns:android="http://schemas.android.com/apk/res/android"> - - <style name="AppTheme" parent="AppTheme.Base"> - <item name="windowActionModeOverlay">true</item> - - <!-- <item name="statusBarHintColor">?colorPrimary</item> --> - <item name="unreadCounterColor">#909090</item> - <item name="feedlistTextColor">@android:color/white</item> - <item name="headlineUnreadTextColor">@android:color/white</item> - <item name="headlineSelectedTextColor">@android:color/white</item> - <item name="headlineExcerptTextColor">#bebebe</item> - <item name="headlineSecondaryTextColor">#909090</item> - <item name="headlineTitleHighScoreUnreadTextColor">#00FF00</item> - <item name="headlineSelectedExcerptTextColor">#bebebe</item> - <item name="headlineSelectedSecondaryTextColor">?headlineSelectedExcerptTextColor</item> - <item name="headlineSelectedBackground">#1c1c1c</item> - <item name="headlineHeaderBackground">#99000000</item> - <item name="headlineUnreadBackground">#101010</item> - <item name="linkColor">#2d92c8</item> - <item name="loadingBackground">@android:color/black</item> - <item name="articleNoteTextColor">#bebebe</item> - <item name="articleNoteBackground">#303030</item> - <item name="parentBtnBackground">#101010</item> - <item name="ttrssHorizontalDivider">@android:drawable/divider_horizontal_dark</item> - <item name="feedlistBackground">#1c1d1e</item> - <item name="headlinesBackground">#1c1d1e</item> - <item name="articleBackground">@android:color/black</item> - <item name="feedsSelectedBackground">#1c1c1c</item> - <item name="feedlistSelectedTextColor">@android:color/white</item> - <item name="articleHeader">@android:color/transparent</item> - <item name="articleHeaderTextColor">@android:color/white</item> - <!-- <item name="floatingActionButtonStyle">@style/FabTheme</item> --> - <item name="articleTextColor">#e0e0e0</item> - <item name="headlineFooterColor">?colorPrimary</item> - <item name="articleHeaderSeparator">#303030</item> - - <item name="colorPrimary">#1e6286</item> - <item name="colorPrimaryDark">#18506e</item> - <item name="colorAccent">#D84315</item> - - <item name="ic_rss_box">@drawable/ic_rss_box</item> - <item name="ic_checkbox_marked">@drawable/ic_checkbox_marked</item> - <item name="ic_star">@drawable/ic_star</item> - <item name="ic_star_outline">@drawable/ic_star_outline</item> - <item name="ic_share">@drawable/ic_share</item> - <item name="ic_inbox">@drawable/ic_inbox</item> - <item name="ic_go_back">@drawable/ic_go_back</item> - <item name="ic_settings">@drawable/ic_settings</item> - <item name="ic_filter_variant">@drawable/ic_filter_variant</item> - <item name="ic_cloud_download">@drawable/ic_cloud_download</item> - <item name="ic_cloud_upload">@drawable/ic_cloud_upload</item> - <item name="ic_archive">@drawable/ic_archive</item> - <item name="ic_fresh">@drawable/ic_fresh</item> - <item name="ic_restore">@drawable/ic_restore</item> - <item name="ic_folder_outline">@drawable/ic_folder_outline</item> - <item name="ic_dots_vertical">@drawable/ic_dots_vertical</item> - <item name="ic_dots_vertical_circle">@drawable/ic_dots_vertical_circle</item> - <item name="ic_attachment">@drawable/ic_attachment</item> - <item name="ic_attachment_vert">@drawable/ic_attachment_vert</item> - <item name="ic_action_trending_up">@drawable/ic_action_trending_up</item> - <item name="ic_action_trending_flat">@drawable/ic_action_trending_flat</item> - <item name="ic_action_trending_down">@drawable/ic_action_trending_down</item> - - <item name="drawer_header">@drawable/drawer_header_dark</item> - </style> -</resources>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/values-night/theme_overlays.xml b/org.fox.ttrss/src/main/res/values-night/theme_overlays.xml new file mode 100644 index 00000000..02adac70 --- /dev/null +++ b/org.fox.ttrss/src/main/res/values-night/theme_overlays.xml @@ -0,0 +1,98 @@ +<resources> + <style name="ThemeOverlay.AppTheme.MediumContrast" parent="Theme.Material3.Dark.NoActionBar"> + <item name="colorPrimary">@color/md_theme_primary_mediumContrast</item> + <item name="colorOnPrimary">@color/md_theme_onPrimary_mediumContrast</item> + <item name="colorPrimaryContainer">@color/md_theme_primaryContainer_mediumContrast</item> + <item name="colorOnPrimaryContainer">@color/md_theme_onPrimaryContainer_mediumContrast</item> + <item name="colorSecondary">@color/md_theme_secondary_mediumContrast</item> + <item name="colorOnSecondary">@color/md_theme_onSecondary_mediumContrast</item> + <item name="colorSecondaryContainer">@color/md_theme_secondaryContainer_mediumContrast</item> + <item name="colorOnSecondaryContainer">@color/md_theme_onSecondaryContainer_mediumContrast</item> + <item name="colorTertiary">@color/md_theme_tertiary_mediumContrast</item> + <item name="colorOnTertiary">@color/md_theme_onTertiary_mediumContrast</item> + <item name="colorTertiaryContainer">@color/md_theme_tertiaryContainer_mediumContrast</item> + <item name="colorOnTertiaryContainer">@color/md_theme_onTertiaryContainer_mediumContrast</item> + <item name="colorError">@color/md_theme_error_mediumContrast</item> + <item name="colorOnError">@color/md_theme_onError_mediumContrast</item> + <item name="colorErrorContainer">@color/md_theme_errorContainer_mediumContrast</item> + <item name="colorOnErrorContainer">@color/md_theme_onErrorContainer_mediumContrast</item> + <item name="android:colorBackground">@color/md_theme_background_mediumContrast</item> + <item name="colorOnBackground">@color/md_theme_onBackground_mediumContrast</item> + <item name="colorSurface">@color/md_theme_surface_mediumContrast</item> + <item name="colorOnSurface">@color/md_theme_onSurface_mediumContrast</item> + <item name="colorSurfaceVariant">@color/md_theme_surfaceVariant_mediumContrast</item> + <item name="colorOnSurfaceVariant">@color/md_theme_onSurfaceVariant_mediumContrast</item> + <item name="colorOutline">@color/md_theme_outline_mediumContrast</item> + <item name="colorOutlineVariant">@color/md_theme_outlineVariant_mediumContrast</item> + <item name="colorSurfaceInverse">@color/md_theme_inverseSurface_mediumContrast</item> + <item name="colorOnSurfaceInverse">@color/md_theme_inverseOnSurface_mediumContrast</item> + <item name="colorPrimaryInverse">@color/md_theme_inversePrimary_mediumContrast</item> + <item name="colorPrimaryFixed">@color/md_theme_primaryFixed_mediumContrast</item> + <item name="colorOnPrimaryFixed">@color/md_theme_onPrimaryFixed_mediumContrast</item> + <item name="colorPrimaryFixedDim">@color/md_theme_primaryFixedDim_mediumContrast</item> + <item name="colorOnPrimaryFixedVariant">@color/md_theme_onPrimaryFixedVariant_mediumContrast</item> + <item name="colorSecondaryFixed">@color/md_theme_secondaryFixed_mediumContrast</item> + <item name="colorOnSecondaryFixed">@color/md_theme_onSecondaryFixed_mediumContrast</item> + <item name="colorSecondaryFixedDim">@color/md_theme_secondaryFixedDim_mediumContrast</item> + <item name="colorOnSecondaryFixedVariant">@color/md_theme_onSecondaryFixedVariant_mediumContrast</item> + <item name="colorTertiaryFixed">@color/md_theme_tertiaryFixed_mediumContrast</item> + <item name="colorOnTertiaryFixed">@color/md_theme_onTertiaryFixed_mediumContrast</item> + <item name="colorTertiaryFixedDim">@color/md_theme_tertiaryFixedDim_mediumContrast</item> + <item name="colorOnTertiaryFixedVariant">@color/md_theme_onTertiaryFixedVariant_mediumContrast</item> + <item name="colorSurfaceDim">@color/md_theme_surfaceDim_mediumContrast</item> + <item name="colorSurfaceBright">@color/md_theme_surfaceBright_mediumContrast</item> + <item name="colorSurfaceContainerLowest">@color/md_theme_surfaceContainerLowest_mediumContrast</item> + <item name="colorSurfaceContainerLow">@color/md_theme_surfaceContainerLow_mediumContrast</item> + <item name="colorSurfaceContainer">@color/md_theme_surfaceContainer_mediumContrast</item> + <item name="colorSurfaceContainerHigh">@color/md_theme_surfaceContainerHigh_mediumContrast</item> + <item name="colorSurfaceContainerHighest">@color/md_theme_surfaceContainerHighest_mediumContrast</item> + </style> + <style name="ThemeOverlay.AppTheme.HighContrast" parent="Theme.Material3.Dark.NoActionBar"> + <item name="colorPrimary">@color/md_theme_primary_highContrast</item> + <item name="colorOnPrimary">@color/md_theme_onPrimary_highContrast</item> + <item name="colorPrimaryContainer">@color/md_theme_primaryContainer_highContrast</item> + <item name="colorOnPrimaryContainer">@color/md_theme_onPrimaryContainer_highContrast</item> + <item name="colorSecondary">@color/md_theme_secondary_highContrast</item> + <item name="colorOnSecondary">@color/md_theme_onSecondary_highContrast</item> + <item name="colorSecondaryContainer">@color/md_theme_secondaryContainer_highContrast</item> + <item name="colorOnSecondaryContainer">@color/md_theme_onSecondaryContainer_highContrast</item> + <item name="colorTertiary">@color/md_theme_tertiary_highContrast</item> + <item name="colorOnTertiary">@color/md_theme_onTertiary_highContrast</item> + <item name="colorTertiaryContainer">@color/md_theme_tertiaryContainer_highContrast</item> + <item name="colorOnTertiaryContainer">@color/md_theme_onTertiaryContainer_highContrast</item> + <item name="colorError">@color/md_theme_error_highContrast</item> + <item name="colorOnError">@color/md_theme_onError_highContrast</item> + <item name="colorErrorContainer">@color/md_theme_errorContainer_highContrast</item> + <item name="colorOnErrorContainer">@color/md_theme_onErrorContainer_highContrast</item> + <item name="android:colorBackground">@color/md_theme_background_highContrast</item> + <item name="colorOnBackground">@color/md_theme_onBackground_highContrast</item> + <item name="colorSurface">@color/md_theme_surface_highContrast</item> + <item name="colorOnSurface">@color/md_theme_onSurface_highContrast</item> + <item name="colorSurfaceVariant">@color/md_theme_surfaceVariant_highContrast</item> + <item name="colorOnSurfaceVariant">@color/md_theme_onSurfaceVariant_highContrast</item> + <item name="colorOutline">@color/md_theme_outline_highContrast</item> + <item name="colorOutlineVariant">@color/md_theme_outlineVariant_highContrast</item> + <item name="colorSurfaceInverse">@color/md_theme_inverseSurface_highContrast</item> + <item name="colorOnSurfaceInverse">@color/md_theme_inverseOnSurface_highContrast</item> + <item name="colorPrimaryInverse">@color/md_theme_inversePrimary_highContrast</item> + <item name="colorPrimaryFixed">@color/md_theme_primaryFixed_highContrast</item> + <item name="colorOnPrimaryFixed">@color/md_theme_onPrimaryFixed_highContrast</item> + <item name="colorPrimaryFixedDim">@color/md_theme_primaryFixedDim_highContrast</item> + <item name="colorOnPrimaryFixedVariant">@color/md_theme_onPrimaryFixedVariant_highContrast</item> + <item name="colorSecondaryFixed">@color/md_theme_secondaryFixed_highContrast</item> + <item name="colorOnSecondaryFixed">@color/md_theme_onSecondaryFixed_highContrast</item> + <item name="colorSecondaryFixedDim">@color/md_theme_secondaryFixedDim_highContrast</item> + <item name="colorOnSecondaryFixedVariant">@color/md_theme_onSecondaryFixedVariant_highContrast</item> + <item name="colorTertiaryFixed">@color/md_theme_tertiaryFixed_highContrast</item> + <item name="colorOnTertiaryFixed">@color/md_theme_onTertiaryFixed_highContrast</item> + <item name="colorTertiaryFixedDim">@color/md_theme_tertiaryFixedDim_highContrast</item> + <item name="colorOnTertiaryFixedVariant">@color/md_theme_onTertiaryFixedVariant_highContrast</item> + <item name="colorSurfaceDim">@color/md_theme_surfaceDim_highContrast</item> + <item name="colorSurfaceBright">@color/md_theme_surfaceBright_highContrast</item> + <item name="colorSurfaceContainerLowest">@color/md_theme_surfaceContainerLowest_highContrast</item> + <item name="colorSurfaceContainerLow">@color/md_theme_surfaceContainerLow_highContrast</item> + <item name="colorSurfaceContainer">@color/md_theme_surfaceContainer_highContrast</item> + <item name="colorSurfaceContainerHigh">@color/md_theme_surfaceContainerHigh_highContrast</item> + <item name="colorSurfaceContainerHighest">@color/md_theme_surfaceContainerHighest_highContrast</item> + </style> +</resources> diff --git a/org.fox.ttrss/src/main/res/values-night/themes.xml b/org.fox.ttrss/src/main/res/values-night/themes.xml new file mode 100644 index 00000000..7d54a029 --- /dev/null +++ b/org.fox.ttrss/src/main/res/values-night/themes.xml @@ -0,0 +1,76 @@ +<resources> + <style name="AppTheme" parent="Theme.Material3.Dark.NoActionBar"> + <item name="windowActionModeOverlay">true</item> + <item name="preferenceTheme">@style/AppPreferenceThemeOverlay</item> + + <item name="ic_rss_box">@drawable/baseline_rss_feed_24</item> + <item name="ic_checkbox_marked">@drawable/baseline_check_box_24</item> + <item name="ic_star">@drawable/baseline_star_24</item> + <item name="ic_star_outline">@drawable/baseline_star_outline_24</item> + <item name="ic_share">@drawable/baseline_share_24</item> + <item name="ic_inbox">@drawable/baseline_inbox_24</item> + <item name="ic_go_back">@drawable/baseline_arrow_back_24</item> + <item name="ic_settings">@drawable/baseline_settings_24</item> + <item name="ic_filter_variant">@drawable/baseline_filter_alt_24</item> + <item name="ic_cloud_download">@drawable/baseline_cloud_download_24</item> + <item name="ic_cloud_upload">@drawable/baseline_cloud_upload_24</item> + <item name="ic_archive">@drawable/baseline_archive_24</item> + <item name="ic_fresh">@drawable/baseline_local_fire_department_24</item> + <item name="ic_restore">@drawable/baseline_restore_24</item> + <item name="ic_folder_outline">@drawable/baseline_folder_open_24</item> + <item name="ic_dots_vertical">@drawable/baseline_more_vert_24</item> + <item name="ic_dots_vertical_circle">@drawable/outline_more_24</item> + <item name="ic_attachment">@drawable/baseline_attachment_24</item> + <item name="ic_attachment_vert">@drawable/baseline_attach_file_24</item> + <item name="ic_action_trending_up">@drawable/baseline_trending_up_24</item> + <item name="ic_action_trending_flat">@drawable/baseline_trending_flat_24</item> + <item name="ic_action_trending_down">@drawable/baseline_trending_down_24</item> + + <item name="colorPrimary">@color/md_theme_primary</item> + <item name="colorOnPrimary">@color/md_theme_onPrimary</item> + <item name="colorPrimaryContainer">@color/md_theme_primaryContainer</item> + <item name="colorOnPrimaryContainer">@color/md_theme_onPrimaryContainer</item> + <item name="colorSecondary">@color/md_theme_secondary</item> + <item name="colorOnSecondary">@color/md_theme_onSecondary</item> + <item name="colorSecondaryContainer">@color/md_theme_secondaryContainer</item> + <item name="colorOnSecondaryContainer">@color/md_theme_onSecondaryContainer</item> + <item name="colorTertiary">@color/md_theme_tertiary</item> + <item name="colorOnTertiary">@color/md_theme_onTertiary</item> + <item name="colorTertiaryContainer">@color/md_theme_tertiaryContainer</item> + <item name="colorOnTertiaryContainer">@color/md_theme_onTertiaryContainer</item> + <item name="colorError">@color/md_theme_error</item> + <item name="colorOnError">@color/md_theme_onError</item> + <item name="colorErrorContainer">@color/md_theme_errorContainer</item> + <item name="colorOnErrorContainer">@color/md_theme_onErrorContainer</item> + <item name="android:colorBackground">@color/md_theme_background</item> + <item name="colorOnBackground">@color/md_theme_onBackground</item> + <item name="colorSurface">@color/md_theme_surface</item> + <item name="colorOnSurface">@color/md_theme_onSurface</item> + <item name="colorSurfaceVariant">@color/md_theme_surfaceVariant</item> + <item name="colorOnSurfaceVariant">@color/md_theme_onSurfaceVariant</item> + <item name="colorOutline">@color/md_theme_outline</item> + <item name="colorOutlineVariant">@color/md_theme_outlineVariant</item> + <item name="colorSurfaceInverse">@color/md_theme_inverseSurface</item> + <item name="colorOnSurfaceInverse">@color/md_theme_inverseOnSurface</item> + <item name="colorPrimaryInverse">@color/md_theme_inversePrimary</item> + <item name="colorPrimaryFixed">@color/md_theme_primaryFixed</item> + <item name="colorOnPrimaryFixed">@color/md_theme_onPrimaryFixed</item> + <item name="colorPrimaryFixedDim">@color/md_theme_primaryFixedDim</item> + <item name="colorOnPrimaryFixedVariant">@color/md_theme_onPrimaryFixedVariant</item> + <item name="colorSecondaryFixed">@color/md_theme_secondaryFixed</item> + <item name="colorOnSecondaryFixed">@color/md_theme_onSecondaryFixed</item> + <item name="colorSecondaryFixedDim">@color/md_theme_secondaryFixedDim</item> + <item name="colorOnSecondaryFixedVariant">@color/md_theme_onSecondaryFixedVariant</item> + <item name="colorTertiaryFixed">@color/md_theme_tertiaryFixed</item> + <item name="colorOnTertiaryFixed">@color/md_theme_onTertiaryFixed</item> + <item name="colorTertiaryFixedDim">@color/md_theme_tertiaryFixedDim</item> + <item name="colorOnTertiaryFixedVariant">@color/md_theme_onTertiaryFixedVariant</item> + <item name="colorSurfaceDim">@color/md_theme_surfaceDim</item> + <item name="colorSurfaceBright">@color/md_theme_surfaceBright</item> + <item name="colorSurfaceContainerLowest">@color/md_theme_surfaceContainerLowest</item> + <item name="colorSurfaceContainerLow">@color/md_theme_surfaceContainerLow</item> + <item name="colorSurfaceContainer">@color/md_theme_surfaceContainer</item> + <item name="colorSurfaceContainerHigh">@color/md_theme_surfaceContainerHigh</item> + <item name="colorSurfaceContainerHighest">@color/md_theme_surfaceContainerHighest</item> + </style> +</resources> diff --git a/org.fox.ttrss/src/main/res/values-v11/style.xml b/org.fox.ttrss/src/main/res/values-v11/style.xml deleted file mode 100644 index 54a7530e..00000000 --- a/org.fox.ttrss/src/main/res/values-v11/style.xml +++ /dev/null @@ -1,6 +0,0 @@ -<resources xmlns:android="http://schemas.android.com/apk/res/android"> - - <style name="DarkDialogTheme" parent="android:Theme.Holo.Dialog"> - </style> - -</resources>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/values-v21/style.xml b/org.fox.ttrss/src/main/res/values-v21/style.xml deleted file mode 100755 index 3e26f96f..00000000 --- a/org.fox.ttrss/src/main/res/values-v21/style.xml +++ /dev/null @@ -1,20 +0,0 @@ -<resources xmlns:android="http://schemas.android.com/apk/res/android"> - <style name="AppTheme.Base" parent="Theme.AppCompat.DayNight.NoActionBar"> - <item name="android:windowDrawsSystemBarBackgrounds">true</item> - <item name="android:statusBarColor">@android:color/transparent</item> - <item name="android:windowBackground">@color/window_background</item> - <item name="windowActionBar">false</item> - <item name="windowNoTitle">true</item> - </style> - - <!-- <style name="DarkTheme.Base" parent="Theme.AppCompat.NoActionBar"> - <item name="android:windowDrawsSystemBarBackgrounds">true</item> - <item name="android:statusBarColor">@android:color/transparent</item> - <item name="android:windowBackground">@color/window_background_dark</item> - <item name="android:navigationBarColor">@android:color/black</item> - </style> --> - - <style name="DarkDialogTheme" parent="android:Theme.Material.Dialog"> - </style> - -</resources>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/values/attrs.xml b/org.fox.ttrss/src/main/res/values/attrs.xml index 93892545..daf2323c 100755 --- a/org.fox.ttrss/src/main/res/values/attrs.xml +++ b/org.fox.ttrss/src/main/res/values/attrs.xml @@ -1,35 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <resources> - <attr name="ttrssHorizontalDivider" format="reference|color" /> - <attr name="feedlistBackground" format="reference|color" /> - <attr name="unreadCounterColor" format="reference|color" /> - <attr name="headlinesBackground" format="reference|color" /> - <attr name="articleBackground" format="reference|color" /> - <attr name="headlineSelectedBackground" format="reference|color" /> - <attr name="headlineUnreadBackground" format="reference|color" /> - <attr name="feedsSelectedBackground" format="reference|color" /> - <attr name="feedlistTextColor" format="reference|color" /> - <attr name="feedlistSelectedTextColor" format="reference|color" /> - <!-- <attr name="headlineTextColor" format="reference|color" /> --> - <attr name="headlineHeaderBackground" format="reference|color" /> - <attr name="headlineUnreadTextColor" format="reference|color" /> - <attr name="headlineSelectedTextColor" format="reference|color" /> - <attr name="headlineExcerptTextColor" format="reference|color" /> - <attr name="headlineSecondaryTextColor" format="reference|color" /> - <attr name="headlineSelectedSecondaryTextColor" format="reference|color" /> - <attr name="headlineSelectedExcerptTextColor" format="reference|color" /> - <attr name="headlineTitleHighScoreUnreadTextColor" format="reference|color" /> - <attr name="linkColor" format="reference|color" /> - <attr name="loadingBackground" format="reference|color" /> - <attr name="articleNoteBackground" format="reference|color" /> - <attr name="articleNoteTextColor" format="reference|color" /> - <!-- <attr name="statusBarHintColor" format="reference|color" /> --> - <attr name="parentBtnBackground" format="reference|color" /> - <attr name="articleHeader" format="reference|color" /> - <attr name="articleHeaderTextColor" format="reference|color" /> - <attr name="articleTextColor" format="reference|color" /> - <attr name="headlineFooterColor" format="reference|color" /> - <attr name="articleHeaderSeparator" format="reference|color" /> <attr name="ic_rss_box" format="reference"/> <attr name="ic_checkbox_marked" format="reference" /> <attr name="ic_star" format="reference" /> diff --git a/org.fox.ttrss/src/main/res/values/colors.xml b/org.fox.ttrss/src/main/res/values/colors.xml index d87ac346..795cbaec 100755..100644 --- a/org.fox.ttrss/src/main/res/values/colors.xml +++ b/org.fox.ttrss/src/main/res/values/colors.xml @@ -1,6 +1,143 @@ -<?xml version="1.0" encoding="utf-8"?> <resources> - <item name="window_background" type="color">#216d96</item> - <item name="window_background_dark" type="color">#18506e</item> - <item name="window_background_amber" type="color">#6e4b1a</item> -</resources>
\ No newline at end of file + <color name="md_theme_primary">#226488</color> + <color name="md_theme_onPrimary">#FFFFFF</color> + <color name="md_theme_primaryContainer">#C7E7FF</color> + <color name="md_theme_onPrimaryContainer">#004C6C</color> + <color name="md_theme_secondary">#4F616E</color> + <color name="md_theme_onSecondary">#FFFFFF</color> + <color name="md_theme_secondaryContainer">#D2E5F5</color> + <color name="md_theme_onSecondaryContainer">#374955</color> + <color name="md_theme_tertiary">#8F4B38</color> + <color name="md_theme_onTertiary">#FFFFFF</color> + <color name="md_theme_tertiaryContainer">#FFDBD1</color> + <color name="md_theme_onTertiaryContainer">#723523</color> + <color name="md_theme_error">#BA1A1A</color> + <color name="md_theme_onError">#FFFFFF</color> + <color name="md_theme_errorContainer">#FFDAD6</color> + <color name="md_theme_onErrorContainer">#93000A</color> + <color name="md_theme_background">#F6FAFE</color> + <color name="md_theme_onBackground">#181C20</color> + <color name="md_theme_surface">#F6FAFE</color> + <color name="md_theme_onSurface">#181C20</color> + <color name="md_theme_surfaceVariant">#DDE3EA</color> + <color name="md_theme_onSurfaceVariant">#41484D</color> + <color name="md_theme_outline">#71787E</color> + <color name="md_theme_outlineVariant">#C1C7CE</color> + <color name="md_theme_scrim">#000000</color> + <color name="md_theme_inverseSurface">#2D3135</color> + <color name="md_theme_inverseOnSurface">#EEF1F6</color> + <color name="md_theme_inversePrimary">#93CDF6</color> + <color name="md_theme_primaryFixed">#C7E7FF</color> + <color name="md_theme_onPrimaryFixed">#001E2E</color> + <color name="md_theme_primaryFixedDim">#93CDF6</color> + <color name="md_theme_onPrimaryFixedVariant">#004C6C</color> + <color name="md_theme_secondaryFixed">#D2E5F5</color> + <color name="md_theme_onSecondaryFixed">#0B1D29</color> + <color name="md_theme_secondaryFixedDim">#B6C9D8</color> + <color name="md_theme_onSecondaryFixedVariant">#374955</color> + <color name="md_theme_tertiaryFixed">#FFDBD1</color> + <color name="md_theme_onTertiaryFixed">#3A0B01</color> + <color name="md_theme_tertiaryFixedDim">#FFB5A0</color> + <color name="md_theme_onTertiaryFixedVariant">#723523</color> + <color name="md_theme_surfaceDim">#D7DADF</color> + <color name="md_theme_surfaceBright">#F6FAFE</color> + <color name="md_theme_surfaceContainerLowest">#FFFFFF</color> + <color name="md_theme_surfaceContainerLow">#F1F4F9</color> + <color name="md_theme_surfaceContainer">#EBEEF3</color> + <color name="md_theme_surfaceContainerHigh">#E5E8ED</color> + <color name="md_theme_surfaceContainerHighest">#DFE3E7</color> + <color name="md_theme_primary_mediumContrast">#003A54</color> + <color name="md_theme_onPrimary_mediumContrast">#FFFFFF</color> + <color name="md_theme_primaryContainer_mediumContrast">#357397</color> + <color name="md_theme_onPrimaryContainer_mediumContrast">#FFFFFF</color> + <color name="md_theme_secondary_mediumContrast">#273844</color> + <color name="md_theme_onSecondary_mediumContrast">#FFFFFF</color> + <color name="md_theme_secondaryContainer_mediumContrast">#5E6F7D</color> + <color name="md_theme_onSecondaryContainer_mediumContrast">#FFFFFF</color> + <color name="md_theme_tertiary_mediumContrast">#5D2515</color> + <color name="md_theme_onTertiary_mediumContrast">#FFFFFF</color> + <color name="md_theme_tertiaryContainer_mediumContrast">#A15A46</color> + <color name="md_theme_onTertiaryContainer_mediumContrast">#FFFFFF</color> + <color name="md_theme_error_mediumContrast">#740006</color> + <color name="md_theme_onError_mediumContrast">#FFFFFF</color> + <color name="md_theme_errorContainer_mediumContrast">#CF2C27</color> + <color name="md_theme_onErrorContainer_mediumContrast">#FFFFFF</color> + <color name="md_theme_background_mediumContrast">#F6FAFE</color> + <color name="md_theme_onBackground_mediumContrast">#181C20</color> + <color name="md_theme_surface_mediumContrast">#F6FAFE</color> + <color name="md_theme_onSurface_mediumContrast">#0D1215</color> + <color name="md_theme_surfaceVariant_mediumContrast">#DDE3EA</color> + <color name="md_theme_onSurfaceVariant_mediumContrast">#30373C</color> + <color name="md_theme_outline_mediumContrast">#4D5359</color> + <color name="md_theme_outlineVariant_mediumContrast">#676E74</color> + <color name="md_theme_scrim_mediumContrast">#000000</color> + <color name="md_theme_inverseSurface_mediumContrast">#2D3135</color> + <color name="md_theme_inverseOnSurface_mediumContrast">#EEF1F6</color> + <color name="md_theme_inversePrimary_mediumContrast">#93CDF6</color> + <color name="md_theme_primaryFixed_mediumContrast">#357397</color> + <color name="md_theme_onPrimaryFixed_mediumContrast">#FFFFFF</color> + <color name="md_theme_primaryFixedDim_mediumContrast">#135A7E</color> + <color name="md_theme_onPrimaryFixedVariant_mediumContrast">#FFFFFF</color> + <color name="md_theme_secondaryFixed_mediumContrast">#5E6F7D</color> + <color name="md_theme_onSecondaryFixed_mediumContrast">#FFFFFF</color> + <color name="md_theme_secondaryFixedDim_mediumContrast">#455764</color> + <color name="md_theme_onSecondaryFixedVariant_mediumContrast">#FFFFFF</color> + <color name="md_theme_tertiaryFixed_mediumContrast">#A15A46</color> + <color name="md_theme_onTertiaryFixed_mediumContrast">#FFFFFF</color> + <color name="md_theme_tertiaryFixedDim_mediumContrast">#844230</color> + <color name="md_theme_onTertiaryFixedVariant_mediumContrast">#FFFFFF</color> + <color name="md_theme_surfaceDim_mediumContrast">#C3C7CB</color> + <color name="md_theme_surfaceBright_mediumContrast">#F6FAFE</color> + <color name="md_theme_surfaceContainerLowest_mediumContrast">#FFFFFF</color> + <color name="md_theme_surfaceContainerLow_mediumContrast">#F1F4F9</color> + <color name="md_theme_surfaceContainer_mediumContrast">#E5E8ED</color> + <color name="md_theme_surfaceContainerHigh_mediumContrast">#DADDE2</color> + <color name="md_theme_surfaceContainerHighest_mediumContrast">#CED2D7</color> + <color name="md_theme_primary_highContrast">#003046</color> + <color name="md_theme_onPrimary_highContrast">#FFFFFF</color> + <color name="md_theme_primaryContainer_highContrast">#004E70</color> + <color name="md_theme_onPrimaryContainer_highContrast">#FFFFFF</color> + <color name="md_theme_secondary_highContrast">#1D2E3A</color> + <color name="md_theme_onSecondary_highContrast">#FFFFFF</color> + <color name="md_theme_secondaryContainer_highContrast">#3A4B58</color> + <color name="md_theme_onSecondaryContainer_highContrast">#FFFFFF</color> + <color name="md_theme_tertiary_highContrast">#501B0C</color> + <color name="md_theme_onTertiary_highContrast">#FFFFFF</color> + <color name="md_theme_tertiaryContainer_highContrast">#753725</color> + <color name="md_theme_onTertiaryContainer_highContrast">#FFFFFF</color> + <color name="md_theme_error_highContrast">#600004</color> + <color name="md_theme_onError_highContrast">#FFFFFF</color> + <color name="md_theme_errorContainer_highContrast">#98000A</color> + <color name="md_theme_onErrorContainer_highContrast">#FFFFFF</color> + <color name="md_theme_background_highContrast">#F6FAFE</color> + <color name="md_theme_onBackground_highContrast">#181C20</color> + <color name="md_theme_surface_highContrast">#F6FAFE</color> + <color name="md_theme_onSurface_highContrast">#000000</color> + <color name="md_theme_surfaceVariant_highContrast">#DDE3EA</color> + <color name="md_theme_onSurfaceVariant_highContrast">#000000</color> + <color name="md_theme_outline_highContrast">#262D32</color> + <color name="md_theme_outlineVariant_highContrast">#434A50</color> + <color name="md_theme_scrim_highContrast">#000000</color> + <color name="md_theme_inverseSurface_highContrast">#2D3135</color> + <color name="md_theme_inverseOnSurface_highContrast">#FFFFFF</color> + <color name="md_theme_inversePrimary_highContrast">#93CDF6</color> + <color name="md_theme_primaryFixed_highContrast">#004E70</color> + <color name="md_theme_onPrimaryFixed_highContrast">#FFFFFF</color> + <color name="md_theme_primaryFixedDim_highContrast">#00374F</color> + <color name="md_theme_onPrimaryFixedVariant_highContrast">#FFFFFF</color> + <color name="md_theme_secondaryFixed_highContrast">#3A4B58</color> + <color name="md_theme_onSecondaryFixed_highContrast">#FFFFFF</color> + <color name="md_theme_secondaryFixedDim_highContrast">#233541</color> + <color name="md_theme_onSecondaryFixedVariant_highContrast">#FFFFFF</color> + <color name="md_theme_tertiaryFixed_highContrast">#753725</color> + <color name="md_theme_onTertiaryFixed_highContrast">#FFFFFF</color> + <color name="md_theme_tertiaryFixedDim_highContrast">#592111</color> + <color name="md_theme_onTertiaryFixedVariant_highContrast">#FFFFFF</color> + <color name="md_theme_surfaceDim_highContrast">#B5B9BE</color> + <color name="md_theme_surfaceBright_highContrast">#F6FAFE</color> + <color name="md_theme_surfaceContainerLowest_highContrast">#FFFFFF</color> + <color name="md_theme_surfaceContainerLow_highContrast">#EEF1F6</color> + <color name="md_theme_surfaceContainer_highContrast">#DFE3E7</color> + <color name="md_theme_surfaceContainerHigh_highContrast">#D1D5D9</color> + <color name="md_theme_surfaceContainerHighest_highContrast">#C3C7CB</color> +</resources> diff --git a/org.fox.ttrss/src/main/res/values/style.xml b/org.fox.ttrss/src/main/res/values/style.xml index 033a9492..f97f66f8 100755..100644 --- a/org.fox.ttrss/src/main/res/values/style.xml +++ b/org.fox.ttrss/src/main/res/values/style.xml @@ -1,152 +1,34 @@ -<resources xmlns:android="http://schemas.android.com/apk/res/android"> - - <style name="AppTheme.Base" parent="Theme.AppCompat.DayNight"> - <item name="android:windowNoTitle">true</item> - <item name="windowActionBar">false</item> - <item name="windowNoTitle">true</item> +<resources> + <style name="ShapeAppearanceArticleHeader"> + <item name="cornerFamily">rounded</item> + <item name="cornerSizeTopLeft">0dp</item> + <item name="cornerSizeTopRight">0dp</item> + <item name="cornerSizeBottomLeft">16dp</item> + <item name="cornerSizeBottomRight">16dp</item> </style> - <style name="AppTheme" parent="AppTheme.Base"> - <item name="windowActionModeOverlay">true</item> - - <!-- <item name="statusBarHintColor">?colorPrimary</item> --> - <item name="ttrssHorizontalDivider">@android:drawable/divider_horizontal_bright</item> - <item name="feedlistBackground">#e0e0e0</item> - <item name="unreadCounterColor">#909090</item> - <item name="headlinesBackground">#f0f0f0</item> - <item name="articleBackground">@android:color/white</item> - <item name="headlineSelectedBackground">#dddddd</item> - <item name="headlineHeaderBackground">#ccffffff</item> - <item name="headlineUnreadBackground">@android:color/white</item> - <item name="feedsSelectedBackground">#dddddd</item> - <item name="feedlistTextColor">@android:color/black</item> - <item name="feedlistSelectedTextColor">@android:color/black</item> - <item name="headlineUnreadTextColor">@android:color/black</item> - <item name="headlineSelectedTextColor">@android:color/black</item> - <item name="headlineExcerptTextColor">#323232</item> - <item name="headlineSecondaryTextColor">#909090</item> - <item name="headlineSelectedSecondaryTextColor">?headlineSelectedExcerptTextColor</item> - <item name="headlineSelectedExcerptTextColor">#323232</item> - <item name="headlineTitleHighScoreUnreadTextColor">#008000</item> - <item name="linkColor">?colorPrimary</item> - <item name="loadingBackground">@android:color/white</item> - <item name="articleNoteTextColor">#9a8c59</item> - <item name="articleNoteBackground">#fff7d5</item> - <item name="parentBtnBackground">#dddddd</item> - <item name="articleHeader">@android:color/transparent</item> - <item name="articleHeaderTextColor">@android:color/black</item> - <item name="articleTextColor">@android:color/black</item> - <!-- <item name="floatingActionButtonStyle">@style/FabTheme</item> --> - <item name="headlineFooterColor">?colorPrimary</item> - <item name="articleHeaderSeparator">#cccccc</item> - - <item name="colorPrimary">#257eae</item> - <item name="colorPrimaryDark">#216d96</item> - <item name="colorAccent">#F4511E</item> - - <item name="ic_rss_box">@drawable/ic_rss_box_dark</item> - <item name="ic_checkbox_marked">@drawable/ic_checkbox_marked_dark</item> - <item name="ic_star">@drawable/ic_star_dark</item> - <item name="ic_star_outline">@drawable/ic_star_outline_dark</item> - <item name="ic_share">@drawable/ic_share_dark</item> - <item name="ic_inbox">@drawable/ic_inbox_dark</item> - <item name="ic_go_back">@drawable/ic_go_back_dark</item> - <item name="ic_settings">@drawable/ic_settings_dark</item> - <item name="ic_filter_variant">@drawable/ic_filter_variant_dark</item> - <item name="ic_cloud_download">@drawable/ic_cloud_download_dark</item> - <item name="ic_cloud_upload">@drawable/ic_cloud_upload_dark</item> - <item name="ic_archive">@drawable/ic_archive_dark</item> - <item name="ic_fresh">@drawable/ic_fresh_dark</item> - <item name="ic_restore">@drawable/ic_restore_dark</item> - <item name="ic_folder_outline">@drawable/ic_folder_outline_dark</item> - <item name="ic_dots_vertical">@drawable/ic_dots_vertical_dark</item> - <item name="ic_dots_vertical_circle">@drawable/ic_dots_vertical_circle_dark</item> - <item name="ic_attachment">@drawable/ic_attachment_dark</item> - <item name="ic_attachment_vert">@drawable/ic_attachment_vert_dark</item> - <item name="ic_action_trending_up">@drawable/ic_action_trending_up_dark</item> - <item name="ic_action_trending_flat">@drawable/ic_action_trending_flat_dark</item> - <item name="ic_action_trending_down">@drawable/ic_action_trending_down_dark</item> - - <item name="drawer_header">@drawable/drawer_header</item> + <style name="ShapeAppearanceFeedsTablet"> + <item name="cornerFamily">rounded</item> + <item name="cornerSizeTopLeft">0dp</item> + <item name="cornerSizeTopRight">16dp</item> + <item name="cornerSizeBottomLeft">0dp</item> + <item name="cornerSizeBottomRight">16dp</item> </style> - <!-- - <style name="DarkTheme.Base" parent="Theme.AppCompat.NoActionBar"> - + <style name="ShapeAppearanceHeadlinesTablet"> + <item name="cornerFamily">rounded</item> + <item name="cornerSizeTopLeft">0dp</item> + <item name="cornerSizeTopRight">16dp</item> + <item name="cornerSizeBottomLeft">0dp</item> + <item name="cornerSizeBottomRight">0dp</item> </style> - <style name="AmberTheme" parent="DarkTheme"> - <item name="colorPrimary">#b87d2c</item> - <item name="colorPrimaryDark">#6e4b1a</item> - <item name="android:windowBackground">@color/window_background_amber</item> - <item name="drawer_header">@drawable/drawer_header_amber</item> + <!-- https://stackoverflow.com/a/73782598 --> + <style name="AppPreferenceThemeOverlay" parent="@style/PreferenceThemeOverlay"> + <item name="switchPreferenceCompatStyle">@style/AppSwitchPreference</item> </style> - <style name="DarkTheme" parent="DarkTheme.Base"> - <item name="windowActionModeOverlay">true</item> --> - - <!-- <item name="statusBarHintColor">?colorPrimary</item> --> - <!-- <item name="unreadCounterColor">#909090</item> - <item name="feedlistTextColor">@android:color/white</item> - <item name="headlineUnreadTextColor">@android:color/white</item> - <item name="headlineSelectedTextColor">@android:color/white</item> - <item name="headlineExcerptTextColor">#bebebe</item> - <item name="headlineSecondaryTextColor">#909090</item> - <item name="headlineTitleHighScoreUnreadTextColor">#00FF00</item> - <item name="headlineSelectedExcerptTextColor">#bebebe</item> - <item name="headlineSelectedSecondaryTextColor">?headlineSelectedExcerptTextColor</item> - <item name="headlineSelectedBackground">#1c1c1c</item> - <item name="headlineHeaderBackground">#99000000</item> - <item name="headlineUnreadBackground">#101010</item> - <item name="linkColor">#2d92c8</item> - <item name="loadingBackground">@android:color/black</item> - <item name="articleNoteTextColor">#bebebe</item> - <item name="articleNoteBackground">#303030</item> - <item name="parentBtnBackground">#101010</item> - <item name="ttrssHorizontalDivider">@android:drawable/divider_horizontal_dark</item> - <item name="feedlistBackground">#1c1d1e</item> - <item name="headlinesBackground">#1c1d1e</item> - <item name="articleBackground">@android:color/black</item> - <item name="feedsSelectedBackground">#1c1c1c</item> - <item name="feedlistSelectedTextColor">@android:color/white</item> - <item name="articleHeader">@android:color/transparent</item> - <item name="articleHeaderTextColor">@android:color/white</item> - <item name="floatingActionButtonStyle">@style/FabTheme</item> - <item name="articleTextColor">#e0e0e0</item> - <item name="headlineFooterColor">?colorPrimary</item> - <item name="articleHeaderSeparator">#303030</item> - - <item name="colorPrimary">#1e6286</item> - <item name="colorPrimaryDark">#18506e</item> - <item name="colorAccent">#D84315</item> - - <item name="ic_rss_box">@drawable/ic_rss_box</item> - <item name="ic_checkbox_marked">@drawable/ic_checkbox_marked</item> - <item name="ic_star">@drawable/ic_star</item> - <item name="ic_star_outline">@drawable/ic_star_outline</item> - <item name="ic_share">@drawable/ic_share</item> - <item name="ic_inbox">@drawable/ic_inbox</item> - <item name="ic_go_back">@drawable/ic_go_back</item> - <item name="ic_settings">@drawable/ic_settings</item> - <item name="ic_filter_variant">@drawable/ic_filter_variant</item> - <item name="ic_cloud_download">@drawable/ic_cloud_download</item> - <item name="ic_cloud_upload">@drawable/ic_cloud_upload</item> - <item name="ic_archive">@drawable/ic_archive</item> - <item name="ic_fresh">@drawable/ic_fresh</item> - <item name="ic_restore">@drawable/ic_restore</item> - <item name="ic_folder_outline">@drawable/ic_folder_outline</item> - <item name="ic_dots_vertical">@drawable/ic_dots_vertical</item> - <item name="ic_dots_vertical_circle">@drawable/ic_dots_vertical_circle</item> - <item name="ic_attachment">@drawable/ic_attachment</item> - <item name="ic_attachment_vert">@drawable/ic_attachment_vert</item> - - <item name="drawer_header">@drawable/drawer_header_dark</item> - </style> --> - - <style name="DarkDialogTheme" parent="android:Theme"></style> - - <!-- <style name="FabTheme" parent="FloatingActionButton"> - <item name="floatingActionButtonColor">?colorPrimaryDark</item> - </style> --> - + <style name="AppSwitchPreference" parent="@style/Preference.SwitchPreferenceCompat.Material"> + <item name="widgetLayout">@layout/preference_material_switch</item> + </style> </resources>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/values/theme_overlays.xml b/org.fox.ttrss/src/main/res/values/theme_overlays.xml new file mode 100644 index 00000000..e81f18fb --- /dev/null +++ b/org.fox.ttrss/src/main/res/values/theme_overlays.xml @@ -0,0 +1,98 @@ +<resources> + <style name="ThemeOverlay.AppTheme.MediumContrast" parent="Theme.Material3.Light.NoActionBar"> + <item name="colorPrimary">@color/md_theme_primary_mediumContrast</item> + <item name="colorOnPrimary">@color/md_theme_onPrimary_mediumContrast</item> + <item name="colorPrimaryContainer">@color/md_theme_primaryContainer_mediumContrast</item> + <item name="colorOnPrimaryContainer">@color/md_theme_onPrimaryContainer_mediumContrast</item> + <item name="colorSecondary">@color/md_theme_secondary_mediumContrast</item> + <item name="colorOnSecondary">@color/md_theme_onSecondary_mediumContrast</item> + <item name="colorSecondaryContainer">@color/md_theme_secondaryContainer_mediumContrast</item> + <item name="colorOnSecondaryContainer">@color/md_theme_onSecondaryContainer_mediumContrast</item> + <item name="colorTertiary">@color/md_theme_tertiary_mediumContrast</item> + <item name="colorOnTertiary">@color/md_theme_onTertiary_mediumContrast</item> + <item name="colorTertiaryContainer">@color/md_theme_tertiaryContainer_mediumContrast</item> + <item name="colorOnTertiaryContainer">@color/md_theme_onTertiaryContainer_mediumContrast</item> + <item name="colorError">@color/md_theme_error_mediumContrast</item> + <item name="colorOnError">@color/md_theme_onError_mediumContrast</item> + <item name="colorErrorContainer">@color/md_theme_errorContainer_mediumContrast</item> + <item name="colorOnErrorContainer">@color/md_theme_onErrorContainer_mediumContrast</item> + <item name="android:colorBackground">@color/md_theme_background_mediumContrast</item> + <item name="colorOnBackground">@color/md_theme_onBackground_mediumContrast</item> + <item name="colorSurface">@color/md_theme_surface_mediumContrast</item> + <item name="colorOnSurface">@color/md_theme_onSurface_mediumContrast</item> + <item name="colorSurfaceVariant">@color/md_theme_surfaceVariant_mediumContrast</item> + <item name="colorOnSurfaceVariant">@color/md_theme_onSurfaceVariant_mediumContrast</item> + <item name="colorOutline">@color/md_theme_outline_mediumContrast</item> + <item name="colorOutlineVariant">@color/md_theme_outlineVariant_mediumContrast</item> + <item name="colorSurfaceInverse">@color/md_theme_inverseSurface_mediumContrast</item> + <item name="colorOnSurfaceInverse">@color/md_theme_inverseOnSurface_mediumContrast</item> + <item name="colorPrimaryInverse">@color/md_theme_inversePrimary_mediumContrast</item> + <item name="colorPrimaryFixed">@color/md_theme_primaryFixed_mediumContrast</item> + <item name="colorOnPrimaryFixed">@color/md_theme_onPrimaryFixed_mediumContrast</item> + <item name="colorPrimaryFixedDim">@color/md_theme_primaryFixedDim_mediumContrast</item> + <item name="colorOnPrimaryFixedVariant">@color/md_theme_onPrimaryFixedVariant_mediumContrast</item> + <item name="colorSecondaryFixed">@color/md_theme_secondaryFixed_mediumContrast</item> + <item name="colorOnSecondaryFixed">@color/md_theme_onSecondaryFixed_mediumContrast</item> + <item name="colorSecondaryFixedDim">@color/md_theme_secondaryFixedDim_mediumContrast</item> + <item name="colorOnSecondaryFixedVariant">@color/md_theme_onSecondaryFixedVariant_mediumContrast</item> + <item name="colorTertiaryFixed">@color/md_theme_tertiaryFixed_mediumContrast</item> + <item name="colorOnTertiaryFixed">@color/md_theme_onTertiaryFixed_mediumContrast</item> + <item name="colorTertiaryFixedDim">@color/md_theme_tertiaryFixedDim_mediumContrast</item> + <item name="colorOnTertiaryFixedVariant">@color/md_theme_onTertiaryFixedVariant_mediumContrast</item> + <item name="colorSurfaceDim">@color/md_theme_surfaceDim_mediumContrast</item> + <item name="colorSurfaceBright">@color/md_theme_surfaceBright_mediumContrast</item> + <item name="colorSurfaceContainerLowest">@color/md_theme_surfaceContainerLowest_mediumContrast</item> + <item name="colorSurfaceContainerLow">@color/md_theme_surfaceContainerLow_mediumContrast</item> + <item name="colorSurfaceContainer">@color/md_theme_surfaceContainer_mediumContrast</item> + <item name="colorSurfaceContainerHigh">@color/md_theme_surfaceContainerHigh_mediumContrast</item> + <item name="colorSurfaceContainerHighest">@color/md_theme_surfaceContainerHighest_mediumContrast</item> + </style> + <style name="ThemeOverlay.AppTheme.HighContrast" parent="Theme.Material3.Light.NoActionBar"> + <item name="colorPrimary">@color/md_theme_primary_highContrast</item> + <item name="colorOnPrimary">@color/md_theme_onPrimary_highContrast</item> + <item name="colorPrimaryContainer">@color/md_theme_primaryContainer_highContrast</item> + <item name="colorOnPrimaryContainer">@color/md_theme_onPrimaryContainer_highContrast</item> + <item name="colorSecondary">@color/md_theme_secondary_highContrast</item> + <item name="colorOnSecondary">@color/md_theme_onSecondary_highContrast</item> + <item name="colorSecondaryContainer">@color/md_theme_secondaryContainer_highContrast</item> + <item name="colorOnSecondaryContainer">@color/md_theme_onSecondaryContainer_highContrast</item> + <item name="colorTertiary">@color/md_theme_tertiary_highContrast</item> + <item name="colorOnTertiary">@color/md_theme_onTertiary_highContrast</item> + <item name="colorTertiaryContainer">@color/md_theme_tertiaryContainer_highContrast</item> + <item name="colorOnTertiaryContainer">@color/md_theme_onTertiaryContainer_highContrast</item> + <item name="colorError">@color/md_theme_error_highContrast</item> + <item name="colorOnError">@color/md_theme_onError_highContrast</item> + <item name="colorErrorContainer">@color/md_theme_errorContainer_highContrast</item> + <item name="colorOnErrorContainer">@color/md_theme_onErrorContainer_highContrast</item> + <item name="android:colorBackground">@color/md_theme_background_highContrast</item> + <item name="colorOnBackground">@color/md_theme_onBackground_highContrast</item> + <item name="colorSurface">@color/md_theme_surface_highContrast</item> + <item name="colorOnSurface">@color/md_theme_onSurface_highContrast</item> + <item name="colorSurfaceVariant">@color/md_theme_surfaceVariant_highContrast</item> + <item name="colorOnSurfaceVariant">@color/md_theme_onSurfaceVariant_highContrast</item> + <item name="colorOutline">@color/md_theme_outline_highContrast</item> + <item name="colorOutlineVariant">@color/md_theme_outlineVariant_highContrast</item> + <item name="colorSurfaceInverse">@color/md_theme_inverseSurface_highContrast</item> + <item name="colorOnSurfaceInverse">@color/md_theme_inverseOnSurface_highContrast</item> + <item name="colorPrimaryInverse">@color/md_theme_inversePrimary_highContrast</item> + <item name="colorPrimaryFixed">@color/md_theme_primaryFixed_highContrast</item> + <item name="colorOnPrimaryFixed">@color/md_theme_onPrimaryFixed_highContrast</item> + <item name="colorPrimaryFixedDim">@color/md_theme_primaryFixedDim_highContrast</item> + <item name="colorOnPrimaryFixedVariant">@color/md_theme_onPrimaryFixedVariant_highContrast</item> + <item name="colorSecondaryFixed">@color/md_theme_secondaryFixed_highContrast</item> + <item name="colorOnSecondaryFixed">@color/md_theme_onSecondaryFixed_highContrast</item> + <item name="colorSecondaryFixedDim">@color/md_theme_secondaryFixedDim_highContrast</item> + <item name="colorOnSecondaryFixedVariant">@color/md_theme_onSecondaryFixedVariant_highContrast</item> + <item name="colorTertiaryFixed">@color/md_theme_tertiaryFixed_highContrast</item> + <item name="colorOnTertiaryFixed">@color/md_theme_onTertiaryFixed_highContrast</item> + <item name="colorTertiaryFixedDim">@color/md_theme_tertiaryFixedDim_highContrast</item> + <item name="colorOnTertiaryFixedVariant">@color/md_theme_onTertiaryFixedVariant_highContrast</item> + <item name="colorSurfaceDim">@color/md_theme_surfaceDim_highContrast</item> + <item name="colorSurfaceBright">@color/md_theme_surfaceBright_highContrast</item> + <item name="colorSurfaceContainerLowest">@color/md_theme_surfaceContainerLowest_highContrast</item> + <item name="colorSurfaceContainerLow">@color/md_theme_surfaceContainerLow_highContrast</item> + <item name="colorSurfaceContainer">@color/md_theme_surfaceContainer_highContrast</item> + <item name="colorSurfaceContainerHigh">@color/md_theme_surfaceContainerHigh_highContrast</item> + <item name="colorSurfaceContainerHighest">@color/md_theme_surfaceContainerHighest_highContrast</item> + </style> +</resources> diff --git a/org.fox.ttrss/src/main/res/values/themes.xml b/org.fox.ttrss/src/main/res/values/themes.xml new file mode 100644 index 00000000..68a57811 --- /dev/null +++ b/org.fox.ttrss/src/main/res/values/themes.xml @@ -0,0 +1,77 @@ +<resources> + + <style name="AppTheme" parent="Theme.Material3.Light.NoActionBar"> + <item name="windowActionModeOverlay">true</item> + <item name="preferenceTheme">@style/AppPreferenceThemeOverlay</item> + + <item name="ic_rss_box">@drawable/baseline_rss_feed_24</item> + <item name="ic_checkbox_marked">@drawable/baseline_check_box_24</item> + <item name="ic_star">@drawable/baseline_star_24</item> + <item name="ic_star_outline">@drawable/baseline_star_outline_24</item> + <item name="ic_share">@drawable/baseline_share_24</item> + <item name="ic_inbox">@drawable/baseline_inbox_24</item> + <item name="ic_go_back">@drawable/baseline_arrow_back_24</item> + <item name="ic_settings">@drawable/baseline_settings_24</item> + <item name="ic_filter_variant">@drawable/baseline_filter_alt_24</item> + <item name="ic_cloud_download">@drawable/baseline_cloud_download_24</item> + <item name="ic_cloud_upload">@drawable/baseline_cloud_upload_24</item> + <item name="ic_archive">@drawable/baseline_archive_24</item> + <item name="ic_fresh">@drawable/baseline_local_fire_department_24</item> + <item name="ic_restore">@drawable/baseline_restore_24</item> + <item name="ic_folder_outline">@drawable/baseline_folder_open_24</item> + <item name="ic_dots_vertical">@drawable/baseline_more_vert_24</item> + <item name="ic_dots_vertical_circle">@drawable/outline_more_24</item> + <item name="ic_attachment">@drawable/baseline_attachment_24</item> + <item name="ic_attachment_vert">@drawable/baseline_attach_file_24</item> + <item name="ic_action_trending_up">@drawable/baseline_trending_up_24</item> + <item name="ic_action_trending_flat">@drawable/baseline_trending_flat_24</item> + <item name="ic_action_trending_down">@drawable/baseline_trending_down_24</item> + + <item name="colorPrimary">@color/md_theme_primary</item> + <item name="colorOnPrimary">@color/md_theme_onPrimary</item> + <item name="colorPrimaryContainer">@color/md_theme_primaryContainer</item> + <item name="colorOnPrimaryContainer">@color/md_theme_onPrimaryContainer</item> + <item name="colorSecondary">@color/md_theme_secondary</item> + <item name="colorOnSecondary">@color/md_theme_onSecondary</item> + <item name="colorSecondaryContainer">@color/md_theme_secondaryContainer</item> + <item name="colorOnSecondaryContainer">@color/md_theme_onSecondaryContainer</item> + <item name="colorTertiary">@color/md_theme_tertiary</item> + <item name="colorOnTertiary">@color/md_theme_onTertiary</item> + <item name="colorTertiaryContainer">@color/md_theme_tertiaryContainer</item> + <item name="colorOnTertiaryContainer">@color/md_theme_onTertiaryContainer</item> + <item name="colorError">@color/md_theme_error</item> + <item name="colorOnError">@color/md_theme_onError</item> + <item name="colorErrorContainer">@color/md_theme_errorContainer</item> + <item name="colorOnErrorContainer">@color/md_theme_onErrorContainer</item> + <item name="android:colorBackground">@color/md_theme_background</item> + <item name="colorOnBackground">@color/md_theme_onBackground</item> + <item name="colorSurface">@color/md_theme_surface</item> + <item name="colorOnSurface">@color/md_theme_onSurface</item> + <item name="colorSurfaceVariant">@color/md_theme_surfaceVariant</item> + <item name="colorOnSurfaceVariant">@color/md_theme_onSurfaceVariant</item> + <item name="colorOutline">@color/md_theme_outline</item> + <item name="colorOutlineVariant">@color/md_theme_outlineVariant</item> + <item name="colorSurfaceInverse">@color/md_theme_inverseSurface</item> + <item name="colorOnSurfaceInverse">@color/md_theme_inverseOnSurface</item> + <item name="colorPrimaryInverse">@color/md_theme_inversePrimary</item> + <item name="colorPrimaryFixed">@color/md_theme_primaryFixed</item> + <item name="colorOnPrimaryFixed">@color/md_theme_onPrimaryFixed</item> + <item name="colorPrimaryFixedDim">@color/md_theme_primaryFixedDim</item> + <item name="colorOnPrimaryFixedVariant">@color/md_theme_onPrimaryFixedVariant</item> + <item name="colorSecondaryFixed">@color/md_theme_secondaryFixed</item> + <item name="colorOnSecondaryFixed">@color/md_theme_onSecondaryFixed</item> + <item name="colorSecondaryFixedDim">@color/md_theme_secondaryFixedDim</item> + <item name="colorOnSecondaryFixedVariant">@color/md_theme_onSecondaryFixedVariant</item> + <item name="colorTertiaryFixed">@color/md_theme_tertiaryFixed</item> + <item name="colorOnTertiaryFixed">@color/md_theme_onTertiaryFixed</item> + <item name="colorTertiaryFixedDim">@color/md_theme_tertiaryFixedDim</item> + <item name="colorOnTertiaryFixedVariant">@color/md_theme_onTertiaryFixedVariant</item> + <item name="colorSurfaceDim">@color/md_theme_surfaceDim</item> + <item name="colorSurfaceBright">@color/md_theme_surfaceBright</item> + <item name="colorSurfaceContainerLowest">@color/md_theme_surfaceContainerLowest</item> + <item name="colorSurfaceContainerLow">@color/md_theme_surfaceContainerLow</item> + <item name="colorSurfaceContainer">@color/md_theme_surfaceContainer</item> + <item name="colorSurfaceContainerHigh">@color/md_theme_surfaceContainerHigh</item> + <item name="colorSurfaceContainerHighest">@color/md_theme_surfaceContainerHighest</item> + </style> +</resources> diff --git a/org.fox.ttrss/src/main/res/xml/preferences.xml b/org.fox.ttrss/src/main/res/xml/preferences.xml index 41d6c9ef..3c422e7e 100755 --- a/org.fox.ttrss/src/main/res/xml/preferences.xml +++ b/org.fox.ttrss/src/main/res/xml/preferences.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> -<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > +<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto"> <PreferenceCategory android:title="@string/connection" > <EditTextPreference @@ -22,12 +23,6 @@ android:title="@string/ttrss_url" > </EditTextPreference> - <org.fox.ttrss.util.LessBrokenSwitchPreference - android:defaultValue="true" - android:key="check_for_updates" - android:summary="@string/check_for_updates_summary" - android:title="@string/check_for_updates" /> - <Preference android:key="network_settings" android:title="@string/prefs_network_settings" /> @@ -43,20 +38,17 @@ android:key="theme" android:title="@string/pref_theme" /> - <org.fox.ttrss.util.LessBrokenSwitchPreference + <SwitchPreferenceCompat android:defaultValue="false" android:key="sort_feeds_by_unread" android:title="@string/sort_feeds_by_unread" /> - <!-- <org.fox.ttrss.util.LessBrokenSwitchPreference - android:defaultValue="false" - android:key="download_feed_icons" - android:title="@string/download_feed_icons" /> --> - <org.fox.ttrss.util.LessBrokenSwitchPreference + + <SwitchPreferenceCompat android:defaultValue="false" android:key="enable_cats" android:title="@string/enable_cats" /> - <org.fox.ttrss.util.LessBrokenSwitchPreference + <SwitchPreferenceCompat android:defaultValue="false" android:dependency="enable_cats" android:key="browse_cats_like_feeds" @@ -70,7 +62,7 @@ android:key="open_on_startup" android:title="@string/open_on_startup" /> - <org.fox.ttrss.util.LessBrokenSwitchPreference + <SwitchPreferenceCompat android:defaultValue="false" android:key="force_phone_layout" android:summary="@string/force_phone_layout_summary" @@ -81,10 +73,12 @@ android:key="category_headlines" android:title="@string/headlines" > - <org.fox.ttrss.util.FontSizeDialogPreference - android:defaultValue="13" - android:key="headlines_font_size_sp" - android:dialogMessage="@string/pref_headline_font_size" + <SeekBarPreference + app:defaultValue="13" + app:min="12" + android:max="21" + app:showSeekBarValue="true" + app:key="headlines_font_size_sp_int" android:title="@string/pref_headline_font_size" /> <ListPreference @@ -95,36 +89,30 @@ android:summary="@string/prefs_headline_display_mode_long" android:title="@string/prefs_headline_display_mode" /> - <org.fox.ttrss.util.LessBrokenSwitchPreference + <SwitchPreferenceCompat android:defaultValue="false" android:key="headline_images_wifi_only" android:summary="@string/prefs_headline_images_wifi_only_long" android:title="@string/prefs_headline_images_wifi_only" /> - <org.fox.ttrss.util.LessBrokenSwitchPreference + <SwitchPreferenceCompat android:defaultValue="true" android:key="headlines_show_content" android:title="@string/pref_headlines_show_content" /> - <org.fox.ttrss.util.LessBrokenSwitchPreference + <SwitchPreferenceCompat android:defaultValue="false" android:disableDependentsState="true" android:key="headlines_mark_read_scroll" android:title="@string/pref_headlines_mark_read_scroll" /> - <org.fox.ttrss.util.LessBrokenSwitchPreference + <SwitchPreferenceCompat android:defaultValue="true" android:dependency="headlines_mark_read_scroll" android:key="headlines_swipe_to_dismiss" android:summary="@string/pref_headlines_swipe_to_dismiss_long" android:title="@string/pref_headlines_swipe_to_dismiss" /> - <!-- <org.fox.ttrss.util.LessBrokenSwitchPreference - android:defaultValue="false" - android:key="enable_condensed_fonts" - android:summary="@string/pref_headlines_use_condensed_fonts_long" - android:title="@string/pref_headlines_use_condensed_fonts" /> --> - <ListPreference android:defaultValue="15" android:entries="@array/pref_headlines_request_values" @@ -133,20 +121,20 @@ android:summary="@string/prefs_headline_request_size_long" android:title="@string/prefs_headline_request_size" /> - <org.fox.ttrss.util.LessBrokenSwitchPreference + <SwitchPreferenceCompat android:defaultValue="false" android:key="enable_image_downsampling" android:title="@string/prefs_enable_image_downsampling" android:summary="@string/prefs_enable_image_downsampling_long" /> - <org.fox.ttrss.util.LessBrokenSwitchPreference + <SwitchPreferenceCompat android:defaultValue="false" android:key="always_downsample_images" android:dependency="enable_image_downsampling" android:title="@string/prefs_always_downsample_images" android:summary="@string/prefs_always_downsample_images_long" /> - <org.fox.ttrss.util.LessBrokenSwitchPreference + <SwitchPreferenceCompat android:defaultValue="false" android:key="inline_video_player" android:summary="@string/prefs_inline_video_player" @@ -155,37 +143,39 @@ </PreferenceCategory> <PreferenceCategory android:title="@string/reading" > - <org.fox.ttrss.util.FontSizeDialogPreference - android:defaultValue="16" - android:key="article_font_size_sp" - android:inputType="number" + <SeekBarPreference + app:defaultValue="16" + app:min="12" + android:max="32" + app:showSeekBarValue="true" + app:key="article_font_size_sp_int" android:title="@string/pref_font_size" /> - <org.fox.ttrss.util.LessBrokenSwitchPreference + <SwitchPreferenceCompat android:defaultValue="true" android:key="justify_article_text" android:title="@string/justify_article_text" /> - <org.fox.ttrss.util.LessBrokenSwitchPreference + <SwitchPreferenceCompat android:defaultValue="false" android:key="use_volume_keys" android:summary="@string/use_volume_keys_long" android:title="@string/use_volume_keys" /> - <org.fox.ttrss.util.LessBrokenSwitchPreference + <SwitchPreferenceCompat android:defaultValue="true" android:key="enable_article_fab" android:summary="@string/prefs_enable_fab_long" android:title="@string/prefs_enable_fab" /> </PreferenceCategory> <PreferenceCategory android:title="@string/prefs_opening_links" > - <org.fox.ttrss.util.LessBrokenSwitchPreference + <SwitchPreferenceCompat android:defaultValue="true" android:key="enable_custom_tabs" android:summary="@string/prefs_custom_tabs_summary" android:title="@string/prefs_use_custom_tabs" /> - <org.fox.ttrss.util.LessBrokenSwitchPreference + <SwitchPreferenceCompat android:defaultValue="true" android:key="custom_tabs_ask_always" android:title="@string/ask_me_every_time" /> - <org.fox.ttrss.util.LessBrokenSwitchPreference + <SwitchPreferenceCompat android:defaultValue="false" android:key="always_open_uri" android:summary="@string/prefs_always_open_uri_summary" @@ -200,12 +190,12 @@ android:summary="@string/offline_articles_to_download_long" android:title="@string/offline_articles_to_download" /> - <org.fox.ttrss.util.LessBrokenSwitchPreference + <SwitchPreferenceCompat android:defaultValue="false" android:key="offline_sort_by_feed" android:title="@string/prefs_offline_sort_by_feed" /> - <org.fox.ttrss.util.LessBrokenSwitchPreference + <SwitchPreferenceCompat android:defaultValue="false" android:key="offline_image_cache_enabled" android:summary="@string/offline_media_cache_enabled_summary" @@ -227,7 +217,7 @@ android:key="widget_background" android:title="@string/pref_widget_background" /> - <org.fox.ttrss.util.LessBrokenSwitchPreference + <SwitchPreferenceCompat android:defaultValue="true" android:key="widget_show_fresh" android:title="@string/prefs_widget_show_fresh" @@ -239,7 +229,7 @@ android:key="show_logcat" android:title="@string/logcat_title" /> - <org.fox.ttrss.util.LessBrokenSwitchPreference + <SwitchPreferenceCompat android:defaultValue="false" android:key="transport_debugging" android:title="@string/transport_debugging" /> |