BearND has uploaded a new change for review.
https://gerrit.wikimedia.org/r/160040
Change subject: Really mark ToC as known if Got it was pressed
......................................................................
Really mark ToC as known if Got it was pressed
There was a bug that it still showed the ToC intro when one
pressed on the Got it button but used the ToC action
bar button to open the ToC again.
Also adjusting the size of the hand swipe image to be smaller
for devices with smaller height, so that the Got it button fits
on the screen. Unfortunately, when orientation is changed
it doesn't update since we still using the orientation hack in the
AndroidManifest. So, when changing from portrait to landscape
there is still a chance that the button would be hidden but
switching back to portrait would fix this.
Change-Id: I229af1da44bc9b7e4ead67a653420ef0022b7127
---
M wikipedia/res/layout/fragment_page.xml
A wikipedia/res/layout/group_toc_intro.xml
A wikipedia/res/values-h480dp/dimens.xml
M wikipedia/res/values/dimens.xml
M wikipedia/src/main/java/org/wikipedia/page/ToCHandler.java
5 files changed, 106 insertions(+), 70 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/40/160040/1
diff --git a/wikipedia/res/layout/fragment_page.xml
b/wikipedia/res/layout/fragment_page.xml
index da00046..8e89c5d 100644
--- a/wikipedia/res/layout/fragment_page.xml
+++ b/wikipedia/res/layout/fragment_page.xml
@@ -57,49 +57,10 @@
android:choiceMode="singleChoice"
/>
- <LinearLayout
- android:id="@+id/know_toc_drawer_container"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- android:visibility="gone"
- android:layout_marginTop="48dp"
- android:paddingTop="16dp"
- android:paddingBottom="16dp"
- android:paddingLeft="32dp"
- android:paddingRight="32dp"
- android:gravity="center">
- <TextView
- style="?android:textAppearanceMedium"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="start|center_vertical"
- android:textColor="?attr/toc_section_text_color"
- android:text="@string/toc_hint"
- android:textSize="20sp"
- android:lineSpacingMultiplier="1.4"
- />
- <ImageView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="16dp"
- android:layout_marginBottom="48dp"
- android:src="@drawable/swipe_left"
- android:contentDescription="@null"/>
- <Button
- style="@style/button_progressive"
- android:id="@+id/know_toc_drawer_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingLeft="48dp"
- android:paddingRight="48dp"
- android:layout_gravity="center_horizontal"
- android:textColor="@color/white_progressive_dark"
- android:text="@string/toc_know_it"
- android:visibility="gone"
- />
- </LinearLayout>
-
+ <include layout="@layout/group_toc_intro"
+ android:id="@+id/know_toc_intro_container"
+ android:visibility="gone"
+ />
</LinearLayout>
</LinearLayout>
diff --git a/wikipedia/res/layout/group_toc_intro.xml
b/wikipedia/res/layout/group_toc_intro.xml
new file mode 100644
index 0000000..4a1c0d5
--- /dev/null
+++ b/wikipedia/res/layout/group_toc_intro.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_gravity="center"
+ android:layout_marginTop="48dp"
+ android:gravity="center"
+ android:orientation="vertical"
+ android:paddingLeft="32dp"
+ android:paddingRight="32dp"
+ >
+
+ <TextView
+ style="?android:textAppearanceMedium"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:gravity="start|center"
+ android:lineSpacingMultiplier="1.4"
+ android:text="@string/toc_hint"
+ android:textColor="?attr/toc_section_text_color"
+ android:textSize="20sp"
+ />
+
+ <ImageView
+ android:layout_width="@dimen/toc_intro_image_size"
+ android:layout_height="@dimen/toc_intro_image_size"
+ android:layout_marginBottom="@dimen/toc_intro_image_marginBottom"
+ android:layout_marginTop="@dimen/toc_intro_image_marginTop"
+ android:contentDescription="@null"
+ android:src="@drawable/swipe_left"/>
+
+ <Button
+ android:id="@+id/know_toc_drawer_button"
+ style="@style/button_progressive"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:paddingLeft="48dp"
+ android:paddingRight="48dp"
+ android:text="@string/toc_know_it"
+ android:textColor="@color/white_progressive_dark"
+ android:visibility="invisible"
+ />
+</LinearLayout>
\ No newline at end of file
diff --git a/wikipedia/res/values-h480dp/dimens.xml
b/wikipedia/res/values-h480dp/dimens.xml
new file mode 100644
index 0000000..901e9bc
--- /dev/null
+++ b/wikipedia/res/values-h480dp/dimens.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!--
+ ToC Intro
+ -->
+ <dimen name="toc_intro_image_size">@dimen/wrap_content</dimen>
+ <dimen name="toc_intro_image_marginTop">16dp</dimen>
+ <dimen name="toc_intro_image_marginBottom">48dp</dimen>
+
+</resources>
\ No newline at end of file
diff --git a/wikipedia/res/values/dimens.xml b/wikipedia/res/values/dimens.xml
index 9241c9b..0317a8d 100644
--- a/wikipedia/res/values/dimens.xml
+++ b/wikipedia/res/values/dimens.xml
@@ -1,5 +1,9 @@
<resources>
+ <!-- trick to be able to use match_parent and wrap_content in dimen
resources -->
+ <dimen name="match_parent">-1dp</dimen>
+ <dimen name="wrap_content">-2dp</dimen>
+
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
@@ -19,4 +23,11 @@
<dimen name="onboarding_wp_logo_text">26dp</dimen>
<dimen name="onboarding_wp_logo_subtext">13dp</dimen>
+ <!--
+ ToC Intro
+ -->
+ <dimen name="toc_intro_image_size">48dp</dimen>
+ <dimen name="toc_intro_image_marginTop">8dp</dimen>
+ <dimen name="toc_intro_image_marginBottom">8dp</dimen>
+
</resources>
\ No newline at end of file
diff --git a/wikipedia/src/main/java/org/wikipedia/page/ToCHandler.java
b/wikipedia/src/main/java/org/wikipedia/page/ToCHandler.java
index 71dcb82..8d19f5c 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/ToCHandler.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/ToCHandler.java
@@ -57,7 +57,7 @@
this.tocList = (ListView) slidingPane.findViewById(R.id.page_toc_list);
this.tocProgress = (ProgressBar)
slidingPane.findViewById(R.id.page_toc_in_progress);
this.tocButton = (ImageView)
quickReturnBar.findViewById(R.id.search_bar_show_toc);
- final View knowToCContainer =
slidingPane.findViewById(R.id.know_toc_drawer_container);
+ final View knowToCContainer =
slidingPane.findViewById(R.id.know_toc_intro_container);
slidingPane.setDrawerListener(new DrawerLayout.SimpleDrawerListener() {
@@ -73,25 +73,9 @@
funnel.logOpen();
wasClicked = false;
final SharedPreferences prefs =
PreferenceManager.getDefaultSharedPreferences(parentActivity);
- if (openedViaSwipe) {
- knowSwipe(prefs,
slidingPane.findViewById(R.id.know_toc_drawer_container));
- } else {
- final View gotItButton =
slidingPane.findViewById(R.id.know_toc_drawer_button);
- if (!knowToCContainer.isShown()) {
- ViewAnimations.fadeIn(knowToCContainer);
- ViewAnimations.fadeOut(tocList, new Runnable() {
- @Override
- public void run() {
- ViewAnimations.fadeIn(gotItButton);
- }
- });
- }
- gotItButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- knowSwipe(prefs, knowToCContainer);
- }
- });
+ final boolean knowsToC =
prefs.getBoolean(PrefKeys.getKnowTocDrawer(), false);
+ if (!knowsToC) {
+ showToCIntro(prefs, slidingPane, knowToCContainer);
}
}
@@ -120,6 +104,36 @@
}
}
});
+ }
+
+ private void showToCIntro(final SharedPreferences prefs,
DisableableDrawerLayout slidingPane, final View knowToCContainer) {
+ if (openedViaSwipe) {
+ knowSwipe(prefs,
slidingPane.findViewById(R.id.know_toc_intro_container));
+ } else {
+ final View gotItButton =
slidingPane.findViewById(R.id.know_toc_drawer_button);
+ if (!knowToCContainer.isShown()) {
+ ViewAnimations.fadeIn(knowToCContainer);
+ ViewAnimations.fadeOut(tocList, new Runnable() {
+ @Override
+ public void run() {
+ ViewAnimations.fadeIn(gotItButton);
+ }
+ });
+ }
+ gotItButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ knowSwipe(prefs, knowToCContainer);
+ }
+ });
+ }
+ }
+
+ private void knowSwipe(SharedPreferences prefs, View knowToCContainer) {
+ prefs.edit().putBoolean(PrefKeys.getKnowTocDrawer(), true).commit();
+ if (knowToCContainer.isShown()) {
+ ViewAnimations.crossFade(knowToCContainer, tocList);
+ }
}
public void scrollToSection(Section section) {
@@ -189,13 +203,6 @@
openedViaSwipe = false;
slidingPane.openDrawer(Gravity.END);
}
- }
- }
-
- private void knowSwipe(SharedPreferences prefs, View knowToCContainer) {
- prefs.edit().putBoolean(PrefKeys.getKnowTocDrawer(), true).commit();
- if (knowToCContainer.isShown()) {
- ViewAnimations.crossFade(knowToCContainer, tocList);
}
}
--
To view, visit https://gerrit.wikimedia.org/r/160040
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I229af1da44bc9b7e4ead67a653420ef0022b7127
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