From 7ccf4876cdd3ea2509dcf637096ac623db78bfad Mon Sep 17 00:00:00 2001 From: Alex Sytnyk Date: Wed, 11 Apr 2018 13:42:50 +0300 Subject: [PATCH 1/4] Make buttons background borderless in wikivoyage_article_card --- OsmAnd/res/layout/wikivoyage_article_card.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/layout/wikivoyage_article_card.xml b/OsmAnd/res/layout/wikivoyage_article_card.xml index 1f96e9c12b..772d8fbd96 100644 --- a/OsmAnd/res/layout/wikivoyage_article_card.xml +++ b/OsmAnd/res/layout/wikivoyage_article_card.xml @@ -89,7 +89,7 @@ android:layout_height="wrap_content" android:layout_marginLeft="@dimen/bottom_sheet_content_padding_small" android:layout_marginStart="@dimen/bottom_sheet_content_padding_small" - android:background="?attr/selectableItemBackground" + android:background="?attr/selectableItemBackgroundBorderless" android:drawablePadding="@dimen/bottom_sheet_content_padding_small" android:ellipsize="end" android:gravity="center_vertical" @@ -118,7 +118,7 @@ android:layout_height="wrap_content" android:layout_marginEnd="@dimen/bottom_sheet_content_padding_small" android:layout_marginRight="@dimen/bottom_sheet_content_padding_small" - android:background="?attr/selectableItemBackground" + android:background="?attr/selectableItemBackgroundBorderless" android:drawablePadding="@dimen/bottom_sheet_content_padding_small" android:ellipsize="end" android:gravity="center_vertical" From cecb6a7ee00293f64e5bbf6e7913cbac8ad1f007 Mon Sep 17 00:00:00 2001 From: Dmitriy Prodchenko Date: Wed, 11 Apr 2018 14:22:02 +0300 Subject: [PATCH 2/4] Add images for new Travel cards --- .../img_help_wikivoyage_articles.webp | Bin 0 -> 10360 bytes .../img_help_wikivoyage_contribute.webp | Bin 0 -> 8858 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 OsmAnd/res/drawable-xxhdpi/img_help_wikivoyage_articles.webp create mode 100644 OsmAnd/res/drawable-xxhdpi/img_help_wikivoyage_contribute.webp diff --git a/OsmAnd/res/drawable-xxhdpi/img_help_wikivoyage_articles.webp b/OsmAnd/res/drawable-xxhdpi/img_help_wikivoyage_articles.webp new file mode 100644 index 0000000000000000000000000000000000000000..28172ab9005ae29ab31d56c9100078f8b09bbea1 GIT binary patch literal 10360 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 z zkEwB7@@suRQ=vMoDbt5~5%_V-Iam=4tbyu@7^2O&gnaPdmrYNNi9Y717?82Z$aqEj zw_nnonq`3ITt-wB@gQZ-uBQ6XhrWzG7BQ0(`g)Aw=hBCz3ArxS(2u4oxk!qMKBsD4 zizbU%#-p#_!P#e3fu2glxrmtSjyLltfh*L(!$?aixB<2|^1C89v zkaQh-FwxO4IhR6g^z&5@zSi5&MaiA06Y~_+A&b~%410S9Lwg=NL_-#F$>CUcGXs2o zY-_FbD_`ne$RLhc7z!)626~u;N}zfeWekbA@WCN&Vg~w`b{e31c;w|x@&tui1zoy? zgLn({Fr~yq(JKu?B#7)Eas|`84N@vTG7`npnptI$o_n;55xz=_ zV3Ub@#q|{Uqn(i7tKts$rCLb^H0N?B+V*z${ln1~!10*7A5{u#i`~&W9%T+u80A^XF z>7y<8vqMt;k{wH6|E9120Q|F`hHlALDH4D`z&2IVfiv3!aLy!!Y0Lv~gh2sqGle7< zg96HK$6$fM3|`?M3=(LYlr0PrD1XFYus|Xh`M>&K{qGEYc?4Ku2AeVbWCYAuI;WKY z#bD(B>VH2{Cz_xCr~X&}tN&FcE;dZzyRmY^@&mVJ^C^0r<*6Gh|NYo2s{hshz9-fj zue1D<`d|I8{#XASai9x@Vy*Jg$#JvAFK}E3ZJlh13eo{AB9t*gPGK0KNf)5;gA9zI zg4h723@Fk8GV6cD(~c1A$&FA?R&yo%S4BR7DFTYv0GYLAjQOXoWFpw&WHmQ}?&0lE z4^b+eltuWlD*NZNA_s^BI6ZYZFtwC&wlRs$(bOljoCc$gD&M0C{l1sb-2JaRtQICNI=&K^ Date: Wed, 11 Apr 2018 14:30:50 +0300 Subject: [PATCH 3/4] Add the ability to undo deletion from saved articles list --- .../fragment_wikivoyage_explore_dialog.xml | 13 ++++++++++--- OsmAnd/res/values/strings.xml | 1 + .../data/WikivoyageLocalDataHelper.java | 8 ++++++++ .../explore/SavedArticlesRvAdapter.java | 16 ++++++++++++++-- 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/OsmAnd/res/layout/fragment_wikivoyage_explore_dialog.xml b/OsmAnd/res/layout/fragment_wikivoyage_explore_dialog.xml index a86d95c526..4aebb85196 100644 --- a/OsmAnd/res/layout/fragment_wikivoyage_explore_dialog.xml +++ b/OsmAnd/res/layout/fragment_wikivoyage_explore_dialog.xml @@ -103,10 +103,17 @@ - + + android:layout_height="wrap_content"> + + + + diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 93caea7dd7..5df3842b5d 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -9,6 +9,7 @@ 3. All your modified/created strings are in the top of the file (to make easier find what\'s translated). PLEASE: Have a look at http://code.google.com/p/osmand/wiki/UIConsistency, it may really improve your and our work :-) Thx - Hardy --> + Article removed Search: Country, City, Province Read Saved articles diff --git a/OsmAnd/src/net/osmand/plus/wikivoyage/data/WikivoyageLocalDataHelper.java b/OsmAnd/src/net/osmand/plus/wikivoyage/data/WikivoyageLocalDataHelper.java index 86b35bdca7..cea8117ebf 100644 --- a/OsmAnd/src/net/osmand/plus/wikivoyage/data/WikivoyageLocalDataHelper.java +++ b/OsmAnd/src/net/osmand/plus/wikivoyage/data/WikivoyageLocalDataHelper.java @@ -109,6 +109,14 @@ public class WikivoyageLocalDataHelper { } } + public void restoreSavedArticle(@NonNull WikivoyageArticle article) { + if (!isArticleSaved(article)) { + savedArticles.add(article); + dbHelper.addSavedArticle(article); + notifySavedUpdated(); + } + } + public void removeArticleFromSaved(@NonNull WikivoyageArticle article) { WikivoyageArticle savedArticle = getArticle(article.cityId, article.lang); if (savedArticle != null) { diff --git a/OsmAnd/src/net/osmand/plus/wikivoyage/explore/SavedArticlesRvAdapter.java b/OsmAnd/src/net/osmand/plus/wikivoyage/explore/SavedArticlesRvAdapter.java index 4984d2102b..2c1bb0709c 100644 --- a/OsmAnd/src/net/osmand/plus/wikivoyage/explore/SavedArticlesRvAdapter.java +++ b/OsmAnd/src/net/osmand/plus/wikivoyage/explore/SavedArticlesRvAdapter.java @@ -3,6 +3,7 @@ package net.osmand.plus.wikivoyage.explore; import android.graphics.drawable.Drawable; import android.support.annotation.NonNull; import android.support.annotation.Nullable; +import android.support.design.widget.Snackbar; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; @@ -10,6 +11,7 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; +import net.osmand.AndroidUtils; import net.osmand.plus.IconsCache; import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; @@ -129,7 +131,7 @@ public class SavedArticlesRvAdapter extends RecyclerView.Adapter Date: Wed, 11 Apr 2018 14:53:34 +0300 Subject: [PATCH 4/4] Improve updating of saved articles list --- .../plus/wikivoyage/explore/SavedArticlesTabFragment.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/OsmAnd/src/net/osmand/plus/wikivoyage/explore/SavedArticlesTabFragment.java b/OsmAnd/src/net/osmand/plus/wikivoyage/explore/SavedArticlesTabFragment.java index 65364c1b81..f904de5af2 100644 --- a/OsmAnd/src/net/osmand/plus/wikivoyage/explore/SavedArticlesTabFragment.java +++ b/OsmAnd/src/net/osmand/plus/wikivoyage/explore/SavedArticlesTabFragment.java @@ -122,6 +122,9 @@ public class SavedArticlesTabFragment extends BaseOsmAndFragment implements Wiki if (oldItem instanceof String && newItem instanceof String) { return false; } else if (oldItem instanceof WikivoyageArticle && newItem instanceof WikivoyageArticle) { + if (newItemPosition == newItems.size() - 1 && lastItemChanged()) { + return false; + } WikivoyageArticle oldArticle = (WikivoyageArticle) oldItem; WikivoyageArticle newArticle = (WikivoyageArticle) newItem; return oldArticle.getCityId() == newArticle.getCityId() @@ -129,5 +132,9 @@ public class SavedArticlesTabFragment extends BaseOsmAndFragment implements Wiki } return false; } + + private boolean lastItemChanged() { + return newItems.get(newItems.size() - 1) != oldItems.get(oldItems.size() - 1); + } } }