1
0
mirror of https://github.com/TeamNewPipe/NewPipe synced 2024-12-23 16:40:32 +00:00

Merge pull request #5417 from Isira-Seneviratne/Fix_crash_on_back_navigation

Fix the crash that occurs on navigating back to the main fragment.
This commit is contained in:
Stypox 2021-01-15 08:15:09 +01:00 committed by GitHub
commit 302fde6004
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 33 additions and 25 deletions

View File

@ -117,11 +117,6 @@ public class MainFragment extends BaseFragment implements TabLayout.OnTabSelecte
public void onDestroy() { public void onDestroy() {
super.onDestroy(); super.onDestroy();
tabsManager.unsetSavedTabsListener(); tabsManager.unsetSavedTabsListener();
}
@Override
public void onDestroyView() {
super.onDestroyView();
if (binding != null) { if (binding != null) {
binding.pager.setAdapter(null); binding.pager.setAdapter(null);
binding = null; binding = null;

View File

@ -269,8 +269,10 @@ class FeedFragment : BaseListFragment<FeedState, Unit>() {
val loadedCount = loadedState.notLoadedCount > 0 val loadedCount = loadedState.notLoadedCount > 0
feedBinding.refreshSubtitleText.isVisible = loadedCount feedBinding.refreshSubtitleText.isVisible = loadedCount
if (loadedCount) { if (loadedCount) {
feedBinding.refreshSubtitleText.text = getString(R.string.feed_subscription_not_loaded_count, feedBinding.refreshSubtitleText.text = getString(
loadedState.notLoadedCount) R.string.feed_subscription_not_loaded_count,
loadedState.notLoadedCount
)
} }
if (loadedState.itemsErrors.isNotEmpty()) { if (loadedState.itemsErrors.isNotEmpty()) {

View File

@ -368,7 +368,8 @@ class FeedGroupDialog : DialogFragment(), BackPressable {
val selectedCount = this.selectedSubscriptions.size val selectedCount = this.selectedSubscriptions.size
val selectedCountText = resources.getQuantityString( val selectedCountText = resources.getQuantityString(
R.plurals.feed_group_dialog_selection_count, R.plurals.feed_group_dialog_selection_count,
selectedCount, selectedCount) selectedCount, selectedCount
)
feedGroupCreateBinding.selectedSubscriptionCountView.text = selectedCountText feedGroupCreateBinding.selectedSubscriptionCountView.text = selectedCountText
feedGroupCreateBinding.subscriptionsHeaderInfo.text = selectedCountText feedGroupCreateBinding.subscriptionsHeaderInfo.text = selectedCountText
} }
@ -423,10 +424,12 @@ class FeedGroupDialog : DialogFragment(), BackPressable {
feedGroupCreateBinding.separator.onlyVisibleIn(SubscriptionsPickerScreen, IconPickerScreen) feedGroupCreateBinding.separator.onlyVisibleIn(SubscriptionsPickerScreen, IconPickerScreen)
feedGroupCreateBinding.cancelButton.onlyVisibleIn(InitialScreen, DeleteScreen) feedGroupCreateBinding.cancelButton.onlyVisibleIn(InitialScreen, DeleteScreen)
feedGroupCreateBinding.confirmButton.setText(when { feedGroupCreateBinding.confirmButton.setText(
when {
currentScreen == InitialScreen && groupId == NO_GROUP_SELECTED -> R.string.create currentScreen == InitialScreen && groupId == NO_GROUP_SELECTED -> R.string.create
else -> android.R.string.ok else -> android.R.string.ok
}) }
)
feedGroupCreateBinding.deleteButton.isGone = currentScreen != InitialScreen || groupId == NO_GROUP_SELECTED feedGroupCreateBinding.deleteButton.isGone = currentScreen != InitialScreen || groupId == NO_GROUP_SELECTED
@ -471,27 +474,35 @@ class FeedGroupDialog : DialogFragment(), BackPressable {
private fun showKeyboardSearch() { private fun showKeyboardSearch() {
if (searchLayoutBinding.toolbarSearchEditText.requestFocus()) { if (searchLayoutBinding.toolbarSearchEditText.requestFocus()) {
inputMethodManager.showSoftInput(searchLayoutBinding.toolbarSearchEditText, inputMethodManager.showSoftInput(
InputMethodManager.SHOW_IMPLICIT) searchLayoutBinding.toolbarSearchEditText,
InputMethodManager.SHOW_IMPLICIT
)
} }
} }
private fun hideKeyboardSearch() { private fun hideKeyboardSearch() {
inputMethodManager.hideSoftInputFromWindow(searchLayoutBinding.toolbarSearchEditText.windowToken, inputMethodManager.hideSoftInputFromWindow(
InputMethodManager.RESULT_UNCHANGED_SHOWN) searchLayoutBinding.toolbarSearchEditText.windowToken,
InputMethodManager.RESULT_UNCHANGED_SHOWN
)
searchLayoutBinding.toolbarSearchEditText.clearFocus() searchLayoutBinding.toolbarSearchEditText.clearFocus()
} }
private fun showKeyboard() { private fun showKeyboard() {
if (feedGroupCreateBinding.groupNameInput.requestFocus()) { if (feedGroupCreateBinding.groupNameInput.requestFocus()) {
inputMethodManager.showSoftInput(feedGroupCreateBinding.groupNameInput, inputMethodManager.showSoftInput(
InputMethodManager.SHOW_IMPLICIT) feedGroupCreateBinding.groupNameInput,
InputMethodManager.SHOW_IMPLICIT
)
} }
} }
private fun hideKeyboard() { private fun hideKeyboard() {
inputMethodManager.hideSoftInputFromWindow(feedGroupCreateBinding.groupNameInput.windowToken, inputMethodManager.hideSoftInputFromWindow(
InputMethodManager.RESULT_UNCHANGED_SHOWN) feedGroupCreateBinding.groupNameInput.windowToken,
InputMethodManager.RESULT_UNCHANGED_SHOWN
)
feedGroupCreateBinding.groupNameInput.clearFocus() feedGroupCreateBinding.groupNameInput.clearFocus()
} }