Niedzielski has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/325859 )

Change subject: Demo: encapsulate DescriptionEditTutorialPageView children
......................................................................

Demo: encapsulate DescriptionEditTutorialPageView children

Bug: T148205
Change-Id: Id0a39b2960fe7a7bba88c4b2d2c11308212f6517
---
M app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialPage.java
M 
app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialPagerAdapter.java
M 
app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewFirst.java
M 
app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewSecond.java
A app/src/main/res/layout/inflate_description_edit_tutorial_page_one.xml
A app/src/main/res/layout/inflate_description_edit_tutorial_page_two.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
8 files changed, 64 insertions(+), 24 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/59/325859/1

diff --git 
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialPage.java 
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialPage.java
index a078cf2..cd90820 100644
--- 
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialPage.java
+++ 
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialPage.java
@@ -8,8 +8,8 @@
 import org.wikipedia.model.EnumCodeMap;
 
 enum DescriptionEditTutorialPage implements EnumCode {
-    PAGE_ONE(R.layout.view_description_edit_tutorial_1),
-    PAGE_TWO(R.layout.view_description_edit_tutorial_2);
+    PAGE_ONE(R.layout.inflate_description_edit_tutorial_page_one),
+    PAGE_TWO(R.layout.inflate_description_edit_tutorial_page_two);
 
     private static EnumCodeMap<DescriptionEditTutorialPage> MAP
             = new EnumCodeMap<>(DescriptionEditTutorialPage.class);
diff --git 
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialPagerAdapter.java
 
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialPagerAdapter.java
index 82bc337..f37b054 100644
--- 
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialPagerAdapter.java
+++ 
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialPagerAdapter.java
@@ -6,8 +6,6 @@
 import android.view.View;
 import android.view.ViewGroup;
 
-import butterknife.ButterKnife;
-
 class DescriptionEditTutorialPagerAdapter extends PagerAdapter {
 
     private DescriptionEditTutorialView.Callback cb;
@@ -20,7 +18,6 @@
         LayoutInflater inflater = LayoutInflater.from(container.getContext());
         DescriptionEditTutorialPage tutorialPage = 
DescriptionEditTutorialPage.of(position);
         View layout = 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/DescriptionEditTutorialViewFirst.java
 
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewFirst.java
index 514fd5f..42a24d3 100644
--- 
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewFirst.java
+++ 
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewFirst.java
@@ -9,27 +9,32 @@
 
 import org.wikipedia.R;
 
+import butterknife.ButterKnife;
 import butterknife.OnClick;
 
+// todo: rename DescriptionEditTutorialPageOneView for consistency with enum
 public class DescriptionEditTutorialViewFirst extends LinearLayout implements 
DescriptionEditTutorialView {
-
     private DescriptionEditTutorialView.Callback callback;
 
     public DescriptionEditTutorialViewFirst(Context context) {
         super(context);
+        init();
     }
 
     public DescriptionEditTutorialViewFirst(Context context, AttributeSet 
attrs) {
         super(context, attrs);
+        init();
     }
 
     public DescriptionEditTutorialViewFirst(Context context, AttributeSet 
attrs, int defStyleAttr) {
         super(context, attrs, defStyleAttr);
+        init();
     }
 
     @TargetApi(Build.VERSION_CODES.LOLLIPOP)
     public DescriptionEditTutorialViewFirst(Context context, AttributeSet 
attrs, int defStyleAttr, int defStyleRes) {
         super(context, attrs, defStyleAttr, defStyleRes);
+        init();
     }
 
     @OnClick(R.id.description_edit_tutorial_continue) void onContinueClick() {
@@ -41,4 +46,9 @@
     @Override public void setCallback(@Nullable 
DescriptionEditTutorialView.Callback callback) {
         this.callback = callback;
     }
+
+    private void init() {
+        inflate(getContext(), R.layout.view_description_edit_tutorial_1, this);
+        ButterKnife.bind(this);
+    }
 }
diff --git 
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewSecond.java
 
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewSecond.java
index e2eb9bf..e5b483f 100644
--- 
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewSecond.java
+++ 
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditTutorialViewSecond.java
@@ -9,27 +9,33 @@
 
 import org.wikipedia.R;
 
+import butterknife.ButterKnife;
 import butterknife.OnClick;
 
+// todo: this layout seems identical to DescriptionEditTutorialViewFirst. try 
to collapse into just
+//       "DescriptionEditTutorialPageView" and dropping the interface
 public class DescriptionEditTutorialViewSecond extends LinearLayout implements 
DescriptionEditTutorialView {
-
     private DescriptionEditTutorialView.Callback callback;
 
     public DescriptionEditTutorialViewSecond(Context context) {
         super(context);
+        init();
     }
 
     public DescriptionEditTutorialViewSecond(Context context, AttributeSet 
attrs) {
         super(context, attrs);
+        init();
     }
 
     public DescriptionEditTutorialViewSecond(Context context, AttributeSet 
attrs, int defStyleAttr) {
         super(context, attrs, defStyleAttr);
+        init();
     }
 
     @TargetApi(Build.VERSION_CODES.LOLLIPOP)
     public DescriptionEditTutorialViewSecond(Context context, AttributeSet 
attrs, int defStyleAttr, int defStyleRes) {
         super(context, attrs, defStyleAttr, defStyleRes);
+        init();
     }
 
     @OnClick(R.id.description_edit_tutorial_start_editing) void 
onStartEditingClick() {
@@ -41,4 +47,9 @@
     @Override public void setCallback(@Nullable 
DescriptionEditTutorialView.Callback callback) {
         this.callback = callback;
     }
-}
+
+    private void init() {
+        inflate(getContext(), R.layout.view_description_edit_tutorial_2, this);
+        ButterKnife.bind(this);
+    }
+}
\ No newline at end of file
diff --git 
a/app/src/main/res/layout/inflate_description_edit_tutorial_page_one.xml 
b/app/src/main/res/layout/inflate_description_edit_tutorial_page_one.xml
new file mode 100644
index 0000000..b60cd00
--- /dev/null
+++ b/app/src/main/res/layout/inflate_description_edit_tutorial_page_one.xml
@@ -0,0 +1,10 @@
+<!-- these attributes can also be set in the java view itself if you want to 
prohibit customization
+    or moved to a style if used more than once -->
+<org.wikipedia.descriptions.DescriptionEditTutorialViewFirst
+    xmlns:android="http://schemas.android.com/apk/res/android";
+    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" />
\ No newline at end of file
diff --git 
a/app/src/main/res/layout/inflate_description_edit_tutorial_page_two.xml 
b/app/src/main/res/layout/inflate_description_edit_tutorial_page_two.xml
new file mode 100644
index 0000000..f133399
--- /dev/null
+++ b/app/src/main/res/layout/inflate_description_edit_tutorial_page_two.xml
@@ -0,0 +1,8 @@
+<org.wikipedia.descriptions.DescriptionEditTutorialViewSecond
+    xmlns:android="http://schemas.android.com/apk/res/android";
+    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" />
\ No newline at end of file
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 7521835..77d8fd5 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,13 +1,15 @@
 <?xml version="1.0" encoding="utf-8"?>
-<org.wikipedia.descriptions.DescriptionEditTutorialViewFirst
+<merge
     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">
+    xmlns:tools="http://schemas.android.com/tools";
+    
tools:parentTag="org.wikipedia.descriptions.DescriptionEditTutorialViewFirst"
+    tools:layout_width="match_parent"
+    tools:layout_height="wrap_content"
+    tools:orientation="vertical"
+    tools:background="@drawable/description_edit_tutorial_background"
+    tools:gravity="bottom|center_horizontal"
+    tools:fillViewport="true">
 
     <ImageView
         android:layout_width="match_parent"
@@ -59,4 +61,4 @@
 
     </LinearLayout>
 
-</org.wikipedia.descriptions.DescriptionEditTutorialViewFirst>
\ No newline at end of file
+</merge>
\ 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 aca0daa..cfa2efd 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,13 +1,15 @@
 <?xml version="1.0" encoding="utf-8"?>
-<org.wikipedia.descriptions.DescriptionEditTutorialViewSecond
+<merge
     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">
+    xmlns:tools="http://schemas.android.com/tools";
+    
tools:parentTag="org.wikipedia.descriptions.DescriptionEditTutorialViewSecond"
+    tools:layout_width="match_parent"
+    tools:layout_height="match_parent"
+    tools:orientation="vertical"
+    tools:background="@drawable/description_edit_tutorial_background"
+    tools:gravity="bottom|center_horizontal"
+    tools:fillViewport="true">
 
     <ImageView
         android:layout_width="match_parent"
@@ -68,4 +70,4 @@
 
     </LinearLayout>
 
-</org.wikipedia.descriptions.DescriptionEditTutorialViewSecond>
\ No newline at end of file
+</merge>
\ No newline at end of file

-- 
To view, visit https://gerrit.wikimedia.org/r/325859
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id0a39b2960fe7a7bba88c4b2d2c11308212f6517
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Niedzielski <sniedziel...@wikimedia.org>
Gerrit-Reviewer: Sniedzielski <sniedziel...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to