mirror of
				https://github.com/commons-app/apps-android-commons.git
				synced 2025-10-31 06:43:56 +01:00 
			
		
		
		
	Fix: enable H/W acceleration for UploadActivity to resolve keyboard not showing on Upload Screen (#6418)
	
		
			
	
		
	
	
		
	
		
			Some checks are pending
		
		
	
	
		
			
				
	
				Android CI / Run tests and generate APK (push) Waiting to run
				
			
		
		
	
	
				
					
				
			
		
			Some checks are pending
		
		
	
	Android CI / Run tests and generate APK (push) Waiting to run
				
			* fix: enable h/w acceleration for UploadActivity to resolve ime issue * fix(upload): handle keyboard insets for bottom buttons at Depicts step * fix(upload): handle keyboard insets for buttons at select category step * fix(upload): hide keyboard before navigating to Media License screen This solves keyboard opened at the License screen issue, if we proceed by pressing next at the Upload Categories screen when the keyboard is opened
This commit is contained in:
		
							parent
							
								
									730f314200
								
							
						
					
					
						commit
						2811b181b7
					
				
					 7 changed files with 51 additions and 33 deletions
				
			
		|  | @ -13,6 +13,7 @@ import android.os.Build.VERSION_CODES | |||
| import android.os.Bundle | ||||
| import android.provider.Settings | ||||
| import android.view.View | ||||
| import android.view.inputmethod.InputMethodManager | ||||
| import android.widget.CheckBox | ||||
| import androidx.activity.OnBackPressedCallback | ||||
| import androidx.appcompat.app.AlertDialog | ||||
|  | @ -805,6 +806,19 @@ class UploadActivity : BaseActivity(), UploadContract.View, UploadBaseFragment.C | |||
| 
 | ||||
|     override fun onNextButtonClicked(index: Int) { | ||||
|         if (index < fragments!!.size - 1) { | ||||
|             // Hide the keyboard before navigating to Media License screen | ||||
|             val isUploadCategoriesFragment = fragments!!.getOrNull(index)?.let { | ||||
|                 it is UploadCategoriesFragment | ||||
|             } ?: false | ||||
|             if (isUploadCategoriesFragment) { | ||||
|                 val inputMethodManager = getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager | ||||
|                 currentFocus?.let { focusedView -> | ||||
|                     inputMethodManager.hideSoftInputFromWindow( | ||||
|                         focusedView.windowToken, | ||||
|                         InputMethodManager.HIDE_NOT_ALWAYS | ||||
|                     ) | ||||
|                 } | ||||
|             } | ||||
|             binding.vpUpload.setCurrentItem(index + 1, false) | ||||
|             fragments!![index + 1].onBecameVisible() | ||||
|             (binding.rvThumbnails.layoutManager as LinearLayoutManager) | ||||
|  |  | |||
|  | @ -26,6 +26,7 @@ import fr.free.nrw.commons.media.MediaDetailFragment | |||
| import fr.free.nrw.commons.upload.UploadActivity | ||||
| import fr.free.nrw.commons.upload.UploadBaseFragment | ||||
| import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog | ||||
| import fr.free.nrw.commons.utils.handleKeyboardInsets | ||||
| import fr.free.nrw.commons.wikidata.WikidataConstants.SELECTED_NEARBY_PLACE_CATEGORY | ||||
| import io.reactivex.Notification | ||||
| import io.reactivex.android.schedulers.AndroidSchedulers | ||||
|  | @ -69,6 +70,7 @@ class UploadCategoriesFragment : UploadBaseFragment(), CategoriesContract.View { | |||
|         savedInstanceState: Bundle? | ||||
|     ): View? { | ||||
|         binding = UploadCategoriesFragmentBinding.inflate(inflater, container, false) | ||||
|         binding!!.llContainerButtons.handleKeyboardInsets() | ||||
|         return binding!!.root | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
|  | @ -27,6 +27,7 @@ import fr.free.nrw.commons.upload.UploadActivity | |||
| import fr.free.nrw.commons.upload.UploadBaseFragment | ||||
| import fr.free.nrw.commons.upload.structure.depictions.DepictedItem | ||||
| import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog | ||||
| import fr.free.nrw.commons.utils.handleKeyboardInsets | ||||
| import fr.free.nrw.commons.wikidata.WikidataConstants.SELECTED_NEARBY_PLACE | ||||
| import io.reactivex.Notification | ||||
| import io.reactivex.android.schedulers.AndroidSchedulers | ||||
|  | @ -69,6 +70,7 @@ class DepictsFragment : UploadBaseFragment(), DepictsContract.View { | |||
|         savedInstanceState: Bundle? | ||||
|     ): View { | ||||
|         _binding = UploadDepictsFragmentBinding.inflate(inflater, container, false) | ||||
|         _binding!!.navigationButtonsContainer.handleKeyboardInsets() | ||||
|         return binding.root | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Rohit Verma
						Rohit Verma