From 99e94d5f96579c57fa3bfc7cdcfb39665e61ef9b Mon Sep 17 00:00:00 2001 From: proletarius101 Date: Sun, 24 Jan 2021 22:40:36 +0800 Subject: [PATCH 01/34] Base the theme onto material theming --- app/src/main/res/values-night/themes.xml | 50 ++++++ app/src/main/res/values/styles.xml | 192 ----------------------- app/src/main/res/values/themes.xml | 157 ++++++++++++++++++ 3 files changed, 207 insertions(+), 192 deletions(-) create mode 100644 app/src/main/res/values-night/themes.xml create mode 100644 app/src/main/res/values/themes.xml diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml new file mode 100644 index 000000000..cff18de9b --- /dev/null +++ b/app/src/main/res/values-night/themes.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 4d155b2eb..d781ec5f1 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,196 +1,4 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml new file mode 100644 index 000000000..f78515e14 --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 7ef2e3607cc16c9f94a92e0af78d3c5038a4f245 Mon Sep 17 00:00:00 2001 From: proletarius101 Date: Sun, 24 Jan 2021 22:49:55 +0800 Subject: [PATCH 02/34] Rebase onto material dark theming scheme and fit its namespaces --- app/src/main/AndroidManifest.xml | 4 +-- .../fr/gaulupeau/apps/Poche/ui/Themes.java | 24 ++++++++-------- app/src/main/res/values-night/themes.xml | 12 ++++---- app/src/main/res/values/themes.xml | 28 +++++++++---------- 4 files changed, 34 insertions(+), 34 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1cf7969ae..48aa36d0e 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -22,7 +22,7 @@ android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" - android:theme="@style/LightTheme" + android:theme="@style/Theme.App" android:networkSecurityConfig="@xml/network_security_config"> + android:theme="@style/Theme.App.NoActionBar"> 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 1bc3ec14b..24b7984a0 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,43 +50,43 @@ public static void checkTheme(Activity activity) { public enum Theme { LIGHT( R.string.themeName_light, - R.style.LightTheme, - R.style.LightTheme_NoActionBar, + R.style.Theme_App, + R.style.Theme_App_NoActionBar, R.style.DialogTheme ), LIGHT_CONTRAST( R.string.themeName_light_contrast, - R.style.LightThemeContrast, - R.style.LightThemeContrast_NoActionBar, + R.style.Theme_App_Contrast, + R.style.Theme_App_Contrast_NoActionBar, R.style.DialogTheme ), E_INK( R.string.themeName_eink, - R.style.LightThemeContrast, - R.style.LightThemeContrast_NoActionBar, + R.style.Theme_App_Contrast, + R.style.Theme_App_Contrast_NoActionBar, R.style.DialogTheme ), DARK( R.string.themeName_dark, - R.style.DarkTheme, - R.style.DarkTheme_NoActionBar, + R.style.Theme_App, + R.style.Theme_App_NoActionBar, R.style.DialogThemeDark ), DARK_CONTRAST( R.string.themeName_dark_contrast, - R.style.DarkThemeContrast, - R.style.DarkThemeContrast_NoActionBar, + R.style.Theme_App_Contrast, + R.style.Theme_App_Contrast_NoActionBar, R.style.DialogThemeDark ), SOLARIZED( R.string.themeName_solarized, - R.style.SolarizedTheme, - R.style.SolarizedTheme_NoActionBar, + R.style.Theme_App_Solarized, + R.style.Theme_App_Solarized_NoActionBar, R.style.DialogTheme ); diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index cff18de9b..72012c731 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -1,7 +1,7 @@ - - - - - - - - - - From b6c908688037410314b9505da2c8d4e34ae2ecff Mon Sep 17 00:00:00 2001 From: proletarius101 Date: Mon, 25 Jan 2021 14:07:24 +0800 Subject: [PATCH 03/34] Fix inconsistencies in Theme.App --- app/src/main/AndroidManifest.xml | 2 +- .../gaulupeau/apps/Poche/ui/MainActivity.java | 574 +++++++++--------- .../main/res/drawable/ic_add_black_24dp.xml | 11 +- .../res/drawable/ic_delete_black_24dp.xml | 11 +- .../main/res/drawable/ic_done_black_24dp.xml | 5 +- .../res/drawable/ic_done_solarized_24dp.xml | 11 +- .../main/res/drawable/ic_done_white_24dp.xml | 11 +- .../res/drawable/ic_fast_forward_24dp.xml | 11 +- .../ic_fast_forward_solarized_24dp.xml | 11 +- .../drawable/ic_fast_forward_white_24dp.xml | 11 +- .../main/res/drawable/ic_fast_rewind_24dp.xml | 11 +- .../ic_fast_rewind_solarized_24dp.xml | 11 +- .../drawable/ic_fast_rewind_white_24dp.xml | 11 +- .../res/drawable/ic_file_download_24dp.xml | 11 +- .../drawable/ic_info_outline_black_24dp.xml | 11 +- .../main/res/drawable/ic_list_black_24dp.xml | 11 +- app/src/main/res/drawable/ic_menu_24dp.xml | 11 +- .../res/drawable/ic_menu_solarized_24dp.xml | 11 +- .../main/res/drawable/ic_menu_white_24dp.xml | 11 +- .../main/res/drawable/ic_more_horiz_24dp.xml | 11 +- .../res/drawable/ic_musical_notes_24dp.xml | 11 +- .../ic_musical_notes_solarized_24dp.xml | 11 +- .../drawable/ic_musical_notes_white_24dp.xml | 11 +- .../drawable/ic_open_in_new_black_24dp.xml | 11 +- .../drawable/ic_open_in_new_white_24dp.xml | 11 +- app/src/main/res/drawable/ic_pause_24dp.xml | 3 +- .../main/res/drawable/ic_play_arrow_24dp.xml | 11 +- .../drawable/ic_play_arrow_solarized_24dp.xml | 11 +- .../res/drawable/ic_play_arrow_white_24dp.xml | 11 +- app/src/main/res/drawable/ic_redo_24dp.xml | 11 +- .../res/drawable/ic_redo_solarized_24dp.xml | 11 +- .../main/res/drawable/ic_redo_white_24dp.xml | 11 +- app/src/main/res/drawable/ic_running_24dp.xml | 11 +- .../drawable/ic_running_solarized_24dp.xml | 11 +- .../res/drawable/ic_running_white_24dp.xml | 11 +- .../res/drawable/ic_search_solarized_24dp.xml | 11 +- .../res/drawable/ic_search_white_24dp.xml | 11 +- .../res/drawable/ic_settings_black_24dp.xml | 11 +- .../main/res/drawable/ic_skip_next_24dp.xml | 3 +- app/src/main/res/drawable/ic_snooze_24dp.xml | 11 +- .../res/drawable/ic_sort_solarized_24dp.xml | 11 +- .../main/res/drawable/ic_sort_white_24dp.xml | 11 +- .../main/res/drawable/ic_star_black_24dp.xml | 5 +- .../drawable/ic_star_border_black_24dp.xml | 11 +- .../ic_star_border_solarized_24dp.xml | 11 +- .../drawable/ic_star_border_white_24dp.xml | 11 +- .../res/drawable/ic_star_solarized_24dp.xml | 5 +- .../main/res/drawable/ic_star_white_24dp.xml | 11 +- app/src/main/res/drawable/ic_stop_24dp.xml | 11 +- .../main/res/drawable/ic_tag_black_24dp.xml | 11 +- .../main/res/drawable/ic_tag_white_24dp.xml | 11 +- .../main/res/drawable/ic_undo_black_24dp.xml | 11 +- .../res/drawable/ic_undo_solarized_24dp.xml | 11 +- .../main/res/drawable/ic_undo_white_24dp.xml | 11 +- .../main/res/drawable/ic_volume_up_24dp.xml | 11 +- .../drawable/ic_volume_up_solarized_24dp.xml | 11 +- .../res/drawable/ic_volume_up_white_24dp.xml | 11 +- app/src/main/res/drawable/ic_warning_24dp.xml | 13 +- .../main/res/layout/activity_main_appbar.xml | 26 +- app/src/main/res/values-night/themes.xml | 24 +- app/src/main/res/values/shape.xml | 18 + app/src/main/res/values/styles.xml | 116 +++- app/src/main/res/values/themes.xml | 128 ++-- 63 files changed, 845 insertions(+), 627 deletions(-) create mode 100644 app/src/main/res/values/shape.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 48aa36d0e..1e7b174d2 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -35,7 +35,7 @@ + android:theme="@style/Theme.App"> 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 4dc5d7bd9..046e279d8 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 @@ -17,7 +17,6 @@ import android.view.Menu; import android.view.MenuItem; import android.view.View; -import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; @@ -33,6 +32,7 @@ import androidx.fragment.app.Fragment; import com.google.android.material.navigation.NavigationView; +import com.google.android.material.progressindicator.LinearProgressIndicator; import com.mikepenz.aboutlibraries.Libs; import com.mikepenz.aboutlibraries.LibsBuilder; @@ -67,7 +67,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener, TagListFragment.OnFragmentInteractionListener { - public static final String PARAM_TAG_LABEL = "tag_label"; + static final String PARAM_TAG_LABEL = "tag_label"; private static final String TAG = MainActivity.class.getSimpleName(); @@ -84,7 +84,7 @@ public class MainActivity extends AppCompatActivity private ConfigurationTestHelper configurationTestHelper; - private ProgressBar progressBar; + private LinearProgressIndicator progressBar; private NavigationView navigationView; private TextView lastUpdateTimeView; @@ -101,7 +101,7 @@ public class MainActivity extends AppCompatActivity private boolean updateRunning; - private Map savedFragmentStates = new HashMap<>(); + private final Map savedFragmentStates = new HashMap<>(); private String currentFragmentType; private Fragment currentFragment; @@ -114,48 +114,48 @@ public class MainActivity extends AppCompatActivity private String selectedTag; @Override - protected void onCreate(Bundle savedInstanceState) { + protected void onCreate(final Bundle savedInstanceState) { Log.d(TAG, "onCreate()"); Themes.applyTheme(this, false); super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); + this.setContentView(R.layout.activity_main); - setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL); + this.setDefaultKeyMode(AppCompatActivity.DEFAULT_KEYS_SEARCH_LOCAL); - settings = App.getSettings(); + this.settings = App.getSettings(); - Toolbar toolbar = findViewById(R.id.toolbar); - setSupportActionBar(toolbar); + final Toolbar toolbar = this.findViewById(R.id.toolbar); + this.setSupportActionBar(toolbar); - navigationView = findViewById(R.id.nav_view); - navigationView.setNavigationItemSelectedListener(this); + this.navigationView = this.findViewById(R.id.nav_view); + this.navigationView.setNavigationItemSelectedListener(this); - if (navigationView != null) { - View headerView = navigationView.getHeaderView(0); + if (this.navigationView != null) { + final View headerView = this.navigationView.getHeaderView(0); if (headerView != null) { - lastUpdateTimeView = headerView.findViewById(R.id.lastUpdateTime); + this.lastUpdateTimeView = headerView.findViewById(R.id.lastUpdateTime); } // Set different colors for items in the navigation bar in dark (high contrast) theme if (Themes.getCurrentTheme() == Themes.Theme.DARK_CONTRAST) { - @SuppressLint("ResourceType") XmlResourceParser parser = getResources().getXml(R.color.dark_contrast_menu_item); + @SuppressLint("ResourceType") final XmlResourceParser parser = this.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())); + this.navigationView.setItemTextColor(ColorStateList.createFromXml(this.getResources(), parser, this.getTheme())); + this.navigationView.setItemIconTintList(ColorStateList.createFromXml(this.getResources(), parser, this.getTheme())); } else { - navigationView.setItemTextColor(ColorStateList.createFromXml(getResources(), parser)); - navigationView.setItemIconTintList(ColorStateList.createFromXml(getResources(), parser)); + this.navigationView.setItemTextColor(ColorStateList.createFromXml(this.getResources(), parser)); + this.navigationView.setItemIconTintList(ColorStateList.createFromXml(this.getResources(), parser)); } - } catch (XmlPullParserException | IOException e) { + } catch (final XmlPullParserException | IOException e) { Log.e(TAG, "onCreate()", e); } } } - DrawerLayout drawer = findViewById(R.id.drawer_layout); - ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( + final DrawerLayout drawer = this.findViewById(R.id.drawer_layout); + final ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); @@ -166,121 +166,131 @@ protected void onCreate(Bundle savedInstanceState) { boolean updated; @Override - public void onDrawerSlide(View drawerView, float slideOffset) { - updateTime(); + public void onDrawerSlide(final View drawerView, final float slideOffset) { + this.updateTime(); } @Override - public void onDrawerStateChanged(int newState) { - if (newState == DrawerLayout.STATE_IDLE) updated = false; + public void onDrawerStateChanged(final int newState) { + if (newState == DrawerLayout.STATE_IDLE) { + this.updated = false; + } } private void updateTime() { - if (updated) return; - updated = true; + if (this.updated) { + return; + } + this.updated = true; - if (lastUpdateTimeView == null) return; + if (MainActivity.this.lastUpdateTimeView == null) { + return; + } - Log.d(TAG, "DrawerListener.updateTime() updating time"); + Log.d(MainActivity.TAG, "DrawerListener.updateTime() updating time"); - updateLastUpdateTime(); + MainActivity.this.updateLastUpdateTime(); } }); - progressBar = findViewById(R.id.progressBar); + this.progressBar = this.findViewById(R.id.progressBar); - firstSyncDone = settings.isFirstSyncDone(); + this.firstSyncDone = this.settings.isFirstSyncDone(); - offlineQueuePending = settings.isOfflineQueuePending(); + this.offlineQueuePending = this.settings.isOfflineQueuePending(); - sortOrder = settings.getListSortOrder(); - tagsSortOrder = settings.getTagListSortOrder(); + this.sortOrder = this.settings.getListSortOrder(); + this.tagsSortOrder = this.settings.getTagListSortOrder(); String currentFragmentType = null; if (savedInstanceState == null) { - Intent intent = getIntent(); + final Intent intent = this.getIntent(); - selectedTag = intent.getStringExtra(PARAM_TAG_LABEL); + this.selectedTag = intent.getStringExtra(PARAM_TAG_LABEL); - if (!TextUtils.isEmpty(selectedTag)) { + if (!TextUtils.isEmpty(this.selectedTag)) { currentFragmentType = FRAGMENT_TAGGED_ARTICLE_LISTS; } if (Intent.ACTION_SEARCH.equals(intent.getAction())) { - searchQuery = intent.getStringExtra(SearchManager.QUERY); + this.searchQuery = intent.getStringExtra(SearchManager.QUERY); } } else { Log.v(TAG, "onCreate() restoring state"); - Bundle bundle = savedInstanceState.getBundle(STATE_SAVED_FRAGMENT_STATES); + final Bundle bundle = savedInstanceState.getBundle(STATE_SAVED_FRAGMENT_STATES); if (bundle != null) { - for (String key : bundle.keySet()) { + for (final String key : bundle.keySet()) { //noinspection ConstantConditions - savedFragmentStates.put(key, bundle.getParcelable(key)); + this.savedFragmentStates.put(key, bundle.getParcelable(key)); } } currentFragmentType = savedInstanceState.getString(STATE_CURRENT_FRAGMENT); - selectedTag = savedInstanceState.getString(STATE_SELECTED_TAG); + this.selectedTag = savedInstanceState.getString(STATE_SELECTED_TAG); - searchQuery = savedInstanceState.getString(STATE_SEARCH_QUERY); + this.searchQuery = savedInstanceState.getString(STATE_SEARCH_QUERY); } - if (searchQuery == null) searchQuery = ""; - performSearch(searchQuery); + if (this.searchQuery == null) { + this.searchQuery = ""; + } + this.performSearch(this.searchQuery); - if (currentFragmentType == null) currentFragmentType = FRAGMENT_ARTICLE_LISTS; + if (currentFragmentType == null) { + currentFragmentType = FRAGMENT_ARTICLE_LISTS; + } if (savedInstanceState == null) { - setCurrentFragment(currentFragmentType); + this.setCurrentFragment(currentFragmentType); } else { - currentFragment = getSupportFragmentManager().findFragmentByTag(currentFragmentType); + this.currentFragment = this.getSupportFragmentManager().findFragmentByTag(currentFragmentType); this.currentFragmentType = currentFragmentType; - updateNavigationUI(currentFragmentType); + this.updateNavigationUI(currentFragmentType); } EventHelper.register(this); } @Override - protected void onNewIntent(Intent intent) { + protected void onNewIntent(final Intent intent) { super.onNewIntent(intent); Log.d(TAG, "onNewIntent()"); - String tag = intent.getStringExtra(PARAM_TAG_LABEL); + final String tag = intent.getStringExtra(PARAM_TAG_LABEL); if (!TextUtils.isEmpty(tag)) { - openTag(tag); + this.openTag(tag); } if (Intent.ACTION_SEARCH.equals(intent.getAction())) { - String query = intent.getStringExtra(SearchManager.QUERY); + final String query = intent.getStringExtra(SearchManager.QUERY); Log.v(TAG, "onNewIntent() search intent; query: " + query); - performSearch(query); + this.performSearch(query); } } @Override - protected void onSaveInstanceState(@NonNull Bundle outState) { + protected void onSaveInstanceState(@NonNull final Bundle outState) { super.onSaveInstanceState(outState); Log.v(TAG, "onSaveInstanceState()"); - if (!savedFragmentStates.isEmpty()) { - Bundle bundle = new Bundle(savedFragmentStates.size()); + if (!this.savedFragmentStates.isEmpty()) { + final Bundle bundle = new Bundle(this.savedFragmentStates.size()); - for (Map.Entry e : savedFragmentStates.entrySet()) { + for (final Map.Entry e : this.savedFragmentStates.entrySet()) { bundle.putParcelable(e.getKey(), e.getValue()); } outState.putBundle(STATE_SAVED_FRAGMENT_STATES, bundle); } - outState.putString(STATE_CURRENT_FRAGMENT, currentFragmentType); - outState.putString(STATE_SELECTED_TAG, selectedTag); - outState.putString(STATE_SEARCH_QUERY, searchQuery); + outState.putString(STATE_CURRENT_FRAGMENT, this.currentFragmentType); + outState.putString(STATE_SELECTED_TAG, this.selectedTag); + outState.putString(STATE_SEARCH_QUERY, this.searchQuery); } @Override @@ -289,9 +299,9 @@ protected void onStart() { Themes.checkTheme(this); - checkConfigurationOnResume = true; + this.checkConfigurationOnResume = true; - tryToUpdateOnResume = true; + this.tryToUpdateOnResume = true; } @Override @@ -299,40 +309,40 @@ protected void onResume() { super.onResume(); // TODO: check logic - if (checkConfigurationOnResume) { - checkConfigurationOnResume = false; + if (this.checkConfigurationOnResume) { + this.checkConfigurationOnResume = false; if (!Settings.checkFirstRunInit(this)) { - if (!settings.isConfigurationOk() && checkConfigurationDialog == null) { - AlertDialog.Builder messageBox = new AlertDialog.Builder(this); - messageBox.setTitle(settings.isConfigurationErrorShown() + if (!this.settings.isConfigurationOk() && this.checkConfigurationDialog == null) { + final AlertDialog.Builder messageBox = new AlertDialog.Builder(this); + messageBox.setTitle(this.settings.isConfigurationErrorShown() ? R.string.d_configurationIsQuestionable_title : R.string.d_configurationChanged_title); - messageBox.setMessage(settings.isConfigurationErrorShown() + messageBox.setMessage(this.settings.isConfigurationErrorShown() ? R.string.d_configurationIsQuestionable_message : R.string.d_configurationChanged_message); - messageBox.setPositiveButton(R.string.ok, (dialog, which) -> testConfiguration()); + messageBox.setPositiveButton(R.string.ok, (dialog, which) -> this.testConfiguration()); messageBox.setNegativeButton(R.string.d_configurationChanged_answer_decline, null); - messageBox.setOnDismissListener(dialog -> checkConfigurationDialog = null); - checkConfigurationDialog = messageBox.show(); + messageBox.setOnDismissListener(dialog -> this.checkConfigurationDialog = null); + this.checkConfigurationDialog = messageBox.show(); } } } - if (tryToUpdateOnResume) { - tryToUpdateOnResume = false; + if (this.tryToUpdateOnResume) { + this.tryToUpdateOnResume = false; - if (!firstSyncDone) { - updateAllFeedsIfDbIsEmpty(); + if (!this.firstSyncDone) { + this.updateAllFeedsIfDbIsEmpty(); } else { - updateOnStartup(); + this.updateOnStartup(); } } } @Override protected void onStop() { - cancelConfigurationTest(); + this.cancelConfigurationTest(); super.onStop(); } @@ -346,7 +356,7 @@ protected void onDestroy() { @Override public void onBackPressed() { - DrawerLayout drawer = findViewById(R.id.drawer_layout); + final DrawerLayout drawer = this.findViewById(R.id.drawer_layout); if (drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START); } else { @@ -355,68 +365,68 @@ public void onBackPressed() { } @Override - public boolean onCreateOptionsMenu(Menu menu) { + public boolean onCreateOptionsMenu(final Menu menu) { Log.d(TAG, "onCreateOptionsMenu()"); - if (searchMenuItemExpanded) { + if (this.searchMenuItemExpanded) { // options menu invalidation happened when searchMenuItem was expanded - searchMenuItemExpanded = false; - searchMenuItem = null; + this.searchMenuItemExpanded = false; + this.searchMenuItem = null; Log.i(TAG, "onCreateOptionsMenu() searchMenuItem was not collapsed!"); - Log.v(TAG, "onCreateOptionsMenu() searchQuery: " + searchQuery - + ", searchQueryPrevious: " + searchQueryPrevious); + Log.v(TAG, "onCreateOptionsMenu() searchQuery: " + this.searchQuery + + ", searchQueryPrevious: " + this.searchQueryPrevious); - performSearch(searchQueryPrevious); + this.performSearch(this.searchQueryPrevious); } - getMenuInflater().inflate(R.menu.main, menu); + this.getMenuInflater().inflate(R.menu.main, menu); - searchMenuItem = menu.findItem(R.id.menu_main_search); - searchMenuItem.setOnActionExpandListener(new MenuItem.OnActionExpandListener() { + this.searchMenuItem = menu.findItem(R.id.menu_main_search); + this.searchMenuItem.setOnActionExpandListener(new MenuItem.OnActionExpandListener() { @Override - public boolean onMenuItemActionExpand(MenuItem item) { - Log.v(TAG, "searchMenuItem expanded"); - searchMenuItemExpanded = true; + public boolean onMenuItemActionExpand(final MenuItem item) { + Log.v(MainActivity.TAG, "searchMenuItem expanded"); + MainActivity.this.searchMenuItemExpanded = true; return true; } @Override - public boolean onMenuItemActionCollapse(MenuItem item) { - Log.v(TAG, "searchMenuItem collapsed"); - supportInvalidateOptionsMenu(); - searchMenuItemExpanded = false; + public boolean onMenuItemActionCollapse(final MenuItem item) { + Log.v(MainActivity.TAG, "searchMenuItem collapsed"); + MainActivity.this.supportInvalidateOptionsMenu(); + MainActivity.this.searchMenuItemExpanded = false; return true; } }); - final SearchView searchView = (SearchView) searchMenuItem.getActionView(); + final SearchView searchView = (SearchView) this.searchMenuItem.getActionView(); if (searchView != null) { - searchView.setSearchableInfo(((SearchManager) getSystemService(Context.SEARCH_SERVICE)) - .getSearchableInfo(getComponentName())); + searchView.setSearchableInfo(((SearchManager) this.getSystemService(Context.SEARCH_SERVICE)) + .getSearchableInfo(this.getComponentName())); searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override - public boolean onQueryTextSubmit(String query) { - Log.v(TAG, "onQueryTextSubmit() query: " + query); + public boolean onQueryTextSubmit(final String query) { + Log.v(MainActivity.TAG, "onQueryTextSubmit() query: " + query); return true; } @Override - public boolean onQueryTextChange(String newText) { - Log.v(TAG, "onQueryTextChange() newText: " + newText); + public boolean onQueryTextChange(final String newText) { + Log.v(MainActivity.TAG, "onQueryTextChange() newText: " + newText); - setSearchQuery(newText); + MainActivity.this.setSearchQuery(newText); return true; } }); } - checkPendingSearchUI(); + this.checkPendingSearchUI(); - if (!offlineQueuePending) { - MenuItem menuItem = menu.findItem(R.id.menu_main_syncQueue); + if (!this.offlineQueuePending) { + final MenuItem menuItem = menu.findItem(R.id.menu_main_syncQueue); if (menuItem != null) { menuItem.setVisible(false); } @@ -426,22 +436,22 @@ public boolean onQueryTextChange(String newText) { } @Override - public boolean onOptionsItemSelected(MenuItem item) { + public boolean onOptionsItemSelected(final MenuItem item) { switch (item.getItemId()) { case R.id.menu_main_changeSortOrder: - switchSortOrder(); + this.switchSortOrder(); return true; case R.id.menu_main_syncQueue: - syncQueue(); + this.syncQueue(); return true; case R.id.menu_main_sweepDeletedArticles: - sweepDeletedArticles(); + this.sweepDeletedArticles(); return true; case R.id.menu_main_fullUpdate: - fullUpdate(true); + this.fullUpdate(true); return true; } @@ -449,26 +459,26 @@ public boolean onOptionsItemSelected(MenuItem item) { } @Override - public boolean onNavigationItemSelected(@NonNull MenuItem item) { + public boolean onNavigationItemSelected(@NonNull final MenuItem item) { switch (item.getItemId()) { case R.id.nav_mainLists: - setCurrentFragment(FRAGMENT_ARTICLE_LISTS); + this.setCurrentFragment(FRAGMENT_ARTICLE_LISTS); break; case R.id.nav_tags: - setCurrentFragment(FRAGMENT_TAG_LIST); + this.setCurrentFragment(FRAGMENT_TAG_LIST); break; case R.id.nav_add: - showAddBagDialog(); + this.showAddBagDialog(); break; case R.id.nav_settings: - startActivity(new Intent(getBaseContext(), SettingsActivity.class)); + this.startActivity(new Intent(this.getBaseContext(), SettingsActivity.class)); break; case R.id.nav_about: - Libs.ActivityStyle style; + final Libs.ActivityStyle style; switch (Themes.getCurrentTheme()) { case DARK: case DARK_CONTRAST: @@ -479,8 +489,8 @@ public boolean onNavigationItemSelected(@NonNull MenuItem item) { style = Libs.ActivityStyle.LIGHT_DARK_TOOLBAR; break; } - CharSequence aboutCharSequence = getText(R.string.aboutText); - String aboutString = aboutCharSequence instanceof Spanned + final CharSequence aboutCharSequence = this.getText(R.string.aboutText); + final String aboutString = aboutCharSequence instanceof Spanned ? Html.toHtml((Spanned) aboutCharSequence) : aboutCharSequence.toString(); new LibsBuilder() @@ -497,124 +507,137 @@ public boolean onNavigationItemSelected(@NonNull MenuItem item) { } @Override - public boolean onContextItemSelected(MenuItem item) { - return handleContextMenuItemInFragment(item) || super.onContextItemSelected(item); + public boolean onContextItemSelected(final MenuItem item) { + return this.handleContextMenuItemInFragment(item) || super.onContextItemSelected(item); } @Subscribe(threadMode = ThreadMode.MAIN, priority = -1) - public void onOfflineQueueChangedEvent(OfflineQueueChangedEvent event) { + public void onOfflineQueueChangedEvent(final OfflineQueueChangedEvent event) { Log.d(TAG, "onOfflineQueueChangedEvent()"); - Long queueLength = event.getQueueLength(); + final Long queueLength = event.getQueueLength(); - boolean prevValue = offlineQueuePending; - offlineQueuePending = queueLength == null || queueLength > 0; + final boolean prevValue = this.offlineQueuePending; + this.offlineQueuePending = queueLength == null || queueLength > 0; - Log.d(TAG, "onOfflineQueueChangedEvent() offlineQueuePending: " + offlineQueuePending); + Log.d(TAG, "onOfflineQueueChangedEvent() offlineQueuePending: " + this.offlineQueuePending); - if (prevValue != offlineQueuePending) { + if (prevValue != this.offlineQueuePending) { Log.d(TAG, "onOfflineQueueChangedEvent() invalidating options menu"); - invalidateOptionsMenu(); + this.invalidateOptionsMenu(); } } @Subscribe(threadMode = ThreadMode.MAIN) - public void onFeedsChangedEvent(FeedsChangedEvent event) { + public void onFeedsChangedEvent(final FeedsChangedEvent event) { Log.d(TAG, "onFeedsChangedEvent()"); if (event.isInvalidateAll()) { - firstSyncDone = settings.isFirstSyncDone(); + this.firstSyncDone = this.settings.isFirstSyncDone(); } - if (currentFragment instanceof ArticleListsFragment) { - ((ArticleListsFragment) currentFragment).onFeedsChangedEvent(event); - } else if (currentFragment instanceof RecyclerViewListFragment) { - ((RecyclerViewListFragment) currentFragment).invalidateList(); + if (this.currentFragment instanceof ArticleListsFragment) { + ((ArticleListsFragment) this.currentFragment).onFeedsChangedEvent(event); + } else if (this.currentFragment instanceof RecyclerViewListFragment) { + ((RecyclerViewListFragment) this.currentFragment).invalidateList(); } } @Subscribe(sticky = true, threadMode = ThreadMode.MAIN) - public void onUpdateArticlesStartedEvent(UpdateArticlesStartedEvent event) { + public void onUpdateArticlesStartedEvent(final UpdateArticlesStartedEvent event) { Log.d(TAG, "onUpdateArticlesStartedEvent()"); - updateStateChanged(true); + this.updateStateChanged(true); } @Subscribe(threadMode = ThreadMode.MAIN) - public void onUpdateArticlesProgressEvent(UpdateArticlesProgressEvent event) { + public void onUpdateArticlesProgressEvent(final UpdateArticlesProgressEvent event) { Log.d(TAG, "onUpdateArticlesProgressEvent()"); - if (progressBar != null) { - progressBar.setIndeterminate(false); - progressBar.setMax(event.getTotal()); - progressBar.setProgress(event.getCurrent()); + if (this.progressBar != null) { + this.progressBar.setProgressCompat(event.getCurrent() / event.getTotal(), true); } } @Subscribe(threadMode = ThreadMode.MAIN) - public void onUpdateArticlesFinishedEvent(UpdateArticlesFinishedEvent event) { + public void onUpdateArticlesFinishedEvent(final UpdateArticlesFinishedEvent event) { Log.d(TAG, "onUpdateArticlesFinishedEvent"); if (event.getResult().isSuccess()) { - firstSyncDone = true; - tryToUpdateOnResume = false; + this.firstSyncDone = true; + this.tryToUpdateOnResume = false; } - updateLastUpdateTime(); + this.updateLastUpdateTime(); - updateStateChanged(false); + this.updateStateChanged(false); } private void updateLastUpdateTime() { - if (lastUpdateTimeView == null) return; + if (this.lastUpdateTimeView == null) { + return; + } Log.d(TAG, "updateLastUpdateTime() updating time"); - long timestamp = settings.getLatestUpdateRunTimestamp(); + final long timestamp = this.settings.getLatestUpdateRunTimestamp(); if (timestamp != 0) { - lastUpdateTimeView.setText(getString(R.string.lastUpdateTimeLabel, + this.lastUpdateTimeView.setText(this.getString(R.string.lastUpdateTimeLabel, DateUtils.getRelativeTimeSpanString(timestamp))); } else { - lastUpdateTimeView.setVisibility(View.INVISIBLE); + this.lastUpdateTimeView.setVisibility(View.INVISIBLE); } } - private void updateStateChanged(boolean started) { - if (started == updateRunning) return; + private void updateStateChanged(final boolean started) { + if (started == this.updateRunning) { + return; + } - updateRunning = started; + this.updateRunning = started; - if (progressBar != null) { - progressBar.setVisibility(started ? View.VISIBLE : View.GONE); - progressBar.setIndeterminate(true); + if (this.progressBar != null) { + if (started) { + this.progressBar.show(); + } else { + this.progressBar.hide(); + } } } - private void performSearch(String query) { - setSearchQuery(query); + private void performSearch(final String query) { + this.setSearchQuery(query); - if (TextUtils.isEmpty(query)) return; + if (TextUtils.isEmpty(query)) { + return; + } - searchUIPending = true; - checkPendingSearchUI(); + this.searchUIPending = true; + this.checkPendingSearchUI(); } private void checkPendingSearchUI() { - if (searchMenuItem == null) return; - if (!searchUIPending) return; + if (this.searchMenuItem == null) { + return; + } + if (!this.searchUIPending) { + return; + } - searchUIPending = false; + this.searchUIPending = false; - initSearchUI(); + this.initSearchUI(); } private void initSearchUI() { - final SearchView searchView = (SearchView) searchMenuItem.getActionView(); - if (searchView == null) return; + final SearchView searchView = (SearchView) this.searchMenuItem.getActionView(); + if (searchView == null) { + return; + } - final String searchQueryToRestore = searchQuery; + final String searchQueryToRestore = this.searchQuery; - searchMenuItem.expandActionView(); + this.searchMenuItem.expandActionView(); searchView.post(() -> { Log.v(TAG, "searchView.post() restoring search string: " + searchQueryToRestore); @@ -622,103 +645,105 @@ private void initSearchUI() { }); } - private void setParametersToFragment(Fragment fragment) { + private void setParametersToFragment(final Fragment fragment) { Log.v(TAG, "setParametersToFragment() started"); - if (fragment == null) return; + if (fragment == null) { + return; + } - setSortOrder(fragment); - setSearchQueryOnFragment(fragment, searchQuery); + this.setSortOrder(fragment); + MainActivity.setSearchQueryOnFragment(fragment, this.searchQuery); } private void switchSortOrder() { - if (FRAGMENT_TAG_LIST.equals(currentFragmentType)) { - tagsSortOrder = tagsSortOrder == Sortable.SortOrder.DESC + if (FRAGMENT_TAG_LIST.equals(this.currentFragmentType)) { + this.tagsSortOrder = this.tagsSortOrder == Sortable.SortOrder.DESC ? Sortable.SortOrder.ASC : Sortable.SortOrder.DESC; - settings.setTagListSortOrder(tagsSortOrder); + this.settings.setTagListSortOrder(this.tagsSortOrder); } else { - sortOrder = sortOrder == Sortable.SortOrder.DESC + this.sortOrder = this.sortOrder == Sortable.SortOrder.DESC ? Sortable.SortOrder.ASC : Sortable.SortOrder.DESC; - settings.setListSortOrder(sortOrder); + this.settings.setListSortOrder(this.sortOrder); } - setSortOrder(currentFragment); + this.setSortOrder(this.currentFragment); } - private void setSortOrder(Fragment fragment) { - setSortOrder(fragment, FRAGMENT_TAG_LIST.equals(currentFragmentType) - ? tagsSortOrder : sortOrder); + private void setSortOrder(final Fragment fragment) { + MainActivity.setSortOrder(fragment, FRAGMENT_TAG_LIST.equals(this.currentFragmentType) + ? this.tagsSortOrder : this.sortOrder); } - private void setSortOrder(Fragment fragment, Sortable.SortOrder sortOrder) { + private static void setSortOrder(final Fragment fragment, final Sortable.SortOrder sortOrder) { if (fragment instanceof Sortable) { ((Sortable) fragment).setSortOrder(sortOrder); } } - private void setSearchQuery(String searchQuery) { + private void setSearchQuery(final String searchQuery) { this.searchQueryPrevious = this.searchQuery; this.searchQuery = searchQuery; - setSearchQueryOnFragment(currentFragment, searchQuery); + MainActivity.setSearchQueryOnFragment(this.currentFragment, searchQuery); } - private void setSearchQueryOnFragment(Fragment fragment, String searchQuery) { + private static void setSearchQueryOnFragment(final Fragment fragment, final String searchQuery) { if (fragment instanceof Searchable) { ((Searchable) fragment).setSearchQuery(searchQuery); } } - private boolean handleContextMenuItemInFragment(MenuItem item) { - return currentFragment instanceof ContextMenuItemHandler - && ((ContextMenuItemHandler) currentFragment).handleContextItemSelected(this, item); + private boolean handleContextMenuItemInFragment(final MenuItem item) { + return this.currentFragment instanceof ContextMenuItemHandler + && ((ContextMenuItemHandler) this.currentFragment).handleContextItemSelected(this, item); } - private void setCurrentFragment(String type) { - setCurrentFragment(type, false); + private void setCurrentFragment(final String type) { + this.setCurrentFragment(type, false); } - private void setCurrentFragment(String type, boolean force) { + private void setCurrentFragment(final String type, final boolean force) { Log.d(TAG, String.format("setCurrentFragment(%s, %s)", type, force)); - if (!force && TextUtils.equals(currentFragmentType, type)) { + if (!force && TextUtils.equals(this.currentFragmentType, type)) { Log.i(TAG, "setCurrentFragment() ignoring switch to the same type: " + type); return; } - setCurrentFragment(getFragment(type), type); + this.setCurrentFragment(this.getFragment(type), type); } - private void setCurrentFragment(Fragment fragment, String type) { - updateNavigationUI(type); + private void setCurrentFragment(final Fragment fragment, final String type) { + this.updateNavigationUI(type); - if (currentFragment != null && isFragmentStateSavable(currentFragmentType)) { - Log.d(TAG, "setCurrentFragment() saving fragment state: " + currentFragmentType); + if (this.currentFragment != null && MainActivity.isFragmentStateSavable(this.currentFragmentType)) { + Log.d(TAG, "setCurrentFragment() saving fragment state: " + this.currentFragmentType); //noinspection ConstantConditions - savedFragmentStates.put(currentFragmentType, getSupportFragmentManager() - .saveFragmentInstanceState(currentFragment)); + this.savedFragmentStates.put(this.currentFragmentType, this.getSupportFragmentManager() + .saveFragmentInstanceState(this.currentFragment)); } - getSupportFragmentManager().beginTransaction() + this.getSupportFragmentManager().beginTransaction() .replace(R.id.main_content_frame, fragment, type) .commit(); - currentFragment = fragment; - currentFragmentType = type; + this.currentFragment = fragment; + this.currentFragmentType = type; - setParametersToFragment(fragment); + this.setParametersToFragment(fragment); } - private Fragment getFragment(String type) { + private Fragment getFragment(final String type) { Log.d(TAG, "getFragment() type: " + type); - Fragment fragment = getSupportFragmentManager().findFragmentByTag(type); + Fragment fragment = this.getSupportFragmentManager().findFragmentByTag(type); - if (fragment == null || !isFragmentReusable(type)) { + if (fragment == null || !MainActivity.isFragmentReusable(type)) { Log.d(TAG, "getFragment() creating new instance"); switch (type) { @@ -727,7 +752,7 @@ private Fragment getFragment(String type) { break; case FRAGMENT_TAGGED_ARTICLE_LISTS: - fragment = ArticleListsFragment.newInstance(selectedTag); + fragment = ArticleListsFragment.newInstance(this.selectedTag); break; case FRAGMENT_TAG_LIST: @@ -738,10 +763,10 @@ private Fragment getFragment(String type) { throw new IllegalArgumentException("Fragment type is not supported: " + type); } - if (isFragmentStateSavable(type)) { + if (MainActivity.isFragmentStateSavable(type)) { Log.d(TAG, "getFragment() fragment is savable"); - Fragment.SavedState savedState = savedFragmentStates.get(type); + final Fragment.SavedState savedState = this.savedFragmentStates.get(type); if (savedState != null) { Log.d(TAG, "getFragment() restoring fragment state"); @@ -753,12 +778,14 @@ private Fragment getFragment(String type) { return fragment; } - private boolean isFragmentReusable(String type) { + private static boolean isFragmentReusable(final String type) { return !type.equals(FRAGMENT_TAGGED_ARTICLE_LISTS); } - private boolean isFragmentStateSavable(String type) { - if (type == null) return false; + private static boolean isFragmentStateSavable(final String type) { + if (type == null) { + return false; + } switch (type) { case FRAGMENT_ARTICLE_LISTS: @@ -769,11 +796,13 @@ private boolean isFragmentStateSavable(String type) { return false; } - private void updateNavigationUI(String type) { - if (type == null || navigationView == null) return; + private void updateNavigationUI(final String type) { + if (type == null || this.navigationView == null) { + return; + } - if (FRAGMENT_TAGGED_ARTICLE_LISTS.equals(currentFragmentType)) { - MenuItem item = navigationView.getMenu().findItem(R.id.nav_taggedLists); + if (FRAGMENT_TAGGED_ARTICLE_LISTS.equals(this.currentFragmentType)) { + final MenuItem item = this.navigationView.getMenu().findItem(R.id.nav_taggedLists); if (item != null) { item.setVisible(false); item.setEnabled(false); @@ -794,13 +823,15 @@ private void updateNavigationUI(String type) { case FRAGMENT_TAGGED_ARTICLE_LISTS: itemID = R.id.nav_taggedLists; - if (selectedTag != null) { - title = getString(R.string.title_main_tag, selectedTag); + if (this.selectedTag != null) { + title = this.getString(R.string.title_main_tag, this.selectedTag); } - MenuItem item = navigationView.getMenu().findItem(itemID); + final MenuItem item = this.navigationView.getMenu().findItem(itemID); if (item != null) { - if (title != null) item.setTitle(title); + if (title != null) { + item.setTitle(title); + } item.setVisible(true); item.setEnabled(true); } @@ -808,39 +839,39 @@ private void updateNavigationUI(String type) { } if (itemID != 0) { - navigationView.setCheckedItem(itemID); + this.navigationView.setCheckedItem(itemID); if (title == null) { - MenuItem item = navigationView.getMenu().findItem(itemID); + final MenuItem item = this.navigationView.getMenu().findItem(itemID); if (item != null) { title = item.getTitle(); } } } if (title != null) { - setTitle(title); + this.setTitle(title); } } @Override - public void onTagSelected(Tag tag) { - openTag(tag.getLabel()); + public void onTagSelected(final Tag tag) { + this.openTag(tag.getLabel()); } - private void openTag(String tagLabel) { - selectedTag = tagLabel; + private void openTag(final String tagLabel) { + this.selectedTag = tagLabel; - setCurrentFragment(FRAGMENT_TAGGED_ARTICLE_LISTS, true); + this.setCurrentFragment(FRAGMENT_TAGGED_ARTICLE_LISTS, true); } @Override public void onRecyclerViewListSwipeUpdate() { - updateArticles(true, ArticleUpdater.UpdateType.FAST); + this.updateArticles(true, ArticleUpdater.UpdateType.FAST); } private void syncQueue() { if (!WallabagConnection.isNetworkAvailable()) { - Toast.makeText(this, getString(R.string.txtNetOffline), Toast.LENGTH_SHORT).show(); + Toast.makeText(this, this.getString(R.string.txtNetOffline), Toast.LENGTH_SHORT).show(); return; } @@ -849,7 +880,7 @@ private void syncQueue() { private void sweepDeletedArticles() { if (!WallabagConnection.isNetworkAvailable()) { - Toast.makeText(this, getString(R.string.txtNetOffline), Toast.LENGTH_SHORT).show(); + Toast.makeText(this, this.getString(R.string.txtNetOffline), Toast.LENGTH_SHORT).show(); return; } @@ -857,81 +888,82 @@ private void sweepDeletedArticles() { } private void updateAllFeedsIfDbIsEmpty() { - if (settings.isConfigurationOk() && !settings.isFirstSyncDone()) { - fullUpdate(false); + if (this.settings.isConfigurationOk() && !this.settings.isFirstSyncDone()) { + this.fullUpdate(false); } } private void updateOnStartup() { - long delay = TimeUnit.MINUTES.toMillis(5); - if (settings.isAutoSyncOnStartupEnabled() && settings.isConfigurationOk() - && settings.isFirstSyncDone() - && settings.getLatestUpdateRunTimestamp() + delay < System.currentTimeMillis()) { - updateArticles(false, ArticleUpdater.UpdateType.FAST); + final long delay = TimeUnit.MINUTES.toMillis(5); + if (this.settings.isAutoSyncOnStartupEnabled() && this.settings.isConfigurationOk() + && this.settings.isFirstSyncDone() + && this.settings.getLatestUpdateRunTimestamp() + delay < System.currentTimeMillis()) { + this.updateArticles(false, ArticleUpdater.UpdateType.FAST); } } - private void fullUpdate(boolean showErrors) { - updateArticles(showErrors, ArticleUpdater.UpdateType.FULL); + private void fullUpdate(final boolean showErrors) { + this.updateArticles(showErrors, ArticleUpdater.UpdateType.FULL); } - private void updateArticles(boolean showErrors, ArticleUpdater.UpdateType updateType) { - if (updateRunning) { + private void updateArticles(final boolean showErrors, final ArticleUpdater.UpdateType updateType) { + if (this.updateRunning) { if (showErrors) { Toast.makeText(this, R.string.previousUpdateNotFinished, Toast.LENGTH_SHORT).show(); } - } else if (!settings.isConfigurationOk()) { + } else if (!this.settings.isConfigurationOk()) { if (showErrors) { - Toast.makeText(this, getString(R.string.txtConfigNotSet), Toast.LENGTH_SHORT).show(); + Toast.makeText(this, this.getString(R.string.txtConfigNotSet), Toast.LENGTH_SHORT).show(); } } else if (WallabagConnection.isNetworkAvailable()) { - OperationsHelper.syncAndUpdate(this, settings, updateType, false); + OperationsHelper.syncAndUpdate(this, this.settings, updateType, false); } else { if (showErrors) { - Toast.makeText(this, getString(R.string.txtNetOffline), Toast.LENGTH_SHORT).show(); + Toast.makeText(this, this.getString(R.string.txtNetOffline), Toast.LENGTH_SHORT).show(); } } } private void testConfiguration() { - cancelConfigurationTest(); + this.cancelConfigurationTest(); - configurationTestHelper = new ConfigurationTestHelper( + this.configurationTestHelper = new ConfigurationTestHelper( this, new ConfigurationTestHelper.ResultHandler() { @Override - public void onConfigurationTestSuccess(String url) { - updateAllFeedsIfDbIsEmpty(); + public void onConfigurationTestSuccess(final String url) { + MainActivity.this.updateAllFeedsIfDbIsEmpty(); } @Override public void onConnectionTestFail( - WallabagWebService.ConnectionTestResult result, String details) {} + final WallabagWebService.ConnectionTestResult result, final String details) { + } @Override - public void onApiAccessTestFail(TestApiAccessTask.Result result, String details) {} - }, null, settings, true); + public void onApiAccessTestFail(final TestApiAccessTask.Result result, final String details) { + } + }, null, this.settings, true); - configurationTestHelper.test(); + this.configurationTestHelper.test(); } private void cancelConfigurationTest() { - if (configurationTestHelper != null) { - configurationTestHelper.cancel(); - configurationTestHelper = null; + if (this.configurationTestHelper != null) { + this.configurationTestHelper.cancel(); + this.configurationTestHelper = null; } } private void showAddBagDialog() { - AlertDialog.Builder builder = new AlertDialog.Builder(this); + final AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(R.string.dialog_add_label); - @SuppressLint("InflateParams") - final View view = getLayoutInflater().inflate(R.layout.dialog_add, null); + @SuppressLint("InflateParams") final View view = this.getLayoutInflater().inflate(R.layout.dialog_add, null); builder.setView(view); builder.setPositiveButton(android.R.string.ok, (dialog, which) -> { - TextView textView = view.findViewById(R.id.page_url); + final TextView textView = view.findViewById(R.id.page_url); OperationsHelper.addArticleWithUI(this, textView.getText().toString(), null); }); builder.setNegativeButton(android.R.string.cancel, null); @@ -940,18 +972,18 @@ private void showAddBagDialog() { } @Override - public boolean onKeyDown(int keyCode, KeyEvent event) { - if (currentFragment instanceof ArticleListsFragment) { + public boolean onKeyDown(final int keyCode, final KeyEvent event) { + if (this.currentFragment instanceof ArticleListsFragment) { switch (keyCode) { case KeyEvent.KEYCODE_PAGE_UP: case KeyEvent.KEYCODE_PAGE_DOWN: - ((ArticleListsFragment) currentFragment).scroll(keyCode == KeyEvent.KEYCODE_PAGE_UP); + ((ArticleListsFragment) this.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); + if (this.settings.isVolumeButtonsScrollingEnabled()) { + ((ArticleListsFragment) this.currentFragment).scroll(keyCode == KeyEvent.KEYCODE_VOLUME_UP); return true; } break; diff --git a/app/src/main/res/drawable/ic_add_black_24dp.xml b/app/src/main/res/drawable/ic_add_black_24dp.xml index 0258249cc..5521151f3 100644 --- a/app/src/main/res/drawable/ic_add_black_24dp.xml +++ b/app/src/main/res/drawable/ic_add_black_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" /> diff --git a/app/src/main/res/drawable/ic_delete_black_24dp.xml b/app/src/main/res/drawable/ic_delete_black_24dp.xml index 39e64d698..a2b1c1194 100644 --- a/app/src/main/res/drawable/ic_delete_black_24dp.xml +++ b/app/src/main/res/drawable/ic_delete_black_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z" /> diff --git a/app/src/main/res/drawable/ic_done_black_24dp.xml b/app/src/main/res/drawable/ic_done_black_24dp.xml index 83ee7bb4e..a25c1b127 100644 --- a/app/src/main/res/drawable/ic_done_black_24dp.xml +++ b/app/src/main/res/drawable/ic_done_black_24dp.xml @@ -3,8 +3,9 @@ android:width="24dp" android:height="24dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z" /> diff --git a/app/src/main/res/drawable/ic_done_solarized_24dp.xml b/app/src/main/res/drawable/ic_done_solarized_24dp.xml index 7196f0d21..e915d58f6 100644 --- a/app/src/main/res/drawable/ic_done_solarized_24dp.xml +++ b/app/src/main/res/drawable/ic_done_solarized_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z" /> diff --git a/app/src/main/res/drawable/ic_done_white_24dp.xml b/app/src/main/res/drawable/ic_done_white_24dp.xml index 6541ee3e3..faf724fc6 100644 --- a/app/src/main/res/drawable/ic_done_white_24dp.xml +++ b/app/src/main/res/drawable/ic_done_white_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z" /> 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..07d0b3797 100644 --- a/app/src/main/res/drawable/ic_fast_forward_24dp.xml +++ b/app/src/main/res/drawable/ic_fast_forward_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M4,18l8.5,-6L4,6v12zm9,-12v12l8.5,-6L13,6z" /> diff --git a/app/src/main/res/drawable/ic_fast_forward_solarized_24dp.xml b/app/src/main/res/drawable/ic_fast_forward_solarized_24dp.xml index 729486e97..76681ee42 100644 --- a/app/src/main/res/drawable/ic_fast_forward_solarized_24dp.xml +++ b/app/src/main/res/drawable/ic_fast_forward_solarized_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M4,18l8.5,-6L4,6v12zm9,-12v12l8.5,-6L13,6z" /> diff --git a/app/src/main/res/drawable/ic_fast_forward_white_24dp.xml b/app/src/main/res/drawable/ic_fast_forward_white_24dp.xml index 8d1f95075..35622547a 100644 --- a/app/src/main/res/drawable/ic_fast_forward_white_24dp.xml +++ b/app/src/main/res/drawable/ic_fast_forward_white_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M4,18l8.5,-6L4,6v12zm9,-12v12l8.5,-6L13,6z" /> 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..bb0788d7d 100644 --- a/app/src/main/res/drawable/ic_fast_rewind_24dp.xml +++ b/app/src/main/res/drawable/ic_fast_rewind_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M11,18V6l-8.5,6 8.5,6zm0.5,-6l8.5,6V6l-8.5,6z" /> diff --git a/app/src/main/res/drawable/ic_fast_rewind_solarized_24dp.xml b/app/src/main/res/drawable/ic_fast_rewind_solarized_24dp.xml index 4a557ab56..45e4070a4 100644 --- a/app/src/main/res/drawable/ic_fast_rewind_solarized_24dp.xml +++ b/app/src/main/res/drawable/ic_fast_rewind_solarized_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M11,18V6l-8.5,6 8.5,6zm0.5,-6l8.5,6V6l-8.5,6z" /> diff --git a/app/src/main/res/drawable/ic_fast_rewind_white_24dp.xml b/app/src/main/res/drawable/ic_fast_rewind_white_24dp.xml index fc6addd01..fea0e7ceb 100644 --- a/app/src/main/res/drawable/ic_fast_rewind_white_24dp.xml +++ b/app/src/main/res/drawable/ic_fast_rewind_white_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M11,18V6l-8.5,6 8.5,6zm0.5,-6l8.5,6V6l-8.5,6z" /> 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..3ac2a8680 100644 --- a/app/src/main/res/drawable/ic_file_download_24dp.xml +++ b/app/src/main/res/drawable/ic_file_download_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z" /> diff --git a/app/src/main/res/drawable/ic_info_outline_black_24dp.xml b/app/src/main/res/drawable/ic_info_outline_black_24dp.xml index cf53e145c..1b0b0f733 100644 --- a/app/src/main/res/drawable/ic_info_outline_black_24dp.xml +++ b/app/src/main/res/drawable/ic_info_outline_black_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M11,17h2v-6h-2v6zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM11,9h2L13,7h-2v2z" /> diff --git a/app/src/main/res/drawable/ic_list_black_24dp.xml b/app/src/main/res/drawable/ic_list_black_24dp.xml index 4c2fb8834..baf811584 100644 --- a/app/src/main/res/drawable/ic_list_black_24dp.xml +++ b/app/src/main/res/drawable/ic_list_black_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M3,13h2v-2L3,11v2zM3,17h2v-2L3,15v2zM3,9h2L5,7L3,7v2zM7,13h14v-2L7,11v2zM7,17h14v-2L7,15v2zM7,7v2h14L21,7L7,7z" /> diff --git a/app/src/main/res/drawable/ic_menu_24dp.xml b/app/src/main/res/drawable/ic_menu_24dp.xml index 84b1d3b4f..d7094a047 100644 --- a/app/src/main/res/drawable/ic_menu_24dp.xml +++ b/app/src/main/res/drawable/ic_menu_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M3,18h18v-2H3v2zm0,-5h18v-2H3v2zm0,-7v2h18V6H3z" /> diff --git a/app/src/main/res/drawable/ic_menu_solarized_24dp.xml b/app/src/main/res/drawable/ic_menu_solarized_24dp.xml index ceaac1eb3..e4582153b 100644 --- a/app/src/main/res/drawable/ic_menu_solarized_24dp.xml +++ b/app/src/main/res/drawable/ic_menu_solarized_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M3,18h18v-2H3v2zm0,-5h18v-2H3v2zm0,-7v2h18V6H3z" /> diff --git a/app/src/main/res/drawable/ic_menu_white_24dp.xml b/app/src/main/res/drawable/ic_menu_white_24dp.xml index 0b6cfbc50..826e1e986 100644 --- a/app/src/main/res/drawable/ic_menu_white_24dp.xml +++ b/app/src/main/res/drawable/ic_menu_white_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M3,18h18v-2H3v2zm0,-5h18v-2H3v2zm0,-7v2h18V6H3z" /> 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..8b0452599 100644 --- a/app/src/main/res/drawable/ic_more_horiz_24dp.xml +++ b/app/src/main/res/drawable/ic_more_horiz_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M6,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zm12,0c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zm-6,0c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2z" /> 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..873d874b8 100644 --- a/app/src/main/res/drawable/ic_musical_notes_24dp.xml +++ b/app/src/main/res/drawable/ic_musical_notes_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M 8.0432614,6.7878188 C 12.978823,5.7069881 17.914385,4.6261573 22.849947,3.5453266 c 0,3.3645121 0.000001,6.7290244 0.000001,10.0935364 -2.34314,-0.395674 -5.005671,0.684358 -6.021303,2.91476 -0.724477,1.350521 0.578252,2.851021 1.998037,2.723345 1.821147,-0.03208 3.742779,-1.050845 4.519101,-2.746535 0.586183,-1.485766 0.303865,-3.110029 0.371281,-4.666782 0,-3.651601 0,-7.3032023 0,-10.95480352 -5.51364,1.13249192 -11.02728,2.26498392 -16.5409205,3.39747582 0.0000005,4.5169706 0.0000011,9.0339407 0.0000016,13.5509117 -2.3431396,-0.395675 -5.0056704,0.684358 -6.0213023,2.914759 -0.72447737,1.350522 0.5782517,2.851021 1.9980367,2.723345 1.8211473,-0.03208 3.7427792,-1.050845 4.5191005,-2.746535 0.5861838,-1.485766 0.3038651,-3.11003 0.3712814,-4.666783 0,-3.098067 0,-6.1961347 0,-9.2942022 z" /> diff --git a/app/src/main/res/drawable/ic_musical_notes_solarized_24dp.xml b/app/src/main/res/drawable/ic_musical_notes_solarized_24dp.xml index f969f33f3..ac7215d58 100644 --- a/app/src/main/res/drawable/ic_musical_notes_solarized_24dp.xml +++ b/app/src/main/res/drawable/ic_musical_notes_solarized_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M 8.0432614,6.7878188 C 12.978823,5.7069881 17.914385,4.6261573 22.849947,3.5453266 c 0,3.3645121 0.000001,6.7290244 0.000001,10.0935364 -2.34314,-0.395674 -5.005671,0.684358 -6.021303,2.91476 -0.724477,1.350521 0.578252,2.851021 1.998037,2.723345 1.821147,-0.03208 3.742779,-1.050845 4.519101,-2.746535 0.586183,-1.485766 0.303865,-3.110029 0.371281,-4.666782 0,-3.651601 0,-7.3032023 0,-10.95480352 -5.51364,1.13249192 -11.02728,2.26498392 -16.5409205,3.39747582 0.0000005,4.5169706 0.0000011,9.0339407 0.0000016,13.5509117 -2.3431396,-0.395675 -5.0056704,0.684358 -6.0213023,2.914759 -0.72447737,1.350522 0.5782517,2.851021 1.9980367,2.723345 1.8211473,-0.03208 3.7427792,-1.050845 4.5191005,-2.746535 0.5861838,-1.485766 0.3038651,-3.11003 0.3712814,-4.666783 0,-3.098067 0,-6.1961347 0,-9.2942022 z" /> diff --git a/app/src/main/res/drawable/ic_musical_notes_white_24dp.xml b/app/src/main/res/drawable/ic_musical_notes_white_24dp.xml index 3f8d603e3..e36ff9f40 100644 --- a/app/src/main/res/drawable/ic_musical_notes_white_24dp.xml +++ b/app/src/main/res/drawable/ic_musical_notes_white_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M 8.0432614,6.7878188 C 12.978823,5.7069881 17.914385,4.6261573 22.849947,3.5453266 c 0,3.3645121 0.000001,6.7290244 0.000001,10.0935364 -2.34314,-0.395674 -5.005671,0.684358 -6.021303,2.91476 -0.724477,1.350521 0.578252,2.851021 1.998037,2.723345 1.821147,-0.03208 3.742779,-1.050845 4.519101,-2.746535 0.586183,-1.485766 0.303865,-3.110029 0.371281,-4.666782 0,-3.651601 0,-7.3032023 0,-10.95480352 -5.51364,1.13249192 -11.02728,2.26498392 -16.5409205,3.39747582 0.0000005,4.5169706 0.0000011,9.0339407 0.0000016,13.5509117 -2.3431396,-0.395675 -5.0056704,0.684358 -6.0213023,2.914759 -0.72447737,1.350522 0.5782517,2.851021 1.9980367,2.723345 1.8211473,-0.03208 3.7427792,-1.050845 4.5191005,-2.746535 0.5861838,-1.485766 0.3038651,-3.11003 0.3712814,-4.666783 0,-3.098067 0,-6.1961347 0,-9.2942022 z" /> diff --git a/app/src/main/res/drawable/ic_open_in_new_black_24dp.xml b/app/src/main/res/drawable/ic_open_in_new_black_24dp.xml index 60b75a549..93f3684e7 100644 --- a/app/src/main/res/drawable/ic_open_in_new_black_24dp.xml +++ b/app/src/main/res/drawable/ic_open_in_new_black_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M19,19H5V5h7V3H5c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2v-7h-2v7zM14,3v2h3.59l-9.83,9.83 1.41,1.41L19,6.41V10h2V3h-7z" /> diff --git a/app/src/main/res/drawable/ic_open_in_new_white_24dp.xml b/app/src/main/res/drawable/ic_open_in_new_white_24dp.xml index 3a81295ea..6f5853d9d 100644 --- a/app/src/main/res/drawable/ic_open_in_new_white_24dp.xml +++ b/app/src/main/res/drawable/ic_open_in_new_white_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M19,19H5V5h7V3H5c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2v-7h-2v7zM14,3v2h3.59l-9.83,9.83 1.41,1.41L19,6.41V10h2V3h-7z" /> diff --git a/app/src/main/res/drawable/ic_pause_24dp.xml b/app/src/main/res/drawable/ic_pause_24dp.xml index 53b5e6a9a..e658bc269 100644 --- a/app/src/main/res/drawable/ic_pause_24dp.xml +++ b/app/src/main/res/drawable/ic_pause_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="?colorControlNormal"> 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..5a142d393 100644 --- a/app/src/main/res/drawable/ic_play_arrow_24dp.xml +++ b/app/src/main/res/drawable/ic_play_arrow_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M8,5v14l11,-7z" /> diff --git a/app/src/main/res/drawable/ic_play_arrow_solarized_24dp.xml b/app/src/main/res/drawable/ic_play_arrow_solarized_24dp.xml index d0fe86659..2e9ba84df 100644 --- a/app/src/main/res/drawable/ic_play_arrow_solarized_24dp.xml +++ b/app/src/main/res/drawable/ic_play_arrow_solarized_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M8,5v14l11,-7z" /> diff --git a/app/src/main/res/drawable/ic_play_arrow_white_24dp.xml b/app/src/main/res/drawable/ic_play_arrow_white_24dp.xml index 81a8f74f6..608319fcb 100644 --- a/app/src/main/res/drawable/ic_play_arrow_white_24dp.xml +++ b/app/src/main/res/drawable/ic_play_arrow_white_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M8,5v14l11,-7z" /> diff --git a/app/src/main/res/drawable/ic_redo_24dp.xml b/app/src/main/res/drawable/ic_redo_24dp.xml index 424e788f5..932d94efc 100644 --- a/app/src/main/res/drawable/ic_redo_24dp.xml +++ b/app/src/main/res/drawable/ic_redo_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M18.4,10.6C16.55,8.99 14.15,8 11.5,8c-4.65,0 -8.58,3.03 -9.96,7.22L3.9,16c1.05,-3.19 4.05,-5.5 7.6,-5.5 1.95,0 3.73,0.72 5.12,1.88L13,16h9V7l-3.6,3.6z" /> diff --git a/app/src/main/res/drawable/ic_redo_solarized_24dp.xml b/app/src/main/res/drawable/ic_redo_solarized_24dp.xml index a13a51b84..01ee421ab 100644 --- a/app/src/main/res/drawable/ic_redo_solarized_24dp.xml +++ b/app/src/main/res/drawable/ic_redo_solarized_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M18.4,10.6C16.55,8.99 14.15,8 11.5,8c-4.65,0 -8.58,3.03 -9.96,7.22L3.9,16c1.05,-3.19 4.05,-5.5 7.6,-5.5 1.95,0 3.73,0.72 5.12,1.88L13,16h9V7l-3.6,3.6z" /> diff --git a/app/src/main/res/drawable/ic_redo_white_24dp.xml b/app/src/main/res/drawable/ic_redo_white_24dp.xml index 3dfe92985..c34b4fb3f 100644 --- a/app/src/main/res/drawable/ic_redo_white_24dp.xml +++ b/app/src/main/res/drawable/ic_redo_white_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M18.4,10.6C16.55,8.99 14.15,8 11.5,8c-4.65,0 -8.58,3.03 -9.96,7.22L3.9,16c1.05,-3.19 4.05,-5.5 7.6,-5.5 1.95,0 3.73,0.72 5.12,1.88L13,16h9V7l-3.6,3.6z" /> diff --git a/app/src/main/res/drawable/ic_running_24dp.xml b/app/src/main/res/drawable/ic_running_24dp.xml index e88d5160f..f5f2ad778 100644 --- a/app/src/main/res/drawable/ic_running_24dp.xml +++ b/app/src/main/res/drawable/ic_running_24dp.xml @@ -1,8 +1,9 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M 17.893547,1.8754516 C 16.594276,1.8135599 15.541172,3.3261427 16.139314,4.5068029 15.717037,4.9275769 15.286436,4.3897947 14.85479,4.2487227 13.656493,3.677622 12.504687,2.9934792 11.272946,2.5035029 10.258118,2.247892 9.2772792,2.7487002 8.2882788,2.9239713 7.4950666,3.1485527 6.658197,3.2520377 5.8976909,3.5678502 4.906351,4.0262782 5.5438213,5.4462969 6.5131955,4.9068065 7.6794292,4.6465279 8.8269091,4.2739575 10.006413,4.0928332 c 0.927772,-0.045368 1.645312,0.5933683 2.384973,1.0504171 0.517896,0.5550088 -0.778102,1.1167746 -1.175042,1.3589145 -2.8829575,-0.00519 -7.2298765,-0.013417 -10.29345203,0.00201 -1.25091511,0.1172352 -0.13558505,0.6103165 0.53152913,0.600244 2.9607528,-0.0000329 5.9219627,0.0000443 8.8824249,0 C 9.9657581,7.3293207 9.7162043,7.4879312 9.3451164,7.712833 6.7726559,7.709713 1.9075635,7.7116667 1.8100032,7.738334 0.64452998,8.0765017 2.1504845,8.3279911 2.6807341,8.3188891 c 1.9110673,0 4.0431055,0 5.9541728,0 -0.1000683,0.1324406 -0.366234,0.3899343 -0.4983018,0.5354195 -1.4839976,0.016216 -4.1701459,0.038366 -5.6518965,0.098537 -1.1654388,0.3382387 0.5013529,0.5900036 0.870731,0.5805127 1.4612636,0 2.9225273,0 4.3837909,0 0.4740837,1.5608537 1.3205902,2.9737737 1.9455841,4.4741787 0.157943,0.76625 -0.7603878,0.661015 -1.2507812,0.653582 -1.2548459,0.01006 -2.511566,-0.02039 -3.7652089,0.01568 -0.8009374,0.152333 -0.6300346,1.112708 -0.4467307,1.674914 0.4745147,0.629847 1.3447069,0.330051 2.0217785,0.400987 0.678374,0 1.356748,0 2.035122,0 -1.2861669,0.853966 -2.5633065,1.72882 -3.80645,2.642815 -0.5727074,0.613184 0.074713,1.289929 0.4775009,1.770262 0.5993585,0.55927 1.2221839,-0.113041 1.6968222,-0.481181 1.55796,-1.222533 3.1046401,-2.461829 4.6825646,-3.656442 0.221524,-0.468427 0.785287,-0.209353 1.200207,-0.275454 0.855538,0.05709 0.52846,-0.836454 0.301335,-1.292176 -0.585248,-1.5519 -1.248765,-3.084288 -1.68224,-4.68342 -0.08568,-0.963507 0.929165,-1.2589445 1.582422,-1.6721618 0.878646,-0.4808083 1.723102,-1.0357136 2.63036,-1.4556453 0.693183,0.153374 0.653322,1.0161709 0.873613,1.5615771 0.241439,0.7335255 0.362658,1.517759 0.69822,2.211851 0.541214,0.663308 1.385455,0.164689 2.068564,0.08077 1.158373,-0.261545 2.325572,-0.48899 3.47833,-0.772228 C 23.572402,10.471186 23.128772,8.9140081 22.07506,9.3681042 21.016351,9.5216237 19.962478,9.7223189 18.900664,9.8455341 17.982322,9.7840498 17.918683,8.7686503 17.694145,8.0879686 17.427826,7.3104979 17.318354,6.4656469 16.929554,5.740355 16.940875,5.2461415 18.076489,5.7606786 18.648969,5.5707594 19.971262,5.1012349 20.275159,3.1414019 19.13206,2.3130795 18.784956,2.0316264 18.340578,1.8739999 17.893547,1.8754516 z" /> diff --git a/app/src/main/res/drawable/ic_running_solarized_24dp.xml b/app/src/main/res/drawable/ic_running_solarized_24dp.xml index cf675997c..301f28a65 100644 --- a/app/src/main/res/drawable/ic_running_solarized_24dp.xml +++ b/app/src/main/res/drawable/ic_running_solarized_24dp.xml @@ -1,8 +1,9 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M 17.893547,1.8754516 C 16.594276,1.8135599 15.541172,3.3261427 16.139314,4.5068029 15.717037,4.9275769 15.286436,4.3897947 14.85479,4.2487227 13.656493,3.677622 12.504687,2.9934792 11.272946,2.5035029 10.258118,2.247892 9.2772792,2.7487002 8.2882788,2.9239713 7.4950666,3.1485527 6.658197,3.2520377 5.8976909,3.5678502 4.906351,4.0262782 5.5438213,5.4462969 6.5131955,4.9068065 7.6794292,4.6465279 8.8269091,4.2739575 10.006413,4.0928332 c 0.927772,-0.045368 1.645312,0.5933683 2.384973,1.0504171 0.517896,0.5550088 -0.778102,1.1167746 -1.175042,1.3589145 -2.8829575,-0.00519 -7.2298765,-0.013417 -10.29345203,0.00201 -1.25091511,0.1172352 -0.13558505,0.6103165 0.53152913,0.600244 2.9607528,-0.0000329 5.9219627,0.0000443 8.8824249,0 C 9.9657581,7.3293207 9.7162043,7.4879312 9.3451164,7.712833 6.7726559,7.709713 1.9075635,7.7116667 1.8100032,7.738334 0.64452998,8.0765017 2.1504845,8.3279911 2.6807341,8.3188891 c 1.9110673,0 4.0431055,0 5.9541728,0 -0.1000683,0.1324406 -0.366234,0.3899343 -0.4983018,0.5354195 -1.4839976,0.016216 -4.1701459,0.038366 -5.6518965,0.098537 -1.1654388,0.3382387 0.5013529,0.5900036 0.870731,0.5805127 1.4612636,0 2.9225273,0 4.3837909,0 0.4740837,1.5608537 1.3205902,2.9737737 1.9455841,4.4741787 0.157943,0.76625 -0.7603878,0.661015 -1.2507812,0.653582 -1.2548459,0.01006 -2.511566,-0.02039 -3.7652089,0.01568 -0.8009374,0.152333 -0.6300346,1.112708 -0.4467307,1.674914 0.4745147,0.629847 1.3447069,0.330051 2.0217785,0.400987 0.678374,0 1.356748,0 2.035122,0 -1.2861669,0.853966 -2.5633065,1.72882 -3.80645,2.642815 -0.5727074,0.613184 0.074713,1.289929 0.4775009,1.770262 0.5993585,0.55927 1.2221839,-0.113041 1.6968222,-0.481181 1.55796,-1.222533 3.1046401,-2.461829 4.6825646,-3.656442 0.221524,-0.468427 0.785287,-0.209353 1.200207,-0.275454 0.855538,0.05709 0.52846,-0.836454 0.301335,-1.292176 -0.585248,-1.5519 -1.248765,-3.084288 -1.68224,-4.68342 -0.08568,-0.963507 0.929165,-1.2589445 1.582422,-1.6721618 0.878646,-0.4808083 1.723102,-1.0357136 2.63036,-1.4556453 0.693183,0.153374 0.653322,1.0161709 0.873613,1.5615771 0.241439,0.7335255 0.362658,1.517759 0.69822,2.211851 0.541214,0.663308 1.385455,0.164689 2.068564,0.08077 1.158373,-0.261545 2.325572,-0.48899 3.47833,-0.772228 C 23.572402,10.471186 23.128772,8.9140081 22.07506,9.3681042 21.016351,9.5216237 19.962478,9.7223189 18.900664,9.8455341 17.982322,9.7840498 17.918683,8.7686503 17.694145,8.0879686 17.427826,7.3104979 17.318354,6.4656469 16.929554,5.740355 16.940875,5.2461415 18.076489,5.7606786 18.648969,5.5707594 19.971262,5.1012349 20.275159,3.1414019 19.13206,2.3130795 18.784956,2.0316264 18.340578,1.8739999 17.893547,1.8754516 z" /> diff --git a/app/src/main/res/drawable/ic_running_white_24dp.xml b/app/src/main/res/drawable/ic_running_white_24dp.xml index cc6e2732c..6f70170a7 100644 --- a/app/src/main/res/drawable/ic_running_white_24dp.xml +++ b/app/src/main/res/drawable/ic_running_white_24dp.xml @@ -1,8 +1,9 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M 17.893547,1.8754516 C 16.594276,1.8135599 15.541172,3.3261427 16.139314,4.5068029 15.717037,4.9275769 15.286436,4.3897947 14.85479,4.2487227 13.656493,3.677622 12.504687,2.9934792 11.272946,2.5035029 10.258118,2.247892 9.2772792,2.7487002 8.2882788,2.9239713 7.4950666,3.1485527 6.658197,3.2520377 5.8976909,3.5678502 4.906351,4.0262782 5.5438213,5.4462969 6.5131955,4.9068065 7.6794292,4.6465279 8.8269091,4.2739575 10.006413,4.0928332 c 0.927772,-0.045368 1.645312,0.5933683 2.384973,1.0504171 0.517896,0.5550088 -0.778102,1.1167746 -1.175042,1.3589145 -2.8829575,-0.00519 -7.2298765,-0.013417 -10.29345203,0.00201 -1.25091511,0.1172352 -0.13558505,0.6103165 0.53152913,0.600244 2.9607528,-0.0000329 5.9219627,0.0000443 8.8824249,0 C 9.9657581,7.3293207 9.7162043,7.4879312 9.3451164,7.712833 6.7726559,7.709713 1.9075635,7.7116667 1.8100032,7.738334 0.64452998,8.0765017 2.1504845,8.3279911 2.6807341,8.3188891 c 1.9110673,0 4.0431055,0 5.9541728,0 -0.1000683,0.1324406 -0.366234,0.3899343 -0.4983018,0.5354195 -1.4839976,0.016216 -4.1701459,0.038366 -5.6518965,0.098537 -1.1654388,0.3382387 0.5013529,0.5900036 0.870731,0.5805127 1.4612636,0 2.9225273,0 4.3837909,0 0.4740837,1.5608537 1.3205902,2.9737737 1.9455841,4.4741787 0.157943,0.76625 -0.7603878,0.661015 -1.2507812,0.653582 -1.2548459,0.01006 -2.511566,-0.02039 -3.7652089,0.01568 -0.8009374,0.152333 -0.6300346,1.112708 -0.4467307,1.674914 0.4745147,0.629847 1.3447069,0.330051 2.0217785,0.400987 0.678374,0 1.356748,0 2.035122,0 -1.2861669,0.853966 -2.5633065,1.72882 -3.80645,2.642815 -0.5727074,0.613184 0.074713,1.289929 0.4775009,1.770262 0.5993585,0.55927 1.2221839,-0.113041 1.6968222,-0.481181 1.55796,-1.222533 3.1046401,-2.461829 4.6825646,-3.656442 0.221524,-0.468427 0.785287,-0.209353 1.200207,-0.275454 0.855538,0.05709 0.52846,-0.836454 0.301335,-1.292176 -0.585248,-1.5519 -1.248765,-3.084288 -1.68224,-4.68342 -0.08568,-0.963507 0.929165,-1.2589445 1.582422,-1.6721618 0.878646,-0.4808083 1.723102,-1.0357136 2.63036,-1.4556453 0.693183,0.153374 0.653322,1.0161709 0.873613,1.5615771 0.241439,0.7335255 0.362658,1.517759 0.69822,2.211851 0.541214,0.663308 1.385455,0.164689 2.068564,0.08077 1.158373,-0.261545 2.325572,-0.48899 3.47833,-0.772228 C 23.572402,10.471186 23.128772,8.9140081 22.07506,9.3681042 21.016351,9.5216237 19.962478,9.7223189 18.900664,9.8455341 17.982322,9.7840498 17.918683,8.7686503 17.694145,8.0879686 17.427826,7.3104979 17.318354,6.4656469 16.929554,5.740355 16.940875,5.2461415 18.076489,5.7606786 18.648969,5.5707594 19.971262,5.1012349 20.275159,3.1414019 19.13206,2.3130795 18.784956,2.0316264 18.340578,1.8739999 17.893547,1.8754516 z" /> diff --git a/app/src/main/res/drawable/ic_search_solarized_24dp.xml b/app/src/main/res/drawable/ic_search_solarized_24dp.xml index 611b136f0..39c3d8dfe 100644 --- a/app/src/main/res/drawable/ic_search_solarized_24dp.xml +++ b/app/src/main/res/drawable/ic_search_solarized_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z" /> diff --git a/app/src/main/res/drawable/ic_search_white_24dp.xml b/app/src/main/res/drawable/ic_search_white_24dp.xml index 47432c174..172381180 100644 --- a/app/src/main/res/drawable/ic_search_white_24dp.xml +++ b/app/src/main/res/drawable/ic_search_white_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z" /> diff --git a/app/src/main/res/drawable/ic_settings_black_24dp.xml b/app/src/main/res/drawable/ic_settings_black_24dp.xml index ace746c40..82c6288b4 100644 --- a/app/src/main/res/drawable/ic_settings_black_24dp.xml +++ b/app/src/main/res/drawable/ic_settings_black_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M19.43,12.98c0.04,-0.32 0.07,-0.64 0.07,-0.98s-0.03,-0.66 -0.07,-0.98l2.11,-1.65c0.19,-0.15 0.24,-0.42 0.12,-0.64l-2,-3.46c-0.12,-0.22 -0.39,-0.3 -0.61,-0.22l-2.49,1c-0.52,-0.4 -1.08,-0.73 -1.69,-0.98l-0.38,-2.65C14.46,2.18 14.25,2 14,2h-4c-0.25,0 -0.46,0.18 -0.49,0.42l-0.38,2.65c-0.61,0.25 -1.17,0.59 -1.69,0.98l-2.49,-1c-0.23,-0.09 -0.49,0 -0.61,0.22l-2,3.46c-0.13,0.22 -0.07,0.49 0.12,0.64l2.11,1.65c-0.04,0.32 -0.07,0.65 -0.07,0.98s0.03,0.66 0.07,0.98l-2.11,1.65c-0.19,0.15 -0.24,0.42 -0.12,0.64l2,3.46c0.12,0.22 0.39,0.3 0.61,0.22l2.49,-1c0.52,0.4 1.08,0.73 1.69,0.98l0.38,2.65c0.03,0.24 0.24,0.42 0.49,0.42h4c0.25,0 0.46,-0.18 0.49,-0.42l0.38,-2.65c0.61,-0.25 1.17,-0.59 1.69,-0.98l2.49,1c0.23,0.09 0.49,0 0.61,-0.22l2,-3.46c0.12,-0.22 0.07,-0.49 -0.12,-0.64l-2.11,-1.65zM12,15.5c-1.93,0 -3.5,-1.57 -3.5,-3.5s1.57,-3.5 3.5,-3.5 3.5,1.57 3.5,3.5 -1.57,3.5 -3.5,3.5z" /> diff --git a/app/src/main/res/drawable/ic_skip_next_24dp.xml b/app/src/main/res/drawable/ic_skip_next_24dp.xml index eae4da1bf..8e678f753 100644 --- a/app/src/main/res/drawable/ic_skip_next_24dp.xml +++ b/app/src/main/res/drawable/ic_skip_next_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="?colorControlNormal"> diff --git a/app/src/main/res/drawable/ic_snooze_24dp.xml b/app/src/main/res/drawable/ic_snooze_24dp.xml index c9724f13e..061c483e0 100644 --- a/app/src/main/res/drawable/ic_snooze_24dp.xml +++ b/app/src/main/res/drawable/ic_snooze_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M7.88,3.39L6.6,1.86 2,5.71l1.29,1.53 4.59,-3.85zM22,5.72l-4.6,-3.86 -1.29,1.53 4.6,3.86L22,5.72zM12,4c-4.97,0 -9,4.03 -9,9s4.02,9 9,9c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9zm0,16c-3.87,0 -7,-3.13 -7,-7s3.13,-7 7,-7 7,3.13 7,7 -3.13,7 -7,7zm-3,-9h3.63L9,15.2V17h6v-2h-3.63L15,10.8V9H9v2z" /> diff --git a/app/src/main/res/drawable/ic_sort_solarized_24dp.xml b/app/src/main/res/drawable/ic_sort_solarized_24dp.xml index 8f92247bc..a28b49254 100644 --- a/app/src/main/res/drawable/ic_sort_solarized_24dp.xml +++ b/app/src/main/res/drawable/ic_sort_solarized_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M10,13V11H18V13H10M10,19V17H14V19H10M10,7V5H22V7H10M6,17H8.5L5,20.5L1.5,17H4V7H1.5L5,3.5L8.5,7H6V17Z" /> diff --git a/app/src/main/res/drawable/ic_sort_white_24dp.xml b/app/src/main/res/drawable/ic_sort_white_24dp.xml index e01b0262d..4379224cb 100644 --- a/app/src/main/res/drawable/ic_sort_white_24dp.xml +++ b/app/src/main/res/drawable/ic_sort_white_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M10,13V11H18V13H10M10,19V17H14V19H10M10,7V5H22V7H10M6,17H8.5L5,20.5L1.5,17H4V7H1.5L5,3.5L8.5,7H6V17Z" /> diff --git a/app/src/main/res/drawable/ic_star_black_24dp.xml b/app/src/main/res/drawable/ic_star_black_24dp.xml index 2070a49da..197cf875c 100644 --- a/app/src/main/res/drawable/ic_star_black_24dp.xml +++ b/app/src/main/res/drawable/ic_star_black_24dp.xml @@ -3,8 +3,9 @@ android:width="24dp" android:height="24dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-0.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z" /> diff --git a/app/src/main/res/drawable/ic_star_border_black_24dp.xml b/app/src/main/res/drawable/ic_star_border_black_24dp.xml index b36536b99..f7d9ee21b 100644 --- a/app/src/main/res/drawable/ic_star_border_black_24dp.xml +++ b/app/src/main/res/drawable/ic_star_border_black_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M22,9.24l-7.19,-0.62L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21 12,17.27 18.18,21l-1.63,-7.03L22,9.24zM12,15.4l-3.76,2.27 1,-4.28 -3.32,-2.88 4.38,-0.38L12,6.1l1.71,4.04 4.38,0.38 -3.32,2.88 1,4.28L12,15.4z" /> diff --git a/app/src/main/res/drawable/ic_star_border_solarized_24dp.xml b/app/src/main/res/drawable/ic_star_border_solarized_24dp.xml index 332cb19a5..7e5202cb9 100644 --- a/app/src/main/res/drawable/ic_star_border_solarized_24dp.xml +++ b/app/src/main/res/drawable/ic_star_border_solarized_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M22,9.24l-7.19,-0.62L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21 12,17.27 18.18,21l-1.63,-7.03L22,9.24zM12,15.4l-3.76,2.27 1,-4.28 -3.32,-2.88 4.38,-0.38L12,6.1l1.71,4.04 4.38,0.38 -3.32,2.88 1,4.28L12,15.4z" /> diff --git a/app/src/main/res/drawable/ic_star_border_white_24dp.xml b/app/src/main/res/drawable/ic_star_border_white_24dp.xml index be9cd286c..6e8ff9212 100644 --- a/app/src/main/res/drawable/ic_star_border_white_24dp.xml +++ b/app/src/main/res/drawable/ic_star_border_white_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M22,9.24l-7.19,-0.62L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21 12,17.27 18.18,21l-1.63,-7.03L22,9.24zM12,15.4l-3.76,2.27 1,-4.28 -3.32,-2.88 4.38,-0.38L12,6.1l1.71,4.04 4.38,0.38 -3.32,2.88 1,4.28L12,15.4z" /> diff --git a/app/src/main/res/drawable/ic_star_solarized_24dp.xml b/app/src/main/res/drawable/ic_star_solarized_24dp.xml index 563443205..44d0fa14d 100644 --- a/app/src/main/res/drawable/ic_star_solarized_24dp.xml +++ b/app/src/main/res/drawable/ic_star_solarized_24dp.xml @@ -3,8 +3,9 @@ android:width="24dp" android:height="24dp" android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-0.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z" /> diff --git a/app/src/main/res/drawable/ic_star_white_24dp.xml b/app/src/main/res/drawable/ic_star_white_24dp.xml index fa1c999b0..c5faee574 100644 --- a/app/src/main/res/drawable/ic_star_white_24dp.xml +++ b/app/src/main/res/drawable/ic_star_white_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M12,17.27L18.18,21l-1.64,-7.03L22,9.24l-7.19,-0.61L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21z" /> diff --git a/app/src/main/res/drawable/ic_stop_24dp.xml b/app/src/main/res/drawable/ic_stop_24dp.xml index c428d728d..813007d50 100644 --- a/app/src/main/res/drawable/ic_stop_24dp.xml +++ b/app/src/main/res/drawable/ic_stop_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M6,6h12v12H6z" /> diff --git a/app/src/main/res/drawable/ic_tag_black_24dp.xml b/app/src/main/res/drawable/ic_tag_black_24dp.xml index 8b19fe422..8ccc6f6b6 100644 --- a/app/src/main/res/drawable/ic_tag_black_24dp.xml +++ b/app/src/main/res/drawable/ic_tag_black_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M21.41,11.58l-9,-9C12.05,2.22 11.55,2 11,2H4c-1.1,0 -2,0.9 -2,2v7c0,0.55 0.22,1.05 0.59,1.42l9,9c0.36,0.36 0.86,0.58 1.41,0.58 0.55,0 1.05,-0.22 1.41,-0.59l7,-7c0.37,-0.36 0.59,-0.86 0.59,-1.41 0,-0.55 -0.23,-1.06 -0.59,-1.42zM5.5,7C4.67,7 4,6.33 4,5.5S4.67,4 5.5,4 7,4.67 7,5.5 6.33,7 5.5,7z" /> diff --git a/app/src/main/res/drawable/ic_tag_white_24dp.xml b/app/src/main/res/drawable/ic_tag_white_24dp.xml index 0fc39f435..23fe80835 100644 --- a/app/src/main/res/drawable/ic_tag_white_24dp.xml +++ b/app/src/main/res/drawable/ic_tag_white_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M21.41,11.58l-9,-9C12.05,2.22 11.55,2 11,2H4c-1.1,0 -2,0.9 -2,2v7c0,0.55 0.22,1.05 0.59,1.42l9,9c0.36,0.36 0.86,0.58 1.41,0.58 0.55,0 1.05,-0.22 1.41,-0.59l7,-7c0.37,-0.36 0.59,-0.86 0.59,-1.41 0,-0.55 -0.23,-1.06 -0.59,-1.42zM5.5,7C4.67,7 4,6.33 4,5.5S4.67,4 5.5,4 7,4.67 7,5.5 6.33,7 5.5,7z" /> diff --git a/app/src/main/res/drawable/ic_undo_black_24dp.xml b/app/src/main/res/drawable/ic_undo_black_24dp.xml index 5558e37d7..ac5abe338 100644 --- a/app/src/main/res/drawable/ic_undo_black_24dp.xml +++ b/app/src/main/res/drawable/ic_undo_black_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M12.5,8c-2.65,0 -5.05,0.99 -6.9,2.6L2,7v9h9l-3.62,-3.62c1.39,-1.16 3.16,-1.88 5.12,-1.88 3.54,0 6.55,2.31 7.6,5.5l2.37,-0.78C21.08,11.03 17.15,8 12.5,8z" /> diff --git a/app/src/main/res/drawable/ic_undo_solarized_24dp.xml b/app/src/main/res/drawable/ic_undo_solarized_24dp.xml index 419ad7de6..c46dea89a 100644 --- a/app/src/main/res/drawable/ic_undo_solarized_24dp.xml +++ b/app/src/main/res/drawable/ic_undo_solarized_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M12.5,8c-2.65,0 -5.05,0.99 -6.9,2.6L2,7v9h9l-3.62,-3.62c1.39,-1.16 3.16,-1.88 5.12,-1.88 3.54,0 6.55,2.31 7.6,5.5l2.37,-0.78C21.08,11.03 17.15,8 12.5,8z" /> diff --git a/app/src/main/res/drawable/ic_undo_white_24dp.xml b/app/src/main/res/drawable/ic_undo_white_24dp.xml index d624b8b7e..cbf6037aa 100644 --- a/app/src/main/res/drawable/ic_undo_white_24dp.xml +++ b/app/src/main/res/drawable/ic_undo_white_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M12.5,8c-2.65,0 -5.05,0.99 -6.9,2.6L2,7v9h9l-3.62,-3.62c1.39,-1.16 3.16,-1.88 5.12,-1.88 3.54,0 6.55,2.31 7.6,5.5l2.37,-0.78C21.08,11.03 17.15,8 12.5,8z" /> diff --git a/app/src/main/res/drawable/ic_volume_up_24dp.xml b/app/src/main/res/drawable/ic_volume_up_24dp.xml index 755e46764..29ce66fae 100644 --- a/app/src/main/res/drawable/ic_volume_up_24dp.xml +++ b/app/src/main/res/drawable/ic_volume_up_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M3,9v6h4l5,5V4L7,9H3zm13.5,3c0,-1.77 -1.02,-3.29 -2.5,-4.03v8.05c1.48,-0.73 2.5,-2.25 2.5,-4.02zM14,3.23v2.06c2.89,0.86 5,3.54 5,6.71s-2.11,5.85 -5,6.71v2.06c4.01,-0.91 7,-4.49 7,-8.77s-2.99,-7.86 -7,-8.77z" /> diff --git a/app/src/main/res/drawable/ic_volume_up_solarized_24dp.xml b/app/src/main/res/drawable/ic_volume_up_solarized_24dp.xml index 24af9fd65..254792774 100644 --- a/app/src/main/res/drawable/ic_volume_up_solarized_24dp.xml +++ b/app/src/main/res/drawable/ic_volume_up_solarized_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M3,9v6h4l5,5V4L7,9H3zm13.5,3c0,-1.77 -1.02,-3.29 -2.5,-4.03v8.05c1.48,-0.73 2.5,-2.25 2.5,-4.02zM14,3.23v2.06c2.89,0.86 5,3.54 5,6.71s-2.11,5.85 -5,6.71v2.06c4.01,-0.91 7,-4.49 7,-8.77s-2.99,-7.86 -7,-8.77z" /> diff --git a/app/src/main/res/drawable/ic_volume_up_white_24dp.xml b/app/src/main/res/drawable/ic_volume_up_white_24dp.xml index af5880936..1626117db 100644 --- a/app/src/main/res/drawable/ic_volume_up_white_24dp.xml +++ b/app/src/main/res/drawable/ic_volume_up_white_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0" + android:tint="?colorControlNormal"> + android:pathData="M3,9v6h4l5,5V4L7,9H3zm13.5,3c0,-1.77 -1.02,-3.29 -2.5,-4.03v8.05c1.48,-0.73 2.5,-2.25 2.5,-4.02zM14,3.23v2.06c2.89,0.86 5,3.54 5,6.71s-2.11,5.85 -5,6.71v2.06c4.01,-0.91 7,-4.49 7,-8.77s-2.99,-7.86 -7,-8.77z" /> diff --git a/app/src/main/res/drawable/ic_warning_24dp.xml b/app/src/main/res/drawable/ic_warning_24dp.xml index 3c41b4983..1cf84b431 100644 --- a/app/src/main/res/drawable/ic_warning_24dp.xml +++ b/app/src/main/res/drawable/ic_warning_24dp.xml @@ -1,9 +1,10 @@ + android:width="24dp" + android:height="24dp" + android:tint="?colorControlNormal" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + android:fillColor="#FFFFFF" + android:pathData="M1,21h22L12,2 1,21zM13,18h-2v-2h2v2zM13,14h-2v-4h2v4z" /> diff --git a/app/src/main/res/layout/activity_main_appbar.xml b/app/src/main/res/layout/activity_main_appbar.xml index 790fc484e..9b77d2f35 100644 --- a/app/src/main/res/layout/activity_main_appbar.xml +++ b/app/src/main/res/layout/activity_main_appbar.xml @@ -1,6 +1,5 @@ - + android:layout_height="wrap_content"> + - + app:navigationIcon="@drawable/ic_menu_24dp" /> - + android:layout_height="14dp" + android:visibility="invisible" + android:indeterminate="true" + app:showAnimationBehavior="outward" + app:hideAnimationBehavior="inward" /> + + app:layout_behavior="@string/appbar_scrolling_view_behavior" /> diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index 72012c731..e23a5bfdc 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -22,17 +22,12 @@ @drawable/ic_menu_white_24dp - - - + + \ No newline at end of file diff --git a/app/src/main/res/values/shape.xml b/app/src/main/res/values/shape.xml new file mode 100644 index 000000000..58bbedbf0 --- /dev/null +++ b/app/src/main/res/values/shape.xml @@ -0,0 +1,18 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index d781ec5f1..427d00b8f 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,4 +1,118 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index b7f807856..2c44d1687 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -1,5 +1,5 @@ - + @@ -24,9 +24,7 @@ - - - - - - - - - - - - - - \ No newline at end of file From 0d76927f51b9415ce40253b1e0844e01758352bc Mon Sep 17 00:00:00 2001 From: proletarius101 Date: Tue, 26 Jan 2021 09:55:15 +0800 Subject: [PATCH 04/34] Fix progress bar 0 division --- .../main/java/fr/gaulupeau/apps/Poche/ui/MainActivity.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 046e279d8..708e95ab9 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 @@ -555,7 +555,10 @@ public void onUpdateArticlesProgressEvent(final UpdateArticlesProgressEvent even Log.d(TAG, "onUpdateArticlesProgressEvent()"); if (this.progressBar != null) { - this.progressBar.setProgressCompat(event.getCurrent() / event.getTotal(), true); + final int total = event.getTotal(); + if (total > 0) { + this.progressBar.setProgressCompat(event.getCurrent() / total, true); + } } } From abefa710237f258ef2675ab288794a7e16144ea7 Mon Sep 17 00:00:00 2001 From: proletarius101 Date: Tue, 26 Jan 2021 09:57:57 +0800 Subject: [PATCH 05/34] Fix tab bar and toolbar legibility --- app/src/main/res/values-night/themes.xml | 4 +-- app/src/main/res/values/styles.xml | 39 ++---------------------- app/src/main/res/values/themes.xml | 15 ++------- 3 files changed, 7 insertions(+), 51 deletions(-) diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index e23a5bfdc..fbec1238a 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -43,13 +43,13 @@ - - - - - - - - - - + - - diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 2c44d1687..f13bd9425 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -74,13 +74,7 @@ @style/Widget.Fortnightly.FloatingActionButton @style/Widget.Fortnightly.TextInputLayout - @style/Widget.App.TabLayout @style/Widget.App.Toolbar - @style/Widget.App.CircularProgressIndicator - - @style/Widget.App.LinearProgressIndicator - - - \ No newline at end of file From 9a21cc5b3c72fd411039e079456048f903800553 Mon Sep 17 00:00:00 2001 From: proletarius101 Date: Tue, 26 Jan 2021 10:17:32 +0800 Subject: [PATCH 06/34] Fix bottom stepper legibility --- .../layout/connection_wizard_framabag_config_fragment.xml | 4 ++-- .../layout/connection_wizard_generic_config_fragment.xml | 4 ++-- .../connection_wizard_provider_selection_fragment.xml | 4 ++-- .../main/res/layout/connection_wizard_summary_fragment.xml | 4 ++-- .../layout/connection_wizard_wallabagit_config_fragment.xml | 4 ++-- .../main/res/layout/connection_wizard_welcome_fragment.xml | 4 ++-- app/src/main/res/values-night/themes.xml | 4 ++-- app/src/main/res/values/themes.xml | 6 +++--- 8 files changed, 17 insertions(+), 17 deletions(-) diff --git a/app/src/main/res/layout/connection_wizard_framabag_config_fragment.xml b/app/src/main/res/layout/connection_wizard_framabag_config_fragment.xml index 0e823a780..0c41a109c 100644 --- a/app/src/main/res/layout/connection_wizard_framabag_config_fragment.xml +++ b/app/src/main/res/layout/connection_wizard_framabag_config_fragment.xml @@ -78,7 +78,7 @@ android:orientation="horizontal">