@@ -1747,10 +1747,7 @@ - (void)updatePrimaryWikiHasTempAccountsStatusIfNecessary {
17471747
17481748- (void )tabBarController : (UITabBarController *)tabBarController didSelectViewController : (UIViewController *)viewController {
17491749 [self wmf_hideKeyboard ];
1750- }
1751-
1752- - (void )tabBar : (UITabBar *)tabBar didSelectItem : (UITabBarItem *)item {
1753- [self logTappedTabBarItem: item inTabBar: tabBar];
1750+ [self logDidSelectViewController: viewController];
17541751}
17551752
17561753- (BOOL )tabBarController : (UITabBarController *)tabBarController shouldSelectViewController : (UIViewController *)viewController {
@@ -2212,37 +2209,27 @@ - (void)setRemoteNotificationRegistrationStatusWithDeviceToken:(NSData *_Nullabl
22122209
22132210#pragma mark - Navigation logging
22142211
2215- - (void )logTappedTabBarItem : (UITabBarItem *)item inTabBar : (UITabBar *)tabBar {
2216- if (tabBar.items .count != self.viewControllers .count || self.tabBar != tabBar) {
2217- NSAssert (false , @" Unexpected tab bar setup for logging tap events." );
2218- return ;
2219- }
2220-
2221- NSInteger index = [self .tabBar.items indexOfObject: item];
2222- if (index != NSNotFound ) {
2223- UIViewController *viewController = self.viewControllers [index];
2212+ - (void )logDidSelectViewController : (UIViewController *)viewController {
2213+ if ([viewController isKindOfClass: [UINavigationController class ]]) {
2214+ UINavigationController *navVC = (UINavigationController *)viewController;
22242215
2225- if ([viewController isKindOfClass: [UINavigationController class ]] ) {
2226- UINavigationController *navVC = (UINavigationController *)viewController ;
2216+ if (navVC. viewControllers . count > 0 ) {
2217+ UIViewController *rootViewController = navVC. viewControllers [ 0 ] ;
22272218
2228- if (navVC.viewControllers .count > 0 ) {
2229- UIViewController *rootViewController = navVC.viewControllers [0 ];
2230-
2231- if ([rootViewController isKindOfClass: [ExploreViewController class ]] && [NSUserDefaults standardUserDefaults ].defaultTabType == WMFAppDefaultTabTypeExplore) {
2232- [[WMFNavigationEventsFunnel shared ] logTappedExplore ];
2233- } else if ([rootViewController isKindOfClass: [WMFSettingsViewController class ]] && [NSUserDefaults standardUserDefaults ].defaultTabType == WMFAppDefaultTabTypeSettings) {
2234- [[WMFNavigationEventsFunnel shared ] logTappedSettingsFromTabBar ];
2235- } else if ([rootViewController isKindOfClass: [WMFPlacesViewController class ]]) {
2236- [[WMFNavigationEventsFunnel shared ] logTappedPlaces ];
2237- } else if ([rootViewController isKindOfClass: [WMFSavedViewController class ]]) {
2238- [[WMFNavigationEventsFunnel shared ] logTappedSaved ];
2239- } else if ([rootViewController isKindOfClass: [WMFHistoryViewController class ]]) {
2240- [[WMFNavigationEventsFunnel shared ] logTappedHistory ];
2241- } else if ([rootViewController isKindOfClass: [WMFActivityTabViewController class ]]) {
2242- [[WMFNavigationEventsFunnel shared ] logTappedActivityTab ];
2243- } else if ([rootViewController isKindOfClass: [SearchViewController class ]]) {
2244- [[WMFNavigationEventsFunnel shared ] logTappedSearch ];
2245- }
2219+ if ([rootViewController isKindOfClass: [ExploreViewController class ]] && [NSUserDefaults standardUserDefaults ].defaultTabType == WMFAppDefaultTabTypeExplore) {
2220+ [[WMFNavigationEventsFunnel shared ] logTappedExplore ];
2221+ } else if ([rootViewController isKindOfClass: [WMFSettingsViewController class ]] && [NSUserDefaults standardUserDefaults ].defaultTabType == WMFAppDefaultTabTypeSettings) {
2222+ [[WMFNavigationEventsFunnel shared ] logTappedSettingsFromTabBar ];
2223+ } else if ([rootViewController isKindOfClass: [WMFPlacesViewController class ]]) {
2224+ [[WMFNavigationEventsFunnel shared ] logTappedPlaces ];
2225+ } else if ([rootViewController isKindOfClass: [WMFSavedViewController class ]]) {
2226+ [[WMFNavigationEventsFunnel shared ] logTappedSaved ];
2227+ } else if ([rootViewController isKindOfClass: [WMFHistoryViewController class ]]) {
2228+ [[WMFNavigationEventsFunnel shared ] logTappedHistory ];
2229+ } else if ([rootViewController isKindOfClass: [WMFActivityTabViewController class ]]) {
2230+ [[WMFNavigationEventsFunnel shared ] logTappedActivityTab ];
2231+ } else if ([rootViewController isKindOfClass: [SearchViewController class ]]) {
2232+ [[WMFNavigationEventsFunnel shared ] logTappedSearch ];
22462233 }
22472234 }
22482235 }
0 commit comments