From 48b4a7ed80d043c1ec8eb28e3bd1a3ce3570703f Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Thu, 15 Aug 2019 15:40:13 +0530 Subject: [PATCH] Refactor UI implentation with the new AndroidX or Material Design library natively Replace with Material Design Theming templete Replace with vector icons Add customized typography --- app/build.gradle | 19 +- app/src/main/AndroidManifest.xml | 125 +- .../main/assets/fonts/librefranklin_400.ttf | Bin 0 -> 75176 bytes .../main/assets/fonts/merriweather_400.ttf | Bin 0 -> 149092 bytes app/src/main/assets/ic_web.svg | 1 + app/src/main/assets/main.css | 73 +- .../gaulupeau/apps/Poche/data/Settings.java | 2 +- .../apps/Poche/data/TagListAdapter.java | 6 +- .../apps/Poche/events/EventProcessor.java | 8 +- .../gaulupeau/apps/Poche/tts/TtsFragment.java | 57 +- .../gaulupeau/apps/Poche/tts/WebViewText.java | 6 +- .../apps/Poche/ui/ArticleListsFragment.java | 102 +- .../gaulupeau/apps/Poche/ui/MainActivity.java | 483 +- .../Poche/ui/ManageArticleTagsActivity.java | 2 + .../apps/Poche/ui/ReadArticleActivity.java | 545 +- .../Poche/ui/RecyclerViewListFragment.java | 1 + .../fr/gaulupeau/apps/Poche/ui/Themes.java | 36 +- .../preferences/FloatEditTextPreference.java | 2 +- .../ui/preferences/IntEditTextPreference.java | 2 +- .../ui/preferences/IntListPreference.java | 2 +- .../ui/preferences/LongListPreference.java | 2 +- .../ui/preferences/SettingsActivity.java | 847 +- .../main/res/anim/bottom_sheet_slide_in.xml | 30 + .../main/res/anim/bottom_sheet_slide_out.xml | 30 + .../res/drawable-hdpi/ic_action_next_item.png | Bin 404 -> 0 bytes .../drawable-hdpi/ic_action_previous_item.png | Bin 515 -> 0 bytes .../res/drawable-hdpi/ic_action_refresh.png | Bin 663 -> 0 bytes .../res/drawable-mdpi/ic_action_refresh.png | Bin 508 -> 0 bytes app/src/main/res/drawable-mdpi/welcome.png | Bin 7716 -> 0 bytes .../main/res/drawable-mdpi/welcome_white.png | Bin 6272 -> 0 bytes .../res/drawable-xhdpi/ic_action_refresh.png | Bin 895 -> 0 bytes .../res/drawable-xxhdpi/ic_action_refresh.png | Bin 1239 -> 0 bytes .../res/drawable/ic_account_circle_24dp.xml | 10 + ...{ic_add_black_24dp.xml => ic_add_24dp.xml} | 3 +- app/src/main/res/drawable/ic_before_24dp.xml | 5 + app/src/main/res/drawable/ic_cloud_24dp.xml | 10 + ...lete_black_24dp.xml => ic_delete_24dp.xml} | 3 +- app/src/main/res/drawable/ic_done_24dp.xml | 9 + .../main/res/drawable/ic_done_black_24dp.xml | 10 - .../res/drawable/ic_done_solarized_24dp.xml | 9 - .../main/res/drawable/ic_done_white_24dp.xml | 9 - .../res/drawable/ic_fast_forward_24dp.xml | 9 +- .../main/res/drawable/ic_fast_rewind_24dp.xml | 3 +- .../main/res/drawable/ic_favorite_24dp.xml | 9 + .../res/drawable/ic_favorite_outline_24dp.xml | 9 + .../res/drawable/ic_file_download_24dp.xml | 3 +- ...lack_24dp.xml => ic_info_outline_24dp.xml} | 9 +- ...c_list_black_24dp.xml => ic_list_24dp.xml} | 3 +- .../main/res/drawable/ic_mark_unread_24dp.xml | 6 + app/src/main/res/drawable/ic_menu_24dp.xml | 3 +- .../main/res/drawable/ic_messages_24dp.xml | 9 + .../main/res/drawable/ic_more_horiz_24dp.xml | 3 +- .../res/drawable/ic_musical_notes_24dp.xml | 3 +- app/src/main/res/drawable/ic_next_24dp.xml | 5 + .../main/res/drawable/ic_play_arrow_24dp.xml | 3 +- app/src/main/res/drawable/ic_redo_24dp.xml | 3 +- app/src/main/res/drawable/ic_refresh_24dp.xml | 5 + app/src/main/res/drawable/ic_running_24dp.xml | 3 +- app/src/main/res/drawable/ic_save_24dp.xml | 6 + ...arch_white_24dp.xml => ic_search_24dp.xml} | 3 +- .../res/drawable/ic_search_solarized_24dp.xml | 9 - ...gs_black_24dp.xml => ic_settings_24dp.xml} | 3 +- app/src/main/res/drawable/ic_snooze_24dp.xml | 3 +- app/src/main/res/drawable/ic_sort_24dp.xml | 5 + .../res/drawable/ic_sort_solarized_24dp.xml | 9 - .../main/res/drawable/ic_sort_white_24dp.xml | 9 - ...c_star_black_24dp.xml => ic_star_24dp.xml} | 3 +- .../ic_star_border_solarized_24dp.xml | 9 - ...hite_24dp.xml => ic_star_outline_24dp.xml} | 3 +- .../res/drawable/ic_star_solarized_24dp.xml | 3 +- .../main/res/drawable/ic_star_white_24dp.xml | 9 - app/src/main/res/drawable/ic_stop_24dp.xml | 3 +- app/src/main/res/drawable/ic_style_24dp.xml | 11 + app/src/main/res/drawable/ic_sync_24dp.xml | 11 + ...{ic_tag_black_24dp.xml => ic_tag_24dp.xml} | 3 +- ...c_undo_white_24dp.xml => ic_undo_24dp.xml} | 3 +- .../res/drawable/ic_undo_solarized_24dp.xml | 9 - .../main/res/drawable/ic_volume_up_24dp.xml | 3 +- .../main/res/drawable/ic_wallabag_logo.xml | 39 + app/src/main/res/drawable/ic_warning_24dp.xml | 3 +- app/src/main/res/font/librefranklin.xml | 35 + app/src/main/res/font/librefranklin_100.ttf | Bin 0 -> 72672 bytes app/src/main/res/font/librefranklin_300.ttf | Bin 0 -> 73396 bytes app/src/main/res/font/librefranklin_400.ttf | Bin 0 -> 75176 bytes .../res/font/librefranklin_400_italic.ttf | Bin 0 -> 78080 bytes app/src/main/res/font/librefranklin_500.ttf | Bin 0 -> 77140 bytes app/src/main/res/font/librefranklin_600.ttf | Bin 0 -> 76764 bytes app/src/main/res/font/librefranklin_700.ttf | Bin 0 -> 77728 bytes app/src/main/res/font/librefranklin_900.ttf | Bin 0 -> 79704 bytes app/src/main/res/font/merriweather.xml | 35 + app/src/main/res/font/merriweather_300.ttf | Bin 0 -> 148100 bytes .../main/res/font/merriweather_300_italic.ttf | Bin 0 -> 141956 bytes app/src/main/res/font/merriweather_400.ttf | Bin 0 -> 149092 bytes .../main/res/font/merriweather_400_italic.ttf | Bin 0 -> 142548 bytes app/src/main/res/font/merriweather_700.ttf | Bin 0 -> 141964 bytes .../main/res/font/merriweather_700_italic.ttf | Bin 0 -> 143736 bytes app/src/main/res/font/merriweather_900.ttf | Bin 0 -> 141624 bytes .../main/res/font/merriweather_900_italic.ttf | Bin 0 -> 142520 bytes app/src/main/res/font/roboto_black_italic.xml | 23 + app/src/main/res/layout/activity_main.xml | 2 +- .../main/res/layout/activity_main_appbar.xml | 30 +- .../layout/activity_manage_article_tags.xml | 2 +- app/src/main/res/layout/article.xml | 66 +- ...ection_wizard_framabag_config_fragment.xml | 41 +- ...nection_wizard_generic_config_fragment.xml | 42 +- ...ion_wizard_provider_selection_fragment.xml | 54 +- .../connection_wizard_summary_fragment.xml | 49 +- ...tion_wizard_wallabagit_config_fragment.xml | 47 +- .../connection_wizard_welcome_fragment.xml | 64 +- app/src/main/res/layout/dialog_add.xml | 2 +- .../main/res/layout/dialog_change_title.xml | 8 +- app/src/main/res/layout/dialog_set_key.xml | 13 +- app/src/main/res/layout/dialog_title_url.xml | 6 +- .../res/layout/fragment_article_lists.xml | 18 +- app/src/main/res/layout/fragment_tts.xml | 339 +- app/src/main/res/layout/list_item.xml | 15 +- app/src/main/res/layout/nav_header_main.xml | 28 +- app/src/main/res/layout/settings_activity.xml | 26 + app/src/main/res/layout/tag_list_item.xml | 6 +- .../res/layout/tag_list_removable_item.xml | 23 +- .../main/res/menu/activity_manage_tags.xml | 2 +- app/src/main/res/menu/main.xml | 4 +- app/src/main/res/menu/option_article.xml | 11 +- app/src/main/res/raw/webview_htmlbase.html | 15 +- app/src/main/res/values-night/color.xml | 38 + app/src/main/res/values-night/themes.xml | 26 + app/src/main/res/values-v21/styles.xml | 114 +- app/src/main/res/values/arrays.xml | 10 + app/src/main/res/values/attrs.xml | 65 + app/src/main/res/values/color.xml | 59 + app/src/main/res/values/colors.xml | 4 +- app/src/main/res/values/dimens.xml | 21 +- app/src/main/res/values/drawables.xml | 12 +- app/src/main/res/values/font_certs.xml | 33 + .../res/values/ic_launcher_background.xml | 20 + app/src/main/res/values/motion.xml | 26 + app/src/main/res/values/preloaded_fonts.xml | 22 + app/src/main/res/values/shape.xml | 54 + app/src/main/res/values/strings.xml | 42 +- app/src/main/res/values/styles.xml | 163 +- app/src/main/res/values/themes.xml | 87 + app/src/main/res/values/type.xml | 132 + .../main/res/xml/connection_preferences.xml | 76 + app/src/main/res/xml/icon_unread_info.xml | 3 +- .../res/xml/miscellaneous_preferences.xml | 46 + app/src/main/res/xml/preferences.xml | 320 +- app/src/main/res/xml/sync_preferences.xml | 79 + app/src/main/res/xml/ui_preferences.xml | 108 + q | 9519 +++++++++++++++++ 149 files changed, 12595 insertions(+), 2186 deletions(-) create mode 100644 app/src/main/assets/fonts/librefranklin_400.ttf create mode 100644 app/src/main/assets/fonts/merriweather_400.ttf create mode 100644 app/src/main/assets/ic_web.svg create mode 100644 app/src/main/res/anim/bottom_sheet_slide_in.xml create mode 100644 app/src/main/res/anim/bottom_sheet_slide_out.xml delete mode 100644 app/src/main/res/drawable-hdpi/ic_action_next_item.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_action_previous_item.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_action_refresh.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_action_refresh.png delete mode 100755 app/src/main/res/drawable-mdpi/welcome.png delete mode 100755 app/src/main/res/drawable-mdpi/welcome_white.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_action_refresh.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_action_refresh.png create mode 100644 app/src/main/res/drawable/ic_account_circle_24dp.xml rename app/src/main/res/drawable/{ic_add_black_24dp.xml => ic_add_24dp.xml} (78%) create mode 100644 app/src/main/res/drawable/ic_before_24dp.xml create mode 100644 app/src/main/res/drawable/ic_cloud_24dp.xml rename app/src/main/res/drawable/{ic_delete_black_24dp.xml => ic_delete_24dp.xml} (81%) create mode 100644 app/src/main/res/drawable/ic_done_24dp.xml delete mode 100644 app/src/main/res/drawable/ic_done_black_24dp.xml delete mode 100644 app/src/main/res/drawable/ic_done_solarized_24dp.xml delete mode 100644 app/src/main/res/drawable/ic_done_white_24dp.xml create mode 100644 app/src/main/res/drawable/ic_favorite_24dp.xml create mode 100644 app/src/main/res/drawable/ic_favorite_outline_24dp.xml rename app/src/main/res/drawable/{ic_info_outline_black_24dp.xml => ic_info_outline_24dp.xml} (67%) rename app/src/main/res/drawable/{ic_list_black_24dp.xml => ic_list_24dp.xml} (82%) create mode 100644 app/src/main/res/drawable/ic_mark_unread_24dp.xml create mode 100644 app/src/main/res/drawable/ic_messages_24dp.xml create mode 100644 app/src/main/res/drawable/ic_next_24dp.xml create mode 100644 app/src/main/res/drawable/ic_refresh_24dp.xml create mode 100644 app/src/main/res/drawable/ic_save_24dp.xml rename app/src/main/res/drawable/{ic_search_white_24dp.xml => ic_search_24dp.xml} (87%) delete mode 100644 app/src/main/res/drawable/ic_search_solarized_24dp.xml rename app/src/main/res/drawable/{ic_settings_black_24dp.xml => ic_settings_24dp.xml} (93%) create mode 100644 app/src/main/res/drawable/ic_sort_24dp.xml delete mode 100644 app/src/main/res/drawable/ic_sort_solarized_24dp.xml delete mode 100644 app/src/main/res/drawable/ic_sort_white_24dp.xml rename app/src/main/res/drawable/{ic_star_black_24dp.xml => ic_star_24dp.xml} (83%) delete mode 100644 app/src/main/res/drawable/ic_star_border_solarized_24dp.xml rename app/src/main/res/drawable/{ic_star_border_white_24dp.xml => ic_star_outline_24dp.xml} (85%) delete mode 100644 app/src/main/res/drawable/ic_star_white_24dp.xml create mode 100644 app/src/main/res/drawable/ic_style_24dp.xml create mode 100644 app/src/main/res/drawable/ic_sync_24dp.xml rename app/src/main/res/drawable/{ic_tag_black_24dp.xml => ic_tag_24dp.xml} (86%) rename app/src/main/res/drawable/{ic_undo_white_24dp.xml => ic_undo_24dp.xml} (84%) delete mode 100644 app/src/main/res/drawable/ic_undo_solarized_24dp.xml create mode 100644 app/src/main/res/drawable/ic_wallabag_logo.xml create mode 100644 app/src/main/res/font/librefranklin.xml create mode 100644 app/src/main/res/font/librefranklin_100.ttf create mode 100644 app/src/main/res/font/librefranklin_300.ttf create mode 100644 app/src/main/res/font/librefranklin_400.ttf create mode 100644 app/src/main/res/font/librefranklin_400_italic.ttf create mode 100644 app/src/main/res/font/librefranklin_500.ttf create mode 100644 app/src/main/res/font/librefranklin_600.ttf create mode 100644 app/src/main/res/font/librefranklin_700.ttf create mode 100644 app/src/main/res/font/librefranklin_900.ttf create mode 100644 app/src/main/res/font/merriweather.xml create mode 100644 app/src/main/res/font/merriweather_300.ttf create mode 100644 app/src/main/res/font/merriweather_300_italic.ttf create mode 100644 app/src/main/res/font/merriweather_400.ttf create mode 100644 app/src/main/res/font/merriweather_400_italic.ttf create mode 100644 app/src/main/res/font/merriweather_700.ttf create mode 100644 app/src/main/res/font/merriweather_700_italic.ttf create mode 100644 app/src/main/res/font/merriweather_900.ttf create mode 100644 app/src/main/res/font/merriweather_900_italic.ttf create mode 100644 app/src/main/res/font/roboto_black_italic.xml create mode 100644 app/src/main/res/layout/settings_activity.xml create mode 100644 app/src/main/res/values-night/color.xml create mode 100644 app/src/main/res/values-night/themes.xml create mode 100644 app/src/main/res/values/attrs.xml create mode 100644 app/src/main/res/values/color.xml create mode 100644 app/src/main/res/values/font_certs.xml create mode 100644 app/src/main/res/values/ic_launcher_background.xml create mode 100644 app/src/main/res/values/motion.xml create mode 100644 app/src/main/res/values/preloaded_fonts.xml create mode 100644 app/src/main/res/values/shape.xml create mode 100644 app/src/main/res/values/themes.xml create mode 100644 app/src/main/res/values/type.xml create mode 100644 app/src/main/res/xml/connection_preferences.xml create mode 100644 app/src/main/res/xml/miscellaneous_preferences.xml create mode 100644 app/src/main/res/xml/sync_preferences.xml create mode 100644 app/src/main/res/xml/ui_preferences.xml create mode 100644 q diff --git a/app/build.gradle b/app/build.gradle index e6f4102dd..305a46b46 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,18 +2,18 @@ apply plugin: 'com.android.application' apply plugin: 'org.greenrobot.greendao' android { - compileSdkVersion 28 + compileSdkVersion 29 defaultConfig { applicationId "fr.gaulupeau.apps.InThePoche" - minSdkVersion 21 - targetSdkVersion 28 + minSdkVersion 24 + targetSdkVersion 29 versionCode 215 versionName "2.3.0-beta.1" javaCompileOptions { annotationProcessorOptions { - arguments = [ eventBusIndex : 'fr.gaulupeau.apps.Poche.EventBusIndex' ] + arguments = [eventBusIndex: 'fr.gaulupeau.apps.Poche.EventBusIndex'] } } } @@ -33,8 +33,9 @@ android { buildTypes { release { - minifyEnabled false + minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + multiDexEnabled = true } debug { applicationIdSuffix '.debug' @@ -50,6 +51,7 @@ android { } } } + buildToolsVersion = '29.0.2' } greendao { @@ -58,10 +60,11 @@ greendao { } dependencies { - implementation 'androidx.appcompat:appcompat:1.0.2' + implementation 'androidx.appcompat:appcompat:1.1.0-rc01' implementation 'androidx.legacy:legacy-support-v4:1.0.0' - implementation 'androidx.recyclerview:recyclerview:1.0.0' - implementation 'com.google.android.material:material:1.0.0' + implementation 'androidx.recyclerview:recyclerview:1.1.0-beta03' + implementation 'androidx.preference:preference:1.1.0-rc01' + implementation 'com.google.android.material:material:1.1.0-alpha09' implementation 'org.greenrobot:eventbus:3.1.1' implementation 'org.greenrobot:greendao:3.2.2' annotationProcessor 'org.greenrobot:eventbus-annotation-processor:3.1.1' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ed2c3ddaf..57b5f99a2 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,43 +1,47 @@ - - - - - - + xmlns:tools="http://schemas.android.com/tools" + package="fr.gaulupeau.apps.InThePoche" + android:installLocation="auto"> + android:theme="@style/MyTheme.DayNight"> + android:name="fr.gaulupeau.apps.Poche.ui.preferences.SettingsActivity" + android:label="@string/title_activity_settings" + android:parentActivityName="fr.gaulupeau.apps.Poche.ui.MainActivity" + android:theme="@style/MyTheme.DayNight"> + + + - - + + - + - + + - + android:hardwareAccelerated="true" + android:theme="@style/MyTheme.DayNight"/> + + android:theme="@style/MyTheme.DayNight"> @@ -52,7 +56,7 @@ android:enabled="false" android:excludeFromRecents="true" android:noHistory="true" - android:theme="@style/ProxyTheme"> + android:theme="@style/MyTheme.DayNight"> @@ -76,37 +80,40 @@ - - + + - - + - - - - + + + + + + + + + + - - - - - - - @@ -120,8 +127,9 @@ android:name="fr.gaulupeau.apps.Poche.network.ConnectivityChangeReceiver" android:enabled="false"> - + + + + + + - + android:exported="true" + android:permission="android.permission.BIND_JOB_SERVICE" /> - - - - - + + + + + + - + \ No newline at end of file diff --git a/app/src/main/assets/fonts/librefranklin_400.ttf b/app/src/main/assets/fonts/librefranklin_400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0bc602450686701312454f67bccae6a4166c1e36 GIT binary patch literal 75176 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/fonts/merriweather_400.ttf b/app/src/main/assets/fonts/merriweather_400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..18da9e5b0a8b30db8401c3c09fd99bb9868fa393 GIT binary patch literal 149092 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

AlZl%;5lq?5Sh@u3jHXBQo+`xEP>UTK-FCf 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 IdqNKXe-_hP)c^nh literal 0 HcmV?d00001 diff --git a/app/src/main/assets/ic_web.svg b/app/src/main/assets/ic_web.svg new file mode 100644 index 000000000..16b04e8fe --- /dev/null +++ b/app/src/main/assets/ic_web.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/main.css b/app/src/main/assets/main.css index 7d9a0b873..0da81f282 100755 --- a/app/src/main/assets/main.css +++ b/app/src/main/assets/main.css @@ -15,7 +15,7 @@ html { } body { - background: #EEE; + background: #FFF; } .high-contrast { @@ -43,24 +43,19 @@ body { background: #000; } -h2, h3, h4 { - font-family: 'PT Sans', sans-serif; - text-transform: uppercase; -} - p, li { color: #666; } table { - border-collapse: collapse; + border-collapse: collapse;align width: 100%; } table, th, td { border:1px solid #999; padding: 0.25em; - text-align: left; + text-align: start; } .high-contrast p, @@ -102,7 +97,7 @@ h2:after { top: 0; width: 10em; left: 0; - text-align: right; + text-align: end; background: #333; padding-top: 9.5em; height: 100%; @@ -176,7 +171,7 @@ h2:after { } footer { - text-align: right; + text-align: end; position: relative; bottom: 0; right: 5em; @@ -195,14 +190,16 @@ footer a { 5 = Article ========================================================================== */ + header.mbm { - text-align: left; + text-align: start; } #article { width: 70%; /* margin-bottom: 3em; */ word-wrap: break-word; + font: normal regular 1em/1.5 'Merriweather', serif; } #article .tags { @@ -223,7 +220,7 @@ header.mbm { #article pre { font-family: monospace; white-space: pre; - text-justify: none; + text-justify: start; } .pre-overflow #article pre { @@ -246,6 +243,55 @@ header.mbm { content: none; } +.no-bottom-margin { + margin-bottom:0px; +} + +@font-face { + font-family: 'Libre Franklin'; + src: url('file:///android_asset/fonts/librefranklin_400.ttf'); +} +@font-face { + font-family: 'Merriweather'; + src: url('file:///android_asset/fonts/merriweather_400.ttf'); +} + + +h1{ + font-size: 3rem; + line-height: 3.125rem; + font-family: 'Merriweather', serif; + font-style: italic; + font-weight: 900; +} +h2 { + font-size: 2.125rem; + line-height: 2.5rem; + font-family: 'Libre Franklin', sans-serif; +} +h3 { + font-size: 1.5rem; + line-height: 2rem; + font-family: 'Libre Franklin', sans-serif; +} +h4 { + font-size: 1.25rem; + line-height: 2rem; + font-family: 'Merriweather', serif; + font-style: italic; +} +p { + font-size: 1rem; + line-height: 1.5rem; + font-family: 'Merriweather', serif; +} +.caption { + font-size: .75rem; + line-height: 1.25rem; + font-family: 'Libre Franklin', sans-serif; + margin-bottom:0px; +} + /* ========================================================================== 6 = Media Queries ========================================================================== */ @@ -287,8 +333,7 @@ header.mbm { width: 100%; } - #article h1 { - font-size: 1.2em; + #article h2 { margin-bottom:0px; } diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/data/Settings.java b/app/src/main/java/fr/gaulupeau/apps/Poche/data/Settings.java index 56b7241d3..b21bee483 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/data/Settings.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/data/Settings.java @@ -6,7 +6,7 @@ import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.os.Build; -import android.preference.PreferenceManager; +import androidx.preference.PreferenceManager; import android.text.TextUtils; import android.util.Log; import android.view.KeyEvent; diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/data/TagListAdapter.java b/app/src/main/java/fr/gaulupeau/apps/Poche/data/TagListAdapter.java index a9551f49d..f90df57a9 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/data/TagListAdapter.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/data/TagListAdapter.java @@ -8,6 +8,8 @@ import android.widget.ImageButton; import android.widget.TextView; +import com.google.android.material.button.MaterialButton; + import java.util.List; import fr.gaulupeau.apps.InThePoche.R; @@ -56,7 +58,7 @@ public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickL OnItemButtonClickListener buttonClickListener; TextView label; - ImageButton button; + MaterialButton button; public ViewHolder(View itemView, OnItemClickListener listener, OnItemButtonClickListener buttonClickListener) { @@ -69,7 +71,7 @@ public ViewHolder(View itemView, OnItemClickListener listener, itemView.setOnClickListener(this); - button = (ImageButton)itemView.findViewById(R.id.tag_remove_button); + button = (MaterialButton)itemView.findViewById(R.id.tag_remove_button); if(button != null) { button.setOnClickListener(this); } diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/events/EventProcessor.java b/app/src/main/java/fr/gaulupeau/apps/Poche/events/EventProcessor.java index 0bf13d296..8ba91bc19 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/events/EventProcessor.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/events/EventProcessor.java @@ -175,7 +175,7 @@ public void onUpdateArticlesStartedEvent(UpdateArticlesStartedEvent event) { detailedMessage = prependAppName(detailedMessage); NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(context, CHANNEL_ID_SYNC) - .setSmallIcon(R.drawable.ic_action_refresh) + .setSmallIcon(R.drawable.ic_refresh_24dp) .setContentTitle(context.getString(R.string.notification_updatingArticles)) .setContentText(detailedMessage) .setOngoing(true); @@ -215,7 +215,7 @@ public void onSweepDeletedArticlesStartedEvent(SweepDeletedArticlesStartedEvent Context context = getContext(); NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(context, CHANNEL_ID_SYNC) - .setSmallIcon(R.drawable.ic_action_refresh) + .setSmallIcon(R.drawable.ic_refresh_24dp) .setContentTitle(context.getString(R.string.notification_sweepingDeletedArticles)) .setOngoing(true); @@ -259,7 +259,7 @@ public void onFetchImagesProgressEvent(FetchImagesProgressEvent event) { Context context = getContext(); NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(context, CHANNEL_ID_SYNC) - .setSmallIcon(R.drawable.ic_action_refresh) + .setSmallIcon(R.drawable.ic_refresh_24dp) .setContentTitle(context.getString(R.string.notification_downloadingImages)) .setOngoing(true); @@ -313,7 +313,7 @@ public void onSyncQueueProgressEvent(SyncQueueProgressEvent event) { Context context = getContext(); notificationBuilder = new NotificationCompat.Builder(context, CHANNEL_ID_SYNC) - .setSmallIcon(R.drawable.ic_action_refresh) + .setSmallIcon(R.drawable.ic_refresh_24dp) .setContentTitle(getContext().getString(R.string.notification_syncingQueue)) .setOngoing(true); diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/tts/TtsFragment.java b/app/src/main/java/fr/gaulupeau/apps/Poche/tts/TtsFragment.java index 1230fd64e..ffd308500 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/tts/TtsFragment.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/tts/TtsFragment.java @@ -19,6 +19,7 @@ import android.speech.tts.TextToSpeech; import androidx.annotation.NonNull; import androidx.annotation.StringRes; +import androidx.core.widget.NestedScrollView; import androidx.fragment.app.Fragment; import android.support.v4.media.session.MediaControllerCompat; import android.support.v4.media.session.PlaybackStateCompat; @@ -30,9 +31,9 @@ import android.webkit.WebView; import android.widget.AdapterView; import android.widget.ArrayAdapter; +import android.widget.AutoCompleteTextView; import android.widget.CheckBox; import android.widget.CompoundButton; -import android.widget.ImageButton; import android.widget.ImageView; import android.widget.ScrollView; import android.widget.SeekBar; @@ -40,6 +41,8 @@ import android.widget.TextView; import android.widget.Toast; +import com.google.android.material.button.MaterialButton; + import fr.gaulupeau.apps.InThePoche.R; import fr.gaulupeau.apps.Poche.App; import fr.gaulupeau.apps.Poche.data.Settings; @@ -62,7 +65,7 @@ public class TtsFragment private WebViewText webViewText; private Settings settings; private View viewTTSOption; - private ImageButton btnTTSPlayStop; + private MaterialButton btnTTSPlayStop; private SeekBar seekBarTTSSpeed; private SeekBar seekBarTTSPitch; private SeekBar seekBarTTSVolume; @@ -71,8 +74,8 @@ public class TtsFragment private TextView textViewTTSPitch; private TextView textViewTTSVolume; private TextView textViewTTSSleep; - private Spinner spinnerLanguage; - private Spinner spinnerVoice; + private AutoCompleteTextView spinnerLanguage; + private AutoCompleteTextView spinnerVoice; private ArrayAdapter spinnerLanguageAdapter; private ArrayAdapter spinnerVoiceAdapter; @@ -178,7 +181,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa if(!this.settings.isTtsOptionsVisible()) { this.viewTTSOption.setVisibility(View.GONE); } - this.btnTTSPlayStop = ((ImageButton) view.findViewById(R.id.btnTTSPlayPause)); + this.btnTTSPlayStop = ((MaterialButton) view.findViewById(R.id.btnTTSPlayPause)); this.btnTTSPlayStop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -188,7 +191,7 @@ public void onClick(View v) { } }); - ImageButton btnTTSFastRewind = (ImageButton) view.findViewById(R.id.btnTTSFastRewind); + MaterialButton btnTTSFastRewind = (MaterialButton) view.findViewById(R.id.btnTTSFastRewind); btnTTSFastRewind.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -198,7 +201,7 @@ public void onClick(View v) { } }); - ImageButton btnTTSFastForward = (ImageButton) view.findViewById(R.id.btnTTSFastForward); + MaterialButton btnTTSFastForward = (MaterialButton) view.findViewById(R.id.btnTTSFastForward); btnTTSFastForward.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -209,11 +212,11 @@ public void onClick(View v) { }); - ImageButton btnTTSOptions = (ImageButton) view.findViewById(R.id.btnTTSOptions); + MaterialButton btnTTSOptions = (MaterialButton) view.findViewById(R.id.btnTTSOptions); btnTTSOptions.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - onTTSOptionsClicked((ImageButton) v); + onTTSOptionsClicked((MaterialButton) v); } }); @@ -353,13 +356,13 @@ public void onStopTrackingTouch(SeekBar seekBar) { } }); - spinnerLanguage = (Spinner) view.findViewById(R.id.spinnerLanguage); + spinnerLanguage = (AutoCompleteTextView) view.findViewById(R.id.spinnerLanguage); spinnerLanguageAdapter = new ArrayAdapter(this.getContext(), android.R.layout.simple_spinner_item, new ArrayList()); spinnerLanguageAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinnerLanguage.setAdapter(spinnerLanguageAdapter); - spinnerVoice = (Spinner) view.findViewById(R.id.spinnerVoice); + spinnerVoice = (AutoCompleteTextView) view.findViewById(R.id.spinnerVoice); spinnerVoiceAdapter = new ArrayAdapter(this.getContext(), android.R.layout.simple_spinner_item, new ArrayList()); spinnerVoiceAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); @@ -388,13 +391,13 @@ public void onNothingSelected(AdapterView parentView) {} public void onPlaybackStateChanged(PlaybackStateCompat state) { switch (state.getState()) { case PlaybackStateCompat.STATE_BUFFERING: - btnTTSPlayStop.setImageResource(R.drawable.ic_more_horiz_24dp); + btnTTSPlayStop.setIconResource(R.drawable.ic_more_horiz_24dp); break; case PlaybackStateCompat.STATE_PLAYING: - btnTTSPlayStop.setImageResource(R.drawable.ic_stop_24dp); + btnTTSPlayStop.setIconResource(R.drawable.ic_stop_24dp); break; case PlaybackStateCompat.STATE_PAUSED: - btnTTSPlayStop.setImageResource(R.drawable.ic_play_arrow_24dp); + btnTTSPlayStop.setIconResource(R.drawable.ic_play_arrow_24dp); break; case PlaybackStateCompat.STATE_STOPPED: //Log.d(LOG_TAG, "onPlaybackStateChanged: STATE_STOPPED"); @@ -507,7 +510,7 @@ private float getPitchBarValue() { } - private void onTTSOptionsClicked(ImageButton btn) { + private void onTTSOptionsClicked(MaterialButton btn) { if (viewTTSOption.getVisibility() == View.VISIBLE) { viewTTSOption.setVisibility(View.GONE); } else { @@ -538,7 +541,7 @@ public void onDocumentLoadStart(String domain, String title, String language) { this.selectLanguage(language); } - public void onDocumentLoadFinished(WebView webView, ScrollView scrollView) { + public void onDocumentLoadFinished(WebView webView, NestedScrollView scrollView) { //Log.d(LOG_TAG, "onDocumentLoadFinished"); if (webViewText == null) { if (readArticleActivity == null) { @@ -788,14 +791,13 @@ private void onLanguageSelectionChanged() { //Log.d(LOG_TAG, "onLanguageSelectionChanged"); spinnerVoiceAdapter.setNotifyOnChange(false); spinnerVoiceAdapter.clear(); - int languagePosition = spinnerLanguage.getSelectedItemPosition(); - String language = ttsLanguages.get(languagePosition).name; + String language = spinnerLanguage.getText().toString(); String languageVoicePreference = settings.getTtsLanguageVoice(language); int voicePositionToSelect = 0; for (VoiceInfo voiceInfo : ttsVoiceByLanguage.get(language)) { spinnerVoiceAdapter.add(voiceInfo.displayName); if (voiceInfo.displayName.equals(languageVoicePreference)) { - voicePositionToSelect = spinnerVoiceAdapter.getCount() - 1; + voicePositionToSelect = spinnerVoiceAdapter.getCount() - 1; } } spinnerVoice.setSelection(voicePositionToSelect); @@ -806,10 +808,19 @@ private void onLanguageSelectionChanged() { private void onVoiceSelectionChanged() { //Log.d(LOG_TAG, "onVoiceSelectionChanged"); - int voicePosition = spinnerVoice.getSelectedItemPosition(); - int languagePosition = spinnerLanguage.getSelectedItemPosition(); - if ((voicePosition >=0) && (languagePosition >=0)) { - String language = ttsLanguages.get(languagePosition).name; + String languageVoicePreference = spinnerVoice.getText().toString(); + String language = spinnerLanguage.getText().toString(); + int voicePosition = 0; + + for (VoiceInfo voiceInfo : ttsVoiceByLanguage.get(language)) { + spinnerVoiceAdapter.add(voiceInfo.displayName); + if (voiceInfo.displayName.equals(languageVoicePreference)) { + break; + } else { + voicePosition += 1; + } + } + if ((voicePosition >=0) && (!language.isEmpty())) { VoiceInfo voiceInfo = ttsVoiceByLanguage.get(language).get(voicePosition); if (voiceInfo != null) { if (ttsService != null) { diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/tts/WebViewText.java b/app/src/main/java/fr/gaulupeau/apps/Poche/tts/WebViewText.java index 6b9e9789d..b7f252c39 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/tts/WebViewText.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/tts/WebViewText.java @@ -4,7 +4,7 @@ import android.util.Log; import android.webkit.ConsoleMessage; import android.webkit.WebView; -import android.widget.ScrollView; +import androidx.core.widget.NestedScrollView; import java.util.Vector; @@ -17,7 +17,7 @@ public class WebViewText implements TextInterface { ReadArticleActivity readArticleActivity; private final WebView webView; - private final ScrollView scrollView; + private final NestedScrollView scrollView; private final Handler handler; private final Vector textList = new Vector<>(); @@ -81,7 +81,7 @@ public class WebViewText implements TextInterface { private static final String LOG_TAG = "WebViewText"; - public WebViewText(WebView webView, ScrollView scrollView, ReadArticleActivity readArticleActivity) { + public WebViewText(WebView webView, NestedScrollView scrollView, ReadArticleActivity readArticleActivity) { this.webView = webView; this.scrollView = scrollView; this.readArticleActivity = readArticleActivity; diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/ArticleListsFragment.java b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/ArticleListsFragment.java index e2e6133ce..363d07dde 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/ArticleListsFragment.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/ArticleListsFragment.java @@ -30,20 +30,15 @@ public class ArticleListsFragment extends Fragment implements Sortable, Searchab private static final String STATE_SEARCH_QUERY = "search_query"; private static final EnumSet CHANGE_SET = EnumSet.of( - ArticlesChangedEvent.ChangeType.UNSPECIFIED, - ArticlesChangedEvent.ChangeType.ADDED, - ArticlesChangedEvent.ChangeType.DELETED, - ArticlesChangedEvent.ChangeType.FAVORITED, - ArticlesChangedEvent.ChangeType.UNFAVORITED, - ArticlesChangedEvent.ChangeType.ARCHIVED, - ArticlesChangedEvent.ChangeType.UNARCHIVED, - ArticlesChangedEvent.ChangeType.CREATED_DATE_CHANGED, - ArticlesChangedEvent.ChangeType.TITLE_CHANGED, - ArticlesChangedEvent.ChangeType.DOMAIN_CHANGED, + ArticlesChangedEvent.ChangeType.UNSPECIFIED, ArticlesChangedEvent.ChangeType.ADDED, + ArticlesChangedEvent.ChangeType.DELETED, ArticlesChangedEvent.ChangeType.FAVORITED, + ArticlesChangedEvent.ChangeType.UNFAVORITED, ArticlesChangedEvent.ChangeType.ARCHIVED, + ArticlesChangedEvent.ChangeType.UNARCHIVED, ArticlesChangedEvent.ChangeType.CREATED_DATE_CHANGED, + ArticlesChangedEvent.ChangeType.TITLE_CHANGED, ArticlesChangedEvent.ChangeType.DOMAIN_CHANGED, ArticlesChangedEvent.ChangeType.ESTIMATED_READING_TIME_CHANGED); - private static final EnumSet CHANGE_SET_FORCE_CONTENT_UPDATE - = EnumSet.of(ArticlesChangedEvent.ChangeType.ESTIMATED_READING_TIME_CHANGED); + private static final EnumSet CHANGE_SET_FORCE_CONTENT_UPDATE = EnumSet + .of(ArticlesChangedEvent.ChangeType.ESTIMATED_READING_TIME_CHANGED); private ArticleListsPagerAdapter adapter; private ViewPager viewPager; @@ -63,44 +58,46 @@ public static ArticleListsFragment newInstance(String tag) { private String tag; - public ArticleListsFragment() {} + public ArticleListsFragment() { + } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - if(getArguments() != null) { + if (getArguments() != null) { tag = getArguments().getString(PARAM_TAG); } - if(savedInstanceState != null) { + if (savedInstanceState != null) { Log.v(TAG, "onCreate() restoring state"); - if(sortOrder == null) { + if (sortOrder == null) { sortOrder = Sortable.SortOrder.values()[savedInstanceState.getInt(STATE_SORT_ORDER)]; } - if(searchQuery == null) { + if (searchQuery == null) { searchQuery = savedInstanceState.getString(STATE_SEARCH_QUERY); } } - if(sortOrder == null) sortOrder = SortOrder.DESC; + if (sortOrder == null) + sortOrder = SortOrder.DESC; } @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_article_lists, container, false); adapter = new ArticleListsPagerAdapter(getChildFragmentManager(), tag); getChildFragmentManager().registerFragmentLifecycleCallbacks(new FragmentManager.FragmentLifecycleCallbacks() { @Override - public void onFragmentCreated(@NonNull FragmentManager fm, @NonNull Fragment f, @Nullable Bundle savedInstanceState) { + public void onFragmentCreated(@NonNull FragmentManager fm, @NonNull Fragment f, + @Nullable Bundle savedInstanceState) { if (f instanceof ArticleListFragment) setParametersToFragment((ArticleListFragment) f); } }, false); - viewPager = (ViewPager)view.findViewById(R.id.articles_list_pager); + viewPager = (ViewPager) view.findViewById(R.id.articles_list_pager); viewPager.setAdapter(adapter); viewPager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { @Override @@ -111,7 +108,7 @@ public void onPageSelected(int position) { } }); - TabLayout tabLayout = (TabLayout)view.findViewById(R.id.articles_list_tab_layout); + TabLayout tabLayout = (TabLayout) view.findViewById(R.id.articles_list_tab_layout); tabLayout.setupWithViewPager(viewPager); viewPager.setCurrentItem(1); @@ -125,8 +122,10 @@ public void onSaveInstanceState(Bundle outState) { Log.v(TAG, "onSaveInstanceState()"); - if(sortOrder != null) outState.putInt(STATE_SORT_ORDER, sortOrder.ordinal()); - if(searchQuery != null) outState.putString(STATE_SEARCH_QUERY, searchQuery); + if (sortOrder != null) + outState.putInt(STATE_SORT_ORDER, sortOrder.ordinal()); + if (searchQuery != null) + outState.putString(STATE_SEARCH_QUERY, searchQuery); } @Override @@ -151,24 +150,25 @@ public void onFeedsChangedEvent(FeedsChangedEvent event) { private void setParametersToFragment(ArticleListFragment fragment) { Log.v(TAG, "setParametersToFragment() started"); - if(fragment == null) return; + if (fragment == null) + return; setSortOrder(fragment, sortOrder); setSearchQueryOnFragment(fragment, searchQuery); } - private void setSortOrder(ArticleListFragment fragment, - Sortable.SortOrder sortOrder) { - if(fragment != null) fragment.setSortOrder(sortOrder); + private void setSortOrder(ArticleListFragment fragment, Sortable.SortOrder sortOrder) { + if (fragment != null) + fragment.setSortOrder(sortOrder); } private void setSearchQueryOnFragment(ArticleListFragment fragment, String searchQuery) { - if(fragment != null) fragment.setSearchQuery(searchQuery); + if (fragment != null) + fragment.setSearchQuery(searchQuery); } private ArticleListFragment getCurrentFragment() { - return adapter == null || viewPager == null ? null - : adapter.getCachedFragment(viewPager.getCurrentItem()); + return adapter == null || viewPager == null ? null : adapter.getCachedFragment(viewPager.getCurrentItem()); } private ArticleListFragment getFragment(int position) { @@ -176,21 +176,20 @@ private ArticleListFragment getFragment(int position) { } private void invalidateLists(FeedsChangedEvent event) { - if(!Collections.disjoint(event.getInvalidateAllChanges(), CHANGE_SET)) { - updateAllLists(!Collections.disjoint(event.getInvalidateAllChanges(), - CHANGE_SET_FORCE_CONTENT_UPDATE)); + if (!Collections.disjoint(event.getInvalidateAllChanges(), CHANGE_SET)) { + updateAllLists(!Collections.disjoint(event.getInvalidateAllChanges(), CHANGE_SET_FORCE_CONTENT_UPDATE)); return; } - if(!Collections.disjoint(event.getMainFeedChanges(), CHANGE_SET)) { + if (!Collections.disjoint(event.getMainFeedChanges(), CHANGE_SET)) { updateList(ArticleListsPagerAdapter.positionByFeedType(FeedsChangedEvent.FeedType.MAIN), !Collections.disjoint(event.getMainFeedChanges(), CHANGE_SET_FORCE_CONTENT_UPDATE)); } - if(!Collections.disjoint(event.getFavoriteFeedChanges(), CHANGE_SET)) { + if (!Collections.disjoint(event.getFavoriteFeedChanges(), CHANGE_SET)) { updateList(ArticleListsPagerAdapter.positionByFeedType(FeedsChangedEvent.FeedType.FAVORITE), !Collections.disjoint(event.getFavoriteFeedChanges(), CHANGE_SET_FORCE_CONTENT_UPDATE)); } - if(!Collections.disjoint(event.getArchiveFeedChanges(), CHANGE_SET)) { + if (!Collections.disjoint(event.getArchiveFeedChanges(), CHANGE_SET)) { updateList(ArticleListsPagerAdapter.positionByFeedType(FeedsChangedEvent.FeedType.ARCHIVE), !Collections.disjoint(event.getArchiveFeedChanges(), CHANGE_SET_FORCE_CONTENT_UPDATE)); } @@ -199,10 +198,11 @@ private void invalidateLists(FeedsChangedEvent event) { private void updateAllLists(boolean forceContentUpdate) { Log.d(TAG, "updateAllLists() started; forceContentUpdate: " + forceContentUpdate); - for(int i = 0; i < ArticleListsPagerAdapter.PAGES.length; i++) { + for (int i = 0; i < ArticleListsPagerAdapter.PAGES.length; i++) { ArticleListFragment f = getFragment(i); - if(f != null) { - if(forceContentUpdate) f.forceContentUpdate(); + if (f != null) { + if (forceContentUpdate) + f.forceContentUpdate(); f.invalidateList(); } else { Log.w(TAG, "updateAllLists() fragment is null; position: " + i); @@ -211,13 +211,13 @@ private void updateAllLists(boolean forceContentUpdate) { } private void updateList(int position, boolean forceContentUpdate) { - Log.d(TAG, String.format("updateList() position: %d, forceContentUpdate: %s", - position, forceContentUpdate)); + Log.d(TAG, String.format("updateList() position: %d, forceContentUpdate: %s", position, forceContentUpdate)); - if(position != -1) { + if (position != -1) { ArticleListFragment f = getFragment(position); - if(f != null) { - if(forceContentUpdate) f.forceContentUpdate(); + if (f != null) { + if (forceContentUpdate) + f.forceContentUpdate(); f.invalidateList(); } else { Log.w(TAG, "updateList() fragment is null"); @@ -231,16 +231,16 @@ public void scroll(boolean up) { ArticleListFragment currentFragment = getCurrentFragment(); - if( currentFragment != null && currentFragment.recyclerViewLayoutManager != null) { + if (currentFragment != null && currentFragment.recyclerViewLayoutManager != null) { LinearLayoutManager listLayout = currentFragment.recyclerViewLayoutManager; - int numberOfVisibleItems = - listLayout.findLastCompletelyVisibleItemPosition() - - listLayout.findFirstCompletelyVisibleItemPosition() + 1; + int numberOfVisibleItems = listLayout.findLastCompletelyVisibleItemPosition() + - listLayout.findFirstCompletelyVisibleItemPosition() + 1; int oldPositionOnTop = listLayout.findFirstCompletelyVisibleItemPosition(); - // scroll so that as many new articles are visible than possible with one overlap + // scroll so that as many new articles are visible than possible with one + // overlap int newPositionOnTop; if (up) { newPositionOnTop = oldPositionOnTop - numberOfVisibleItems + 1; diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/MainActivity.java b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/MainActivity.java index 2725deccc..1736a5fd4 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/MainActivity.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/MainActivity.java @@ -5,9 +5,6 @@ import android.content.Context; import android.content.DialogInterface; import android.content.Intent; -import android.content.res.ColorStateList; -import android.content.res.XmlResourceParser; -import android.os.Build; import android.os.Bundle; import androidx.annotation.IdRes; import androidx.annotation.NonNull; @@ -20,7 +17,7 @@ import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.SearchView; -import androidx.appcompat.widget.Toolbar; +import com.google.android.material.appbar.MaterialToolbar; import android.text.TextUtils; import android.text.format.DateUtils; import android.util.Log; @@ -30,6 +27,7 @@ import android.view.View; import android.widget.ImageView; import android.widget.ProgressBar; +import androidx.core.widget.ContentLoadingProgressBar; import android.widget.TextView; import android.widget.Toast; @@ -39,9 +37,7 @@ import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; -import org.xmlpull.v1.XmlPullParserException; -import java.io.IOException; import java.util.HashMap; import java.util.Map; @@ -62,8 +58,7 @@ import fr.gaulupeau.apps.Poche.ui.preferences.SettingsActivity; public class MainActivity extends AppCompatActivity - implements NavigationView.OnNavigationItemSelectedListener, - TagListFragment.OnFragmentInteractionListener { + implements NavigationView.OnNavigationItemSelectedListener, TagListFragment.OnFragmentInteractionListener { private static final String TAG = MainActivity.class.getSimpleName(); @@ -80,7 +75,7 @@ public class MainActivity extends AppCompatActivity private ConfigurationTestHelper configurationTestHelper; - private ProgressBar progressBar; + private ContentLoadingProgressBar progressBar; private NavigationView navigationView; private TextView lastUpdateTimeView; @@ -123,48 +118,53 @@ protected void onCreate(Bundle savedInstanceState) { settings = new Settings(this); - Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar); + MaterialToolbar toolbar = (MaterialToolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); - navigationView = (NavigationView)findViewById(R.id.nav_view); + navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); - if(navigationView != null) { + if (navigationView != null) { View headerView = navigationView.getHeaderView(0); - if(headerView != null) { - lastUpdateTimeView = (TextView)headerView.findViewById(R.id.lastUpdateTime); + if (headerView != null) { + lastUpdateTimeView = (TextView) headerView.findViewById(R.id.lastUpdateTime); } // Set white logo in the navigation bar in dark and dark (high contrast) theme if (headerView != null && Themes.getCurrentTheme() != null && Themes.getCurrentTheme().isDark()) { ImageView logo = headerView.findViewById(R.id.imageView); - logo.setImageDrawable(getDrawable(R.drawable.welcome_white)); + logo.setImageDrawable(getDrawable(R.drawable.ic_wallabag_logo)); } - // Set different colors for items in the navigation bar in dark (high contrast) theme - if (Themes.getCurrentTheme() != null && Themes.getCurrentTheme() == Themes.Theme.DARK_CONTRAST) { - @SuppressLint("ResourceType") XmlResourceParser parser = getResources().getXml(R.color.dark_contrast_menu_item); - try { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - navigationView.setItemTextColor(ColorStateList.createFromXml(getResources(), parser, getTheme())); - navigationView.setItemIconTintList(ColorStateList.createFromXml(getResources(), parser, getTheme())); - - } else { - navigationView.setItemTextColor(ColorStateList.createFromXml(getResources(), parser)); - navigationView.setItemIconTintList(ColorStateList.createFromXml(getResources(), parser)); - } - } catch (XmlPullParserException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - - DrawerLayout drawer = (DrawerLayout)findViewById(R.id.drawer_layout); - ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( - this, drawer, toolbar, - R.string.navigation_drawer_open, + // Set different colors for items in the navigation bar in dark (high contrast) + // theme + // if (Themes.getCurrentTheme() != null && Themes.getCurrentTheme() == + // Themes.Theme.DARK_CONTRAST) { + // @SuppressLint("ResourceType") XmlResourceParser parser = + // getResources().getXml(R.color.dark_contrast_menu_item); + // try { + // if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + // navigationView.setItemTextColor(ColorStateList.createFromXml(getResources(), + // parser, getTheme())); + // navigationView.setItemIconTintList(ColorStateList.createFromXml(getResources(), + // parser, getTheme())); + // + // } else { + // navigationView.setItemTextColor(ColorStateList.createFromXml(getResources(), + // parser)); + // navigationView.setItemIconTintList(ColorStateList.createFromXml(getResources(), + // parser)); + // } + // } catch (XmlPullParserException e) { + // e.printStackTrace(); + // } catch (IOException e) { + // e.printStackTrace(); + // } + // } + } + + DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); + ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); drawer.addDrawerListener(toggle); toggle.syncState(); @@ -179,14 +179,17 @@ public void onDrawerSlide(View drawerView, float slideOffset) { @Override public void onDrawerStateChanged(int newState) { - if(newState == DrawerLayout.STATE_IDLE) updated = false; + if (newState == DrawerLayout.STATE_IDLE) + updated = false; } private void updateTime() { - if(updated) return; + if (updated) + return; updated = true; - if(lastUpdateTimeView == null) return; + if (lastUpdateTimeView == null) + return; Log.d(TAG, "DrawerListener.updateTime() updating time"); @@ -194,8 +197,6 @@ private void updateTime() { } }); - progressBar = (ProgressBar)findViewById(R.id.progressBar); - firstSyncDone = settings.isFirstSyncDone(); offlineQueuePending = settings.isOfflineQueuePending(); @@ -205,12 +206,12 @@ private void updateTime() { String currentFragmentType = null; - if(savedInstanceState != null) { + if (savedInstanceState != null) { Log.v(TAG, "onCreate() restoring state"); Bundle bundle = savedInstanceState.getBundle(STATE_SAVED_FRAGMENT_STATES); - if(bundle != null) { - for(String key: bundle.keySet()) { + if (bundle != null) { + for (String key : bundle.keySet()) { savedFragmentStates.put(key, bundle.getParcelable(key)); } } @@ -221,11 +222,13 @@ private void updateTime() { performSearch(savedInstanceState.getString(STATE_SEARCH_QUERY)); } - if(searchQuery == null) performSearch(""); + if (searchQuery == null) + performSearch(""); - if(currentFragmentType == null) currentFragmentType = FRAGMENT_ARTICLE_LISTS; + if (currentFragmentType == null) + currentFragmentType = FRAGMENT_ARTICLE_LISTS; - if(savedInstanceState == null) { + if (savedInstanceState == null) { setCurrentFragment(currentFragmentType); } else { currentFragment = getSupportFragmentManager().findFragmentByTag(currentFragmentType); @@ -244,7 +247,7 @@ protected void onNewIntent(Intent intent) { } private void handleIntent(Intent intent) { - if(Intent.ACTION_SEARCH.equals(intent.getAction())) { + if (Intent.ACTION_SEARCH.equals(intent.getAction())) { String query = intent.getStringExtra(SearchManager.QUERY); Log.v(TAG, "handleIntent() search intent; query: " + query); @@ -258,10 +261,10 @@ protected void onSaveInstanceState(Bundle outState) { Log.v(TAG, "onSaveInstanceState()"); - if(!savedFragmentStates.isEmpty()) { + if (!savedFragmentStates.isEmpty()) { Bundle bundle = new Bundle(savedFragmentStates.size()); - for(Map.Entry e: savedFragmentStates.entrySet()) { + for (Map.Entry e : savedFragmentStates.entrySet()) { bundle.putParcelable(e.getKey(), e.getValue()); } @@ -289,18 +292,18 @@ protected void onResume() { super.onResume(); // TODO: check logic - if(checkConfigurationOnResume) { + if (checkConfigurationOnResume) { checkConfigurationOnResume = false; - if(!Settings.checkFirstRunInit(this)) { - if(!settings.isConfigurationOk() && checkConfigurationDialog == null) { + if (!Settings.checkFirstRunInit(this)) { + if (!settings.isConfigurationOk() && checkConfigurationDialog == null) { AlertDialog.Builder messageBox = new AlertDialog.Builder(this); - messageBox.setTitle(settings.isConfigurationErrorShown() - ? R.string.d_configurationIsQuestionable_title - : R.string.d_configurationChanged_title); - messageBox.setMessage(settings.isConfigurationErrorShown() - ? R.string.d_configurationIsQuestionable_message - : R.string.d_configurationChanged_message); + messageBox.setTitle( + settings.isConfigurationErrorShown() ? R.string.d_configurationIsQuestionable_title + : R.string.d_configurationChanged_title); + messageBox.setMessage( + settings.isConfigurationErrorShown() ? R.string.d_configurationIsQuestionable_message + : R.string.d_configurationChanged_message); messageBox.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { @@ -319,10 +322,10 @@ public void onDismiss(DialogInterface dialog) { } } - if(tryToUpdateOnResume) { + if (tryToUpdateOnResume) { tryToUpdateOnResume = false; - if(!firstSyncDone) { + if (!firstSyncDone) { updateAllFeedsIfDbIsEmpty(); } else { updateOnStartup(); @@ -346,8 +349,8 @@ protected void onDestroy() { @Override public void onBackPressed() { - DrawerLayout drawer = (DrawerLayout)findViewById(R.id.drawer_layout); - if(drawer.isDrawerOpen(GravityCompat.START)) { + DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); + if (drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START); } else { super.onBackPressed(); @@ -358,14 +361,14 @@ public void onBackPressed() { public boolean onCreateOptionsMenu(Menu menu) { Log.d(TAG, "onCreateOptionsMenu()"); - if(searchMenuItemExpanded) { + if (searchMenuItemExpanded) { // options menu invalidation happened when searchMenuItem was expanded searchMenuItemExpanded = false; searchMenuItem = null; Log.i(TAG, "onCreateOptionsMenu() searchMenuItem was not collapsed!"); - Log.v(TAG, "onCreateOptionsMenu() searchQuery: " + searchQuery - + ", searchQueryPrevious: " + searchQueryPrevious); + Log.v(TAG, "onCreateOptionsMenu() searchQuery: " + searchQuery + ", searchQueryPrevious: " + + searchQueryPrevious); performSearch(searchQueryPrevious); } @@ -373,8 +376,7 @@ public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); searchMenuItem = menu.findItem(R.id.menu_main_search); - MenuItemCompat.setOnActionExpandListener( - searchMenuItem, new MenuItemCompat.OnActionExpandListener() { + MenuItemCompat.setOnActionExpandListener(searchMenuItem, new MenuItemCompat.OnActionExpandListener() { @Override public boolean onMenuItemActionExpand(MenuItem item) { Log.v(TAG, "searchMenuItem expanded"); @@ -391,10 +393,10 @@ public boolean onMenuItemActionCollapse(MenuItem item) { } }); - final SearchView searchView = (SearchView)searchMenuItem.getActionView(); - if(searchView != null) { - searchView.setSearchableInfo(((SearchManager)getSystemService(Context.SEARCH_SERVICE)) - .getSearchableInfo(getComponentName())); + final SearchView searchView = (SearchView) searchMenuItem.getActionView(); + if (searchView != null) { + searchView.setSearchableInfo( + ((SearchManager) getSystemService(Context.SEARCH_SERVICE)).getSearchableInfo(getComponentName())); searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override @@ -416,9 +418,9 @@ public boolean onQueryTextChange(String newText) { } checkPendingSearchUI(); - if(!offlineQueuePending) { + if (!offlineQueuePending) { MenuItem menuItem = menu.findItem(R.id.menu_main_syncQueue); - if(menuItem != null) { + if (menuItem != null) { menuItem.setVisible(false); } } @@ -428,22 +430,22 @@ public boolean onQueryTextChange(String newText) { @Override public boolean onOptionsItemSelected(MenuItem item) { - switch(item.getItemId()) { - case R.id.menu_main_changeSortOrder: - switchSortOrder(); - return true; + switch (item.getItemId()) { + case R.id.menu_main_changeSortOrder: + switchSortOrder(); + return true; - case R.id.menu_main_syncQueue: - syncQueue(); - return true; + case R.id.menu_main_syncQueue: + syncQueue(); + return true; - case R.id.menu_main_sweepDeletedArticles: - sweepDeletedArticles(); - return true; + case R.id.menu_main_sweepDeletedArticles: + sweepDeletedArticles(); + return true; - case R.id.menu_main_fullUpdate: - fullUpdate(true); - return true; + case R.id.menu_main_fullUpdate: + fullUpdate(true); + return true; } return super.onOptionsItemSelected(item); @@ -451,45 +453,41 @@ public boolean onOptionsItemSelected(MenuItem item) { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { - switch(item.getItemId()) { - case R.id.nav_mainLists: - setCurrentFragment(FRAGMENT_ARTICLE_LISTS); - break; - - case R.id.nav_tags: - setCurrentFragment(FRAGMENT_TAG_LIST); - break; - - case R.id.nav_add: - showAddBagDialog(); + switch (item.getItemId()) { + case R.id.nav_mainLists: + setCurrentFragment(FRAGMENT_ARTICLE_LISTS); + break; + + case R.id.nav_tags: + setCurrentFragment(FRAGMENT_TAG_LIST); + break; + + case R.id.nav_add: + showAddBagDialog(); + break; + + case R.id.nav_settings: + startActivity(new Intent(getBaseContext(), SettingsActivity.class)); + break; + + case R.id.nav_about: + Libs.ActivityStyle style; + switch (Themes.getCurrentTheme()) { + case DARK: + case DARK_CONTRAST: + style = Libs.ActivityStyle.DARK; break; - case R.id.nav_settings: - startActivity(new Intent(getBaseContext(), SettingsActivity.class)); - break; - - case R.id.nav_about: - Libs.ActivityStyle style; - switch(Themes.getCurrentTheme()) { - case DARK: - case DARK_CONTRAST: - style = Libs.ActivityStyle.DARK; - break; - - default: - style = Libs.ActivityStyle.LIGHT_DARK_TOOLBAR; - break; - } - new LibsBuilder() - .withActivityStyle(style) - .withAboutIconShown(true) - .withAboutVersionShown(true) - .withAboutDescription(getResources().getString(R.string.aboutText)) - .start(this); + default: + style = Libs.ActivityStyle.LIGHT_DARK_TOOLBAR; break; + } + new LibsBuilder().withActivityStyle(style).withAboutIconShown(true).withAboutVersionShown(true) + .withAboutDescription(getResources().getString(R.string.aboutText)).start(this); + break; } - DrawerLayout drawer = (DrawerLayout)findViewById(R.id.drawer_layout); + DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); drawer.closeDrawer(GravityCompat.START); return true; } @@ -505,7 +503,7 @@ public void onOfflineQueueChangedEvent(OfflineQueueChangedEvent event) { Log.d(TAG, "onOfflineQueueChangedEvent() offlineQueuePending: " + offlineQueuePending); - if(prevValue != offlineQueuePending) { + if (prevValue != offlineQueuePending) { Log.d(TAG, "onOfflineQueueChangedEvent() invalidating options menu"); invalidateOptionsMenu(); } @@ -515,14 +513,14 @@ public void onOfflineQueueChangedEvent(OfflineQueueChangedEvent event) { public void onFeedsChangedEvent(FeedsChangedEvent event) { Log.d(TAG, "Got FeedsChangedEvent"); - if(event.isInvalidateAll()) { + if (event.isInvalidateAll()) { firstSyncDone = settings.isFirstSyncDone(); } - if(currentFragment instanceof ArticleListsFragment) { - ((ArticleListsFragment)currentFragment).onFeedsChangedEvent(event); - } else if(currentFragment instanceof RecyclerViewListFragment) { - ((RecyclerViewListFragment)currentFragment).invalidateList(); + if (currentFragment instanceof ArticleListsFragment) { + ((ArticleListsFragment) currentFragment).onFeedsChangedEvent(event); + } else if (currentFragment instanceof RecyclerViewListFragment) { + ((RecyclerViewListFragment) currentFragment).invalidateList(); } } @@ -537,7 +535,8 @@ public void onUpdateArticlesStartedEvent(UpdateArticlesStartedEvent event) { public void onUpdateArticlesProgressEvent(UpdateArticlesProgressEvent event) { Log.d(TAG, "onUpdateArticlesProgressEvent"); - if(progressBar != null) { + progressBar = (ContentLoadingProgressBar) findViewById(R.id.progress_bar); + if (progressBar != null) { progressBar.setIndeterminate(false); progressBar.setMax(event.getTotal()); progressBar.setProgress(event.getCurrent()); @@ -548,7 +547,7 @@ public void onUpdateArticlesProgressEvent(UpdateArticlesProgressEvent event) { public void onUpdateArticlesFinishedEvent(UpdateArticlesFinishedEvent event) { Log.d(TAG, "onUpdateArticlesFinishedEvent"); - if(event.getResult().isSuccess()) { + if (event.getResult().isSuccess()) { firstSyncDone = true; tryToUpdateOnResume = false; } @@ -559,25 +558,28 @@ public void onUpdateArticlesFinishedEvent(UpdateArticlesFinishedEvent event) { } private void updateLastUpdateTime() { - if(lastUpdateTimeView == null) return; + if (lastUpdateTimeView == null) + return; Log.d(TAG, "updateLastUpdateTime() updating time"); long timestamp = settings.getLatestUpdateRunTimestamp(); - if(timestamp != 0) { - lastUpdateTimeView.setText(getString(R.string.lastUpdateTimeLabel, - DateUtils.getRelativeTimeSpanString(timestamp))); + if (timestamp != 0) { + lastUpdateTimeView + .setText(getString(R.string.lastUpdateTimeLabel, DateUtils.getRelativeTimeSpanString(timestamp))); } else { lastUpdateTimeView.setVisibility(View.INVISIBLE); } } private void updateStateChanged(boolean started) { - if(started == updateRunning) return; + if (started == updateRunning) + return; updateRunning = started; - if(progressBar != null) { + progressBar = (ContentLoadingProgressBar) findViewById(R.id.progress_bar); + if (progressBar != null) { progressBar.setVisibility(started ? View.VISIBLE : View.GONE); progressBar.setIndeterminate(true); } @@ -586,15 +588,18 @@ private void updateStateChanged(boolean started) { private void performSearch(String query) { setSearchQuery(query); - if(TextUtils.isEmpty(query)) return; + if (TextUtils.isEmpty(query)) + return; searchUIPending = true; checkPendingSearchUI(); } private void checkPendingSearchUI() { - if(searchMenuItem == null) return; - if(!searchUIPending) return; + if (searchMenuItem == null) + return; + if (!searchUIPending) + return; searchUIPending = false; @@ -602,8 +607,9 @@ private void checkPendingSearchUI() { } private void initSearchUI() { - final SearchView searchView = (SearchView)searchMenuItem.getActionView(); - if(searchView == null) return; + final SearchView searchView = (SearchView) searchMenuItem.getActionView(); + if (searchView == null) + return; final String searchQueryToRestore = searchQuery; @@ -620,23 +626,20 @@ public void run() { private void setParametersToFragment(Fragment fragment) { Log.v(TAG, "setParametersToFragment() started"); - if(fragment == null) return; + if (fragment == null) + return; setSortOrder(fragment); setSearchQueryOnFragment(fragment, searchQuery); } private void switchSortOrder() { - if(FRAGMENT_TAG_LIST.equals(currentFragmentType)) { - tagsSortOrder = tagsSortOrder == Sortable.SortOrder.DESC - ? Sortable.SortOrder.ASC - : Sortable.SortOrder.DESC; + if (FRAGMENT_TAG_LIST.equals(currentFragmentType)) { + tagsSortOrder = tagsSortOrder == Sortable.SortOrder.DESC ? Sortable.SortOrder.ASC : Sortable.SortOrder.DESC; settings.setTagListSortOrder(tagsSortOrder); } else { - sortOrder = sortOrder == Sortable.SortOrder.DESC - ? Sortable.SortOrder.ASC - : Sortable.SortOrder.DESC; + sortOrder = sortOrder == Sortable.SortOrder.DESC ? Sortable.SortOrder.ASC : Sortable.SortOrder.DESC; settings.setListSortOrder(sortOrder); } @@ -645,13 +648,12 @@ private void switchSortOrder() { } private void setSortOrder(Fragment fragment) { - setSortOrder(fragment, FRAGMENT_TAG_LIST.equals(currentFragmentType) - ? tagsSortOrder : sortOrder); + setSortOrder(fragment, FRAGMENT_TAG_LIST.equals(currentFragmentType) ? tagsSortOrder : sortOrder); } private void setSortOrder(Fragment fragment, Sortable.SortOrder sortOrder) { - if(fragment instanceof Sortable) { - ((Sortable)fragment).setSortOrder(sortOrder); + if (fragment instanceof Sortable) { + ((Sortable) fragment).setSortOrder(sortOrder); } } @@ -663,13 +665,13 @@ private void setSearchQuery(String searchQuery) { } private void setSearchQueryOnFragment(Fragment fragment, String searchQuery) { - if(fragment instanceof Searchable) { - ((Searchable)fragment).setSearchQuery(searchQuery); + if (fragment instanceof Searchable) { + ((Searchable) fragment).setSearchQuery(searchQuery); } } private void setCurrentFragment(String type) { - if(TextUtils.equals(currentFragmentType, type)) { + if (TextUtils.equals(currentFragmentType, type)) { Log.i(TAG, "setCurrentFragment() ignoring switch to the same type: " + type); return; } @@ -680,16 +682,14 @@ private void setCurrentFragment(String type) { private void setCurrentFragment(Fragment fragment, String type) { updateNavigationUI(type); - if(currentFragment != null && isFragmentStateSavable(currentFragmentType)) { + if (currentFragment != null && isFragmentStateSavable(currentFragmentType)) { Log.d(TAG, "setCurrentFragment() saving fragment state: " + currentFragmentType); - savedFragmentStates.put(currentFragmentType, getSupportFragmentManager() - .saveFragmentInstanceState(currentFragment)); + savedFragmentStates.put(currentFragmentType, + getSupportFragmentManager().saveFragmentInstanceState(currentFragment)); } - getSupportFragmentManager().beginTransaction() - .replace(R.id.main_content_frame, fragment, type) - .commit(); + getSupportFragmentManager().beginTransaction().replace(R.id.main_content_frame, fragment, type).commit(); currentFragment = fragment; currentFragmentType = type; @@ -702,27 +702,27 @@ private Fragment getFragment(String type) { Fragment fragment = getSupportFragmentManager().findFragmentByTag(type); - if(fragment == null) { + if (fragment == null) { Log.d(TAG, "getFragment() creating new instance"); - switch(type) { - case FRAGMENT_ARTICLE_LISTS: - fragment = ArticleListsFragment.newInstance(null); - break; + switch (type) { + case FRAGMENT_ARTICLE_LISTS: + fragment = ArticleListsFragment.newInstance(null); + break; - case FRAGMENT_TAG_LIST: - fragment = new TagListFragment(); - break; + case FRAGMENT_TAG_LIST: + fragment = new TagListFragment(); + break; - default: - throw new IllegalArgumentException("Fragment type is not supported: " + type); + default: + throw new IllegalArgumentException("Fragment type is not supported: " + type); } - if(isFragmentStateSavable(type)) { + if (isFragmentStateSavable(type)) { Log.d(TAG, "getFragment() fragment is savable"); Fragment.SavedState savedState = savedFragmentStates.get(type); - if(savedState != null) { + if (savedState != null) { Log.d(TAG, "getFragment() restoring fragment state"); fragment.setInitialSavedState(savedState); @@ -734,66 +734,70 @@ private Fragment getFragment(String type) { } private boolean isFragmentStateSavable(String type) { - if(type == null) return false; + if (type == null) + return false; - switch(type) { - case FRAGMENT_ARTICLE_LISTS: - case FRAGMENT_TAG_LIST: - return true; + switch (type) { + case FRAGMENT_ARTICLE_LISTS: + case FRAGMENT_TAG_LIST: + return true; } return false; } private void updateNavigationUI(String type) { - if(type == null || navigationView == null) return; + if (type == null || navigationView == null) + return; - if(FRAGMENT_TAGGED_ARTICLE_LISTS.equals(currentFragmentType)) { + if (FRAGMENT_TAGGED_ARTICLE_LISTS.equals(currentFragmentType)) { MenuItem item = navigationView.getMenu().findItem(R.id.nav_taggedLists); - if(item != null) { + if (item != null) { item.setVisible(false); item.setEnabled(false); } } CharSequence title = null; - @IdRes int itemID = 0; - switch(type) { - case FRAGMENT_ARTICLE_LISTS: - itemID = R.id.nav_mainLists; - break; - - case FRAGMENT_TAG_LIST: - itemID = R.id.nav_tags; - break; - - case FRAGMENT_TAGGED_ARTICLE_LISTS: - itemID = R.id.nav_taggedLists; - - if(selectedTag != null) { - title = getString(R.string.title_main_tag, selectedTag); - } + @IdRes + int itemID = 0; + switch (type) { + case FRAGMENT_ARTICLE_LISTS: + itemID = R.id.nav_mainLists; + break; + + case FRAGMENT_TAG_LIST: + itemID = R.id.nav_tags; + break; + + case FRAGMENT_TAGGED_ARTICLE_LISTS: + itemID = R.id.nav_taggedLists; + + if (selectedTag != null) { + title = getString(R.string.title_main_tag, selectedTag); + } - MenuItem item = navigationView.getMenu().findItem(itemID); - if(item != null) { - if(title != null) item.setTitle(title); - item.setVisible(true); - item.setEnabled(true); - } - break; + MenuItem item = navigationView.getMenu().findItem(itemID); + if (item != null) { + if (title != null) + item.setTitle(title); + item.setVisible(true); + item.setEnabled(true); + } + break; } - if(itemID != 0) { + if (itemID != 0) { navigationView.setCheckedItem(itemID); - if(title == null) { + if (title == null) { MenuItem item = navigationView.getMenu().findItem(itemID); - if(item != null) { + if (item != null) { title = item.getTitle(); } } } - if(title != null) { + if (title != null) { setTitle(title); } } @@ -813,7 +817,7 @@ public void onRecyclerViewListSwipeUpdate() { } private void syncQueue() { - if(!WallabagConnection.isNetworkAvailable()) { + if (!WallabagConnection.isNetworkAvailable()) { Toast.makeText(this, getString(R.string.txtNetOffline), Toast.LENGTH_SHORT).show(); return; } @@ -822,7 +826,7 @@ private void syncQueue() { } private void sweepDeletedArticles() { - if(!WallabagConnection.isNetworkAvailable()) { + if (!WallabagConnection.isNetworkAvailable()) { Toast.makeText(this, getString(R.string.txtNetOffline), Toast.LENGTH_SHORT).show(); return; } @@ -831,15 +835,14 @@ private void sweepDeletedArticles() { } private void updateAllFeedsIfDbIsEmpty() { - if(settings.isConfigurationOk() && !settings.isFirstSyncDone()) { + if (settings.isConfigurationOk() && !settings.isFirstSyncDone()) { fullUpdate(false); } } private void updateOnStartup() { long delay = 5 * 60 * 1000; // 5 minutes - if(settings.isAutoSyncOnStartupEnabled() && settings.isConfigurationOk() - && settings.isFirstSyncDone() + if (settings.isAutoSyncOnStartupEnabled() && settings.isConfigurationOk() && settings.isFirstSyncDone() && settings.getLatestUpdateRunTimestamp() + delay < System.currentTimeMillis()) { updateArticles(false, Updater.UpdateType.FAST); } @@ -852,20 +855,20 @@ private void fullUpdate(boolean showErrors) { private boolean updateArticles(boolean showErrors, Updater.UpdateType updateType) { boolean result = false; - if(updateRunning) { - if(showErrors) { + if (updateRunning) { + if (showErrors) { Toast.makeText(this, R.string.previousUpdateNotFinished, Toast.LENGTH_SHORT).show(); } - } else if(!settings.isConfigurationOk()) { - if(showErrors) { + } else if (!settings.isConfigurationOk()) { + if (showErrors) { Toast.makeText(this, getString(R.string.txtConfigNotSet), Toast.LENGTH_SHORT).show(); } - } else if(WallabagConnection.isNetworkAvailable()) { + } else if (WallabagConnection.isNetworkAvailable()) { ServiceHelper.syncAndUpdate(this, settings, updateType, false); result = true; } else { - if(showErrors) { + if (showErrors) { Toast.makeText(this, getString(R.string.txtNetOffline), Toast.LENGTH_SHORT).show(); } } @@ -876,26 +879,26 @@ private boolean updateArticles(boolean showErrors, Updater.UpdateType updateType private void testConfiguration() { cancelConfigurationTest(); - configurationTestHelper = new ConfigurationTestHelper( - this, new ConfigurationTestHelper.ResultHandler() { + configurationTestHelper = new ConfigurationTestHelper(this, new ConfigurationTestHelper.ResultHandler() { @Override public void onConfigurationTestSuccess(String url) { updateAllFeedsIfDbIsEmpty(); } @Override - public void onConnectionTestFail( - WallabagWebService.ConnectionTestResult result, String details) {} + public void onConnectionTestFail(WallabagWebService.ConnectionTestResult result, String details) { + } @Override - public void onApiAccessTestFail(TestApiAccessTask.Result result, String details) {} + public void onApiAccessTestFail(TestApiAccessTask.Result result, String details) { + } }, null, settings, true); configurationTestHelper.test(); } private void cancelConfigurationTest() { - if(configurationTestHelper != null) { + if (configurationTestHelper != null) { configurationTestHelper.cancel(); configurationTestHelper = null; } @@ -913,7 +916,7 @@ private void showAddBagDialog() { builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - TextView textView = (TextView)view.findViewById(R.id.page_url); + TextView textView = (TextView) view.findViewById(R.id.page_url); ServiceHelper.addLink(getBaseContext(), textView.getText().toString()); } }); @@ -924,19 +927,19 @@ public void onClick(DialogInterface dialog, int which) { @Override public boolean onKeyDown(int keyCode, KeyEvent event) { - if(currentFragment instanceof ArticleListsFragment) { + if (currentFragment instanceof ArticleListsFragment) { switch (keyCode) { - case KeyEvent.KEYCODE_PAGE_UP: - case KeyEvent.KEYCODE_PAGE_DOWN: - ((ArticleListsFragment) currentFragment).scroll(keyCode == KeyEvent.KEYCODE_PAGE_UP); + case KeyEvent.KEYCODE_PAGE_UP: + case KeyEvent.KEYCODE_PAGE_DOWN: + ((ArticleListsFragment) currentFragment).scroll(keyCode == KeyEvent.KEYCODE_PAGE_UP); + return true; + case KeyEvent.KEYCODE_VOLUME_UP: + case KeyEvent.KEYCODE_VOLUME_DOWN: + if (settings.isVolumeButtonsScrollingEnabled()) { + ((ArticleListsFragment) currentFragment).scroll(keyCode == KeyEvent.KEYCODE_VOLUME_UP); return true; - case KeyEvent.KEYCODE_VOLUME_UP: - case KeyEvent.KEYCODE_VOLUME_DOWN: - if (settings.isVolumeButtonsScrollingEnabled()) { - ((ArticleListsFragment) currentFragment).scroll(keyCode == KeyEvent.KEYCODE_VOLUME_UP); - return true; - } - break; + } + break; } } diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/ManageArticleTagsActivity.java b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/ManageArticleTagsActivity.java index 4f7a3084d..263b654b7 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/ManageArticleTagsActivity.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/ManageArticleTagsActivity.java @@ -182,12 +182,14 @@ public void onClick(View v) { } suggestedTagsView = (RecyclerView)findViewById(R.id.manageTags_suggestionList); + suggestedTagsView.setHasFixedSize(true); if(suggestedTagsView != null) { suggestedTagsView.setLayoutManager(new LinearLayoutManager(this)); suggestedTagsView.setAdapter(suggestedTagsAdapter); } currentTagsView = (RecyclerView)findViewById(R.id.manageTags_currentList); + currentTagsView.setHasFixedSize(true); if(currentTagsView != null) { currentTagsView.setLayoutManager(new LinearLayoutManager(this)); currentTagsView.setAdapter(currentTagsAdapter); diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/ReadArticleActivity.java b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/ReadArticleActivity.java index a8b1ac557..47c3be856 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/ReadArticleActivity.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/ReadArticleActivity.java @@ -11,8 +11,15 @@ import android.net.Uri; import android.os.Build; import android.os.Bundle; + import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AlertDialog; + +import com.google.android.material.appbar.CollapsingToolbarLayout; + +import androidx.appcompat.widget.Toolbar; +import androidx.core.widget.NestedScrollView; + import android.text.TextUtils; import android.util.Log; import android.view.GestureDetector; @@ -32,11 +39,11 @@ import android.widget.Button; import android.widget.ImageButton; import android.widget.LinearLayout; -import android.widget.ScrollView; import android.widget.TextView; import android.widget.Toast; import com.di72nn.stuff.wallabag.apiwrapper.WallabagService; +import com.google.android.material.button.MaterialButton; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; @@ -71,8 +78,8 @@ public class ReadArticleActivity extends BaseActionBarActivity { - public static final String EXTRA_ID = "ReadArticleActivity.id"; - public static final String EXTRA_LIST_ARCHIVED = "ReadArticleActivity.archived"; + public static final String EXTRA_ID = "ReadArticleActivity.id"; + public static final String EXTRA_LIST_ARCHIVED = "ReadArticleActivity.archived"; public static final String EXTRA_LIST_FAVORITES = "ReadArticleActivity.favorites"; private static final String TAG = ReadArticleActivity.class.getSimpleName(); @@ -80,30 +87,22 @@ public class ReadArticleActivity extends BaseActionBarActivity { private static final String TAG_TTS_FRAGMENT = "ttsFragment"; private static final EnumSet CHANGE_SET_ACTIONS = EnumSet.of( - ArticlesChangedEvent.ChangeType.FAVORITED, - ArticlesChangedEvent.ChangeType.UNFAVORITED, - ArticlesChangedEvent.ChangeType.ARCHIVED, - ArticlesChangedEvent.ChangeType.UNARCHIVED); + ArticlesChangedEvent.ChangeType.FAVORITED, ArticlesChangedEvent.ChangeType.UNFAVORITED, + ArticlesChangedEvent.ChangeType.ARCHIVED, ArticlesChangedEvent.ChangeType.UNARCHIVED); private static final EnumSet CHANGE_SET_CONTENT = EnumSet.of( - ArticlesChangedEvent.ChangeType.CONTENT_CHANGED, - ArticlesChangedEvent.ChangeType.TITLE_CHANGED, - ArticlesChangedEvent.ChangeType.DOMAIN_CHANGED, + ArticlesChangedEvent.ChangeType.CONTENT_CHANGED, ArticlesChangedEvent.ChangeType.TITLE_CHANGED, + ArticlesChangedEvent.ChangeType.DOMAIN_CHANGED, ArticlesChangedEvent.ChangeType.URL_CHANGED, ArticlesChangedEvent.ChangeType.PUBLISHED_AT_CHANGED, ArticlesChangedEvent.ChangeType.AUTHORS_CHANGED, - ArticlesChangedEvent.ChangeType.URL_CHANGED, ArticlesChangedEvent.ChangeType.ESTIMATED_READING_TIME_CHANGED, ArticlesChangedEvent.ChangeType.FETCHED_IMAGES_CHANGED); private static final EnumSet CHANGE_SET_PREV_NEXT = EnumSet.of( - ArticlesChangedEvent.ChangeType.UNSPECIFIED, - ArticlesChangedEvent.ChangeType.ADDED, - ArticlesChangedEvent.ChangeType.DELETED, - ArticlesChangedEvent.ChangeType.ARCHIVED, - ArticlesChangedEvent.ChangeType.UNARCHIVED, - ArticlesChangedEvent.ChangeType.FAVORITED, - ArticlesChangedEvent.ChangeType.UNFAVORITED, - ArticlesChangedEvent.ChangeType.CREATED_DATE_CHANGED); + ArticlesChangedEvent.ChangeType.UNSPECIFIED, ArticlesChangedEvent.ChangeType.ADDED, + ArticlesChangedEvent.ChangeType.DELETED, ArticlesChangedEvent.ChangeType.ARCHIVED, + ArticlesChangedEvent.ChangeType.UNARCHIVED, ArticlesChangedEvent.ChangeType.FAVORITED, + ArticlesChangedEvent.ChangeType.UNFAVORITED, ArticlesChangedEvent.ChangeType.CREATED_DATE_CHANGED); private Boolean contextFavorites; private Boolean contextArchived; @@ -112,36 +111,35 @@ public class ReadArticleActivity extends BaseActionBarActivity { private ArticleDao articleDao; - private int fontSize; + private int fontSize; private boolean volumeButtonsScrolling; private boolean tapToScroll; private boolean disableTouchOptionEnabled; private boolean disableTouch; - private int disableTouchKeyCode; - private float screenScrollingPercent; + private int disableTouchKeyCode; + private float screenScrollingPercent; private boolean smoothScrolling; - private int scrolledOverBottom; - private boolean swipeArticles; + private int scrolledOverBottom; - private ScrollView scrollView; - private View scrollViewLastChild; - private WebView webViewContent; - private TextView loadingPlaceholder; - private LinearLayout bottomTools; - private View hrBar; - private TtsFragment ttsFragment; + private NestedScrollView scrollView; + private View scrollViewLastChild; + private WebView webViewContent; + private TextView loadingPlaceholder; + private LinearLayout bottomTools; + // private View hrBar; + private TtsFragment ttsFragment; private Article article; - private String articleTitle; - private String articleDomain; - private String articleUrl; - private String articleLanguage; - private Double articleProgress; + private String articleTitle; + private String articleDomain; + private String articleUrl; + private String articleLanguage; + private Double articleProgress; private Long previousArticleID; private Long nextArticleID; - private int webViewHeightBeforeUpdate; + private int webViewHeightBeforeUpdate; private Runnable positionRestorationRunnable; private boolean isResumed; @@ -152,17 +150,15 @@ public void onCreate(Bundle savedInstanceState) { settings = App.getInstance().getSettings(); - if(settings.isFullscreenArticleView()) { + if (settings.isFullscreenArticleView()) { requestWindowFeature(Window.FEATURE_NO_TITLE); - getWindow().setFlags( - WindowManager.LayoutParams.FLAG_FULLSCREEN, - WindowManager.LayoutParams.FLAG_FULLSCREEN - ); - ActionBar actionBar = super.getSupportActionBar(); - if(actionBar != null) actionBar.hide(); + getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, + WindowManager.LayoutParams.FLAG_FULLSCREEN); + // if(toolbar != null) toolbar.(); + // TODO: Hide app bar } - if(settings.isKeepScreenOn()) { + if (settings.isKeepScreenOn()) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); } @@ -172,17 +168,17 @@ public void onCreate(Bundle savedInstanceState) { Intent intent = getIntent(); long articleID = intent.getLongExtra(EXTRA_ID, -1); Log.d(TAG, "onCreate() articleId: " + articleID); - if(intent.hasExtra(EXTRA_LIST_FAVORITES)) { + if (intent.hasExtra(EXTRA_LIST_FAVORITES)) { contextFavorites = intent.getBooleanExtra(EXTRA_LIST_FAVORITES, false); } - if(intent.hasExtra(EXTRA_LIST_ARCHIVED)) { + if (intent.hasExtra(EXTRA_LIST_ARCHIVED)) { contextArchived = intent.getBooleanExtra(EXTRA_LIST_ARCHIVED, false); } DaoSession session = DbConnection.getSession(); articleDao = session.getArticleDao(); - if(!loadArticle(articleID)) { + if (!loadArticle(articleID)) { Log.e(TAG, "onCreate: Did not find article with ID: " + articleID); finish(); return; @@ -197,23 +193,35 @@ public void onCreate(Bundle savedInstanceState) { screenScrollingPercent = settings.getScreenScrollingPercent(); smoothScrolling = settings.isScreenScrollingSmooth(); scrolledOverBottom = settings.getScrolledOverBottom(); - swipeArticles = settings.getSwipeArticles(); - - setTitle(articleTitle); // article is loaded - update menu invalidateOptionsMenu(); - scrollView = (ScrollView)findViewById(R.id.scroll); + Toolbar toolbar = findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + // display back arrow + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + getSupportActionBar().setDisplayShowHomeEnabled(true); + } + + // Must set on collapsing layout to enable the animation + // TODO: after MD library supports multi-line title should we set title here + // https://github.com/material-components/material-components-android/pull/413 +// CollapsingToolbarLayout collapsingToolbarLayout = findViewById(R.id.collapsing_toolbar_layout); +// collapsingToolbarLayout.setTitle(articleTitle); + + scrollView = findViewById(R.id.scroll); scrollViewLastChild = scrollView.getChildAt(scrollView.getChildCount() - 1); - webViewContent = (WebView)findViewById(R.id.webViewContent); - loadingPlaceholder = (TextView)findViewById(R.id.tv_loading_article); - bottomTools = (LinearLayout)findViewById(R.id.bottomTools); - hrBar = findViewById(R.id.view1); + webViewContent = findViewById(R.id.webViewContent); + loadingPlaceholder = findViewById(R.id.tv_loading_article); + bottomTools = findViewById(R.id.bottomTools); + // hrBar = findViewById(R.id.view1); initWebView(); - if(ttsFragment != null) { + if (ttsFragment != null) { // is it ever executed? ttsFragment.onDocumentLoadStart(articleDomain, articleTitle, articleLanguage); } @@ -222,16 +230,15 @@ public void onCreate(Bundle savedInstanceState) { initButtons(); - if(settings.isTtsVisible() && ttsFragment == null) { - ttsFragment = (TtsFragment)getSupportFragmentManager() - .findFragmentByTag(TAG_TTS_FRAGMENT); + if (settings.isTtsVisible() && ttsFragment == null) { + ttsFragment = (TtsFragment) getSupportFragmentManager().findFragmentByTag(TAG_TTS_FRAGMENT); - if(ttsFragment == null) { + if (ttsFragment == null) { toggleTTS(false); } } - if(disableTouch) { + if (disableTouch) { showDisableTouchToast(); } @@ -243,7 +250,7 @@ public void onResume() { super.onResume(); isResumed = true; - if(onPageFinishedCallPostponedUntilResume) { + if (onPageFinishedCallPostponedUntilResume) { onPageFinishedCallPostponedUntilResume = false; onPageFinished(); @@ -259,7 +266,7 @@ public void onPause() { @Override public void onStop() { - if(loadingFinished && article != null) { + if (loadingFinished && article != null) { cancelPositionRestoration(); OperationsHelper.setArticleProgress(this, article.getArticleId(), getReadingPosition()); @@ -283,7 +290,7 @@ public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.option_article, menu); - if(article != null) { + if (article != null) { boolean unread = article.getArchive() != null && !article.getArchive(); menu.findItem(R.id.menuArticleMarkAsRead).setVisible(unread); menu.findItem(R.id.menuArticleMarkAsUnread).setVisible(!unread); @@ -300,7 +307,7 @@ public boolean onCreateOptionsMenu(Menu menu) { @Override public boolean onOptionsItemSelected(MenuItem item) { - switch(item.getItemId()) { + switch (item.getItemId()) { case R.id.menuArticleMarkAsRead: case R.id.menuArticleMarkAsUnread: markAsReadAndClose(); @@ -369,7 +376,7 @@ public boolean dispatchKeyEvent(KeyEvent event) { } if (triggerAction) { - if(code == disableTouchKeyCode && (disableTouch || disableTouchOptionEnabled)) { + if (code == disableTouchKeyCode && (disableTouch || disableTouchOptionEnabled)) { disableTouch = !disableTouch; settings.setDisableTouchLastState(disableTouch); @@ -424,13 +431,13 @@ public void onArticlesChangedEvent(ArticlesChangedEvent event) { Log.d(TAG, "onArticlesChangedEvent() started"); boolean updatePrevNext = false; - if(!Collections.disjoint(event.getInvalidateAllChanges(), CHANGE_SET_PREV_NEXT)) { + if (!Collections.disjoint(event.getInvalidateAllChanges(), CHANGE_SET_PREV_NEXT)) { updatePrevNext = true; } else { EnumSet changes; - if(contextArchived != null) { + if (contextArchived != null) { changes = contextArchived ? event.getArchiveFeedChanges() : event.getMainFeedChanges(); - } else if(contextFavorites != null && contextFavorites) { + } else if (contextFavorites != null && contextFavorites) { changes = event.getFavoriteFeedChanges(); } else { changes = EnumSet.copyOf(event.getMainFeedChanges()); @@ -438,19 +445,20 @@ public void onArticlesChangedEvent(ArticlesChangedEvent event) { changes.addAll(event.getFavoriteFeedChanges()); } - if(!Collections.disjoint(changes, CHANGE_SET_PREV_NEXT)) { + if (!Collections.disjoint(changes, CHANGE_SET_PREV_NEXT)) { updatePrevNext = true; } } - if(updatePrevNext) { + if (updatePrevNext) { Log.d(TAG, "onArticleChangedEvent() prev/next buttons changed"); updatePrevNextButtons(); } EnumSet changes = event.getArticleChanges(article); - if(changes == null) return; + if (changes == null) + return; Log.d(TAG, "onArticlesChangedEvent() changes: " + changes); @@ -459,7 +467,7 @@ public void onArticlesChangedEvent(ArticlesChangedEvent event) { boolean updateTitle; boolean updateURL; - if(changes.contains(FeedsChangedEvent.ChangeType.UNSPECIFIED)) { + if (changes.contains(FeedsChangedEvent.ChangeType.UNSPECIFIED)) { updateActions = true; updateContent = true; updateTitle = true; @@ -471,7 +479,7 @@ public void onArticlesChangedEvent(ArticlesChangedEvent event) { updateURL = changes.contains(FeedsChangedEvent.ChangeType.URL_CHANGED); } - if(updateActions) { + if (updateActions) { Log.d(TAG, "onArticleChangedEvent() actions changed"); updateMarkAsReadButtonView(); @@ -479,34 +487,34 @@ public void onArticlesChangedEvent(ArticlesChangedEvent event) { invalidateOptionsMenu(); } - if(updateTitle) { + if (updateTitle) { Log.d(TAG, "onArticleChangedEvent() title changed"); - articleTitle = article.getTitle(); - setTitle(articleTitle); +// articleTitle = article.getTitle(); +// CollapsingToolbarLayout collapsingToolbarLayout = findViewById(R.id.collapsing_toolbar_layout); +// collapsingToolbarLayout.setTitle(articleTitle); } - if(updateURL) { + if (updateURL) { Log.d(TAG, "onArticleChangedEvent() URL changed"); articleUrl = article.getUrl(); } - if(updateContent) { + if (updateContent) { Log.d(TAG, "onArticleChangedEvent() content changed"); -// prepareToRestorePosition(true); + // prepareToRestorePosition(true); loadArticleToWebView(); -// restorePositionAfterUpdate(); + // restorePositionAfterUpdate(); } } private void showDisableTouchToast() { - Toast.makeText(this, disableTouch - ? R.string.message_disableTouch_inputDisabled - : R.string.message_disableTouch_inputEnabled, + Toast.makeText(this, + disableTouch ? R.string.message_disableTouch_inputDisabled : R.string.message_disableTouch_inputEnabled, Toast.LENGTH_SHORT).show(); } @@ -518,12 +526,11 @@ private void initWebView() { @Override public boolean onConsoleMessage(ConsoleMessage cm) { boolean result = false; - if(ttsFragment != null) { + if (ttsFragment != null) { result = ttsFragment.onWebViewConsoleMessage(cm); } - if(!result) { - Log.d("WebView.onCM", String.format("%s @ %d: %s", cm.message(), - cm.lineNumber(), cm.sourceId())); + if (!result) { + Log.d("WebView.onCM", String.format("%s @ %d: %s", cm.message(), cm.lineNumber(), cm.sourceId())); } return true; } @@ -541,8 +548,9 @@ public void onPageFinished(WebView view, String url) { @SuppressWarnings("deprecation") // can't use newer method until API 21 @Override public boolean shouldOverrideUrlLoading(WebView webView, String url) { - // If we try to open current URL, do not propose to save it, directly open browser - if(url.equals(articleUrl)) { + // If we try to open current URL, do not propose to save it, directly open + // browser + if (url.equals(articleUrl)) { openURL(url); } else { handleUrlClicked(url); @@ -552,17 +560,17 @@ public boolean shouldOverrideUrlLoading(WebView webView, String url) { } @Override - public void onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, - String host, String realm) { + public void onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host, String realm) { Log.d(TAG, "onReceivedHttpAuthRequest() host: " + host + ", realm: " + realm); - if(!TextUtils.isEmpty(host)) { + if (!TextUtils.isEmpty(host)) { String httpAuthHost = settings.getUrl(); try { httpAuthHost = new URL(httpAuthHost).getHost(); - } catch(Exception ignored) {} + } catch (Exception ignored) { + } - if(host.contains(httpAuthHost)) { + if (host.contains(httpAuthHost)) { Log.d(TAG, "onReceivedHttpAuthRequest() host match"); handler.proceed(settings.getHttpAuthUsername(), settings.getHttpAuthPassword()); return; @@ -574,42 +582,43 @@ public void onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, }); - if(fontSize != 100) setFontSize(webViewContent, fontSize); + if (fontSize != 100) + setFontSize(webViewContent, fontSize); - GestureDetector.SimpleOnGestureListener gestureListener - = new GestureDetector.SimpleOnGestureListener() { + GestureDetector.SimpleOnGestureListener gestureListener = new GestureDetector.SimpleOnGestureListener() { @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { // note: e1 - previous event, e2 - current event // velocity* - velocity in pixels per second - if(!swipeArticles) return false; - if(e1 == null || e2 == null) return false; - if(e1.getPointerCount() > 1 || e2.getPointerCount() > 1) return false; + if (e1 == null || e2 == null) + return false; + if (e1.getPointerCount() > 1 || e2.getPointerCount() > 1) + return false; -// if(Math.abs(e1.getY() - e2.getY()) > 150) { -// Log.d("FLING", "not a horizontal fling (distance)"); -// return false; // not a horizontal move (distance) -// } + // if(Math.abs(e1.getY() - e2.getY()) > 150) { + // Log.d("FLING", "not a horizontal fling (distance)"); + // return false; // not a horizontal move (distance) + // } - if(Math.abs(velocityX) < 80) { + if (Math.abs(velocityX) < 80) { Log.v("FLING", "too slow"); return false; // too slow } - if(Math.abs(velocityX / velocityY) < 3) { + if (Math.abs(velocityX / velocityY) < 3) { Log.v("FLING", "not a horizontal fling"); return false; // not a horizontal fling } float diff = e1.getX() - e2.getX(); - if(Math.abs(diff) < 80) { // configurable + if (Math.abs(diff) < 80) { // configurable Log.v("FLING", "too small distance"); return false; // too small distance } - if(diff > 0) { // right-to-left: next + if (diff > 0) { // right-to-left: next Log.v("FLING", "right-to-left: next"); openNextArticle(); } else { // left-to-right: prev @@ -621,20 +630,22 @@ public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float ve @Override public boolean onSingleTapConfirmed(MotionEvent e) { - if(!tapToScroll) return false; + if (!tapToScroll) + return false; - if(e.getPointerCount() > 1) return false; + if (e.getPointerCount() > 1) + return false; int viewHeight = scrollView.getHeight(); float y = e.getY() - scrollView.getScrollY(); - if(y > viewHeight * 0.25 && y < viewHeight * 0.75) { + if (y > viewHeight * 0.25 && y < viewHeight * 0.75) { int viewWidth = scrollView.getWidth(); float x = e.getX(); - if(x < viewWidth * 0.3) { // left part + if (x < viewWidth * 0.3) { // left part scroll(true, screenScrollingPercent, smoothScrolling, false); - } else if(x > viewWidth * 0.7) { // right part + } else if (x > viewWidth * 0.7) { // right part scroll(false, screenScrollingPercent, smoothScrolling, false); } } @@ -654,15 +665,15 @@ public boolean onTouch(View v, MotionEvent event) { } private void loadArticleToWebView() { - webViewContent.loadDataWithBaseURL("file:///android_asset/", getHtmlPage(), - "text/html", "utf-8", null); + String page = getHtmlPage(); + webViewContent.loadDataWithBaseURL("file:///android_asset/", page, "text/html", "utf-8", null); } private String getHtmlPage() { String cssName; boolean highContrast = false; boolean weightedFont = false; - switch(Themes.getCurrentTheme()) { + switch (Themes.getCurrentTheme()) { case E_INK: weightedFont = true; case LIGHT_CONTRAST: @@ -685,18 +696,21 @@ private String getHtmlPage() { } List additionalClasses = new ArrayList<>(1); - if(highContrast) additionalClasses.add("high-contrast"); - if(weightedFont) additionalClasses.add("weighted-font"); - if(settings.isArticleFontSerif()) additionalClasses.add("serif-font"); - if(settings.isArticleTextAlignmentJustify()) additionalClasses.add("text-align-justify"); - additionalClasses.add(settings.getHandlePreformattedTextOption()); + if (highContrast) + additionalClasses.add("high-contrast"); + if (weightedFont) + additionalClasses.add("weighted-font"); + if (settings.isArticleFontSerif()) + additionalClasses.add("serif-font"); + if (settings.isArticleTextAlignmentJustify()) + additionalClasses.add("text-align-justify"); String classAttr; - if(!additionalClasses.isEmpty()) { + if (!additionalClasses.isEmpty()) { StringBuilder sb = new StringBuilder(); sb.append(" class=\""); - for(String cl: additionalClasses) { + for (String cl : additionalClasses) { sb.append(cl).append(' '); } sb.append('"'); @@ -709,19 +723,20 @@ private String getHtmlPage() { String htmlBase; try { htmlBase = readRawString(R.raw.webview_htmlbase); - } catch(Exception e) { + } catch (Exception e) { // should not happen throw new RuntimeException("Couldn't load raw resource", e); } String htmlContent = getHtmlContent(); List imgURLs = ImageCacheUtils.findImageUrlsInHtml(htmlContent); - if(imgURLs != null && imgURLs.size() > 0) { + if (imgURLs != null && imgURLs.size() > 0) { String wbgURL = ImageCacheUtils.getWallabagUrl(); - for(String imageURL: imgURLs) { - if(imageURL.startsWith(ImageCacheUtils.WALLABAG_RELATIVE_URL_PATH)) { + for (String imageURL : imgURLs) { + if (imageURL.startsWith(ImageCacheUtils.WALLABAG_RELATIVE_URL_PATH)) { htmlContent = htmlContent.replace(imageURL, wbgURL + imageURL); - Log.d(TAG, "getHtmlPage() prefixing wallabag server URL " + wbgURL + " to the image path " + imageURL); + Log.d(TAG, + "getHtmlPage() prefixing wallabag server URL " + wbgURL + " to the image path " + imageURL); } } } @@ -736,29 +751,31 @@ private String getHtmlPage() { dateAndAuthor += " " + article.getAuthors(); } - return String.format(htmlBase, cssName, classAttr, TextUtils.htmlEncode(articleTitle), - articleUrl, articleDomain, dateAndAuthor, htmlContent); + int estimatedReadingTime = article.getEstimatedReadingTime(settings.getReadingSpeed()); + String estimatedReadingTimeString = getString(R.string.content_estimatedReadingTime, + estimatedReadingTime > 0 ? estimatedReadingTime : "< 1"); + + String result = String.format(htmlBase, cssName, classAttr, TextUtils.htmlEncode(articleTitle), articleUrl, + articleDomain, dateAndAuthor, estimatedReadingTimeString, htmlContent); + int a = 1; + return result; } private String getHtmlContent() { String htmlContent = article.getContent(); - int estimatedReadingTime = article.getEstimatedReadingTime(settings.getReadingSpeed()); - String estimatedReadingTimeString = getString(R.string.content_estimatedReadingTime, - estimatedReadingTime > 0 ? estimatedReadingTime : "< 1"); - String previewPicture = ""; - if(!TextUtils.isEmpty(article.getPreviewPictureURL())) { + if (!TextUtils.isEmpty(article.getPreviewPictureURL())) { previewPicture = "
"; } - htmlContent = estimatedReadingTimeString + previewPicture + htmlContent; - if(BuildConfig.DEBUG) Log.d(TAG, "getHtmlContent() htmlContent: " + htmlContent); + htmlContent = previewPicture + htmlContent; + if (BuildConfig.DEBUG) + Log.d(TAG, "getHtmlContent() htmlContent: " + htmlContent); - if(settings.isImageCacheEnabled()) { + if (settings.isImageCacheEnabled()) { Log.d(TAG, "getHtmlContent() replacing image links to cached versions in htmlContent"); - htmlContent = ImageCacheUtils.replaceImagesInHtmlContent( - htmlContent, article.getArticleId().longValue()); + htmlContent = ImageCacheUtils.replaceImagesInHtmlContent(htmlContent, article.getArticleId().longValue()); } return htmlContent; @@ -770,20 +787,19 @@ private void initButtons() { } private void updateMarkAsReadButtonView() { - Button buttonMarkRead = (Button)findViewById(R.id.btnMarkRead); - Button buttonMarkUnread = (Button)findViewById(R.id.btnMarkUnread); + MaterialButton buttonMarkRead = findViewById(R.id.btnMarkRead); + MaterialButton buttonMarkUnread = findViewById(R.id.btnMarkUnread); boolean archived = article.getArchive(); - buttonMarkRead.setVisibility(!archived ? View.VISIBLE: View.GONE); - buttonMarkUnread.setVisibility(archived ? View.VISIBLE: View.GONE); - - OnClickListener onClickListener = - new OnClickListener() { - @Override - public void onClick(View v) { - markAsReadAndClose(); - } - }; + buttonMarkRead.setVisibility(!archived ? View.VISIBLE : View.GONE); + buttonMarkUnread.setVisibility(archived ? View.VISIBLE : View.GONE); + + OnClickListener onClickListener = new OnClickListener() { + @Override + public void onClick(View v) { + markAsReadAndClose(); + } + }; buttonMarkRead.setOnClickListener(onClickListener); buttonMarkUnread.setOnClickListener(onClickListener); @@ -797,8 +813,8 @@ private void updatePrevNextButtons() { } private void updatePrevNextButtonViews() { - ImageButton buttonGoPrevious = (ImageButton)findViewById(R.id.btnGoPrevious); - ImageButton buttonGoNext = (ImageButton)findViewById(R.id.btnGoNext); + MaterialButton buttonGoPrevious = findViewById(R.id.btnGoPrevious); + MaterialButton buttonGoNext = findViewById(R.id.btnGoNext); buttonGoPrevious.setVisibility(previousArticleID == null ? View.GONE : View.VISIBLE); buttonGoNext.setVisibility(nextArticleID == null ? View.GONE : View.VISIBLE); @@ -822,67 +838,65 @@ private void loadingFinished() { loadingPlaceholder.setVisibility(View.GONE); bottomTools.setVisibility(View.VISIBLE); - hrBar.setVisibility(View.VISIBLE); + // hrBar.setVisibility(View.VISIBLE); // should there be a pause between visibility change and position restoration? restoreReadingPosition(); - if(ttsFragment != null) { + if (ttsFragment != null) { ttsFragment.onDocumentLoadFinished(webViewContent, scrollView); } } private void handleUrlClicked(final String url) { Log.d(TAG, "handleUrlClicked() url: " + url); - if(TextUtils.isEmpty(url)) return; + if (TextUtils.isEmpty(url)) + return; // TODO: fancy dialog AlertDialog.Builder builder = new AlertDialog.Builder(this); @SuppressLint("InflateParams") // it's ok to inflate with null for AlertDialog - View v = getLayoutInflater().inflate(R.layout.dialog_title_url, null); + View v = getLayoutInflater().inflate(R.layout.dialog_title_url, null); - TextView tv = (TextView)v.findViewById(R.id.tv_dialog_title_url); + TextView tv = v.findViewById(R.id.tv_dialog_title_url); tv.setText(url); builder.setCustomTitle(v); - builder.setItems( - new CharSequence[]{ - getString(R.string.d_urlAction_openInBrowser), - getString(R.string.d_urlAction_addToWallabag), - getString(R.string.d_urlAction_copyToClipboard), - getString(R.string.menuShare) - }, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - switch (which) { - case 0: - openURL(url); - break; - case 1: - ServiceHelper.addLink(ReadArticleActivity.this, url); - break; - case 2: - copyURLToClipboard(url); - break; - case 3: - shareArticle(null, url); - break; - } - } - }); + builder.setItems(new CharSequence[]{getString(R.string.d_urlAction_openInBrowser), + getString(R.string.d_urlAction_addToWallabag), getString(R.string.d_urlAction_copyToClipboard), + getString(R.string.menuShare)}, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + switch (which) { + case 0: + openURL(url); + break; + case 1: + ServiceHelper.addLink(ReadArticleActivity.this, url); + break; + case 2: + copyURLToClipboard(url); + break; + case 3: + shareArticle(null, url); + break; + } + } + }); builder.show(); } private void openURL(String url) { Log.d(TAG, "openURL() url: " + url); - if(TextUtils.isEmpty(url)) return; + if (TextUtils.isEmpty(url)) + return; Uri uri = Uri.parse(url); - if(uri.getScheme() == null) { + if (uri.getScheme() == null) { Log.i(TAG, "openURL() scheme is null, appending default scheme"); uri = Uri.parse("http://" + url); } @@ -891,7 +905,7 @@ private void openURL(String url) { Intent intent = new Intent(Intent.ACTION_VIEW, uri); try { startActivity(intent); - } catch(ActivityNotFoundException e) { + } catch (ActivityNotFoundException e) { Log.w(TAG, "openURL() failed to open URL", e); Toast.makeText(this, R.string.message_couldNotOpenUrl, Toast.LENGTH_SHORT).show(); } @@ -908,21 +922,22 @@ private void toggleFavorite() { } private void shareArticle() { - shareArticle(articleTitle, articleUrl); + shareArticle(articleTitle, articleUrl); } - private void shareArticle(String articleTitle , String articleUrl) { + private void shareArticle(String articleTitle, String articleUrl) { String shareText = articleUrl; - if(!TextUtils.isEmpty(articleTitle)) shareText = articleTitle + " " + shareText; - + if (!TextUtils.isEmpty(articleTitle)) + shareText = articleTitle + " " + shareText; - if(settings.isAppendWallabagMentionEnabled()) { + if (settings.isAppendWallabagMentionEnabled()) { shareText += getString(R.string.share_text_extra); } Intent send = new Intent(Intent.ACTION_SEND); send.setType("text/plain"); - if(!TextUtils.isEmpty(articleTitle)) send.putExtra(Intent.EXTRA_SUBJECT, articleTitle); + if (!TextUtils.isEmpty(articleTitle)) + send.putExtra(Intent.EXTRA_SUBJECT, articleTitle); send.putExtra(Intent.EXTRA_TEXT, shareText); startActivity(Intent.createChooser(send, getString(R.string.share_article_title))); @@ -953,14 +968,14 @@ private void showChangeTitleDialog() { @SuppressLint("InflateParams") // ok for dialogs final View view = getLayoutInflater().inflate(R.layout.dialog_change_title, null); - ((TextView)view.findViewById(R.id.editText_title)).setText(articleTitle); + ((TextView) view.findViewById(R.id.editText_title)).setText(articleTitle); builder.setView(view); builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - TextView textView = (TextView)view.findViewById(R.id.editText_title); + TextView textView = view.findViewById(R.id.editText_title); changeTitle(textView.getText().toString()); } }); @@ -985,7 +1000,7 @@ private void openOriginal() { } private void copyURLToClipboard() { - copyURLToClipboard(articleUrl); + copyURLToClipboard(articleUrl); } private void copyURLToClipboard(String url) { @@ -997,9 +1012,8 @@ private void copyURLToClipboard(String url) { private void showDownloadFileDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setTitle(R.string.dialog_title_downloadFileFormat) - .setItems(R.array.options_downloadFormat_values, - new DialogInterface.OnClickListener() { + builder.setTitle(R.string.dialog_title_downloadFileFormat).setItems(R.array.options_downloadFormat_values, + new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { String selectedFormat = getResources() .getStringArray(R.array.options_downloadFormat_values)[which]; @@ -1007,14 +1021,13 @@ public void onClick(DialogInterface dialog, int which) { WallabagService.ResponseFormat format; try { format = WallabagService.ResponseFormat.valueOf(selectedFormat); - } catch(IllegalArgumentException e) { - Log.e(TAG, "showDownloadFileDialog() unknown selected format: " - + selectedFormat); + } catch (IllegalArgumentException e) { + Log.e(TAG, "showDownloadFileDialog() unknown selected format: " + selectedFormat); format = WallabagService.ResponseFormat.PDF; } - ServiceHelper.downloadArticleAsFile(getApplicationContext(), - article.getArticleId(), format, null); + ServiceHelper.downloadArticleAsFile(getApplicationContext(), article.getArticleId(), format, + null); } }); builder.show(); @@ -1025,7 +1038,8 @@ private void changeFontSize(boolean increase) { int step = 5; fontSize += step * (increase ? 1 : -1); - if(!increase && fontSize < 5) fontSize = 5; + if (!increase && fontSize < 5) + fontSize = 5; setFontSize(webViewContent, fontSize); @@ -1035,21 +1049,23 @@ private void changeFontSize(boolean increase) { } private void openArticle(Long id) { - if(ttsFragment != null) { + if (ttsFragment != null) { ttsFragment.onOpenNewArticle(); } Intent intent = new Intent(this, ReadArticleActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra(ReadArticleActivity.EXTRA_ID, id); - if(contextFavorites != null) intent.putExtra(EXTRA_LIST_FAVORITES, contextFavorites); - if(contextArchived != null) intent.putExtra(EXTRA_LIST_ARCHIVED, contextArchived); + if (contextFavorites != null) + intent.putExtra(EXTRA_LIST_FAVORITES, contextFavorites); + if (contextArchived != null) + intent.putExtra(EXTRA_LIST_ARCHIVED, contextArchived); startActivity(intent); } public boolean openPreviousArticle() { - if(previousArticleID != null) { + if (previousArticleID != null) { openArticle(previousArticleID); return true; } @@ -1059,7 +1075,7 @@ public boolean openPreviousArticle() { } public boolean openNextArticle() { - if(nextArticleID != null) { + if (nextArticleID != null) { openArticle(nextArticleID); return true; } @@ -1069,32 +1085,33 @@ public boolean openNextArticle() { } private void scroll(boolean up, float percent, boolean smooth, boolean keyUsed) { - if(scrollView == null) return; + if (scrollView == null) + return; int viewHeight = scrollView.getHeight(); int yOffset = scrollView.getScrollY(); int newYOffset = yOffset; - int step = (int)(viewHeight * percent / 100); - if(up) { + int step = (int) (viewHeight * percent / 100); + if (up) { newYOffset -= step; } else { newYOffset += step; } - if(newYOffset != yOffset) { - if(smooth) { + if (newYOffset != yOffset) { + if (smooth) { scrollView.smoothScrollTo(scrollView.getScrollX(), newYOffset); } else { scrollView.scrollTo(scrollView.getScrollX(), newYOffset); } } - if(!up && keyUsed && newYOffset + viewHeight > scrollViewLastChild.getBottom()) { - if(scrolledOverBottom > 1) { + if (!up && keyUsed && newYOffset + viewHeight > scrollViewLastChild.getBottom()) { + if (scrolledOverBottom > 1) { scrolledOverBottom--; - Toast.makeText(this, getString(R.string.scrolledOverBottom, scrolledOverBottom), - Toast.LENGTH_SHORT).show(); + Toast.makeText(this, getString(R.string.scrolledOverBottom, scrolledOverBottom), Toast.LENGTH_SHORT) + .show(); } else { Toast.makeText(this, R.string.markedAsRead, Toast.LENGTH_SHORT).show(); markAsReadAndClose(); @@ -1109,13 +1126,14 @@ private double getReadingPosition() { int viewHeight = scrollView.getHeight(); int totalHeight = scrollView.getChildAt(0).getHeight(); - Log.v(TAG, "getReadingPosition() yOffset: " + yOffset + ", viewHeight: " + viewHeight - + ", totalHeight: " + totalHeight); + Log.v(TAG, "getReadingPosition() yOffset: " + yOffset + ", viewHeight: " + viewHeight + ", totalHeight: " + + totalHeight); totalHeight -= viewHeight; double position = totalHeight >= 0 ? yOffset * 1. / totalHeight : 0; - if(position > 100) position = 100; + if (position > 100) + position = 100; Log.d(TAG, "getReadingPosition() position: " + position); @@ -1125,16 +1143,15 @@ private double getReadingPosition() { private void restoreReadingPosition() { Log.d(TAG, "restoreReadingPosition() articleProgress: " + articleProgress); - if(articleProgress != null) { + if (articleProgress != null) { int viewHeight = scrollView.getHeight(); int totalHeight = scrollView.getChildAt(0).getHeight(); - Log.v(TAG, "restoreReadingPosition() viewHeight: " + viewHeight - + ", totalHeight: " + totalHeight); + Log.v(TAG, "restoreReadingPosition() viewHeight: " + viewHeight + ", totalHeight: " + totalHeight); totalHeight -= viewHeight; - int yOffset = totalHeight > 0 ? ((int)Math.round(articleProgress * totalHeight)) : 0; + int yOffset = totalHeight > 0 ? ((int) Math.round(articleProgress * totalHeight)) : 0; Log.v(TAG, "restoreReadingPosition() yOffset: " + yOffset); @@ -1144,27 +1161,21 @@ private void restoreReadingPosition() { public boolean toggleTTS(boolean autoPlay) { boolean result; - if(ttsFragment == null) { + if (ttsFragment == null) { ttsFragment = TtsFragment.newInstance(autoPlay); - getSupportFragmentManager() - .beginTransaction() - .add(R.id.viewMain, ttsFragment, TAG_TTS_FRAGMENT) - .commit(); + getSupportFragmentManager().beginTransaction().add(R.id.viewMain, ttsFragment, TAG_TTS_FRAGMENT).commit(); settings.setTtsVisible(true); ttsFragment.onDocumentLoadStart(articleDomain, articleTitle, articleLanguage); - if(loadingFinished) { + if (loadingFinished) { ttsFragment.onDocumentLoadFinished(webViewContent, scrollView); } result = true; } else { - getSupportFragmentManager() - .beginTransaction() - .remove(ttsFragment) - .commit(); + getSupportFragmentManager().beginTransaction().remove(ttsFragment).commit(); ttsFragment = null; @@ -1181,7 +1192,8 @@ public boolean toggleTTS(boolean autoPlay) { private boolean loadArticle(long id) { article = getArticle(id); - if(article == null) return false; + if (article == null) + return false; articleTitle = article.getTitle(); Log.d(TAG, "loadArticle() articleTitle: " + articleTitle); @@ -1204,17 +1216,23 @@ private Article getArticle(long articleID) { private Long getAdjacentArticle(boolean previous) { QueryBuilder

qb = articleDao.queryBuilder(); - if(previous) qb.where(ArticleDao.Properties.ArticleId.gt(article.getArticleId())); - else qb.where(ArticleDao.Properties.ArticleId.lt(article.getArticleId())); + if (previous) + qb.where(ArticleDao.Properties.ArticleId.gt(article.getArticleId())); + else + qb.where(ArticleDao.Properties.ArticleId.lt(article.getArticleId())); - if(contextFavorites != null) qb.where(ArticleDao.Properties.Favorite.eq(contextFavorites)); - if(contextArchived != null) qb.where(ArticleDao.Properties.Archive.eq(contextArchived)); + if (contextFavorites != null) + qb.where(ArticleDao.Properties.Favorite.eq(contextFavorites)); + if (contextArchived != null) + qb.where(ArticleDao.Properties.Archive.eq(contextArchived)); - if(previous) qb.orderAsc(ArticleDao.Properties.ArticleId); - else qb.orderDesc(ArticleDao.Properties.ArticleId); + if (previous) + qb.orderAsc(ArticleDao.Properties.ArticleId); + else + qb.orderDesc(ArticleDao.Properties.ArticleId); List
l = qb.limit(1).list(); - if(!l.isEmpty()) { + if (!l.isEmpty()) { return l.get(0).getId(); } @@ -1228,16 +1246,17 @@ private String readRawString(int id) throws IOException { StringBuilder sb = new StringBuilder(); String s; - while((s = reader.readLine()) != null) { + while ((s = reader.readLine()) != null) { sb.append(s).append('\n'); } return sb.toString(); } finally { - if(reader != null) { + if (reader != null) { try { reader.close(); - } catch(IOException ignored) {} + } catch (IOException ignored) { + } } } } @@ -1245,10 +1264,10 @@ private String readRawString(int id) throws IOException { private void onPageFinished() { Log.d(TAG, "onPageFinished() started"); - if(!isResumed) { + if (!isResumed) { onPageFinishedCallPostponedUntilResume = true; - if(ttsFragment != null) { + if (ttsFragment != null) { ttsFragment.onDocumentLoadFinished(webViewContent, scrollView); } return; @@ -1261,10 +1280,9 @@ private void onPageFinished() { @Override public void run() { // "< 50" is workaround for https://github.com/wallabag/android-app/issues/178 - if(webViewContent.getHeight() < 50) { - if(++counter > 1000) { - Log.d(TAG, "onPageFinished() exiting by counter" + - "; calling loadingFinished() anyway"); + if (webViewContent.getHeight() < 50) { + if (++counter > 1000) { + Log.d(TAG, "onPageFinished() exiting by counter" + "; calling loadingFinished() anyway"); loadingFinished(); return; } @@ -1280,7 +1298,8 @@ public void run() { } private void prepareToRestorePosition(boolean savePosition) { - if(savePosition) articleProgress = getReadingPosition(); + if (savePosition) + articleProgress = getReadingPosition(); webViewHeightBeforeUpdate = webViewContent.getHeight(); } @@ -1293,14 +1312,13 @@ private void restorePositionAfterUpdate() { @Override public void run() { - if(webViewContent.getHeight() == webViewHeightBeforeUpdate) { - if(++counter > 1000) { + if (webViewContent.getHeight() == webViewHeightBeforeUpdate) { + if (++counter > 1000) { Log.d(TAG, "restorePositionAfterUpdate() giving up"); return; } - Log.v(TAG, "restorePositionAfterUpdate() scheduling another postDelay" + - "; counter: " + counter); + Log.v(TAG, "restorePositionAfterUpdate() scheduling another postDelay" + "; counter: " + counter); webViewContent.postDelayed(this, 10); } else { Log.d(TAG, "restorePositionAfterUpdate() restoring position"); @@ -1311,15 +1329,16 @@ public void run() { } private void cancelPositionRestoration() { - if(positionRestorationRunnable != null) { + if (positionRestorationRunnable != null) { Log.d(TAG, "cancelPositionRestoration() trying to cancel previous task"); - if(webViewContent != null) webViewContent.removeCallbacks(positionRestorationRunnable); + if (webViewContent != null) + webViewContent.removeCallbacks(positionRestorationRunnable); positionRestorationRunnable = null; } } private void setFontSize(WebView view, int size) { - if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { setFontSizeNew(view, size); } else { setFontSizeOld(view, size); diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/RecyclerViewListFragment.java b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/RecyclerViewListFragment.java index db8c97595..4087d7423 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/RecyclerViewListFragment.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/RecyclerViewListFragment.java @@ -75,6 +75,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, recyclerViewLayoutManager = new LinearLayoutManager(getActivity()); recyclerView.setLayoutManager(recyclerViewLayoutManager); + recyclerView.setHasFixedSize(true); scrollListener = new EndlessRecyclerViewScrollListener(recyclerViewLayoutManager) { @Override diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/Themes.java b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/Themes.java index acb94dc90..4d3e1c5dc 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/Themes.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/Themes.java @@ -50,44 +50,44 @@ public static void checkTheme(Activity activity) { public enum Theme { LIGHT( R.string.themeName_light, - R.style.LightTheme, - R.style.LightTheme_NoActionBar, - R.style.ProxyTheme + R.style.MyTheme_DayNight, + R.style.MyTheme_DayNight, + R.style.MyTheme_DayNight ), LIGHT_CONTRAST( R.string.themeName_light_contrast, - R.style.LightThemeContrast, - R.style.LightThemeContrast_NoActionBar, - R.style.ProxyTheme + R.style.MyTheme_DayNight, + R.style.MyTheme_DayNight, + R.style.MyTheme_DayNight ), E_INK( R.string.themeName_eink, - R.style.LightThemeContrast, - R.style.LightThemeContrast_NoActionBar, - R.style.ProxyTheme + R.style.MyTheme_DayNight, + R.style.MyTheme_DayNight, + R.style.MyTheme_DayNight ), DARK( R.string.themeName_dark, - R.style.DarkTheme, - R.style.DarkTheme_NoActionBar, - R.style.ProxyThemeDark + R.style.MyTheme_DayNight, + R.style.MyTheme_DayNight, + R.style.MyTheme_DayNight ), DARK_CONTRAST( R.string.themeName_dark_contrast, - R.style.DarkThemeContrast, - R.style.DarkThemeContrast_NoActionBar, - R.style.ProxyThemeDark + R.style.MyTheme_DayNight, + R.style.MyTheme_DayNight, + R.style.MyTheme_DayNight ), SOLARIZED( R.string.themeName_solarized, - R.style.SolarizedTheme, - R.style.SolarizedTheme_NoActionBar, - R.style.ProxyTheme + R.style.MyTheme_DayNight, + R.style.MyTheme_DayNight, + R.style.MyTheme_DayNight ); private int nameId; diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/preferences/FloatEditTextPreference.java b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/preferences/FloatEditTextPreference.java index 49a3030c2..cfbe7c84e 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/preferences/FloatEditTextPreference.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/preferences/FloatEditTextPreference.java @@ -3,7 +3,7 @@ import android.annotation.TargetApi; import android.content.Context; import android.os.Build; -import android.preference.EditTextPreference; +import androidx.preference.EditTextPreference; import android.util.AttributeSet; /** diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/preferences/IntEditTextPreference.java b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/preferences/IntEditTextPreference.java index 04582fc98..85843b8c1 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/preferences/IntEditTextPreference.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/preferences/IntEditTextPreference.java @@ -3,7 +3,7 @@ import android.annotation.TargetApi; import android.content.Context; import android.os.Build; -import android.preference.EditTextPreference; +import androidx.preference.EditTextPreference; import android.util.AttributeSet; /** diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/preferences/IntListPreference.java b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/preferences/IntListPreference.java index b93f5668d..b4d6bcc4a 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/preferences/IntListPreference.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/preferences/IntListPreference.java @@ -3,7 +3,7 @@ import android.annotation.TargetApi; import android.content.Context; import android.os.Build; -import android.preference.ListPreference; +import androidx.preference.ListPreference; import android.util.AttributeSet; /** diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/preferences/LongListPreference.java b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/preferences/LongListPreference.java index 38d5f0554..cf89783ce 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/preferences/LongListPreference.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/preferences/LongListPreference.java @@ -3,7 +3,7 @@ import android.annotation.TargetApi; import android.content.Context; import android.os.Build; -import android.preference.ListPreference; +import androidx.preference.ListPreference; import android.util.AttributeSet; /** diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/preferences/SettingsActivity.java b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/preferences/SettingsActivity.java index 7e630741d..7b2bc31ac 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/ui/preferences/SettingsActivity.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/ui/preferences/SettingsActivity.java @@ -5,11 +5,6 @@ import android.app.AlarmManager; import android.content.DialogInterface; import android.content.SharedPreferences; -import android.preference.EditTextPreference; -import android.preference.ListPreference; -import android.preference.Preference; -import android.preference.PreferenceFragment; -import androidx.appcompat.app.AlertDialog; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; @@ -18,8 +13,20 @@ import android.widget.TextView; import android.widget.Toast; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.preference.EditTextPreference; +import androidx.preference.ListPreference; +import androidx.preference.Preference; +import androidx.preference.PreferenceFragmentCompat; + import java.util.ArrayList; import java.util.List; +import java.util.Locale; import fr.gaulupeau.apps.InThePoche.R; import fr.gaulupeau.apps.Poche.App; @@ -27,495 +34,347 @@ import fr.gaulupeau.apps.Poche.data.OperationsHelper; import fr.gaulupeau.apps.Poche.data.Settings; import fr.gaulupeau.apps.Poche.data.StorageHelper; -import fr.gaulupeau.apps.Poche.events.ArticlesChangedEvent; -import fr.gaulupeau.apps.Poche.events.EventHelper; -import fr.gaulupeau.apps.Poche.events.FeedsChangedEvent; import fr.gaulupeau.apps.Poche.network.ClientCredentials; -import fr.gaulupeau.apps.Poche.network.WallabagWebService; import fr.gaulupeau.apps.Poche.network.WallabagServiceWrapper; +import fr.gaulupeau.apps.Poche.network.WallabagWebService; import fr.gaulupeau.apps.Poche.network.tasks.TestApiAccessTask; -import fr.gaulupeau.apps.Poche.service.AlarmHelper; -import fr.gaulupeau.apps.Poche.service.ServiceHelper; -import fr.gaulupeau.apps.Poche.ui.BaseActionBarActivity; import fr.gaulupeau.apps.Poche.ui.Themes; -public class SettingsActivity extends BaseActionBarActivity { +public class SettingsActivity extends AppCompatActivity implements + PreferenceFragmentCompat.OnPreferenceStartFragmentCallback { + + private static final String TITLE_TAG = fr.gaulupeau.apps.Poche.ui.preferences.SettingsActivity.HeaderFragment.class.getSimpleName(); + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - - if(savedInstanceState == null) { - getFragmentManager().beginTransaction() - .replace(android.R.id.content, new SettingsFragment()) + setContentView(R.layout.settings_activity); + if (savedInstanceState == null) { + getSupportFragmentManager() + .beginTransaction() + .replace(R.id.settings, new HeaderFragment()) .commit(); + } else { + setTitle(savedInstanceState.getCharSequence(TITLE_TAG)); + } + getSupportFragmentManager().addOnBackStackChangedListener( + new FragmentManager.OnBackStackChangedListener() { + @Override + public void onBackStackChanged() { + if (getSupportFragmentManager().getBackStackEntryCount() == 0) { + setTitle(R.string.title_activity_settings); + } + } + }); + + Toolbar toolbar = findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + actionBar.setDisplayHomeAsUpEnabled(true); } } - public static class SettingsFragment extends PreferenceFragment + @Override + public void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + // Save current activity title so we can set it again after a configuration change + outState.putCharSequence(TITLE_TAG, getTitle()); + } + + @Override + public boolean onSupportNavigateUp() { + if (getSupportFragmentManager().popBackStackImmediate()) { + return true; + } + return super.onSupportNavigateUp(); + } + + @Override + public boolean onPreferenceStartFragment(PreferenceFragmentCompat caller, Preference pref) { + // Instantiate the new Fragment + final Bundle args = pref.getExtras(); + final Fragment fragment = getSupportFragmentManager().getFragmentFactory().instantiate( + getClassLoader(), + pref.getFragment()); + fragment.setArguments(args); + fragment.setTargetFragment(caller, 0); + // Replace the existing Fragment with the new Fragment + getSupportFragmentManager().beginTransaction() + .replace(R.id.settings, fragment) + .addToBackStack(null) + .commit(); + setTitle(pref.getTitle()); + return true; + } + + public static class HeaderFragment extends PreferenceFragmentCompat { + @Override + public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { + setPreferencesFromResource(R.xml.preferences, rootKey); + + // Connection wizard preference appears in the root screen instead of the Connection + // screen + Preference connectionWizardPreference = findPreference(getString(R.string.pref_key_connection_wizard)); + if (connectionWizardPreference != null) { + connectionWizardPreference.setOnPreferenceClickListener(preference -> { + Activity activity = getActivity(); + if (activity != null) { + ConnectionWizardActivity.runWizard(activity, true); + + activity.finish(); + } + return true; + }); + } + } + } + + public static class ConnectionFragment extends PreferenceFragmentCompat implements Preference.OnPreferenceClickListener, Preference.OnPreferenceChangeListener, SharedPreferences.OnSharedPreferenceChangeListener, ConfigurationTestHelper.ResultHandler, ConfigurationTestHelper.GetCredentialsHandler { - - private static final String TAG = SettingsFragment.class.getSimpleName(); - - private static final int[] SUMMARIES_TO_INITIATE = { - R.string.pref_key_connection_url, - R.string.pref_key_connection_advanced_httpAuthUsername, - R.string.pref_key_connection_advanced_httpAuthPassword, - R.string.pref_key_connection_username, - R.string.pref_key_connection_password, - R.string.pref_key_connection_api_clientID, - R.string.pref_key_connection_api_clientSecret, - R.string.pref_key_ui_theme, - R.string.pref_key_ui_article_fontSize, - R.string.pref_key_ui_screenScrolling_percent, - R.string.pref_key_autoSync_interval, - R.string.pref_key_autoSync_type, - R.string.pref_key_storage_dbPath - }; - private Settings settings; - private boolean autoSyncChanged; - private boolean oldAutoSyncEnabled; - private long oldAutoSyncInterval; - - private boolean autoSyncQueueChanged; - private boolean oldAutoSyncQueueEnabled; - - private boolean checkUserChanged; private String oldUrl; private String oldHttpAuthUsername; private String oldUsername; private String oldApiClientID; - private boolean invalidateConfiguration; - private boolean serviceWrapperReinitializationNeeded; - - private boolean imageCachingChanged; - private boolean oldImageCacheEnabled; - - private boolean readingSpeedChanged; - private int oldReadingSpeed; - - private boolean keepScreenOnChanged; - private boolean oldkeepScreenOn; - - private ConfigurationTestHelper configurationTestHelper; - - public SettingsFragment() {} - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - addPreferencesFromResource(R.xml.preferences); - - settings = new Settings(App.getInstance()); - - setOnClickListener(R.string.pref_key_connection_wizard); - setOnClickListener(R.string.pref_key_connection_autofill); - setOnClickListener(R.string.pref_key_sync_syncTypes_description); - setOnClickListener(R.string.pref_key_ui_disableTouch_keyCode); - setOnClickListener(R.string.pref_key_misc_wipeDB); - - ListPreference themeListPreference = (ListPreference)findPreference( - getString(R.string.pref_key_ui_theme)); - if(themeListPreference != null) { - Themes.Theme[] themes = Themes.Theme.values(); - String[] themeEntries = new String[themes.length]; - String[] themeEntryValues = new String[themes.length]; - for(int i = 0; i < themes.length; i++) { - themeEntries[i] = getString(themes[i].getNameId()); - themeEntryValues[i] = themes[i].toString(); - } + public void onGetCredentialsResult(ClientCredentials clientCredentials) { + setTextPreference(R.string.pref_key_connection_api_clientID, + clientCredentials.clientID); + setTextPreference(R.string.pref_key_connection_api_clientSecret, + clientCredentials.clientSecret); + } - themeListPreference.setEntries(themeEntries); - themeListPreference.setEntryValues(themeEntryValues); - } + @Override + public void onGetCredentialsFail() { + } - ListPreference autoSyncIntervalListPreference = (ListPreference)findPreference( - getString(R.string.pref_key_autoSync_interval)); - if(autoSyncIntervalListPreference != null) { - // may set arbitrary values on Android API 19+ - autoSyncIntervalListPreference.setEntries(new String[] { - getString(R.string.pref_option_autoSync_interval_15m), - getString(R.string.pref_option_autoSync_interval_30m), - getString(R.string.pref_option_autoSync_interval_1h), - getString(R.string.pref_option_autoSync_interval_12h), - getString(R.string.pref_option_autoSync_interval_24h) - }); - autoSyncIntervalListPreference.setEntryValues(new String[] { - String.valueOf(AlarmManager.INTERVAL_FIFTEEN_MINUTES), - String.valueOf(AlarmManager.INTERVAL_HALF_HOUR), - String.valueOf(AlarmManager.INTERVAL_HOUR), - String.valueOf(AlarmManager.INTERVAL_HALF_DAY), - String.valueOf(AlarmManager.INTERVAL_DAY) - }); - } + @Override + public void onConfigurationTestSuccess(String url) { + Log.d(TITLE_TAG, String.format("onConfigurationTestSuccess(%s)", url)); - Preference handleHttpSchemePreference = findPreference( - getString(R.string.pref_key_misc_handleHttpScheme)); - if(handleHttpSchemePreference != null) { - handleHttpSchemePreference.setDefaultValue(settings.isHandlingHttpScheme()); - handleHttpSchemePreference.setOnPreferenceChangeListener(this); + if (url != null) { + setTextPreference(R.string.pref_key_connection_url, url); } - ListPreference dbPathListPreference = (ListPreference)findPreference( - getString(R.string.pref_key_storage_dbPath)); - if(dbPathListPreference != null) { - List entriesList = new ArrayList<>(2); - List entryValuesList = new ArrayList<>(2); - - entriesList.add(getString(R.string.pref_name_storage_dbPath_internalStorage)); - entryValuesList.add(""); - - if(StorageHelper.isExternalStorageWritable()) { - entriesList.add(getString(R.string.pref_name_storage_dbPath_externalStorage)); - entryValuesList.add(StorageHelper.getExternalStoragePath()); - } - - dbPathListPreference.setEntries(entriesList.toArray(new String[0])); - dbPathListPreference.setEntryValues(entryValuesList.toArray(new String[0])); - - dbPathListPreference.setOnPreferenceChangeListener(this); - } + settings.setConfigurationOk(true); + settings.setConfigurationErrorShown(false); - for(int keyID: SUMMARIES_TO_INITIATE) { - updateSummary(keyID); - } + Toast.makeText(getActivity(), R.string.settings_parametersAutofilled, + Toast.LENGTH_SHORT).show(); } @Override - public void onStart() { - super.onStart(); - - Log.d(TAG, "onStart() started"); - - resetChanges(); - - settings.getSharedPreferences().registerOnSharedPreferenceChangeListener(this); + public void onConnectionTestFail(WallabagWebService.ConnectionTestResult result, + String details) { } @Override - public void onStop() { - Log.d(TAG, "onStop() started"); - - settings.getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this); - - if(configurationTestHelper != null) { - configurationTestHelper.cancel(); - configurationTestHelper = null; - } - - applyChanges(); - - super.onStop(); + public void onApiAccessTestFail(TestApiAccessTask.Result result, String details) { } - private void resetChanges() { - Log.d(TAG, "resetChanges() started"); - autoSyncChanged = false; - oldAutoSyncEnabled = settings.isAutoSyncEnabled(); - oldAutoSyncInterval = settings.getAutoSyncInterval(); + @Override + public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { + setPreferencesFromResource(R.xml.connection_preferences, rootKey); - autoSyncQueueChanged = false; - oldAutoSyncQueueEnabled = settings.isAutoSyncQueueEnabled(); + settings = new Settings(App.getInstance()); - checkUserChanged = false; oldUrl = settings.getUrl(); oldHttpAuthUsername = settings.getHttpAuthUsername(); oldUsername = settings.getUsername(); oldApiClientID = settings.getApiClientID(); - imageCachingChanged = false; - oldImageCacheEnabled = settings.isImageCacheEnabled(); - - readingSpeedChanged = false; - oldReadingSpeed = settings.getReadingSpeed(); - - keepScreenOnChanged = false; - oldkeepScreenOn = settings.isKeepScreenOn(); - } - private void applyChanges() { - Log.d(TAG, "applyChanges() started"); - - if(autoSyncChanged) { - autoSyncChanged = false; - Log.d(TAG, "applyChanges() autoSyncChanged is true"); - - boolean newAutoSyncEnabled = settings.isAutoSyncEnabled(); - long newAutoSyncInterval = settings.getAutoSyncInterval(); - if(newAutoSyncEnabled != oldAutoSyncEnabled) { - if(newAutoSyncEnabled) { - AlarmHelper.setAlarm(getActivity(), newAutoSyncInterval, true); - } else { - AlarmHelper.unsetAlarm(getActivity(), true); - } - } else if(newAutoSyncEnabled) { - if(newAutoSyncInterval != oldAutoSyncInterval) { - AlarmHelper.updateAlarmInterval(getActivity(), newAutoSyncInterval); - } - } - } - - if(autoSyncQueueChanged) { - autoSyncQueueChanged = false; - Log.d(TAG, "applyChanges() autoSyncQueueChanged is true"); - - boolean newAutoSyncQueueEnabled = settings.isAutoSyncQueueEnabled(); - if(newAutoSyncQueueEnabled != oldAutoSyncQueueEnabled) { - if(newAutoSyncQueueEnabled) { - if(settings.isOfflineQueuePending()) { - Settings.enableConnectivityChangeReceiver(getActivity(), true); - } - } else { - Settings.enableConnectivityChangeReceiver(getActivity(), false); - } - } - } - - if(checkUserChanged) { - checkUserChanged = false; - - boolean userChanged = false; - if(!TextUtils.equals(settings.getUrl(), oldUrl) - || !TextUtils.equals(settings.getUsername(), oldUsername) - || !TextUtils.equals(settings.getApiClientID(), oldApiClientID)) { - userChanged = true; - } else if(!TextUtils.equals(settings.getHttpAuthUsername(), oldHttpAuthUsername) - && (settings.getUsername() == null || settings.getUsername().isEmpty())) { - userChanged = true; - } - - if(userChanged) { - settings.setApiRefreshToken(""); - settings.setApiAccessToken(""); - - OperationsHelper.wipeDB(settings); - } - } - - if(invalidateConfiguration) { - invalidateConfiguration = false; - - Log.i(TAG, "applyChanges() setting isConfigurationOk(false)"); - settings.setConfigurationOk(false); - } - - if(serviceWrapperReinitializationNeeded) { - serviceWrapperReinitializationNeeded = false; - - Log.i(TAG, "applyChanges() calling WallabagServiceWrapper.resetInstance()"); - WallabagServiceWrapper.resetInstance(); - } - - if(imageCachingChanged) { - imageCachingChanged = false; - - if(!oldImageCacheEnabled && settings.isImageCacheEnabled() - && settings.isFirstSyncDone()) { - Log.i(TAG, "applyChanges() image caching changed, starting image fetching"); - ServiceHelper.fetchImages(App.getInstance()); - } - } - - if(readingSpeedChanged) { - readingSpeedChanged = false; - - if(oldReadingSpeed != settings.getReadingSpeed()) { - Log.i(TAG, "applyChanges() reading speed changed, posting event"); - - ArticlesChangedEvent event = new ArticlesChangedEvent(); - event.invalidateAll(FeedsChangedEvent.ChangeType.ESTIMATED_READING_TIME_CHANGED); - EventHelper.postEvent(event); - } - } - - if(keepScreenOnChanged) { - keepScreenOnChanged = false; - - if(!oldkeepScreenOn) { - Log.i(TAG, "applyChanges() keep screen on changed, keep screen on"); - } + Preference connectionAutofillPreference = findPreference(getString(R.string.pref_key_connection_autofill)); + if (connectionAutofillPreference != null) { + connectionAutofillPreference.setOnPreferenceClickListener(this); } } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { - Log.d(TAG, String.format("onPreferenceChange(key: %s, newValue: %s)", + Log.d(TITLE_TAG, String.format("onPreferenceChange(key: %s, newValue: %s)", preference.getKey(), newValue)); - - int keyID = Settings.getPrefKeyIDByValue(preference.getKey()); - switch(keyID) { - case R.string.pref_key_misc_handleHttpScheme: - settings.setHandleHttpScheme((Boolean)newValue); - break; - - case R.string.pref_key_storage_dbPath: - if(TextUtils.equals(settings.getDbPath(), (String)newValue)) { - Log.d(TAG, "onPreferenceChange() new DbPath is the same"); - } else if(settings.moveDb((String)newValue)) { // TODO: do in a background thread - DbConnection.resetSession(); - - Toast.makeText(getActivity(), R.string.pref_name_storage_dbPath_dbMoved, - Toast.LENGTH_SHORT).show(); - } else { - Log.e(TAG, "onPreferenceChange() couldn't move DB; ignoring preference change"); - return false; - } - break; - } - return true; } @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { - Log.d(TAG, "onSharedPreferenceChanged(" + key + ")"); + Log.d(TITLE_TAG, "onSharedPreferenceChanged(" + key + ")"); boolean themeChanged = false; int keyResID = Settings.getPrefKeyIDByValue(key); - switch(keyResID) { - case R.string.pref_key_ui_theme: - themeChanged = true; - break; - - case R.string.pref_key_autoSync_enabled: - autoSyncChanged = true; - break; - - case R.string.pref_key_autoSync_interval: - autoSyncChanged = true; - break; - - case R.string.pref_key_autoSyncQueue_enabled: - autoSyncQueueChanged = true; - break; + switch (keyResID) { case R.string.pref_key_connection_advanced_customSSLSettings: case R.string.pref_key_connection_url: - Log.d(TAG, "onSharedPreferenceChanged() serviceWrapperReinitializationNeeded"); - serviceWrapperReinitializationNeeded = true; + Log.d(TITLE_TAG, "onSharedPreferenceChanged() serviceWrapperReinitializationNeeded"); + Log.i(TITLE_TAG, "applyChanges() calling WallabagServiceWrapper.resetInstance()"); + WallabagServiceWrapper.resetInstance(); case R.string.pref_key_connection_advanced_httpAuthUsername: case R.string.pref_key_connection_advanced_httpAuthPassword: case R.string.pref_key_connection_username: case R.string.pref_key_connection_password: case R.string.pref_key_connection_api_clientID: case R.string.pref_key_connection_api_clientSecret: - Log.i(TAG, "onSharedPreferenceChanged() invalidateConfiguration"); - invalidateConfiguration = true; - break; - - case R.string.pref_key_imageCache_enabled: - imageCachingChanged = true; - break; - - case R.string.pref_key_ui_readingSpeed: - readingSpeedChanged = true; - break; - - case R.string.pref_key_ui_keepScreenOn: - keepScreenOnChanged = true; + Log.i(TITLE_TAG, "onSharedPreferenceChanged() invalidateConfiguration"); break; } - switch(keyResID) { + switch (keyResID) { case R.string.pref_key_connection_url: case R.string.pref_key_connection_advanced_httpAuthUsername: case R.string.pref_key_connection_username: case R.string.pref_key_connection_api_clientID: - checkUserChanged = true; + boolean userChanged = false; + if(!TextUtils.equals(settings.getUrl(), oldUrl) + || !TextUtils.equals(settings.getUsername(), oldUsername) + || !TextUtils.equals(settings.getApiClientID(), oldApiClientID)) { + userChanged = true; + } else if(!TextUtils.equals(settings.getHttpAuthUsername(), oldHttpAuthUsername) + && (settings.getUsername() == null || settings.getUsername().isEmpty())) { + userChanged = true; + } + + if(userChanged) { + settings.setApiRefreshToken(""); + settings.setApiAccessToken(""); + + OperationsHelper.wipeDB(settings); + } break; } // not optimal :/ updateSummary(keyResID); - - if(themeChanged) { - Log.d(TAG, "onSharedPreferenceChanged() theme changed"); - - Themes.init(); - - Activity activity = getActivity(); - if(activity != null) Themes.checkTheme(activity); - } } @Override public boolean onPreferenceClick(Preference preference) { - switch(Settings.getPrefKeyIDByValue(preference.getKey())) { - case R.string.pref_key_connection_wizard: { - Activity activity = getActivity(); - if(activity != null) { - ConnectionWizardActivity.runWizard(activity, true); - - activity.finish(); - } - - return true; - } + switch (Settings.getPrefKeyIDByValue(preference.getKey())) { case R.string.pref_key_connection_autofill: { - configurationTestHelper = new ConfigurationTestHelper( + ConfigurationTestHelper configurationTestHelper = new ConfigurationTestHelper( getActivity(), this, this, settings, false); configurationTestHelper.test(); return true; } - case R.string.pref_key_sync_syncTypes_description: { - Activity activity = getActivity(); - if(activity != null) { - new AlertDialog.Builder(activity) - .setTitle(R.string.pref_name_sync_syncTypes) - .setMessage(R.string.pref_desc_sync_syncTypes_text) - .setPositiveButton(R.string.ok, null) - .show(); - } - return true; - } - case R.string.pref_key_ui_disableTouch_keyCode: { + } + + return false; + } + + private void setTextPreference(int preferenceID, String value) { + EditTextPreference preference = (EditTextPreference) + findPreference(getString(preferenceID)); + + if (preference != null) { + preference.setText(value); + } + } + + private void updateSummary(int keyResID) { +// String key = getString(keyResID); +// +// switch (keyResID) { +// case R.string.pref_key_connection_url: +// EditTextPreference preference = (EditTextPreference) +// findPreference(key); +// if (preference != null) { +// String value = preference.getText(); +// setSummary(key, (value == null || value.isEmpty()) +// ? getString(R.string.pref_desc_connection_url) : value); +// } +// break; +// +// case R.string.pref_key_connection_username: +// case R.string.pref_key_connection_api_clientID: +// case R.string.pref_key_connection_advanced_httpAuthUsername: +// setEditTextSummaryFromContent(key); +// break; +// case R.string.pref_key_connection_password: +// case R.string.pref_key_connection_api_clientSecret: +// case R.string.pref_key_connection_advanced_httpAuthPassword: +// setPasswordSummary(key); +// break; +// +// } + } + } + + public static class UIFragment extends PreferenceFragmentCompat { + private static final int[] SUMMARIES_TO_INITIATE = { + R.string.pref_key_ui_theme, + R.string.pref_key_ui_article_fontSize, + R.string.pref_key_ui_screenScrolling_percent + }; + + private Settings settings; + + @Override + public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { + setPreferencesFromResource(R.xml.ui_preferences, rootKey); + + settings = new Settings(App.getInstance()); + + Preference uiDisableTouchPreference = findPreference(getString(R.string.pref_key_ui_disableTouch_keyCode)); + if (uiDisableTouchPreference != null) { + uiDisableTouchPreference.setOnPreferenceClickListener(preference -> { showDisableTouchSetKeyCodeDialog(); return true; - } - case R.string.pref_key_misc_wipeDB: { + }); + } + + Preference uiThemePreference = findPreference(getString(R.string.pref_key_ui_theme)); + if (uiThemePreference != null) { + uiThemePreference.setOnPreferenceChangeListener((preference, result) -> { + Log.d(TITLE_TAG, "onSharedPreferenceChanged() theme changed"); + + Themes.init(); + Activity activity = getActivity(); - if(activity != null) { - new AlertDialog.Builder(activity) - .setTitle(R.string.pref_name_misc_wipeDB_confirmTitle) - .setMessage(R.string.pref_name_misc_wipeDB_confirmMessage) - .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialogInterface, int i) { - OperationsHelper.wipeDB(App.getInstance().getSettings()); - } - }) - .setNegativeButton(R.string.negative_answer, null) - .show(); - } + if (activity != null) Themes.checkTheme(activity); return true; - } + }); } - return false; + ListPreference themeListPreference = (ListPreference) findPreference( + getString(R.string.pref_key_ui_theme)); + if (themeListPreference != null) { + Themes.Theme[] themes = Themes.Theme.values(); + String[] themeEntries = new String[themes.length]; + String[] themeEntryValues = new String[themes.length]; + for (int i = 0; i < themes.length; i++) { + themeEntries[i] = getString(themes[i].getNameId()); + themeEntryValues[i] = themes[i].toString(); + } + + themeListPreference.setEntries(themeEntries); + themeListPreference.setEntryValues(themeEntryValues); + } } + private void showDisableTouchSetKeyCodeDialog() { Activity activity = getActivity(); - if(activity != null) { + if (activity != null) { AlertDialog.Builder builder = new AlertDialog.Builder(activity); builder.setTitle(R.string.d_disableTouch_changeKey_title); - @SuppressLint("InflateParams") - final View view = activity.getLayoutInflater().inflate(R.layout.dialog_set_key, null); - final TextView keyCodeTextView = (TextView)view.findViewById(R.id.tv_keyCode); + @SuppressLint("InflateParams") final View view = activity.getLayoutInflater().inflate(R.layout.dialog_set_key, null); + final TextView keyCodeTextView = view.findViewById(R.id.tv_keyCode); - setIntToTextView(keyCodeTextView, settings.getDisableTouchKeyCode()); + // Just a Int so US locale works + keyCodeTextView.setText(String.format(Locale.US, "%d", settings.getDisableTouchKeyCode())); builder.setView(view); @@ -524,7 +383,7 @@ private void showDisableTouchSetKeyCodeDialog() { public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { if (event.getAction() != KeyEvent.ACTION_DOWN) return false; - setIntToTextView(keyCodeTextView, keyCode); + keyCodeTextView.setText(String.format(Locale.US, "%d", keyCode)); return false; } @@ -536,7 +395,8 @@ public void onClick(DialogInterface dialog, int which) { try { settings.setDisableTouchKeyCode(Integer.parseInt( keyCodeTextView.getText().toString())); - } catch(NumberFormatException ignored) {} + } catch (NumberFormatException ignored) { + } } }); builder.setNegativeButton(android.R.string.cancel, null); @@ -545,142 +405,137 @@ public void onClick(DialogInterface dialog, int which) { builder.show(); } } + } - @SuppressLint("SetTextI18n") - private void setIntToTextView(TextView textView, int value) { - textView.setText(Integer.toString(value)); - } - - @Override - public void onGetCredentialsResult(ClientCredentials clientCredentials) { - setTextPreference(R.string.pref_key_connection_api_clientID, - clientCredentials.clientID); - setTextPreference(R.string.pref_key_connection_api_clientSecret, - clientCredentials.clientSecret); - } + public static class SyncFragment extends PreferenceFragmentCompat { + private static final int[] SUMMARIES_TO_INITIATE = { + R.string.pref_key_autoSync_interval, + R.string.pref_key_autoSync_type + }; @Override - public void onGetCredentialsFail() {} + public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { + setPreferencesFromResource(R.xml.sync_preferences, rootKey); - @Override - public void onConfigurationTestSuccess(String url) { - Log.d(TAG, String.format("onConfigurationTestSuccess(%s)", url)); + // Show sync types description dialog + Preference sync_type_preference = findPreference(getString(R.string.pref_key_sync_syncTypes_description)); + if (sync_type_preference != null) { + sync_type_preference.setOnPreferenceClickListener(preference -> { + Activity activity = getActivity(); + if (activity != null) { + new AlertDialog.Builder(activity) + .setTitle(R.string.pref_name_sync_syncTypes) + .setMessage(R.string.pref_desc_sync_syncTypes_text) + .setPositiveButton(R.string.ok, null) + .show(); + } + return true; + }); + } - if(url != null) { - setTextPreference(R.string.pref_key_connection_url, url); + // Set sync interval + ListPreference autoSyncIntervalListPreference = (ListPreference) findPreference( + getString(R.string.pref_key_autoSync_interval)); + if (autoSyncIntervalListPreference != null) { + // may set arbitrary values on Android API 19+ + autoSyncIntervalListPreference.setEntries(new String[]{ + getString(R.string.pref_option_autoSync_interval_15m), + getString(R.string.pref_option_autoSync_interval_30m), + getString(R.string.pref_option_autoSync_interval_1h), + getString(R.string.pref_option_autoSync_interval_12h), + getString(R.string.pref_option_autoSync_interval_24h) + }); + autoSyncIntervalListPreference.setEntryValues(new String[]{ + String.valueOf(AlarmManager.INTERVAL_FIFTEEN_MINUTES), + String.valueOf(AlarmManager.INTERVAL_HALF_HOUR), + String.valueOf(AlarmManager.INTERVAL_HOUR), + String.valueOf(AlarmManager.INTERVAL_HALF_DAY), + String.valueOf(AlarmManager.INTERVAL_DAY) + }); } + } - settings.setConfigurationOk(true); - settings.setConfigurationErrorShown(false); - invalidateConfiguration = false; + } - Toast.makeText(getActivity(), R.string.settings_parametersAutofilled, - Toast.LENGTH_SHORT).show(); - } + public static class MiscellaneousFragment extends PreferenceFragmentCompat { + private static final int[] SUMMARIES_TO_INITIATE = { + R.string.pref_key_storage_dbPath + }; + private Settings settings; @Override - public void onConnectionTestFail(WallabagWebService.ConnectionTestResult result, - String details) {} + public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { + setPreferencesFromResource(R.xml.miscellaneous_preferences, rootKey); - @Override - public void onApiAccessTestFail(TestApiAccessTask.Result result, String details) {} + settings = new Settings(App.getInstance()); - private void setOnClickListener(int keyResID) { - Preference preference = findPreference(getString(keyResID)); - if(preference != null) { - preference.setOnPreferenceClickListener(this); + Preference wipe_db_preference = findPreference(getString(R.string.pref_key_misc_wipeDB)); + if (wipe_db_preference != null) { + wipe_db_preference.setOnPreferenceClickListener(preference -> { + Activity activity = getActivity(); + if (activity != null) { + new AlertDialog.Builder(activity) + .setTitle(R.string.pref_name_misc_wipeDB_confirmTitle) + .setMessage(R.string.pref_name_misc_wipeDB_confirmMessage) + .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialogInterface, int i) { + OperationsHelper.wipeDB(App.getInstance().getSettings()); + } + }) + .setNegativeButton(R.string.negative_answer, null) + .show(); + } + return true; + }); } - } - private void setTextPreference(int preferenceID, String value) { - EditTextPreference preference = (EditTextPreference) - findPreference(getString(preferenceID)); - if(preference != null) { - preference.setText(value); + Preference handleHttpSchemePreference = findPreference( + getString(R.string.pref_key_misc_handleHttpScheme)); + if (handleHttpSchemePreference != null) { + handleHttpSchemePreference.setDefaultValue(settings.isHandlingHttpScheme()); + handleHttpSchemePreference.setOnPreferenceChangeListener((preference, newValue) -> { + settings.setHandleHttpScheme((Boolean) newValue); + return true; + }); } - } - private void updateSummary(int keyResID) { - String key = getString(keyResID); + ListPreference dbPathListPreference = (ListPreference) findPreference( + getString(R.string.pref_key_storage_dbPath)); + if (dbPathListPreference != null) { + List entriesList = new ArrayList<>(2); + List entryValuesList = new ArrayList<>(2); - switch(keyResID) { - case R.string.pref_key_connection_url: - EditTextPreference preference = (EditTextPreference) - findPreference(key); - if(preference != null) { - String value = preference.getText(); - setSummary(key, (value == null || value.isEmpty()) - ? getString(R.string.pref_desc_connection_url) : value); - } - break; + entriesList.add(getString(R.string.pref_name_storage_dbPath_internalStorage)); + entryValuesList.add(""); - case R.string.pref_key_connection_username: - case R.string.pref_key_connection_api_clientID: - case R.string.pref_key_connection_advanced_httpAuthUsername: - case R.string.pref_key_ui_article_fontSize: - case R.string.pref_key_ui_screenScrolling_percent: - setEditTextSummaryFromContent(key); - break; + if (StorageHelper.isExternalStorageWritable()) { + entriesList.add(getString(R.string.pref_name_storage_dbPath_externalStorage)); + entryValuesList.add(StorageHelper.getExternalStoragePath()); + } - case R.string.pref_key_ui_theme: - case R.string.pref_key_autoSync_interval: - case R.string.pref_key_autoSync_type: - setListSummaryFromContent(key); - break; + dbPathListPreference.setEntries(entriesList.toArray(new String[0])); + dbPathListPreference.setEntryValues(entryValuesList.toArray(new String[0])); - case R.string.pref_key_connection_password: - case R.string.pref_key_connection_api_clientSecret: - case R.string.pref_key_connection_advanced_httpAuthPassword: - setPasswordSummary(key); - break; + dbPathListPreference.setOnPreferenceChangeListener((preference, newValue) -> { + if (TextUtils.equals(settings.getDbPath(), (String) newValue)) { + Log.d(TITLE_TAG, "onPreferenceChange() new DbPath is the same"); + } else if (settings.moveDb((String) newValue)) { // TODO: do in a background thread + DbConnection.resetSession(); - case R.string.pref_key_storage_dbPath: - ListPreference dbPathListPreference = (ListPreference)findPreference( - getString(R.string.pref_key_storage_dbPath)); - if(dbPathListPreference != null) { - CharSequence value = dbPathListPreference.getEntry(); - if(TextUtils.isEmpty(value)) { - dbPathListPreference.setSummary(R.string.pref_name_storage_dbPath_internalStorage); - } else if(value.equals(StorageHelper.getExternalStoragePath())) { - dbPathListPreference.setSummary(R.string.pref_name_storage_dbPath_externalStorage); - } else { - dbPathListPreference.setSummary(value); - } + Toast.makeText(getActivity(), R.string.pref_name_storage_dbPath_dbMoved, + Toast.LENGTH_SHORT).show(); + } else { + Log.e(TITLE_TAG, "onPreferenceChange() couldn't move DB; ignoring preference change"); + return false; } - break; - } - } - - private void setSummary(String key, String text) { - Preference preference = findPreference(key); - if(preference != null) { - preference.setSummary(text); - } - } - - private void setEditTextSummaryFromContent(String key) { - EditTextPreference preference = (EditTextPreference)findPreference(key); - if(preference != null) { - preference.setSummary(preference.getText()); - } - } - - private void setListSummaryFromContent(String key) { - ListPreference preference = (ListPreference)findPreference(key); - if(preference != null) { - preference.setSummary(preference.getEntry()); + return true; + }); } } - private void setPasswordSummary(String key) { - EditTextPreference preference = (EditTextPreference)findPreference(key); - if(preference != null) { - String value = preference.getText(); - preference.setSummary(value == null || value.isEmpty() ? "" : "********"); - } - } } diff --git a/app/src/main/res/anim/bottom_sheet_slide_in.xml b/app/src/main/res/anim/bottom_sheet_slide_in.xml new file mode 100644 index 000000000..75b489191 --- /dev/null +++ b/app/src/main/res/anim/bottom_sheet_slide_in.xml @@ -0,0 +1,30 @@ + + + + + + + + + + diff --git a/app/src/main/res/anim/bottom_sheet_slide_out.xml b/app/src/main/res/anim/bottom_sheet_slide_out.xml new file mode 100644 index 000000000..465f9730e --- /dev/null +++ b/app/src/main/res/anim/bottom_sheet_slide_out.xml @@ -0,0 +1,30 @@ + + + + + + + + + + diff --git a/app/src/main/res/drawable-hdpi/ic_action_next_item.png b/app/src/main/res/drawable-hdpi/ic_action_next_item.png deleted file mode 100644 index fc998a5112d0294dc55447aaf1a5b43f9941f7e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 404 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 YH3w=k@<@LU0Re}BuCY#$_N}}B0osPLRR910 diff --git a/app/src/main/res/drawable-mdpi/welcome_white.png b/app/src/main/res/drawable-mdpi/welcome_white.png deleted file mode 100755 index 1919b2a8ceed5e0a00b195e85b01f32e783ce4d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6272 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 AF#rGn diff --git a/app/src/main/res/drawable-xhdpi/ic_action_refresh.png b/app/src/main/res/drawable-xhdpi/ic_action_refresh.png deleted file mode 100644 index ab4ab9da697b8c68c0c7ba498dc3bb3dc3da9c2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 895 zcmV-_1AzRAP)CckPh%V0R3M2y&0fcAOnyAGC(sxGXNQY0rI3fagVyT<9`H*tvelU4-CJbC0VlE z2Nt+IL;@lKk$^}*Bp?znO}ShyPr=R{fM0=r1!(~QJcrAhkFk;)esl(xN6J>A;2~0ia@Ib@6GAwB|VR1RG@nRSrhnA zj=0q28)rQNFIpg;WKR~v1AYN=j-#;v0FN{N*L7wDA|n&6W_SW<);~ICJPAoWfk)rm zX!tp!Acr$nQ_yS3T5ybvt_y?Lr-Kq82~4~o$Xy%EB=;P+6=O-RbWIk65kO|I0^b7P z0q{mUGXIbGqjv!ncr@=<#f+2FLTJs0&G z3HWij0IkoW=!})yA%q>FN6FuJQ{7lGB|zx=Q=NTZ1WXpZ5dob@{mcJ@AV87z)l(+G zxf*m`hdq|#Dd(a`ot>hD-G>x{__Wn=&)_>lCKhleR?j2!`>b~YsI=XVbRy@H31fHf z0*Xqo4uSwC--SMfLcmG{UbixxdV4&RBxu^%>C`PiwryVBJpr^cwUkt++SzI1=|erm@*+zKXNh0OrE?o zV)}{!ZLjZ{Iri^6;~Aec(Gf4_1i3T2KLQgSXkIe?6CeD_(H@j+`Y@?J2#_9J?6lTZ zfvydZ$G$-KQJGap0-oTWT2<*Q2-XywDi)&L>PTCZ9wh$HP$VD{5DAC`ge?CA7yzOq VDq)Usy-@%F002ovPDHLkV1gKjk--1} diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_refresh.png b/app/src/main/res/drawable-xxhdpi/ic_action_refresh.png deleted file mode 100644 index 44ee117ee91541ed71f27685dde0b03b51b89f7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1239 zcmV;|1StE7P) z5dr`J0000000000003wMK0iOlU?Cj&OWC$yA{_Z2)WC*+^3#HR9|H6uA>~fK3{<1{ zx9TJMcVE5FWjmGLALzB$>t!`#{^HAzC-VQuuTB6-#z?*lWgC?UZweA&FWb8$^H76) z!mN&nQ463fJ(caDWZAAk*8D0--5QX89Reugr;2!Apm6o7yyK}t@QoB;(@6m&@zm+L zXX5LERe&ULj9)N@8dqSwza)^=FVx@~0|uQDK$1_LS#ozOCiFa$|7_vXxk@E}=lGX$ zb9tSisuhN+*`}~Zd988O0$7lrt4w7tNjO<#STx9wn~EW?eIKm=4av_`_K`WdhrYUp zLE8jKT1Gxu{Fb+Mkv?Z6e-TR| zcH_A714GMutBO%J^{XIKHqUZ+Pi82)Wa2B=Cc9ad>)`Hx-zc06bN9JrtLsAQx;^H{e0&r zy5Iq3)}MiVUIBD7p2&PcdjM$mQwLna5j08F}_ENY*|b4D(*pbw1z z_Z=a7T`}HKqA_b@2$k5EUi_T?zSj zn$Hix1h^9DLeL2U@IqJZH;w{5aBE-d2#eWXcz~Y#k!}FCneBxDdguhOnrwss)z(i1 zm~Nrj9s=+oHTVuZfYJJO0_<#`_CbKlpoM0-IUwuvgph`ww|<&_elf^?tanc)9y;^2 zh#6E^R$o+ahWO`r8jf|QD)cN3zUpM5nU7tPZ^Hd_E>)g0ru_v=gUrX--eDhOfa}S+ z6C?SlFx%g-balESWzp8qF%rjSyd#J{w&Cwng{~| z2mtZ}3D5`m;YApM1poj50000000000fS~v#zyO={=$CR|bEp6S002ovPDHLkV1lVS BMRNcE diff --git a/app/src/main/res/drawable/ic_account_circle_24dp.xml b/app/src/main/res/drawable/ic_account_circle_24dp.xml new file mode 100644 index 000000000..3e6344ab0 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_circle_24dp.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_add_black_24dp.xml b/app/src/main/res/drawable/ic_add_24dp.xml similarity index 78% rename from app/src/main/res/drawable/ic_add_black_24dp.xml rename to app/src/main/res/drawable/ic_add_24dp.xml index 0258249cc..c443e922b 100644 --- a/app/src/main/res/drawable/ic_add_black_24dp.xml +++ b/app/src/main/res/drawable/ic_add_24dp.xml @@ -2,7 +2,8 @@ android:width="24dp" android:height="24dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?colorOnSurface"> diff --git a/app/src/main/res/drawable/ic_before_24dp.xml b/app/src/main/res/drawable/ic_before_24dp.xml new file mode 100644 index 000000000..e794c28de --- /dev/null +++ b/app/src/main/res/drawable/ic_before_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_cloud_24dp.xml b/app/src/main/res/drawable/ic_cloud_24dp.xml new file mode 100644 index 000000000..c11445a0b --- /dev/null +++ b/app/src/main/res/drawable/ic_cloud_24dp.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_delete_black_24dp.xml b/app/src/main/res/drawable/ic_delete_24dp.xml similarity index 81% rename from app/src/main/res/drawable/ic_delete_black_24dp.xml rename to app/src/main/res/drawable/ic_delete_24dp.xml index 39e64d698..192880452 100644 --- a/app/src/main/res/drawable/ic_delete_black_24dp.xml +++ b/app/src/main/res/drawable/ic_delete_24dp.xml @@ -2,7 +2,8 @@ android:width="24dp" android:height="24dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?colorOnSurface"> diff --git a/app/src/main/res/drawable/ic_done_24dp.xml b/app/src/main/res/drawable/ic_done_24dp.xml new file mode 100644 index 000000000..c108a0bd7 --- /dev/null +++ b/app/src/main/res/drawable/ic_done_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_done_black_24dp.xml b/app/src/main/res/drawable/ic_done_black_24dp.xml deleted file mode 100644 index 83ee7bb4e..000000000 --- a/app/src/main/res/drawable/ic_done_black_24dp.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_done_solarized_24dp.xml b/app/src/main/res/drawable/ic_done_solarized_24dp.xml deleted file mode 100644 index 7196f0d21..000000000 --- a/app/src/main/res/drawable/ic_done_solarized_24dp.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_done_white_24dp.xml b/app/src/main/res/drawable/ic_done_white_24dp.xml deleted file mode 100644 index 6541ee3e3..000000000 --- a/app/src/main/res/drawable/ic_done_white_24dp.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_fast_forward_24dp.xml b/app/src/main/res/drawable/ic_fast_forward_24dp.xml index fd9249f61..f80224d03 100644 --- a/app/src/main/res/drawable/ic_fast_forward_24dp.xml +++ b/app/src/main/res/drawable/ic_fast_forward_24dp.xml @@ -1,8 +1,9 @@ + android:width="24dp" + android:height="24dp" + android:tint="?colorOnSurface" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_fast_rewind_24dp.xml b/app/src/main/res/drawable/ic_fast_rewind_24dp.xml index 6d7685e7a..15c5d39c3 100644 --- a/app/src/main/res/drawable/ic_fast_rewind_24dp.xml +++ b/app/src/main/res/drawable/ic_fast_rewind_24dp.xml @@ -2,7 +2,8 @@ android:width="24dp" android:height="24dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?colorOnSurface"> diff --git a/app/src/main/res/drawable/ic_favorite_24dp.xml b/app/src/main/res/drawable/ic_favorite_24dp.xml new file mode 100644 index 000000000..8b28112a4 --- /dev/null +++ b/app/src/main/res/drawable/ic_favorite_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_favorite_outline_24dp.xml b/app/src/main/res/drawable/ic_favorite_outline_24dp.xml new file mode 100644 index 000000000..024b2911b --- /dev/null +++ b/app/src/main/res/drawable/ic_favorite_outline_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_file_download_24dp.xml b/app/src/main/res/drawable/ic_file_download_24dp.xml index e43b8645a..6fd93116b 100644 --- a/app/src/main/res/drawable/ic_file_download_24dp.xml +++ b/app/src/main/res/drawable/ic_file_download_24dp.xml @@ -2,7 +2,8 @@ android:width="24dp" android:height="24dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?colorOnSurface"> diff --git a/app/src/main/res/drawable/ic_info_outline_black_24dp.xml b/app/src/main/res/drawable/ic_info_outline_24dp.xml similarity index 67% rename from app/src/main/res/drawable/ic_info_outline_black_24dp.xml rename to app/src/main/res/drawable/ic_info_outline_24dp.xml index cf53e145c..3f66d8d8b 100644 --- a/app/src/main/res/drawable/ic_info_outline_black_24dp.xml +++ b/app/src/main/res/drawable/ic_info_outline_24dp.xml @@ -1,8 +1,9 @@ + android:width="24dp" + android:height="24dp" + android:tint="?colorOnSurface" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> diff --git a/app/src/main/res/drawable/ic_list_black_24dp.xml b/app/src/main/res/drawable/ic_list_24dp.xml similarity index 82% rename from app/src/main/res/drawable/ic_list_black_24dp.xml rename to app/src/main/res/drawable/ic_list_24dp.xml index 4c2fb8834..6e32ba49d 100644 --- a/app/src/main/res/drawable/ic_list_black_24dp.xml +++ b/app/src/main/res/drawable/ic_list_24dp.xml @@ -2,7 +2,8 @@ android:width="24dp" android:height="24dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?colorOnSurface"> diff --git a/app/src/main/res/drawable/ic_mark_unread_24dp.xml b/app/src/main/res/drawable/ic_mark_unread_24dp.xml new file mode 100644 index 000000000..daf9f20ca --- /dev/null +++ b/app/src/main/res/drawable/ic_mark_unread_24dp.xml @@ -0,0 +1,6 @@ + + + diff --git a/app/src/main/res/drawable/ic_menu_24dp.xml b/app/src/main/res/drawable/ic_menu_24dp.xml index 84b1d3b4f..098986543 100644 --- a/app/src/main/res/drawable/ic_menu_24dp.xml +++ b/app/src/main/res/drawable/ic_menu_24dp.xml @@ -2,7 +2,8 @@ android:width="24dp" android:height="24dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?colorOnSurface"> diff --git a/app/src/main/res/drawable/ic_messages_24dp.xml b/app/src/main/res/drawable/ic_messages_24dp.xml new file mode 100644 index 000000000..d75652b6f --- /dev/null +++ b/app/src/main/res/drawable/ic_messages_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_more_horiz_24dp.xml b/app/src/main/res/drawable/ic_more_horiz_24dp.xml index 2acd55b29..dab5b236e 100644 --- a/app/src/main/res/drawable/ic_more_horiz_24dp.xml +++ b/app/src/main/res/drawable/ic_more_horiz_24dp.xml @@ -2,7 +2,8 @@ android:width="24dp" android:height="24dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?colorOnSurface"> diff --git a/app/src/main/res/drawable/ic_musical_notes_24dp.xml b/app/src/main/res/drawable/ic_musical_notes_24dp.xml index 8b3bd637d..d3dc6cabc 100644 --- a/app/src/main/res/drawable/ic_musical_notes_24dp.xml +++ b/app/src/main/res/drawable/ic_musical_notes_24dp.xml @@ -2,7 +2,8 @@ android:width="24dp" android:height="24dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?colorOnSurface"> diff --git a/app/src/main/res/drawable/ic_next_24dp.xml b/app/src/main/res/drawable/ic_next_24dp.xml new file mode 100644 index 000000000..64ea74687 --- /dev/null +++ b/app/src/main/res/drawable/ic_next_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_play_arrow_24dp.xml b/app/src/main/res/drawable/ic_play_arrow_24dp.xml index bf9b895ac..805761b0e 100644 --- a/app/src/main/res/drawable/ic_play_arrow_24dp.xml +++ b/app/src/main/res/drawable/ic_play_arrow_24dp.xml @@ -2,7 +2,8 @@ android:width="24dp" android:height="24dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?colorOnSurface"> diff --git a/app/src/main/res/drawable/ic_redo_24dp.xml b/app/src/main/res/drawable/ic_redo_24dp.xml index 424e788f5..e6b5bcf19 100644 --- a/app/src/main/res/drawable/ic_redo_24dp.xml +++ b/app/src/main/res/drawable/ic_redo_24dp.xml @@ -2,7 +2,8 @@ android:width="24dp" android:height="24dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?colorOnSurface"> diff --git a/app/src/main/res/drawable/ic_refresh_24dp.xml b/app/src/main/res/drawable/ic_refresh_24dp.xml new file mode 100644 index 000000000..32550e832 --- /dev/null +++ b/app/src/main/res/drawable/ic_refresh_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_running_24dp.xml b/app/src/main/res/drawable/ic_running_24dp.xml index e88d5160f..3e5c2df0e 100644 --- a/app/src/main/res/drawable/ic_running_24dp.xml +++ b/app/src/main/res/drawable/ic_running_24dp.xml @@ -2,7 +2,8 @@ android:width="24dp" android:height="24dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?colorOnSurface"> |%~#Arw^!$n#t=bl1DJXb_?hS8X8KIxp4L_oA5 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μMCEycw`Q?NYa!Z@||Wkrq+h+}Nj; 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/librefranklin_400.ttf b/app/src/main/res/font/librefranklin_400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0bc602450686701312454f67bccae6a4166c1e36 GIT binary patch literal 75176 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/librefranklin_400_italic.ttf b/app/src/main/res/font/librefranklin_400_italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f2041d27e6dc4d445b6c4562abce11b6dd7afc5d GIT binary patch literal 78080 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

*(lqk%SW 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/librefranklin_500.ttf b/app/src/main/res/font/librefranklin_500.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4fe2cdbf50a49c2ce12879a1719b617f9541744d GIT binary patch literal 77140 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

8Qf+PmVQ(uMw%vUPkQF@h;Nj%y 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/librefranklin_700.ttf b/app/src/main/res/font/librefranklin_700.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4ed839d044416eb4832f99f4e73b502504920754 GIT binary patch literal 77728 zcmc${34B~veJ_5`x%<7dOQU_CMf*B48cCL|ktNHvB=4)@*s`%5XOFWdw&Re6CV^0v zum)&e`$7xkK|@QRls0TFg|tARKv_ylU;Yhk;T0!<9fCFbe}CuP8I5Emp|5?PLO!x| z?z#7#^E;!EAc?o~Vue|P-JO0;=Jx}BMCvf}ZwKp6+@~r`X zucG|@erzay-H|&^s<#LB;_o5MZ@T`-b;lo_fBY!c^B~q&e)5K!Z(;9y=MxI!@5g$+ ze)6W{C!bvVnHEL4ct7U9M^Tlj#RGi3x=jfxQKeRKK2=j$9@Z7LuT!arhRcmub4xN4 zP7kJ@KF4N%*J7FZ$JojIwT_?d&%aIG<~kSGh5SCh`WLQm z)VcU!b;HGn9d*aWzfcseG~>r}{CTBO=}|Jdfi9*gj4{rq4gAKL#;?G_!ZW(c8H=#l z<|b^br@067>(kjm)2!?q$fUDngM+EmKt*L)MHFj{wY0V-llaFp@dv{M{4M^9mZzHe zuQb2Q~#n|GaT)p}iN(&&TFq8e9S1R99tdDc{rC&eBG)uzEGTT zo{z3NW9cmyc~;Kguk@C4ynodhOV4J;W4WH>h)cwxHa9g!E9&bj7JjrG9tJ4=Ho|i3f|Zu~ceo%h+scU25%c7Q{UmvqAhG zK$4{dPq+e(kQFGC6`TP`WL5w&CRl_baYR67C0IUg8IM@D+N<;^Ef8o8^78tYGN1aB{CgT3qtS+j=mxe$)ikz^yYGr>rej!=PuQkm@}~k?O-n3o zbq3uaxB7eojm@>XA0SHCN27Fq{lY($z^KSA{;Wu0FY}pF8kGD}i-5w?%DD2unI{9= z_vZpxz^xD52cR<5=~^*hEe*`cY3+)x7`AR4cbN@dWwYZJ(=_#T(^L+6u&&MZ zDwd{e*2zn50qL%G$6T%|lTnn+cxG&52x}WirBazxI_(1$$3enUZe-F0o=ix~AVdbD zW;sL(W`KR;C$8fsWJ){}CXTJ*tWqg0;@J71&vw7-)3%wxTYNgZ*)HP~K^Dz_B@+Bv zDEMqZGuf7fUvby9->BK|dVO%-avb+fE?BnT#z~ZiFN=oW77iT__ iPllLMUbd*1 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