From 1364118671a44c864b2d8414afeccc5e059c2c62 Mon Sep 17 00:00:00 2001 From: A117870935 Date: Wed, 12 Apr 2023 20:28:31 +0530 Subject: [PATCH 1/2] Update UnifiedSearchFragment.kt. Commit id: 4fb3fb3 from branch bug/NMC-1652. --- .../com/nmc/android/utils/KeyboardUtils.java | 21 +++++++++++++++++++ .../ui/activity/FileDisplayActivity.java | 3 +++ .../ui/fragment/UnifiedSearchFragment.kt | 4 ++++ 3 files changed, 28 insertions(+) create mode 100644 app/src/main/java/com/nmc/android/utils/KeyboardUtils.java diff --git a/app/src/main/java/com/nmc/android/utils/KeyboardUtils.java b/app/src/main/java/com/nmc/android/utils/KeyboardUtils.java new file mode 100644 index 000000000000..ec43ac2dd3a8 --- /dev/null +++ b/app/src/main/java/com/nmc/android/utils/KeyboardUtils.java @@ -0,0 +1,21 @@ +package com.nmc.android.utils; + +import android.app.Activity; +import android.content.Context; +import android.view.View; +import android.view.inputmethod.InputMethodManager; + +public class KeyboardUtils { + + public static void showSoftKeyboard(Context context, View view) { + view.requestFocus(); + InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); + imm.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT); + } + + public static void hideKeyboardFrom(Context context, View view) { + view.clearFocus(); + InputMethodManager imm = (InputMethodManager) context.getSystemService(Activity.INPUT_METHOD_SERVICE); + imm.hideSoftInputFromWindow(view.getWindowToken(), 0); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java index 7c168ab0a498..017c97529fab 100644 --- a/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -139,6 +139,7 @@ import com.owncloud.android.utils.MimeTypeUtil; import com.owncloud.android.utils.PermissionUtil; import com.owncloud.android.utils.PushUtils; +import com.nmc.android.utils.KeyboardUtils; import com.owncloud.android.utils.StringUtils; import com.owncloud.android.utils.theme.CapabilityUtils; @@ -1039,6 +1040,8 @@ private void popBack() { binding.fabMain.setImageResource(R.drawable.ic_plus); resetScrolling(true); showSortListGroup(false); + // hide the keyboard on back press if showing + KeyboardUtils.hideKeyboardFrom(this, binding.getRoot()); super.onBackPressed(); } diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/UnifiedSearchFragment.kt b/app/src/main/java/com/owncloud/android/ui/fragment/UnifiedSearchFragment.kt index d3a3fc2b7eb8..673389bfc809 100644 --- a/app/src/main/java/com/owncloud/android/ui/fragment/UnifiedSearchFragment.kt +++ b/app/src/main/java/com/owncloud/android/ui/fragment/UnifiedSearchFragment.kt @@ -39,6 +39,7 @@ import com.nextcloud.client.account.CurrentAccountProvider import com.nextcloud.client.core.AsyncRunner import com.nextcloud.client.di.Injectable import com.nextcloud.client.di.ViewModelFactory +import com.nmc.android.utils.KeyboardUtils import com.nextcloud.client.network.ClientFactory import com.owncloud.android.R import com.owncloud.android.databinding.ListFragmentBinding @@ -221,6 +222,8 @@ class UnifiedSearchFragment : private fun showFile(file: OCFile, showFileActions: Boolean) { activity.let { if (activity is FileDisplayActivity) { + // NMC: hide keyboard when user taps on any file to view + KeyboardUtils.hideKeyboardFrom(requireContext(), binding.root) val fda = activity as FileDisplayActivity fda.file = file @@ -280,6 +283,7 @@ class UnifiedSearchFragment : } override fun onQueryTextSubmit(query: String): Boolean { + KeyboardUtils.hideKeyboardFrom(requireContext(), binding.root) vm.setQuery(query) vm.initialQuery() return true From 4c0b6aae9414c171433ca2e6a0a3c2d61cbfc439 Mon Sep 17 00:00:00 2001 From: A117870935 Date: Tue, 2 Apr 2024 18:38:14 +0530 Subject: [PATCH 2/2] Filtering only folders and showing them as per NMC-2893 Task --- .../android/ui/activity/ReceiveExternalFilesActivity.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java index 29dc339c5401..d248632a5cc1 100755 --- a/app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java +++ b/app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java @@ -105,6 +105,7 @@ import java.util.Calendar; import java.util.List; import java.util.Stack; +import java.util.stream.Collectors; import javax.inject.Inject; @@ -742,6 +743,10 @@ private void populateDirectoryList() { if (mFile != null) { List files = getStorageManager().getFolderContent(mFile, false); + // NMC-2893 Task + // Filtering and showing only files which are folder + files = files.stream().filter(OCFile::isFolder).collect(Collectors.toList()); + if (files.isEmpty()) { setMessageForEmptyList(R.string.file_list_empty_headline, R.string.empty, R.drawable.uploads);