Commit 4198e7b2 authored by Chris Lu's avatar Chris Lu Committed by Commit Bot

[ios] Show Snackbar if there is an error in translate

Bug: 1014959
Change-Id: I1272d6475984716e3b7be14624bd617a5a17410a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1946059
Commit-Queue: Chris Lu <thegreenfrog@chromium.org>
Reviewed-by: default avatarSergio Collazos <sczs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#722520}
parent 03e03975
......@@ -62,10 +62,12 @@ source_set("translate") {
":coordinators",
":translate_public",
"//base",
"//components/strings:components_strings_grit",
"//components/translate/core/browser",
"//ios/chrome/app/strings:ios_strings_grit",
"//ios/chrome/browser/infobars:public",
"//ios/chrome/browser/translate:public",
"//ios/chrome/browser/ui/commands",
"//ios/chrome/browser/ui/infobars:infobars_ui",
"//ios/chrome/browser/ui/infobars:public",
"//ios/chrome/browser/ui/infobars/banners",
......@@ -73,6 +75,8 @@ source_set("translate") {
"//ios/chrome/browser/ui/infobars/modals",
"//ios/chrome/browser/ui/list_model",
"//ios/chrome/browser/ui/table_view",
"//ios/chrome/browser/ui/util",
"//ios/third_party/material_components_ios",
"//ui/base",
]
}
......@@ -5,11 +5,13 @@
#import "ios/chrome/browser/ui/infobars/coordinators/infobar_translate_coordinator.h"
#include "base/strings/sys_string_conversions.h"
#include "components/strings/grit/components_strings.h"
#include "components/translate/core/browser/translate_infobar_delegate.h"
#include "ios/chrome/browser/infobars/infobar_controller_delegate.h"
#import "ios/chrome/browser/infobars/infobar_type.h"
#import "ios/chrome/browser/translate/translate_constants.h"
#import "ios/chrome/browser/translate/translate_infobar_delegate_observer_bridge.h"
#import "ios/chrome/browser/ui/commands/snackbar_commands.h"
#import "ios/chrome/browser/ui/infobars/banners/infobar_banner_presentation_state.h"
#import "ios/chrome/browser/ui/infobars/banners/infobar_banner_view_controller.h"
#import "ios/chrome/browser/ui/infobars/coordinators/infobar_coordinator_implementation.h"
......@@ -19,13 +21,20 @@
#import "ios/chrome/browser/ui/infobars/modals/infobar_translate_language_selection_table_view_controller.h"
#import "ios/chrome/browser/ui/infobars/modals/infobar_translate_modal_delegate.h"
#import "ios/chrome/browser/ui/infobars/modals/infobar_translate_table_view_controller.h"
#import "ios/chrome/browser/ui/util/uikit_ui_util.h"
#include "ios/chrome/grit/ios_strings.h"
#import "ios/third_party/material_components_ios/src/components/Snackbar/src/MaterialSnackbar.h"
#include "ui/base/l10n/l10n_util.h"
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
#endif
namespace {
NSString* const kTranslateNotificationSnackbarCategory =
@"TranslateNotificationSnackbarCategory";
} // namespace
@interface TranslateInfobarCoordinator () <InfobarCoordinatorImplementation,
TranslateInfobarDelegateObserving,
InfobarTranslateModalDelegate> {
......@@ -125,9 +134,11 @@
break;
}
case translate::TranslateStep::TRANSLATE_STEP_TRANSLATE_ERROR:
[self showErrorSnackbar];
break;
case translate::TranslateStep::TRANSLATE_STEP_BEFORE_TRANSLATE:
case translate::TranslateStep::TRANSLATE_STEP_NEVER_TRANSLATE:
case translate::TranslateStep::TRANSLATE_STEP_TRANSLATE_ERROR:
break;
}
}
......@@ -482,4 +493,14 @@
}
}
- (void)showErrorSnackbar {
MDCSnackbarMessage* message = [MDCSnackbarMessage
messageWithText:l10n_util::GetNSString(IDS_TRANSLATE_NOTIFICATION_ERROR)];
message.category = kTranslateNotificationSnackbarCategory;
TriggerHapticFeedbackForNotification(UINotificationFeedbackTypeSuccess);
id<SnackbarCommands> snackbarDispatcher =
static_cast<id<SnackbarCommands>>(self.dispatcher);
[snackbarDispatcher showSnackbarMessage:message];
}
@end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment