Mholloway has uploaded a new change for review.
https://gerrit.wikimedia.org/r/325695
Change subject: Description editing tutorial, pt. 2
......................................................................
Description editing tutorial, pt. 2
Adds UI components.
TODO (in a later revision or follow-up patch):
* Finalize drawable resources (see discussion on T148205)
* Make scrolling work when needed -- I tried using ScrollViews as in
view_description_edit_success.xml, both nested within and outside the
ViewPager, but couldn't get vertical scrolling working when needed
(e.g., in landscape mode on a phone).
It seems like a custom component might be needed.
* ViewPager position indicator (is there really no native component for
this in the SDK)?
* Landscape layout on a phone could probably use work
* View tests.
Bug: T148205
Change-Id: I19bad041204de801239e6996e80fe4caa5338b99
---
M app/src/main/AndroidManifest.xml
M
app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialActivity.java
M
app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialFragment.java
M
app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialPagerAdapter.java
A app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialView.java
A
app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewCallback.java
A
app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewFirst.java
D
app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewPager.java
A
app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewSecond.java
A app/src/main/res/drawable/description_edit_tutorial_background.xml
A app/src/main/res/drawable/ic_illustration_description_onboard_1.xml
A app/src/main/res/drawable/ic_illustration_description_onboard_2.xml
M app/src/main/res/layout/fragment_description_edit_tutorial.xml
M app/src/main/res/layout/view_description_edit_tutorial_1.xml
M app/src/main/res/layout/view_description_edit_tutorial_2.xml
M app/src/main/res/values-qq/strings.xml
M app/src/main/res/values/strings.xml
M app/src/main/res/values/strings_no_translate.xml
18 files changed, 434 insertions(+), 51 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/95/325695/1
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2c7f60d..77005ef 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -165,6 +165,10 @@
android:theme="@style/AppTheme.TranslucentDark"
android:windowSoftInputMode="stateAlwaysHidden" />
+ <activity
+ android:name=".descriptions.DescriptionEditTutorialActivity"
+ android:theme="@style/PageTheme"/>
+
<provider
android:authorities="${applicationId}"
android:name=".database.AppContentProvider"
diff --git
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialActivity.java
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialActivity.java
index 693a0c0..422f080 100644
---
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialActivity.java
+++
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialActivity.java
@@ -4,10 +4,10 @@
import android.content.Intent;
import android.support.annotation.NonNull;
-import org.wikipedia.activity.SingleFragmentActivity;
+import org.wikipedia.activity.SingleFragmentActivityTransparent;
public class DescriptionEditTutorialActivity
- extends SingleFragmentActivity<DescriptionEditTutorialFragment>
+ extends
SingleFragmentActivityTransparent<DescriptionEditTutorialFragment>
implements DescriptionEditTutorialFragment.Callback {
public static Intent newIntent(@NonNull Context context) {
diff --git
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialFragment.java
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialFragment.java
index 38a5e57..f52ff33 100644
---
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialFragment.java
+++
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialFragment.java
@@ -3,6 +3,7 @@
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
+import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -14,9 +15,8 @@
import butterknife.ButterKnife;
import butterknife.Unbinder;
-public class DescriptionEditTutorialFragment extends Fragment
- implements DescriptionEditTutorialViewPager.Callback {
- @BindView(R.id.description_edit_tutorial_view_pager)
DescriptionEditTutorialViewPager viewPager;
+public class DescriptionEditTutorialFragment extends Fragment implements
DescriptionEditTutorialViewCallback {
+ @BindView(R.id.description_edit_tutorial_view_pager) ViewPager viewPager;
private Unbinder unbinder;
public interface Callback {
@@ -31,19 +31,17 @@
super.onCreateView(inflater, container, savedInstanceState);
View view =
inflater.inflate(R.layout.fragment_description_edit_tutorial, container, false);
unbinder = ButterKnife.bind(this, view);
- viewPager.setAdapter(new
DescriptionEditTutorialPagerAdapter(getContext()));
- viewPager.setCallback(this);
+ viewPager.setAdapter(new
DescriptionEditTutorialPagerAdapter(getContext(), this));
return view;
}
@Override public void onDestroyView() {
- viewPager.setCallback(null);
unbinder.unbind();
unbinder = null;
super.onDestroyView();
}
- @Override public void onDismissClick() {
+ @Override public void onStartEditingClick() {
if (callback() != null) {
callback().onDismissClick();
}
diff --git
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialPagerAdapter.java
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialPagerAdapter.java
index 4b8f2c1..92aebb7 100644
---
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialPagerAdapter.java
+++
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialPagerAdapter.java
@@ -1,24 +1,33 @@
package org.wikipedia.descriptions;
import android.content.Context;
+import android.support.annotation.NonNull;
import android.support.v4.view.PagerAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.LinearLayout;
+
+import butterknife.ButterKnife;
class DescriptionEditTutorialPagerAdapter extends PagerAdapter {
+ private DescriptionEditTutorialViewCallback cb;
private Context context;
- DescriptionEditTutorialPagerAdapter(Context context) {
+ DescriptionEditTutorialPagerAdapter(@NonNull Context context,
+ @NonNull
DescriptionEditTutorialViewCallback cb) {
this.context = context;
+ this.cb = cb;
}
@Override public Object instantiateItem(ViewGroup container, int position)
{
LayoutInflater inflater = LayoutInflater.from(context);
DescriptionEditTutorialPage tutorialPage =
DescriptionEditTutorialPage.of(position);
- ViewGroup layout = (ViewGroup)
inflater.inflate(tutorialPage.getLayout(), container, false);
+ LinearLayout layout = (LinearLayout)
inflater.inflate(tutorialPage.getLayout(), container, false);
+ ButterKnife.bind(layout);
container.addView(layout);
+ ((DescriptionEditTutorialView) layout).setCallback(cb);
return layout;
}
diff --git
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialView.java
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialView.java
new file mode 100644
index 0000000..bba47b8
--- /dev/null
+++
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialView.java
@@ -0,0 +1,7 @@
+package org.wikipedia.descriptions;
+
+import android.support.annotation.Nullable;
+
+interface DescriptionEditTutorialView {
+ void setCallback(@Nullable DescriptionEditTutorialViewCallback callback);
+}
diff --git
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewCallback.java
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewCallback.java
new file mode 100644
index 0000000..dd36588
--- /dev/null
+++
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewCallback.java
@@ -0,0 +1,6 @@
+package org.wikipedia.descriptions;
+
+interface DescriptionEditTutorialViewCallback {
+ void onContinueClick();
+ void onStartEditingClick();
+}
diff --git
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewFirst.java
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewFirst.java
new file mode 100644
index 0000000..b69954d
--- /dev/null
+++
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewFirst.java
@@ -0,0 +1,44 @@
+package org.wikipedia.descriptions;
+
+import android.annotation.TargetApi;
+import android.content.Context;
+import android.os.Build;
+import android.support.annotation.Nullable;
+import android.util.AttributeSet;
+import android.widget.LinearLayout;
+
+import org.wikipedia.R;
+
+import butterknife.OnClick;
+
+public class DescriptionEditTutorialViewFirst extends LinearLayout implements
DescriptionEditTutorialView{
+
+ private DescriptionEditTutorialViewCallback callback;
+
+ public DescriptionEditTutorialViewFirst(Context context) {
+ super(context);
+ }
+
+ public DescriptionEditTutorialViewFirst(Context context, AttributeSet
attrs) {
+ super(context, attrs);
+ }
+
+ public DescriptionEditTutorialViewFirst(Context context, AttributeSet
attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ }
+
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP)
+ public DescriptionEditTutorialViewFirst(Context context, AttributeSet
attrs, int defStyleAttr, int defStyleRes) {
+ super(context, attrs, defStyleAttr, defStyleRes);
+ }
+
+ @OnClick(R.id.description_edit_tutorial_continue) void onContinueClick() {
+ if (callback != null) {
+ callback.onContinueClick();
+ }
+ }
+
+ @Override public void setCallback(@Nullable
DescriptionEditTutorialViewCallback callback) {
+ this.callback = callback;
+ }
+}
diff --git
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewPager.java
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewPager.java
deleted file mode 100644
index a792c41..0000000
---
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewPager.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.wikipedia.descriptions;
-
-import android.content.Context;
-import android.support.annotation.Nullable;
-import android.support.v4.view.ViewPager;
-import android.util.AttributeSet;
-
-public class DescriptionEditTutorialViewPager extends ViewPager {
- //TODO: Wire up buttons here
-
- @Nullable private Callback callback;
-
- public interface Callback {
- void onContinueClick();
- void onDismissClick();
- }
-
- public DescriptionEditTutorialViewPager(Context context) {
- super(context);
- //init();
- }
-
- public DescriptionEditTutorialViewPager(Context context, AttributeSet
attrs) {
- super(context, attrs);
- //init();
- }
-
- void setCallback(@Nullable Callback callback) {
- this.callback = callback;
- }
-}
diff --git
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewSecond.java
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewSecond.java
new file mode 100644
index 0000000..3bcdd77
--- /dev/null
+++
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewSecond.java
@@ -0,0 +1,44 @@
+package org.wikipedia.descriptions;
+
+import android.annotation.TargetApi;
+import android.content.Context;
+import android.os.Build;
+import android.support.annotation.Nullable;
+import android.util.AttributeSet;
+import android.widget.LinearLayout;
+
+import org.wikipedia.R;
+
+import butterknife.OnClick;
+
+public class DescriptionEditTutorialViewSecond extends LinearLayout implements
DescriptionEditTutorialView {
+
+ private DescriptionEditTutorialViewCallback callback;
+
+ public DescriptionEditTutorialViewSecond(Context context) {
+ super(context);
+ }
+
+ public DescriptionEditTutorialViewSecond(Context context, AttributeSet
attrs) {
+ super(context, attrs);
+ }
+
+ public DescriptionEditTutorialViewSecond(Context context, AttributeSet
attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ }
+
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP)
+ public DescriptionEditTutorialViewSecond(Context context, AttributeSet
attrs, int defStyleAttr, int defStyleRes) {
+ super(context, attrs, defStyleAttr, defStyleRes);
+ }
+
+ @OnClick(R.id.description_edit_tutorial_start_editing) void
onStartEditingClick() {
+ if (callback != null) {
+ callback.onStartEditingClick();
+ }
+ }
+
+ @Override public void setCallback(@Nullable
DescriptionEditTutorialViewCallback callback) {
+ this.callback = callback;
+ }
+}
diff --git a/app/src/main/res/drawable/description_edit_tutorial_background.xml
b/app/src/main/res/drawable/description_edit_tutorial_background.xml
new file mode 100644
index 0000000..e5ca461
--- /dev/null
+++ b/app/src/main/res/drawable/description_edit_tutorial_background.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <gradient
+ android:startColor="#00af89"
+ android:endColor="#3366cc"
+ android:angle="90"/>
+</shape>
\ No newline at end of file
diff --git
a/app/src/main/res/drawable/ic_illustration_description_onboard_1.xml
b/app/src/main/res/drawable/ic_illustration_description_onboard_1.xml
new file mode 100644
index 0000000..083c670
--- /dev/null
+++ b/app/src/main/res/drawable/ic_illustration_description_onboard_1.xml
@@ -0,0 +1,75 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="270dp"
+ android:height="266dp"
+ android:viewportWidth="270.0"
+ android:viewportHeight="266.0">
+ <path
+ android:pathData="M0,34h270v142h-270z"
+ android:fillColor="#54595d"/>
+ <path
+ android:pathData="M59.23,30.43h139.5v148.78h-139.5z"
+ android:fillColor="#327065"/>
+ <path
+ android:pathData="M59.23,106.43h139.5v32.78h-139.5z"
+ android:fillColor="#816029"/>
+ <path
+ android:pathData="M59.23,87.43h139.5v18.78h-139.5z"
+ android:fillAlpha="0.8"
+ android:fillColor="#816029"
+ android:strokeAlpha="0.8"/>
+ <path
+ android:pathData="M59.23,69.64h139.5v18.78h-139.5z"
+ android:fillAlpha="0.5"
+ android:fillColor="#816029"
+ android:strokeAlpha="0.5"/>
+ <path
+ android:pathData="M59.23,50.33h139.5v18.78h-139.5z"
+ android:fillAlpha="0.2"
+ android:fillColor="#816029"
+ android:strokeAlpha="0.2"/>
+ <path
+ android:pathData="M59.23,138.31h139.5v38.78h-139.5z"
+ android:fillColor="#3b3e40"/>
+ <path
+ android:pathData="M59.23,126.82h139.5v34.78h-139.5z"
+ android:fillAlpha="0.7"
+ android:fillColor="#3b3e40"
+ android:strokeAlpha="0.7"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M109,57.61c3.56,-6.44 26,-20.35 45.55,0 19.14,19.93
1.42,57.22 21.35,78 15.16,15.78 20.64,24.32 20.64,24.32v15.92H72s0,-15.92
16.37,-28.08C92,145 97.45,137.25 99.71,135.58c7.86,-5.8 11.2,-6 9.25,-12.16
-11.39,-35.76 -9.25,-17.88 -9.25,-24.32s-2.64,-15.35 0,-25.75S105.41,64.05
109,57.61Z"/>
+ <path
+ android:pathData="M175.87,135.58c20.64,5.72 20.64,24.32
20.64,24.32v15.92H72s0,-15.92 9.25,-28.08c2.18,-2.86 14.23,-12.16
19.22,-12.16S137,147.74 153.8,147.74C166.61,147.74 175.87,135.58 175.87,135.58Z"
+ android:fillColor="#4c300f"/>
+ <path
+ android:pathData="M0,176h270v90h-270z"
+ android:fillColor="#fff"/>
+ <path
+ android:pathData="M2,0H268a2,2 0,0 1,2 2V34H0V2A2,2 0,0 1,2 0Z"
+ android:fillColor="#fff"/>
+ <path
+ android:pathData="M149.53,8.49a0.27,0.27 0,0 1,-0.21 0.13,2.73 2.73,0
0,0 -1.58,0.62 5.84,5.84 0,0 0,-1.26 2l-6.64,15q-0.07,0.21 -0.36,0.21a0.41,0.41
0,0 1,-0.36 -0.21l-3.72,-7.82 -4.28,7.82a0.41,0.41 0,0 1,-0.36 0.21,0.37 0.37,0
0,1 -0.38,-0.21l-6.52,-15a5.24,5.24 0,0 0,-1.29 -2,3.51 3.51,0 0,0 -1.89,-0.69
0.26,0.26 0,0 1,-0.2 -0.11,0.39 0.39,0 0,1 -0.09,-0.25q0,-0.37 0.21,-0.37
0.87,0 1.82,0.08t1.67,0.08q0.79,0 1.87,-0.08t2,-0.08q0.21,0
0.21,0.37t-0.13,0.37a2.56,2.56 0,0 0,-1.37 0.44,1.19 1.19,0 0,0 -0.5,1 2,2 0,0
0,0.21 0.78l5.39,12.22 3.06,-5.8 -2.85,-6a7.75,7.75 0,0 0,-1.26 -2.07,2.52
2.52,0 0,0 -1.5,-0.57 0.23,0.23 0,0 1,-0.18 -0.11,0.41 0.41,0 0,1
-0.08,-0.25q0,-0.37 0.18,-0.37a15,15 0,0 1,1.6 0.08,13.52 13.52,0 0,0
1.5,0.08Q133,8 133.87,8t1.77,-0.08q0.21,0 0.21,0.37t-0.13,0.37q-1.74,0.12
-1.74,1a3.21,3.21 0,0 0,0.4 1.22l1.89,3.84 1.87,-3.52a2.84,2.84 0,0 0,0.39
-1.25q0,-1.2 -1.74,-1.28 -0.16,0 -0.16,-0.37a0.44,0.44 0,0 1,0.08
-0.25q0.08,-0.12 0.16,-0.12 0.62,0 1.54,0.08t1.43,0.08q0.4,0 1.18,-0.07 1,-0.09
1.65,-0.09 0.16,0 0.16,0.31t-0.29,0.42a3.26,3.26 0,0 0,-1.63 0.56,7.19 7.19,0
0,0 -1.54,2.08l-2.5,4.64 3.38,6.93 5,-11.67a3.15,3.15 0,0 0,0.26 -1.18q0,-1.28
-1.74,-1.36 -0.16,0 -0.16,-0.37t0.23,-0.37q0.64,0 1.51,0.08t1.35,0.08A13,13 0,0
0,148 8q0.78,-0.08 1.41,-0.08 0.18,0 0.18,0.31a0.47,0.47 0,0 1,-0.1 0.29Z"
+ android:fillColor="#c8ccd1"/>
+ <path
+ android:pathData="M16.88,189.36h99v20.29h-99z"
+ android:fillColor="#c8ccd1"/>
+ <path
+ android:pathData="M19.13,218.66L249.63,218.66A2.25,2.25 0,0 1,251.88
220.91L251.88,242.33A2.25,2.25 0,0 1,249.63 244.58L19.13,244.58A2.25,2.25 0,0
1,16.88 242.33L16.88,220.91A2.25,2.25 0,0 1,19.13 218.66z"
+ android:fillColor="#fc3"/>
+ <path
+ android:pathData="M121.78,112l21.35,-15s10,23.6 4.27,49.35c-2.79,12.61
-4.82,13.79 -10.68,15.74C125.4,165.8 104,162.39 104,150.6c0,-9 -0.71,-15
10.68,-20.37S121.78,112 121.78,112Z"
+ android:fillColor="#fef6e7"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M121.78,112l21.35,-15a90,90 0,0 1,5.41 22.35c0.46,4
-6.83,6.66 -14.09,8.11s-12.45,-5.34 -12.17,-6.85A19.19,19.19 0,0 0,121.78 112Z"
+ android:fillAlpha="0.1"
+ android:strokeAlpha="0.1"/>
+ <path
+ android:pathData="M131.53,115.34c12.53,-1.1 21.6,-14.43
20.26,-29.78s-4.85,-25.8 -25.12,-25.81 -21.6,14.43 -20.26,29.78S119,116.43
131.53,115.34Z"
+ android:fillColor="#fef6e7"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M135.75,114.38c9.5,-3 13.41,-12.67
13.41,-12.67s-2.69,10.41 -15.16,13.71c-7.44,2 -15,-3.12
-12.88,-2.12A18.88,18.88 0,0 0,135.75 114.38Z"
+ android:fillAlpha="0.1"
+ android:strokeAlpha="0.1"/>
+</vector>
diff --git
a/app/src/main/res/drawable/ic_illustration_description_onboard_2.xml
b/app/src/main/res/drawable/ic_illustration_description_onboard_2.xml
new file mode 100644
index 0000000..12af464
--- /dev/null
+++ b/app/src/main/res/drawable/ic_illustration_description_onboard_2.xml
@@ -0,0 +1,73 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="270dp"
+ android:height="266dp"
+ android:viewportWidth="270.0"
+ android:viewportHeight="266.0">
+ <path
+ android:pathData="M0,34h270v142h-270z"
+ android:fillColor="#28488e"/>
+ <path
+ android:pathData="M0.19,34h270v30h-270z"
+ android:fillColor="#2b56af"/>
+ <path
+ android:pathData="M0.19,63.67h270v28.65h-270z"
+ android:fillAlpha="0.8"
+ android:fillColor="#2b56af"
+ android:strokeAlpha="0.8"/>
+ <path
+ android:pathData="M0.19,92.16h270v31.23h-270z"
+ android:fillAlpha="0.5"
+ android:fillColor="#2b56af"
+ android:strokeAlpha="0.5"/>
+ <path
+ android:pathData="M0.19,123.56h270v23.44h-270z"
+ android:fillAlpha="0.2"
+ android:fillColor="#2b56af"
+ android:strokeAlpha="0.2"/>
+ <path
+ android:pathData="M0,176h270v90h-270z"
+ android:fillColor="#fff"/>
+ <path
+ android:pathData="M2,0H268a2,2 0,0 1,2 2V34H0V2A2,2 0,0 1,2 0Z"
+ android:fillColor="#fff"/>
+ <path
+ android:pathData="M149.53,8.49a0.27,0.27 0,0 1,-0.21 0.13,2.73 2.73,0
0,0 -1.58,0.62 5.84,5.84 0,0 0,-1.26 2l-6.64,15q-0.07,0.21 -0.36,0.21a0.41,0.41
0,0 1,-0.36 -0.21l-3.72,-7.82 -4.28,7.82a0.41,0.41 0,0 1,-0.36 0.21,0.37 0.37,0
0,1 -0.38,-0.21l-6.52,-15a5.24,5.24 0,0 0,-1.29 -2,3.51 3.51,0 0,0 -1.89,-0.69
0.26,0.26 0,0 1,-0.2 -0.11,0.39 0.39,0 0,1 -0.09,-0.25q0,-0.37 0.21,-0.37
0.87,0 1.82,0.08t1.67,0.08q0.79,0 1.87,-0.08t2,-0.08q0.21,0
0.21,0.37t-0.13,0.37a2.56,2.56 0,0 0,-1.37 0.44,1.19 1.19,0 0,0 -0.5,1 2,2 0,0
0,0.21 0.78l5.39,12.22 3.06,-5.8 -2.85,-6a7.75,7.75 0,0 0,-1.26 -2.07,2.52
2.52,0 0,0 -1.5,-0.57 0.23,0.23 0,0 1,-0.18 -0.11,0.41 0.41,0 0,1
-0.08,-0.25q0,-0.37 0.18,-0.37a15,15 0,0 1,1.6 0.08,13.52 13.52,0 0,0
1.5,0.08Q133,8 133.87,8t1.77,-0.08q0.21,0 0.21,0.37t-0.13,0.37q-1.74,0.12
-1.74,1a3.21,3.21 0,0 0,0.4 1.22l1.89,3.84 1.87,-3.52a2.84,2.84 0,0 0,0.39
-1.25q0,-1.2 -1.74,-1.28 -0.16,0 -0.16,-0.37a0.44,0.44 0,0 1,0.08
-0.25q0.08,-0.12 0.16,-0.12 0.62,0 1.54,0.08t1.43,0.08q0.4,0 1.18,-0.07 1,-0.09
1.65,-0.09 0.16,0 0.16,0.31t-0.29,0.42a3.26,3.26 0,0 0,-1.63 0.56,7.19 7.19,0
0,0 -1.54,2.08l-2.5,4.64 3.38,6.93 5,-11.67a3.15,3.15 0,0 0,0.26 -1.18q0,-1.28
-1.74,-1.36 -0.16,0 -0.16,-0.37t0.23,-0.37q0.64,0 1.51,0.08t1.35,0.08A13,13 0,0
0,148 8q0.78,-0.08 1.41,-0.08 0.18,0 0.18,0.31a0.47,0.47 0,0 1,-0.1 0.29Z"
+ android:fillColor="#c8ccd1"/>
+ <path
+ android:pathData="M16.88,189.36h99v20.29h-99z"
+ android:fillColor="#c8ccd1"/>
+ <path
+ android:pathData="M19.13,218.66L249.63,218.66A2.25,2.25 0,0 1,251.88
220.91L251.88,242.33A2.25,2.25 0,0 1,249.63 244.58L19.13,244.58A2.25,2.25 0,0
1,16.88 242.33L16.88,220.91A2.25,2.25 0,0 1,19.13 218.66z"
+ android:fillColor="#fc3"/>
+ <path
+ android:strokeWidth="1"
+
android:pathData="M195,116.84l-29.91,29.85l-59.81,-59.69l-29.91,14.92l-59.81,74.61l239.25,0l-59.81,-59.69z"
+ android:strokeColor="#fff"
+ android:fillColor="#b8bbbe"/>
+ <path
+
android:pathData="M214,136.84l-24.47,-6.56l-14.75,7.44l2.3,-2l11.11,-7.6l19.85,2.74l5.96,5.98z"
+ android:fillAlpha="0.2"
+ android:fillColor="#72777d"
+ android:strokeAlpha="0.2"/>
+ <path
+
android:pathData="M123.28,104.96l-18,-17.96l-29.91,14.92l-9.63,12.01l17.81,-4.45l17.3,1.38l12.56,-4.14l9.87,-1.76z"
+ android:fillColor="#fff"/>
+ <path
+
android:pathData="M122.28,104.96l15,15.04l-15.91,-4.08l-18.86,4.55l-26.96,-0.62l-22.01,10.4l13.2,-16.32l16.81,-4.45l17.3,1.38l12.56,-4.14l8.87,-1.76z"
+ android:fillAlpha="0.2"
+ android:fillColor="#72777d"
+ android:strokeAlpha="0.2"/>
+ <path
+
android:pathData="M65.74,114.93l1.36,-1.29l16.45,-4.16l8.93,0.71l8.37,0.67l12.56,-4.14l8.87,-1.76l7.5,7.52l-7.4,-2.7l-8.88,-0.85l-12.87,3.51l-17.63,-1.51l-17.26,4z"
+ android:fillAlpha="0.4"
+ android:fillColor="#72777d"
+ android:strokeAlpha="0.4"/>
+ <path
+
android:pathData="M195,116.84l-20.92,20.88l14.11,-9.6l20.85,2.74l-14.04,-14.02z"
+ android:fillColor="#fff"/>
+ <path
+
android:pathData="M208,130.84l-19.47,-2.56l-11.45,7.44l11.11,-6.6l20.85,2.74l-1.04,-1.02z"
+ android:fillAlpha="0.4"
+ android:fillColor="#72777d"
+ android:strokeAlpha="0.4"/>
+</vector>
diff --git a/app/src/main/res/layout/fragment_description_edit_tutorial.xml
b/app/src/main/res/layout/fragment_description_edit_tutorial.xml
index 44fea87..66ee46e 100644
--- a/app/src/main/res/layout/fragment_description_edit_tutorial.xml
+++ b/app/src/main/res/layout/fragment_description_edit_tutorial.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<org.wikipedia.descriptions.DescriptionEditTutorialViewPager
+<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/description_edit_tutorial_view_pager"
android:layout_width="match_parent"
diff --git a/app/src/main/res/layout/view_description_edit_tutorial_1.xml
b/app/src/main/res/layout/view_description_edit_tutorial_1.xml
index 3509b84..7521835 100644
--- a/app/src/main/res/layout/view_description_edit_tutorial_1.xml
+++ b/app/src/main/res/layout/view_description_edit_tutorial_1.xml
@@ -1,6 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical" android:layout_width="match_parent"
- android:layout_height="match_parent">
+<org.wikipedia.descriptions.DescriptionEditTutorialViewFirst
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:background="@drawable/description_edit_tutorial_background"
+ android:gravity="bottom|center_horizontal"
+ android:fillViewport="true">
-</LinearLayout>
\ No newline at end of file
+ <ImageView
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="50"
+ android:layout_marginTop="72dp"
+ android:layout_marginLeft="45dp"
+ android:layout_marginRight="45dp"
+ app:srcCompat="@drawable/ic_illustration_description_onboard_1"
+ android:contentDescription="@null"/>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="50"
+ android:orientation="vertical"
+ android:background="@color/light_blue"
+ android:gravity="center" >
+
+ <org.wikipedia.views.AppTextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="8dp"
+ android:textColor="@android:color/black"
+ android:textSize="24sp"
+ android:fontFamily="@string/font_roboto_medium"
+
android:text="@string/description_edit_tutorial_title_descriptions"/>
+
+ <org.wikipedia.views.AppTextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="48dp"
+ android:layout_marginRight="48dp"
+ android:textSize="16sp"
+ android:textAlignment="center"
+ android:textColor="#8A000000"
+
android:text="@string/description_edit_tutorial_title_descriptions_summary"/>
+
+ <Button
+ android:id="@+id/description_edit_tutorial_continue"
+ android:layout_width="106dp"
+ android:layout_height="36dp"
+ android:fontFamily="@string/font_roboto_medium"
+
android:text="@string/description_edit_tutorial_button_label_continue"
+ android:layout_marginTop="28dp"
+ android:textSize="14sp"
+ android:textAllCaps="true"
+ style="@style/ButtonBlue"/>
+
+ </LinearLayout>
+
+</org.wikipedia.descriptions.DescriptionEditTutorialViewFirst>
\ No newline at end of file
diff --git a/app/src/main/res/layout/view_description_edit_tutorial_2.xml
b/app/src/main/res/layout/view_description_edit_tutorial_2.xml
index 3509b84..aca0daa 100644
--- a/app/src/main/res/layout/view_description_edit_tutorial_2.xml
+++ b/app/src/main/res/layout/view_description_edit_tutorial_2.xml
@@ -1,6 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical" android:layout_width="match_parent"
- android:layout_height="match_parent">
+<org.wikipedia.descriptions.DescriptionEditTutorialViewSecond
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:background="@drawable/description_edit_tutorial_background"
+ android:gravity="bottom|center_horizontal"
+ android:fillViewport="true">
-</LinearLayout>
\ No newline at end of file
+ <ImageView
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="50"
+ android:layout_marginTop="72dp"
+ android:layout_marginLeft="45dp"
+ android:layout_marginRight="45dp"
+ app:srcCompat="@drawable/ic_illustration_description_onboard_2"
+ android:contentDescription="@null"/>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="50"
+ android:orientation="vertical"
+ android:background="@color/light_blue"
+ android:gravity="center" >
+
+ <org.wikipedia.views.AppTextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="8dp"
+ android:textColor="@android:color/black"
+ android:textSize="24sp"
+ android:fontFamily="@string/font_roboto_medium"
+ android:text="@string/description_edit_tutorial_keep_it_short"/>
+
+ <org.wikipedia.views.AppTextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="24dp"
+ android:layout_marginRight="24dp"
+ android:textSize="16sp"
+ android:textAlignment="center"
+ android:textColor="#8A000000"
+
android:text="@string/description_edit_tutorial_keep_it_short_instructions"/>
+
+ <Button
+ android:id="@+id/description_edit_tutorial_start_editing"
+ android:layout_width="136dp"
+ android:layout_height="36dp"
+ android:fontFamily="@string/font_roboto_medium"
+
android:text="@string/description_edit_tutorial_button_label_start_editing"
+ android:layout_marginTop="32dp"
+ android:layout_marginBottom="10dp"
+ android:textSize="14sp"
+ android:textAllCaps="true"
+ style="@style/ButtonBlue"/>
+
+ <org.wikipedia.views.AppTextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/description_edit_tutorial_promise"
+ android:textAlignment="center"
+ android:textSize="12sp"
+ android:textColor="#54595d"/>
+
+ </LinearLayout>
+
+</org.wikipedia.descriptions.DescriptionEditTutorialViewSecond>
\ 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 eab5ff3..1168e99 100644
--- a/app/src/main/res/values-qq/strings.xml
+++ b/app/src/main/res/values-qq/strings.xml
@@ -455,4 +455,11 @@
<string name="description_edit_success_done">Button text to dismiss the
description editing success screen</string>
<string name="description_edit_success_did_you_know">Heading for a tip about
editing articles in the app</string>
<string name="description_edit_success_article_edit_hint">A message
informing the user about how to edit articles in the app. The \"^1\" symbol is
replaced with an edit pencil icon.</string>
+ <string name="description_edit_tutorial_title_descriptions">Heading for a
tutorial about editing page title descriptions.</string>
+ <string name="description_edit_tutorial_title_descriptions_summary">Summary
of what page title descriptions are for.</string>
+ <string name="description_edit_tutorial_button_label_continue">Label for a
button the user can push to continue to the next page of the tutorial.</string>
+ <string name="description_edit_tutorial_keep_it_short">An instruction for
the user to keep descriptions short.</string>
+ <string
name="description_edit_tutorial_keep_it_short_instructions">Instructions for
the description the user creates to be one line only and between two to twelve
words.</string>
+ <string name="description_edit_tutorial_button_label_start_editing">Label
for a button the user can push when ready to start editing.</string>
+ <string name="description_edit_tutorial_promise">A statement that the user
promises not to misuse the feature.</string>
</resources>
diff --git a/app/src/main/res/values/strings.xml
b/app/src/main/res/values/strings.xml
index fe07690..de4e6e2 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -349,4 +349,14 @@
<string name="description_edit_success_did_you_know">Did you know?</string>
<string name="description_edit_success_article_edit_hint">You can also
edit articles within this app. Try fixing typos and small sentences by clicking
on the ^1 icon next time</string>
<!-- /Description editing success -->
+
+ <!-- Description editing tutorial -->
+ <string name="description_edit_tutorial_title_descriptions">Title
descriptions</string>
+ <string
name="description_edit_tutorial_title_descriptions_summary">Summarizes an
article to help readers understand the subject at a glance</string>
+ <string
name="description_edit_tutorial_button_label_continue">Continue</string>
+ <string name="description_edit_tutorial_keep_it_short">Keep it
short</string>
+ <string
name="description_edit_tutorial_keep_it_short_instructions">Ideally one line,
between two to twelve words</string>
+ <string name="description_edit_tutorial_button_label_start_editing">Start
editing</string>
+ <string name="description_edit_tutorial_promise">By starting, I promise
not to misuse this feature.</string>
+ <!-- /Description editing tutorial -->
</resources>
diff --git a/app/src/main/res/values/strings_no_translate.xml
b/app/src/main/res/values/strings_no_translate.xml
index 515368c..45dc7d0 100644
--- a/app/src/main/res/values/strings_no_translate.xml
+++ b/app/src/main/res/values/strings_no_translate.xml
@@ -53,4 +53,12 @@
<!-- Find in page -->
<string name="find_in_page_result">%1$d/%2$d</string>
+ <!-- Fonts -->
+ <!-- For convenience when defining views from a mock specifying Roboto
font names -->
+ <string name="font_roboto_regular">sans-serif</string> <!-- default -->
+ <string name="font_roboto_light">sans-serif-light</string>
+ <string name="font_roboto_condensed">sans-serif-condensed</string>
+ <string name="font_roboto_thin">sans-serif-thin</string>
+ <string name="font_roboto_medium">sans-serif-medium</string>
+
</resources>
--
To view, visit https://gerrit.wikimedia.org/r/325695
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I19bad041204de801239e6996e80fe4caa5338b99
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Mholloway <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits