Niedzielski has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/325954 )
Change subject: Demo: encapsulate DescriptionEditTutorialPageView children (clone) ...................................................................... Demo: encapsulate DescriptionEditTutorialPageView children (clone) Bug: T148205 Change-Id: Iae428c96f4f5b765c24dfbaa56c4eb7db80c932f --- 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/54/325954/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/325954 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iae428c96f4f5b765c24dfbaa56c4eb7db80c932f 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