BearND has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/171875

Change subject: Left/right animation inside page info dialog
......................................................................

Left/right animation inside page info dialog

Now have two different ListViews inside a ViewFlipper
and animate the transitions between them.

Change-Id: Id9dba17d6f44c8a77ab1aac5ac370a02828972a3
---
M wikipedia/res/layout/dialog_page_info.xml
M wikipedia/src/main/java/org/wikipedia/page/PageInfoDialog.java
2 files changed, 48 insertions(+), 20 deletions(-)


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

diff --git a/wikipedia/res/layout/dialog_page_info.xml 
b/wikipedia/res/layout/dialog_page_info.xml
index 8a03eb4..715ee66 100644
--- a/wikipedia/res/layout/dialog_page_info.xml
+++ b/wikipedia/res/layout/dialog_page_info.xml
@@ -69,15 +69,32 @@
         android:layout_height="1dp"
         android:background="?android:listDivider" />
 
-    <ListView
-        android:id="@+id/page_info_list"
+    <ViewFlipper
+        android:id="@+id/page_info_flipper"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_gravity="start"
-        android:paddingBottom="0dp"
-        android:paddingLeft="16dp"
-        android:paddingRight="16dp"
-        android:paddingTop="0dp"
-        />
+        >
+        <ListView
+            android:id="@+id/disambig_list"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="start"
+            android:paddingBottom="0dp"
+            android:paddingLeft="16dp"
+            android:paddingRight="16dp"
+            android:paddingTop="0dp"
+            />
+        <ListView
+            android:id="@+id/page_issues_list"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="start"
+            android:paddingBottom="0dp"
+            android:paddingLeft="16dp"
+            android:paddingRight="16dp"
+            android:paddingTop="0dp"
+            />
+
+    </ViewFlipper>
 
 </LinearLayout>
diff --git a/wikipedia/src/main/java/org/wikipedia/page/PageInfoDialog.java 
b/wikipedia/src/main/java/org/wikipedia/page/PageInfoDialog.java
index 8cef693..8006e31 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/PageInfoDialog.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/PageInfoDialog.java
@@ -7,26 +7,23 @@
 import android.widget.FrameLayout;
 import android.widget.ListView;
 import android.widget.TextView;
+import android.widget.ViewFlipper;
 
 /**
  * A dialog to host page issues and disambig information.
  */
 class PageInfoDialog extends BottomDialog {
-    private final Activity activity;
-    private final PageInfo info;
-    private final LinkMovementMethodExt movementMethod;
-    private ListView list;
-    private TextView disambigHeading;
-    private TextView issuesHeading;
+    private final ViewFlipper flipper;
+    private final TextView disambigHeading;
+    private final TextView issuesHeading;
 
     PageInfoDialog(Activity activity, PageInfo pageInfo, int height, 
LinkMovementMethodExt movementMethod) {
         super(activity, R.layout.dialog_page_info);
-        this.activity = activity;
-        info = pageInfo;
-        this.movementMethod = movementMethod;
 
         View parentView = getDialogLayout();
-        list = (ListView) parentView.findViewById(R.id.page_info_list);
+        flipper = (ViewFlipper) 
parentView.findViewById(R.id.page_info_flipper);
+        ListView disambigList = (ListView) 
parentView.findViewById(R.id.disambig_list);
+        ListView issuesList = (ListView) 
parentView.findViewById(R.id.page_issues_list);
         disambigHeading = (TextView) 
parentView.findViewById(R.id.page_info_similar_titles_heading);
         issuesHeading = (TextView) 
parentView.findViewById(R.id.page_info_page_issues_heading);
         View separatorHeading = 
parentView.findViewById(R.id.page_info_heading_separator);
@@ -41,6 +38,10 @@
 
 //        parentView.setMinimumHeight(height);
         parentView.setLayoutParams(new 
FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, height));
+
+        disambigList.setAdapter(new DisambigListAdapter(activity, 
pageInfo.getDisambigs(), movementMethod));
+        issuesList.setAdapter(new IssuesListAdapter(activity, 
pageInfo.getIssues()));
+
         if (pageInfo.getDisambigs().length > 0) {
             disambigHeading.setOnClickListener(new View.OnClickListener() {
                 @Override
@@ -66,13 +67,23 @@
     }
 
     void showDisambig() {
-        list.setAdapter(new DisambigListAdapter(activity, info.getDisambigs(), 
movementMethod));
+        if (flipper.getCurrentView() != flipper.getChildAt(0)) {
+            flipper.setInAnimation(getContext(), R.anim.slide_in_left);
+            flipper.setOutAnimation(getContext(), R.anim.slide_out_right);
+            flipper.showNext();
+        }
+
         disambigHeading.setTypeface(null, Typeface.BOLD);
         issuesHeading.setTypeface(null, Typeface.NORMAL);
     }
 
     void showIssues() {
-        list.setAdapter(new IssuesListAdapter(activity, info.getIssues()));
+        if (flipper.getCurrentView() != flipper.getChildAt(1)) {
+            flipper.setInAnimation(getContext(), R.anim.slide_in_right);
+            flipper.setOutAnimation(getContext(), R.anim.slide_out_left);
+            flipper.showPrevious();
+        }
+
         disambigHeading.setTypeface(null, Typeface.NORMAL);
         issuesHeading.setTypeface(null, Typeface.BOLD);
     }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id9dba17d6f44c8a77ab1aac5ac370a02828972a3
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: BearND <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to