jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/373668 )
Change subject: Update and generalize design of onboarding cards for the Feed.
......................................................................
Update and generalize design of onboarding cards for the Feed.
(and specifically update the offline onboarding card.)
This removes the recently-added OnboardingCardView from the feed (which
was used for delivering the offline onboarding card), and instead
generalizes it to use the existing AnnouncementCardView, since the designs
are now identical.
An "Announcement" can now be constructed locally within the app (instead
of only from a content service response), and fed directly into an
announcement card in the feed.
This also introduces the idea of "local" app URLs, which are fake URLs
that can be plugged into the "action" of an announcement, and will cause
the affirmative button to take the user to the desired activity in the
app.
So, in addition to having static in-app onboarding cards, we'll now be
able to craft remote announcements that take the user to other specific
activities in the app, rather than only external links.
Bug: T172187
Bug: T140011
Change-Id: I2cb4d3e2caa19a42e236145fe0e01ec3d8532b5d
---
M app/src/main/java/org/wikipedia/feed/FeedFragment.java
M app/src/main/java/org/wikipedia/feed/announcement/Announcement.java
M app/src/main/java/org/wikipedia/feed/announcement/AnnouncementCardView.java
M app/src/main/java/org/wikipedia/feed/model/CardType.java
M app/src/main/java/org/wikipedia/feed/onboarding/OfflineOnboardingCard.java
M app/src/main/java/org/wikipedia/feed/onboarding/OnboardingCard.java
D app/src/main/java/org/wikipedia/feed/onboarding/OnboardingCardView.java
M app/src/main/java/org/wikipedia/feed/onboarding/OnboardingClient.java
M app/src/main/java/org/wikipedia/feed/view/FeedAdapter.java
M app/src/main/java/org/wikipedia/settings/Prefs.java
M app/src/main/java/org/wikipedia/util/UriUtil.java
M app/src/main/res/layout/view_card_announcement.xml
D app/src/main/res/layout/view_card_onboarding.xml
M app/src/main/res/values-qq/strings.xml
M app/src/main/res/values/strings.xml
M app/src/main/res/xml/developer_preferences.xml
16 files changed, 80 insertions(+), 174 deletions(-)
Approvals:
jenkins-bot: Verified
Mholloway: Looks good to me, approved
diff --git a/app/src/main/java/org/wikipedia/feed/FeedFragment.java
b/app/src/main/java/org/wikipedia/feed/FeedFragment.java
index d612688..0669d7d 100644
--- a/app/src/main/java/org/wikipedia/feed/FeedFragment.java
+++ b/app/src/main/java/org/wikipedia/feed/FeedFragment.java
@@ -28,7 +28,6 @@
import org.wikipedia.feed.image.FeaturedImageCard;
import org.wikipedia.feed.model.Card;
import org.wikipedia.feed.news.NewsItemCard;
-import org.wikipedia.feed.onboarding.OnboardingCard;
import org.wikipedia.feed.random.RandomCardView;
import org.wikipedia.feed.view.FeedAdapter;
import org.wikipedia.feed.view.FeedView;
@@ -412,7 +411,18 @@
@Override
public void onAnnouncementPositiveAction(@NonNull Card card, @NonNull
Uri uri) {
funnel.cardClicked(card.type());
- UriUtil.handleExternalLink(getContext(), uri);
+ if (uri.toString().equals(UriUtil.LOCAL_URL_OFFLINE_LIBRARY)) {
+ onViewCompilations();
+ } else if (uri.toString().equals(UriUtil.LOCAL_URL_LOGIN)) {
+ if (getCallback() != null) {
+ getCallback().onLoginRequested();
+ }
+ } else if (uri.toString().equals(UriUtil.LOCAL_URL_SETTINGS)) {
+
startActivityForResult(SettingsActivity.newIntent(getContext()),
+ SettingsActivity.ACTIVITY_REQUEST_SHOW_SETTINGS);
+ } else {
+ UriUtil.handleExternalLink(getContext(), uri);
+ }
}
@Override
@@ -440,13 +450,6 @@
ACTIVITY_REQUEST_OFFLINE_TUTORIAL);
} else {
startActivity(LocalCompilationsActivity.newIntent(getContext()));
- }
- }
-
- @Override
- public void onOnboardingPositiveAction(@NonNull Card card, @NonNull
OnboardingCard.OnboardingAction action) {
- if (action == OnboardingCard.OnboardingAction.OFFLINE_LIBRARY) {
- onViewCompilations();
}
}
}
diff --git
a/app/src/main/java/org/wikipedia/feed/announcement/Announcement.java
b/app/src/main/java/org/wikipedia/feed/announcement/Announcement.java
index 339215c..0f132de 100644
--- a/app/src/main/java/org/wikipedia/feed/announcement/Announcement.java
+++ b/app/src/main/java/org/wikipedia/feed/announcement/Announcement.java
@@ -17,7 +17,7 @@
import static org.apache.commons.lang3.StringUtils.defaultString;
-class Announcement extends BaseModel {
+public class Announcement extends BaseModel {
public static final String SURVEY = "survey";
public static final String FUNDRAISING = "fundraising";
@@ -32,6 +32,15 @@
@SuppressWarnings("unused,NullableProblems") @Required @NonNull private
String text;
@SuppressWarnings("unused") @Nullable private Action action;
+
+ public Announcement() { }
+
+ public Announcement(@NonNull String id, @NonNull String text, @NonNull
String imageUrl, @NonNull Action action) {
+ this.id = id;
+ this.text = text;
+ this.imageUrl = imageUrl;
+ this.action = action;
+ }
@NonNull String id() {
return id;
@@ -74,11 +83,11 @@
}
@NonNull String actionTitle() {
- return action.title();
+ return action != null ? action.title() : "";
}
@NonNull String actionUrl() {
- return action.url();
+ return action != null ? action.url() : "";
}
boolean hasFooterCaption() {
@@ -97,10 +106,15 @@
return defaultString(imageUrl);
}
- static class Action {
+ public static class Action {
@SuppressWarnings("unused,NullableProblems") @Required @NonNull
private String title;
@SuppressWarnings("unused,NullableProblems") @Required @NonNull
private String url;
+ public Action(@NonNull String title, @NonNull String url) {
+ this.title = title;
+ this.url = url;
+ }
+
@NonNull String title() {
return title;
}
diff --git
a/app/src/main/java/org/wikipedia/feed/announcement/AnnouncementCardView.java
b/app/src/main/java/org/wikipedia/feed/announcement/AnnouncementCardView.java
index 57be555..51c8058 100644
---
a/app/src/main/java/org/wikipedia/feed/announcement/AnnouncementCardView.java
+++
b/app/src/main/java/org/wikipedia/feed/announcement/AnnouncementCardView.java
@@ -5,6 +5,7 @@
import android.support.annotation.NonNull;
import android.text.TextUtils;
import android.text.method.LinkMovementMethod;
+import android.view.View;
import android.widget.TextView;
import org.wikipedia.R;
@@ -30,6 +31,7 @@
@BindView(R.id.view_announcement_action_positive) TextView
actionViewPositive;
@BindView(R.id.view_announcement_action_negative) TextView
actionViewNegative;
@BindView(R.id.view_announcement_footer_text) TextView footerTextView;
+ @BindView(R.id.view_announcement_footer_border) View footerBorderView;
public AnnouncementCardView(@NonNull Context context) {
super(context);
@@ -65,6 +67,9 @@
if (card.hasFooterCaption()) {
footerTextView.setText(StringUtil.fromHtml(card.footerCaption()));
+ } else {
+ footerTextView.setVisibility(GONE);
+ footerBorderView.setVisibility(GONE);
}
}
diff --git a/app/src/main/java/org/wikipedia/feed/model/CardType.java
b/app/src/main/java/org/wikipedia/feed/model/CardType.java
index 1310e9a..f8c39b3 100644
--- a/app/src/main/java/org/wikipedia/feed/model/CardType.java
+++ b/app/src/main/java/org/wikipedia/feed/model/CardType.java
@@ -13,7 +13,6 @@
import org.wikipedia.feed.news.NewsListCardView;
import org.wikipedia.feed.offline.OfflineCardView;
import org.wikipedia.feed.offline.OfflineCompilationCardView;
-import org.wikipedia.feed.onboarding.OnboardingCardView;
import org.wikipedia.feed.progress.ProgressCardView;
import org.wikipedia.feed.random.RandomCardView;
import org.wikipedia.feed.searchbar.SearchCardView;
@@ -93,7 +92,7 @@
},
ONBOARDING_OFFLINE(17) {
@NonNull @Override public FeedCardView<?> newView(@NonNull Context
ctx) {
- return new OnboardingCardView(ctx);
+ return new AnnouncementCardView(ctx);
}
},
OFFLINE(98) {
diff --git
a/app/src/main/java/org/wikipedia/feed/onboarding/OfflineOnboardingCard.java
b/app/src/main/java/org/wikipedia/feed/onboarding/OfflineOnboardingCard.java
index e8fb99c..c5f9164 100644
--- a/app/src/main/java/org/wikipedia/feed/onboarding/OfflineOnboardingCard.java
+++ b/app/src/main/java/org/wikipedia/feed/onboarding/OfflineOnboardingCard.java
@@ -1,45 +1,29 @@
package org.wikipedia.feed.onboarding;
-import android.net.Uri;
import android.support.annotation.NonNull;
import org.wikipedia.R;
+import org.wikipedia.feed.announcement.Announcement;
import org.wikipedia.feed.model.CardType;
import org.wikipedia.offline.OfflineManager;
import org.wikipedia.util.DeviceUtil;
import org.wikipedia.util.ReleaseUtil;
public class OfflineOnboardingCard extends OnboardingCard {
+ public OfflineOnboardingCard(@NonNull Announcement announcement) {
+ super(announcement);
+ }
+
@NonNull @Override public CardType type() {
return CardType.ONBOARDING_OFFLINE;
}
- @Override public boolean shouldShow() {
+ public boolean shouldShow() {
// TODO: remove pre-beta flag when ready.
return super.shouldShow() && ReleaseUtil.isPreBetaRelease() &&
DeviceUtil.isOnline() && !OfflineManager.hasCompilation();
}
@Override public int prefKey() {
return R.string.preference_key_offline_onboarding_card_enabled;
- }
-
- @NonNull @Override public OnboardingAction action() {
- return OnboardingAction.OFFLINE_LIBRARY;
- }
-
- @Override public int positiveText() {
- return R.string.offline_library_onboarding_action;
- }
-
- @Override public int headerText() {
- return R.string.offline_library_title;
- }
-
- @Override public int headerImage() {
- return R.drawable.ic_offline_white_24dp;
- }
-
- @NonNull @Override public Uri fullImage() {
- return
Uri.parse("https://upload.wikimedia.org/wikipedia/commons/1/1c/Illustration_offline_onboarding.png");
}
}
diff --git
a/app/src/main/java/org/wikipedia/feed/onboarding/OnboardingCard.java
b/app/src/main/java/org/wikipedia/feed/onboarding/OnboardingCard.java
index 739726b..11c2591 100644
--- a/app/src/main/java/org/wikipedia/feed/onboarding/OnboardingCard.java
+++ b/app/src/main/java/org/wikipedia/feed/onboarding/OnboardingCard.java
@@ -1,29 +1,18 @@
package org.wikipedia.feed.onboarding;
-import android.net.Uri;
-import android.support.annotation.DrawableRes;
import android.support.annotation.NonNull;
import android.support.annotation.StringRes;
-import org.wikipedia.feed.model.Card;
+import org.wikipedia.feed.announcement.Announcement;
+import org.wikipedia.feed.announcement.AnnouncementCard;
import org.wikipedia.settings.PrefsIoUtil;
-public abstract class OnboardingCard extends Card {
- public enum OnboardingAction {
- OFFLINE_LIBRARY
+public abstract class OnboardingCard extends AnnouncementCard {
+ public OnboardingCard(@NonNull Announcement announcement) {
+ super(announcement);
}
@StringRes public abstract int prefKey();
-
- @NonNull public abstract OnboardingAction action();
-
- @StringRes public abstract int positiveText();
-
- @StringRes public abstract int headerText();
-
- @DrawableRes public abstract int headerImage();
-
- @NonNull public abstract Uri fullImage();
public boolean shouldShow() {
return PrefsIoUtil.getBoolean(prefKey(), true);
@@ -36,5 +25,4 @@
@Override public void onRestore() {
PrefsIoUtil.setBoolean(prefKey(), true);
}
-
}
diff --git
a/app/src/main/java/org/wikipedia/feed/onboarding/OnboardingCardView.java
b/app/src/main/java/org/wikipedia/feed/onboarding/OnboardingCardView.java
deleted file mode 100644
index 0a074f1..0000000
--- a/app/src/main/java/org/wikipedia/feed/onboarding/OnboardingCardView.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.wikipedia.feed.onboarding;
-
-import android.content.Context;
-import android.support.annotation.NonNull;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import com.facebook.drawee.view.SimpleDraweeView;
-
-import org.wikipedia.R;
-import org.wikipedia.feed.model.Card;
-import org.wikipedia.feed.view.DefaultFeedCardView;
-import org.wikipedia.views.ItemTouchHelperSwipeAdapter;
-
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import butterknife.OnClick;
-
-public class OnboardingCardView extends DefaultFeedCardView<OnboardingCard>
- implements ItemTouchHelperSwipeAdapter.SwipeableView {
- public interface Callback {
- void onOnboardingPositiveAction(@NonNull Card card, @NonNull
OnboardingCard.OnboardingAction action);
- }
-
- @BindView(R.id.onboarding_card_image) SimpleDraweeView imageView;
- @BindView(R.id.onboarding_card_header_image) ImageView headerImageView;
- @BindView(R.id.onboarding_card_header_title) TextView headerTitleView;
- @BindView(R.id.onboarding_card_action_positive) TextView
actionViewPositive;
-
- public OnboardingCardView(@NonNull Context context) {
- super(context);
- inflate(context, R.layout.view_card_onboarding, this);
- ButterKnife.bind(this);
- }
-
- @Override public void setCard(@NonNull OnboardingCard card) {
- super.setCard(card);
-
- headerImageView.setImageResource(card.headerImage());
- headerTitleView.setText(card.headerText());
- imageView.setImageURI(card.fullImage());
- actionViewPositive.setText(card.positiveText());
- }
-
- @OnClick(R.id.onboarding_card_action_positive)
- void onPositiveActionClick() {
- if (getCallback() != null && getCard() != null) {
- getCallback().onOnboardingPositiveAction(getCard(),
getCard().action());
- }
- }
-}
diff --git
a/app/src/main/java/org/wikipedia/feed/onboarding/OnboardingClient.java
b/app/src/main/java/org/wikipedia/feed/onboarding/OnboardingClient.java
index 5ebff8e..b0a48d4 100644
--- a/app/src/main/java/org/wikipedia/feed/onboarding/OnboardingClient.java
+++ b/app/src/main/java/org/wikipedia/feed/onboarding/OnboardingClient.java
@@ -3,9 +3,12 @@
import android.content.Context;
import android.support.annotation.NonNull;
+import org.wikipedia.R;
import org.wikipedia.dataclient.WikiSite;
+import org.wikipedia.feed.announcement.Announcement;
import org.wikipedia.feed.dataclient.FeedClient;
import org.wikipedia.feed.model.Card;
+import org.wikipedia.util.UriUtil;
import java.util.ArrayList;
import java.util.List;
@@ -14,10 +17,17 @@
@Override public void request(@NonNull Context context, @NonNull WikiSite
wiki, int age,
@NonNull FeedClient.Callback cb) {
List<Card> cards = new ArrayList<>();
- OnboardingCard card = new OfflineOnboardingCard();
+
+ OnboardingCard card = new OfflineOnboardingCard(new Announcement(
+ "offlineOnboardingCard1",
+ context.getString(R.string.offline_library_onboarding_text),
+
"https://upload.wikimedia.org/wikipedia/commons/5/5b/Illustration-OfflineLibraryPromo2_3x.png",
+ new
Announcement.Action(context.getString(R.string.offline_library_onboarding_action),
+ UriUtil.LOCAL_URL_OFFLINE_LIBRARY)));
if (card.shouldShow()) {
- cards.add(new OfflineOnboardingCard());
+ cards.add(card);
}
+
cb.success(cards);
}
diff --git a/app/src/main/java/org/wikipedia/feed/view/FeedAdapter.java
b/app/src/main/java/org/wikipedia/feed/view/FeedAdapter.java
index 0fa1d3f..99195f4 100644
--- a/app/src/main/java/org/wikipedia/feed/view/FeedAdapter.java
+++ b/app/src/main/java/org/wikipedia/feed/view/FeedAdapter.java
@@ -17,7 +17,6 @@
import org.wikipedia.feed.news.NewsListCardView;
import org.wikipedia.feed.offline.OfflineCardView;
import org.wikipedia.feed.offline.OfflineCompilationCardView;
-import org.wikipedia.feed.onboarding.OnboardingCardView;
import org.wikipedia.feed.random.RandomCardView;
import org.wikipedia.feed.searchbar.SearchCardView;
import org.wikipedia.views.DefaultRecyclerAdapter;
@@ -29,8 +28,7 @@
ListCardItemView.Callback, CardHeaderView.Callback,
FeaturedImageCardView.Callback, SearchCardView.Callback,
NewsListCardView.Callback,
AnnouncementCardView.Callback, FeaturedArticleCardView.Callback,
- RandomCardView.Callback, OfflineCompilationCardView.Callback,
- OnboardingCardView.Callback {
+ RandomCardView.Callback, OfflineCompilationCardView.Callback {
void onShowCard(@Nullable Card card);
void onRequestMore();
void onRetryFromOffline();
diff --git a/app/src/main/java/org/wikipedia/settings/Prefs.java
b/app/src/main/java/org/wikipedia/settings/Prefs.java
index 7f775c8..145ab09 100644
--- a/app/src/main/java/org/wikipedia/settings/Prefs.java
+++ b/app/src/main/java/org/wikipedia/settings/Prefs.java
@@ -219,11 +219,15 @@
remove(R.string.preference_key_tabs);
}
- public static Set<String> getHiddenCards() {
+ @NonNull public static Set<String> getHiddenCards() {
Set<String> emptySet = new LinkedHashSet<>();
+ if (!hasHiddenCards()) {
+ return emptySet;
+ }
//noinspection unchecked
- return hasHiddenCards() ?
GsonUnmarshaller.unmarshal(emptySet.getClass(),
- getString(R.string.preference_key_feed_hidden_cards, null)) :
emptySet;
+ Set<String> cards = GsonUnmarshaller.unmarshal(emptySet.getClass(),
+ getString(R.string.preference_key_feed_hidden_cards, null));
+ return cards != null ? cards : emptySet;
}
public static void setHiddenCards(@NonNull Set<String> cards) {
diff --git a/app/src/main/java/org/wikipedia/util/UriUtil.java
b/app/src/main/java/org/wikipedia/util/UriUtil.java
index 574e5bb..63f3251 100644
--- a/app/src/main/java/org/wikipedia/util/UriUtil.java
+++ b/app/src/main/java/org/wikipedia/util/UriUtil.java
@@ -23,6 +23,9 @@
import static
org.wikipedia.zero.WikipediaZeroHandler.showZeroExitInterstitialDialog;
public final class UriUtil {
+ public static final String LOCAL_URL_OFFLINE_LIBRARY = "#offlinelibrary";
+ public static final String LOCAL_URL_SETTINGS = "#settings";
+ public static final String LOCAL_URL_LOGIN = "#login";
/**
* Decodes a URL-encoded string into its UTF-8 equivalent. If the string
cannot be decoded, the
diff --git a/app/src/main/res/layout/view_card_announcement.xml
b/app/src/main/res/layout/view_card_announcement.xml
index 5096b11..d886e4a 100644
--- a/app/src/main/res/layout/view_card_announcement.xml
+++ b/app/src/main/res/layout/view_card_announcement.xml
@@ -30,6 +30,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
+ android:layout_marginBottom="12dp"
android:paddingLeft="16dp"
android:paddingRight="16dp">
@@ -50,9 +51,9 @@
</LinearLayout>
<View
+ android:id="@+id/view_announcement_footer_border"
android:layout_width="match_parent"
android:layout_height="1dp"
- android:layout_marginTop="12dp"
android:background="@color/feed_image_border"/>
<TextView
diff --git a/app/src/main/res/layout/view_card_onboarding.xml
b/app/src/main/res/layout/view_card_onboarding.xml
deleted file mode 100644
index 561f826..0000000
--- a/app/src/main/res/layout/view_card_onboarding.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical">
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:padding="12dp">
-
- <android.support.v7.widget.AppCompatImageView
- android:id="@+id/onboarding_card_header_image"
- android:layout_width="24dp"
- android:layout_height="24dp"
- android:layout_gravity="center"
- android:layout_marginStart="4dp"
- android:layout_marginLeft="4dp"
- android:padding="3dp"
- app:srcCompat="@drawable/ic_offline_white_24dp"
- android:tint="@android:color/white"
- android:background="@drawable/shape_circle"
- app:backgroundTint="@color/base20"
- android:contentDescription="@null"/>
-
- <TextView
- android:id="@+id/onboarding_card_header_title"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:layout_marginStart="8dp"
- android:layout_marginLeft="8dp"
- android:fontFamily="sans-serif-medium"
- android:textColor="?attr/feed_text_secondary_color"
- tools:text="Lorem ipsum"/>
-
- </LinearLayout>
-
- <com.facebook.drawee.view.SimpleDraweeView
- android:id="@+id/onboarding_card_image"
- style="@style/SimpleDraweeViewPlaceholder"
- android:layout_width="match_parent"
- android:layout_height="178dp"
- android:contentDescription="@null" />
-
- <TextView
- android:id="@+id/onboarding_card_action_positive"
- style="@style/Widget.AppCompat.Button.Borderless"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal"
- android:layout_margin="4dp"
- android:textColor="?attr/feed_text_tertiary_color"
- tools:text="Lorem ipsum"/>
-
-</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values-qq/strings.xml
b/app/src/main/res/values-qq/strings.xml
index e465ca2..6add672 100644
--- a/app/src/main/res/values-qq/strings.xml
+++ b/app/src/main/res/values-qq/strings.xml
@@ -456,6 +456,7 @@
<string name="offline_library_empty_description">Explanation encouraging the
user to download an article pack for offline use later.</string>
<string name="offline_library_empty_search">Button label for searching the
list of possible article packs to download.</string>
<string name="offline_library_search_results_state">Label informing the user
that the current search results are from one or more offline article
packs.</string>
+ <string name="offline_library_onboarding_text">Introductory text that
explains the purpose of the Offline Library to the user.</string>
<string name="offline_library_onboarding_action">Button label for
discovering more about the Offline Library.</string>
<string name="offline_library_onboarding_button_done">Label for a button for
the user to confirm that the user is done with the tutorial for the Offline
Library.</string>
<string name="offline_library_onboarding_build_library_title">Title for a
tutorial screen about the Offline Library feature.</string>
diff --git a/app/src/main/res/values/strings.xml
b/app/src/main/res/values/strings.xml
index 79d2a11..c235df8 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -509,7 +509,8 @@
<string name="offline_library_empty_description">Choose a pack of
Wikipedia articles to download now, for data-free access later.</string>
<string name="offline_library_empty_search">Search Offline Library</string>
<string name="offline_library_search_results_state">Search results from
available offline library</string>
- <string name="offline_library_onboarding_action">Learn about your Offline
Library</string>
+ <string name="offline_library_onboarding_action">Find out more</string>
+ <string name="offline_library_onboarding_text">Introducing Offline Library
— download article packs now for offline reading later.</string>
<string name="offline_library_onboarding_button_done">Done</string>
<string name="offline_library_onboarding_build_library_title">Build your
Offline Library</string>
<string name="offline_library_onboarding_build_library_subtitle">Download
Wikipedia article packs now for data-free access later.</string>
diff --git a/app/src/main/res/xml/developer_preferences.xml
b/app/src/main/res/xml/developer_preferences.xml
index 3c50572..7e725a1 100644
--- a/app/src/main/res/xml/developer_preferences.xml
+++ b/app/src/main/res/xml/developer_preferences.xml
@@ -184,6 +184,11 @@
android:key="@string/preference_key_zero_tutorial_enabled"
android:title="@string/preference_key_zero_tutorial_enabled" />
+ <org.wikipedia.settings.EditTextAutoSummarizePreference
+ style="@style/DataStringPreference"
+ android:key="@string/preference_key_feed_hidden_cards"
+ android:title="@string/preference_key_feed_hidden_cards"/>
+
</PreferenceCategory>
<PreferenceCategory
--
To view, visit https://gerrit.wikimedia.org/r/373668
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I2cb4d3e2caa19a42e236145fe0e01ec3d8532b5d
Gerrit-PatchSet: 7
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Dbrant <[email protected]>
Gerrit-Reviewer: Brion VIBBER <[email protected]>
Gerrit-Reviewer: Cooltey <[email protected]>
Gerrit-Reviewer: Dbrant <[email protected]>
Gerrit-Reviewer: Mholloway <[email protected]>
Gerrit-Reviewer: Sharvaniharan <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits