diff --git a/commons/AndroidManifest.xml b/commons/AndroidManifest.xml
index 7d31e282e..917b7816b 100644
--- a/commons/AndroidManifest.xml
+++ b/commons/AndroidManifest.xml
@@ -34,6 +34,10 @@
android:name=".auth.LoginActivity"
android:theme="@style/NoTitle" >
+
+
+
+ com.viewpagerindicator
+ library
+ 2.4.1
+ apklib
+
+
+ com.google.android
+ support-v4
+
+
+
diff --git a/commons/res/drawable-hdpi/welcome_copyright.png b/commons/res/drawable-hdpi/welcome_copyright.png
new file mode 100644
index 000000000..48f90bfde
Binary files /dev/null and b/commons/res/drawable-hdpi/welcome_copyright.png differ
diff --git a/commons/res/drawable-hdpi/welcome_wikipedia.png b/commons/res/drawable-hdpi/welcome_wikipedia.png
new file mode 100644
index 000000000..6e1a8ae8c
Binary files /dev/null and b/commons/res/drawable-hdpi/welcome_wikipedia.png differ
diff --git a/commons/res/drawable-ldpi/welcome_copyright.png b/commons/res/drawable-ldpi/welcome_copyright.png
new file mode 100644
index 000000000..6cdf2520e
Binary files /dev/null and b/commons/res/drawable-ldpi/welcome_copyright.png differ
diff --git a/commons/res/drawable-ldpi/welcome_wikipedia.png b/commons/res/drawable-ldpi/welcome_wikipedia.png
new file mode 100644
index 000000000..e55b56421
Binary files /dev/null and b/commons/res/drawable-ldpi/welcome_wikipedia.png differ
diff --git a/commons/res/drawable-mdpi/welcome_copyright.png b/commons/res/drawable-mdpi/welcome_copyright.png
new file mode 100644
index 000000000..65462b967
Binary files /dev/null and b/commons/res/drawable-mdpi/welcome_copyright.png differ
diff --git a/commons/res/drawable-mdpi/welcome_wikipedia.png b/commons/res/drawable-mdpi/welcome_wikipedia.png
new file mode 100644
index 000000000..8d1e8e322
Binary files /dev/null and b/commons/res/drawable-mdpi/welcome_wikipedia.png differ
diff --git a/commons/res/drawable-xhdpi/welcome_copyright.png b/commons/res/drawable-xhdpi/welcome_copyright.png
new file mode 100644
index 000000000..973fb4598
Binary files /dev/null and b/commons/res/drawable-xhdpi/welcome_copyright.png differ
diff --git a/commons/res/drawable-xhdpi/welcome_wikipedia.png b/commons/res/drawable-xhdpi/welcome_wikipedia.png
new file mode 100644
index 000000000..2f8dfb364
Binary files /dev/null and b/commons/res/drawable-xhdpi/welcome_wikipedia.png differ
diff --git a/commons/res/layout-land/welcome_copyright.xml b/commons/res/layout-land/welcome_copyright.xml
new file mode 100644
index 000000000..ca6c9c1c7
--- /dev/null
+++ b/commons/res/layout-land/welcome_copyright.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/commons/res/layout-land/welcome_final.xml b/commons/res/layout-land/welcome_final.xml
new file mode 100644
index 000000000..89b34185f
--- /dev/null
+++ b/commons/res/layout-land/welcome_final.xml
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/commons/res/layout-land/welcome_wikipedia.xml b/commons/res/layout-land/welcome_wikipedia.xml
new file mode 100644
index 000000000..c580c0cfd
--- /dev/null
+++ b/commons/res/layout-land/welcome_wikipedia.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/commons/res/layout/activity_welcome.xml b/commons/res/layout/activity_welcome.xml
new file mode 100644
index 000000000..60553bdea
--- /dev/null
+++ b/commons/res/layout/activity_welcome.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/commons/res/layout/welcome_copyright.xml b/commons/res/layout/welcome_copyright.xml
new file mode 100644
index 000000000..9ad9c31f9
--- /dev/null
+++ b/commons/res/layout/welcome_copyright.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/commons/res/layout/welcome_final.xml b/commons/res/layout/welcome_final.xml
new file mode 100644
index 000000000..cd12fed11
--- /dev/null
+++ b/commons/res/layout/welcome_final.xml
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/commons/res/layout/welcome_wikipedia.xml b/commons/res/layout/welcome_wikipedia.xml
new file mode 100644
index 000000000..b957fc690
--- /dev/null
+++ b/commons/res/layout/welcome_wikipedia.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/commons/res/menu/fragment_contributions_list.xml b/commons/res/menu/fragment_contributions_list.xml
index d8fa0ef5f..b9382fa9c 100644
--- a/commons/res/menu/fragment_contributions_list.xml
+++ b/commons/res/menu/fragment_contributions_list.xml
@@ -27,5 +27,4 @@
android:icon="@android:drawable/ic_menu_send"
/>
-
diff --git a/commons/res/values-qq/strings.xml b/commons/res/values-qq/strings.xml
index bcd204fcc..177a57f99 100644
--- a/commons/res/values-qq/strings.xml
+++ b/commons/res/values-qq/strings.xml
@@ -78,7 +78,14 @@
Text label telling user the license of the current upload in progress. %1$s refers to appropriate display text for the chosen CC license
Menu item text prompting user to download a selected photo or media file locally.
{{Identical|Download}}
- CC Attribution-Sharelike License display name. Use the non-breaking space character(u00A0) between \'CC\' and \'Attribution-Sharealike\'
- CC Attribution License display name. Use the non-breaking space character(u00A0) between \'CC\' and \'Attribution\'
- CC0 License display name.
+ CC Attribution-Sharelike License display name. Use the non-breaking space character(\u00A0) between \'CC\' and \'Attribution-Sharealike\'
+ CC Attribution License display name. Use the non-breaking space character(\u00A0) between \'CC\' and \'Attribution\'
+ CC0 License display name.
+ Message inviting users to contribute their images.
+ Message explaining that Wikipedia images Wikimedia Commons.
+ Message explaining the educational benefit of contributing images.
+ Message explaining what kind of images not to submit.
+ Message asking user if they understand what kinds of images to upload.
+ Button text for confirming the user understands what kinds of images to upload.
+{{Identical|Yes}}
diff --git a/commons/res/values/strings.xml b/commons/res/values/strings.xml
index 64f6140fc..80208b863 100644
--- a/commons/res/values/strings.xml
+++ b/commons/res/values/strings.xml
@@ -96,4 +96,10 @@
CC\u00A0Attribution-ShareAlike
CC\u00A0Attribution
CC0
+ Contribute your images. Help Wikipedia articles come to life!
+ Images on Wikipedia come from Wikimedia Commons.
+ Your images help educate people around the world.
+ Avoid copyrighted materials you found from the Internet as well as images of posters, book covers, etc.
+ You think you got it?
+ Yes!
diff --git a/commons/src/main/java/org/wikimedia/commons/WelcomeActivity.java b/commons/src/main/java/org/wikimedia/commons/WelcomeActivity.java
new file mode 100644
index 000000000..62c956334
--- /dev/null
+++ b/commons/src/main/java/org/wikimedia/commons/WelcomeActivity.java
@@ -0,0 +1,68 @@
+package org.wikimedia.commons;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.support.v4.view.PagerAdapter;
+import android.support.v4.view.ViewPager;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+
+import com.viewpagerindicator.CirclePageIndicator;
+
+public class WelcomeActivity extends Activity {
+ static final int PAGE_WIKIPEDIA = 0,
+ PAGE_COPYRIGHT = 1,
+ PAGE_FINAL = 2;
+ static final int[] pageLayouts = new int[] {
+ R.layout.welcome_wikipedia,
+ R.layout.welcome_copyright,
+ R.layout.welcome_final
+ };
+
+ private ViewPager pager;
+ private Button yesButton;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_welcome);
+
+ pager = (ViewPager)findViewById(R.id.welcomePager);
+ pager.setAdapter(new PagerAdapter() {
+ @Override
+ public int getCount() {
+ return pageLayouts.length;
+ }
+
+ @Override
+ public boolean isViewFromObject(View view, Object o) {
+ return (view == o);
+ }
+
+ @Override
+ public Object instantiateItem(ViewGroup container, int position) {
+ View view = getLayoutInflater().inflate(pageLayouts[position], null);
+ container.addView(view);
+ if (position == PAGE_FINAL) {
+ yesButton = (Button)view.findViewById(R.id.welcomeYesButton);
+ yesButton.setOnClickListener(new View.OnClickListener() {
+ public void onClick(View view) {
+ finish();
+ }
+ });
+ }
+ return view;
+ }
+
+ @Override
+ public void destroyItem(ViewGroup container, int position, Object obj) {
+ yesButton = null;
+ container.removeView((View)obj);
+ }
+ });
+
+ CirclePageIndicator indicator = (CirclePageIndicator)findViewById(R.id.welcomePagerIndicator);
+ indicator.setViewPager(pager);
+ }
+}
diff --git a/commons/src/main/java/org/wikimedia/commons/auth/LoginActivity.java b/commons/src/main/java/org/wikimedia/commons/auth/LoginActivity.java
index 37bab5c51..d4730d7b0 100644
--- a/commons/src/main/java/org/wikimedia/commons/auth/LoginActivity.java
+++ b/commons/src/main/java/org/wikimedia/commons/auth/LoginActivity.java
@@ -168,6 +168,11 @@ public class LoginActivity extends AccountAuthenticatorActivity {
that.performLogin();
}
});
+
+ if (savedInstanceState == null) {
+ Intent welcomeIntent = new Intent(this, WelcomeActivity.class);
+ startActivity(welcomeIntent);
+ }
}
private void performLogin() {
diff --git a/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsListFragment.java b/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsListFragment.java
index 101f4eedc..53721523b 100644
--- a/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsListFragment.java
+++ b/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsListFragment.java
@@ -256,6 +256,7 @@ public class ContributionsListFragment extends SherlockFragment {
feedbackIntent.putExtra(Intent.EXTRA_EMAIL, new String[] { CommonsApplication.FEEDBACK_EMAIL });
feedbackIntent.putExtra(Intent.EXTRA_SUBJECT, String.format(CommonsApplication.FEEDBACK_EMAIL_SUBJECT, CommonsApplication.APPLICATION_VERSION));
startActivity(feedbackIntent);
+ return true;
default:
return super.onOptionsItemSelected(item);