mirror of
				https://github.com/commons-app/apps-android-commons.git
				synced 2025-10-30 22:34:02 +01:00 
			
		
		
		
	 4038519012
			
		
	
	
		4038519012
		
			
		
	
	
	
	
		
			
			Remove CDATA and <u> tags from string resources. Instead use setUnderlinedText() method added in Utils to create underlined string resources.
		
			
				
	
	
		
			75 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package fr.free.nrw.commons;
 | |
| 
 | |
| import android.net.Uri;
 | |
| import android.text.Html;
 | |
| import android.view.LayoutInflater;
 | |
| import android.view.View;
 | |
| import android.view.ViewGroup;
 | |
| import android.widget.TextView;
 | |
| 
 | |
| import androidx.viewpager.widget.PagerAdapter;
 | |
| 
 | |
| public class WelcomePagerAdapter extends PagerAdapter {
 | |
|     private static final int[] PAGE_LAYOUTS = new int[]{
 | |
|             R.layout.welcome_wikipedia,
 | |
|             R.layout.welcome_do_upload,
 | |
|             R.layout.welcome_dont_upload,
 | |
|             R.layout.welcome_image_example,
 | |
|             R.layout.welcome_final
 | |
|     };
 | |
| 
 | |
|     /**
 | |
|      * Gets total number of layouts
 | |
|      * @return Number of layouts
 | |
|      */
 | |
|     @Override
 | |
|     public int getCount() {
 | |
|         return PAGE_LAYOUTS.length;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Compares given view with provided object
 | |
|      * @param view Adapter view
 | |
|      * @param object Adapter object
 | |
|      * @return Equality between view and object
 | |
|      */
 | |
|     @Override
 | |
|     public boolean isViewFromObject(View view, Object object) {
 | |
|         return (view == object);
 | |
|     }
 | |
| 
 | |
|     @Override
 | |
|     public Object instantiateItem(ViewGroup container, int position) {
 | |
|         LayoutInflater inflater = LayoutInflater.from(container.getContext());
 | |
|         ViewGroup layout = (ViewGroup) inflater.inflate(PAGE_LAYOUTS[position], container, false);
 | |
| 
 | |
|         // If final page
 | |
|         if (position == PAGE_LAYOUTS.length - 1) {
 | |
|             // Add link to more information
 | |
|             TextView moreInfo = layout.findViewById(R.id.welcomeInfo);
 | |
|             Utils.setUnderlinedText(moreInfo, R.string.welcome_help_button_text, container.getContext());
 | |
|             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 -> ((WelcomeActivity) container.getContext()).finishTutorial());
 | |
|         }
 | |
| 
 | |
|         container.addView(layout);
 | |
|         return layout;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Provides a way to remove an item from container
 | |
|      * @param container Adapter view group container
 | |
|      * @param position Index of item
 | |
|      * @param obj Adapter object
 | |
|      */
 | |
|     @Override
 | |
|     public void destroyItem(ViewGroup container, int position, Object obj) {
 | |
|         container.removeView((View) obj);
 | |
|     }
 | |
| }
 |