From e120e7d15aad7f322f50e5723c28bd570a33ba1e Mon Sep 17 00:00:00 2001 From: PawKanarek Date: Sat, 1 Jun 2019 03:45:58 +0200 Subject: [PATCH] Update BottomNavigationViewUtils.cs: removing redundant Dispose() calls (#5298) * Update BottomNavigationViewUtils.cs Remove Dispose() and using statement as we don't destroy items. Casting objects to classes that implements IDisposable interface dosen't mean we need call Dispose() on them, and surely we don't want call it here. * Update BottomNavigationViewUtils.cs Fixed typo: removed closing parenthesis, added semicolon --- .../Renderers/BottomNavigationViewUtils.cs | 54 ++++++++++------------ 1 file changed, 24 insertions(+), 30 deletions(-) diff --git a/Xamarin.Forms.Platform.Android/Renderers/BottomNavigationViewUtils.cs b/Xamarin.Forms.Platform.Android/Renderers/BottomNavigationViewUtils.cs index 036b99c..4bfbcdb 100644 --- a/Xamarin.Forms.Platform.Android/Renderers/BottomNavigationViewUtils.cs +++ b/Xamarin.Forms.Platform.Android/Renderers/BottomNavigationViewUtils.cs @@ -24,46 +24,40 @@ namespace Xamarin.Forms.Platform.Android { try { - using (var menuView = bottomNavigationView.GetChildAt(0) as BottomNavigationMenuView) + var menuView = bottomNavigationView.GetChildAt(0) as BottomNavigationMenuView; + if (menuView == null) { - if (menuView == null) - { - System.Diagnostics.Debug.WriteLine("Unable to find BottomNavigationMenuView"); - return; - } + System.Diagnostics.Debug.WriteLine("Unable to find BottomNavigationMenuView"); + return; + } #if __ANDROID_28__ - if (enableShiftMode) - bottomNavigationView.LabelVisibilityMode = ALabelVisibilityMode.LabelVisibilityAuto; - else - bottomNavigationView.LabelVisibilityMode = ALabelVisibilityMode.LabelVisibilityLabeled; + if (enableShiftMode) + bottomNavigationView.LabelVisibilityMode = ALabelVisibilityMode.LabelVisibilityAuto; + else + bottomNavigationView.LabelVisibilityMode = ALabelVisibilityMode.LabelVisibilityLabeled; #else - var shiftMode = menuView.Class.GetDeclaredField("mShiftingMode"); - shiftMode.Accessible = true; - shiftMode.SetBoolean(menuView, enableShiftMode); - shiftMode.Accessible = false; - shiftMode.Dispose(); + var shiftMode = menuView.Class.GetDeclaredField("mShiftingMode"); + shiftMode.Accessible = true; + shiftMode.SetBoolean(menuView, enableShiftMode); + shiftMode.Accessible = false; + shiftMode.Dispose(); #endif - for (int i = 0; i < menuView.ChildCount; i++) + for (int i = 0; i < menuView.ChildCount; i++) + { + var child = menuView.GetChildAt(i); + var item = child as BottomNavigationItemView; + if (item != null) { - var child = menuView.GetChildAt(i); - var item = child as BottomNavigationItemView; - if (item != null) - { #if __ANDROID_28__ - item.SetShifting(enableItemShiftMode); + item.SetShifting(enableItemShiftMode); #else - item.SetShiftingMode(enableItemShiftMode); + item.SetShiftingMode(enableItemShiftMode); #endif - item.SetChecked(item.ItemData.IsChecked); - } - - child.Dispose(); + item.SetChecked(item.ItemData.IsChecked); } - - - menuView.UpdateMenuView(); } + menuView.UpdateMenuView(); } catch (Exception ex) { @@ -71,4 +65,4 @@ namespace Xamarin.Forms.Platform.Android } } } -} \ No newline at end of file +} -- 2.7.4