Simplify welcome layouts (#2741)

* Simplify welcome layouts

* Add landscape layouts

* Reformat welcome layouts

* Rename string resources
This commit is contained in:
Adam Jones 2019-04-16 10:35:42 +01:00 committed by neslihanturan
parent fb0d025f33
commit 5d299b1511
24 changed files with 331 additions and 925 deletions

View file

@ -1,13 +1,14 @@
package fr.free.nrw.commons;
import android.net.Uri;
import android.text.Html;
import androidx.annotation.Nullable;
import androidx.viewpager.widget.PagerAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.viewpager.widget.PagerAdapter;
import org.wikipedia.util.StringUtil;
public class WelcomePagerAdapter extends PagerAdapter {
@ -15,22 +16,9 @@ public class WelcomePagerAdapter extends PagerAdapter {
R.layout.welcome_wikipedia,
R.layout.welcome_do_upload,
R.layout.welcome_dont_upload,
R.layout.welcome_image_details,
R.layout.welcome_image_example,
R.layout.welcome_final
};
private static final int PAGE_FINAL = 4;
private Callback callback;
private ViewGroup container;
/**
* Changes callback to provided one
*
* @param callback New callback
* it can be null.
*/
public void setCallback(@Nullable Callback callback) {
this.callback = callback;
}
/**
* Gets total number of layouts
@ -54,29 +42,22 @@ public class WelcomePagerAdapter extends PagerAdapter {
@Override
public Object instantiateItem(ViewGroup container, int position) {
this.container = container;
LayoutInflater inflater = LayoutInflater.from(container.getContext());
ViewGroup layout = (ViewGroup) inflater.inflate(PAGE_LAYOUTS[position], container, false);
// If final page
if (position == PAGE_FINAL) {
if (position == PAGE_LAYOUTS.length - 1) {
// Add link to more information
TextView moreInfo = layout.findViewById(R.id.welcomeInfo);
moreInfo.setText(StringUtil.fromHtml(WelcomeActivity.moreInformation));
moreInfo.setOnClickListener(view -> {
try {
Utils.handleWebUrl(
container.getContext(),
Uri.parse("https://commons.wikimedia.org/wiki/Help:Contents")
);
} catch (Exception e) {
e.printStackTrace();
}
});
moreInfo.setText(Html.fromHtml(container.getContext().getString(R.string.welcome_help_button_text)));
moreInfo.setOnClickListener(view -> Utils.handleWebUrl(
container.getContext(),
Uri.parse("https://commons.wikimedia.org/wiki/Help:Contents")
));
// Handle click of finishTutorialButton ("YES!" button) inside layout
layout.findViewById(R.id.finishTutorialButton)
.setOnClickListener(view -> callback.finishTutorial());
.setOnClickListener(view -> ((WelcomeActivity) container.getContext()).finishTutorial());
}
container.addView(layout);
@ -93,8 +74,4 @@ public class WelcomePagerAdapter extends PagerAdapter {
public void destroyItem(ViewGroup container, int position, Object obj) {
container.removeView((View) obj);
}
public interface Callback {
void finishTutorial();
}
}