Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(67)

Side by Side Diff: ios/chrome/browser/ui/settings/voicesearch_collection_view_controller.mm

Issue 2813223002: [ObjC ARC] Converts ios/chrome/browser/ui/settings:settings to ARC. (Closed)
Patch Set: reabse Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "ios/chrome/browser/ui/settings/voicesearch_collection_view_controller.h " 5 #import "ios/chrome/browser/ui/settings/voicesearch_collection_view_controller.h "
6 6
7 #import "base/ios/weak_nsobject.h"
8 #include "base/logging.h" 7 #include "base/logging.h"
9 #include "base/mac/foundation_util.h" 8 #include "base/mac/foundation_util.h"
10 #import "base/mac/scoped_nsobject.h"
11 #include "base/strings/sys_string_conversions.h" 9 #include "base/strings/sys_string_conversions.h"
12 #include "components/prefs/pref_member.h" 10 #include "components/prefs/pref_member.h"
13 #include "components/prefs/pref_service.h" 11 #include "components/prefs/pref_service.h"
14 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_switch_item .h" 12 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_switch_item .h"
15 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_text_item.h " 13 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_text_item.h "
16 #import "ios/chrome/browser/ui/collection_view/collection_view_model.h" 14 #import "ios/chrome/browser/ui/collection_view/collection_view_model.h"
17 #include "ios/chrome/browser/voice/speech_input_locale_config.h" 15 #include "ios/chrome/browser/voice/speech_input_locale_config.h"
18 #include "ios/chrome/grit/ios_strings.h" 16 #include "ios/chrome/grit/ios_strings.h"
19 #include "ios/public/provider/chrome/browser/voice/voice_search_prefs.h" 17 #include "ios/public/provider/chrome/browser/voice/voice_search_prefs.h"
20 #import "ios/third_party/material_components_ios/src/components/CollectionCells/ src/MaterialCollectionCells.h" 18 #import "ios/third_party/material_components_ios/src/components/CollectionCells/ src/MaterialCollectionCells.h"
21 #include "ui/base/l10n/l10n_util.h" 19 #include "ui/base/l10n/l10n_util.h"
22 #include "ui/base/l10n/l10n_util_mac.h" 20 #include "ui/base/l10n/l10n_util_mac.h"
23 21
22 #if !defined(__has_feature) || !__has_feature(objc_arc)
23 #error "This file requires ARC support."
24 #endif
25
24 namespace { 26 namespace {
25 27
26 typedef NS_ENUM(NSInteger, SectionIdentifier) { 28 typedef NS_ENUM(NSInteger, SectionIdentifier) {
27 SectionIdentifierTTS = kSectionIdentifierEnumZero, 29 SectionIdentifierTTS = kSectionIdentifierEnumZero,
28 SectionIdentifierLanguages, 30 SectionIdentifierLanguages,
29 }; 31 };
30 32
31 typedef NS_ENUM(NSInteger, ItemType) { 33 typedef NS_ENUM(NSInteger, ItemType) {
32 ItemTypeTTSEnabled = kItemTypeEnumZero, 34 ItemTypeTTSEnabled = kItemTypeEnumZero,
33 ItemTypeLanguagesLanguageOption, 35 ItemTypeLanguagesLanguageOption,
(...skipping 28 matching lines...) Expand all
62 } 64 }
63 return self; 65 return self;
64 } 66 }
65 67
66 - (void)loadModel { 68 - (void)loadModel {
67 [super loadModel]; 69 [super loadModel];
68 CollectionViewModel* model = self.collectionViewModel; 70 CollectionViewModel* model = self.collectionViewModel;
69 71
70 // TTS section. 72 // TTS section.
71 [model addSectionWithIdentifier:SectionIdentifierTTS]; 73 [model addSectionWithIdentifier:SectionIdentifierTTS];
72 CollectionViewSwitchItem* tts = [[[CollectionViewSwitchItem alloc] 74 CollectionViewSwitchItem* tts =
73 initWithType:ItemTypeTTSEnabled] autorelease]; 75 [[CollectionViewSwitchItem alloc] initWithType:ItemTypeTTSEnabled];
74 tts.text = l10n_util::GetNSString(IDS_IOS_VOICE_SEARCH_SETTING_TTS); 76 tts.text = l10n_util::GetNSString(IDS_IOS_VOICE_SEARCH_SETTING_TTS);
75 tts.on = _ttsEnabled.GetValue(); 77 tts.on = _ttsEnabled.GetValue();
76 tts.enabled = [self currentLanguageSupportsTTS]; 78 tts.enabled = [self currentLanguageSupportsTTS];
77 [model addItem:tts toSectionWithIdentifier:SectionIdentifierTTS]; 79 [model addItem:tts toSectionWithIdentifier:SectionIdentifierTTS];
78 80
79 // Variables used to populate the languages section. 81 // Variables used to populate the languages section.
80 voice::SpeechInputLocaleConfig* localeConfig = 82 voice::SpeechInputLocaleConfig* localeConfig =
81 voice::SpeechInputLocaleConfig::GetInstance(); 83 voice::SpeechInputLocaleConfig::GetInstance();
82 const std::vector<voice::SpeechInputLocale>& locales = 84 const std::vector<voice::SpeechInputLocale>& locales =
83 localeConfig->GetAvailableLocales(); 85 localeConfig->GetAvailableLocales();
84 std::string selectedLocaleCode = _selectedLanguage.GetValue(); 86 std::string selectedLocaleCode = _selectedLanguage.GetValue();
85 87
86 // Section with the list of voice search languages. 88 // Section with the list of voice search languages.
87 [model addSectionWithIdentifier:SectionIdentifierLanguages]; 89 [model addSectionWithIdentifier:SectionIdentifierLanguages];
88 // Add default locale option. Using an empty string for the voice search 90 // Add default locale option. Using an empty string for the voice search
89 // locale pref indicates using the default locale. 91 // locale pref indicates using the default locale.
90 CollectionViewTextItem* defaultItem = [[[CollectionViewTextItem alloc] 92 CollectionViewTextItem* defaultItem = [[CollectionViewTextItem alloc]
91 initWithType:ItemTypeLanguagesLanguageOption] autorelease]; 93 initWithType:ItemTypeLanguagesLanguageOption];
92 defaultItem.text = 94 defaultItem.text =
93 l10n_util::GetNSStringF(IDS_IOS_VOICE_SEARCH_SETTINGS_DEFAULT_LOCALE, 95 l10n_util::GetNSStringF(IDS_IOS_VOICE_SEARCH_SETTINGS_DEFAULT_LOCALE,
94 localeConfig->GetDefaultLocale().display_name); 96 localeConfig->GetDefaultLocale().display_name);
95 defaultItem.accessoryType = selectedLocaleCode.empty() 97 defaultItem.accessoryType = selectedLocaleCode.empty()
96 ? MDCCollectionViewCellAccessoryCheckmark 98 ? MDCCollectionViewCellAccessoryCheckmark
97 : MDCCollectionViewCellAccessoryNone; 99 : MDCCollectionViewCellAccessoryNone;
98 [model addItem:defaultItem 100 [model addItem:defaultItem
99 toSectionWithIdentifier:SectionIdentifierLanguages]; 101 toSectionWithIdentifier:SectionIdentifierLanguages];
100 // Add locale list. 102 // Add locale list.
101 for (NSUInteger ii = 0; ii < locales.size(); ii++) { 103 for (NSUInteger ii = 0; ii < locales.size(); ii++) {
102 voice::SpeechInputLocale locale = locales[ii]; 104 voice::SpeechInputLocale locale = locales[ii];
103 NSString* languageName = base::SysUTF16ToNSString(locale.display_name); 105 NSString* languageName = base::SysUTF16ToNSString(locale.display_name);
104 BOOL checked = (locale.code == selectedLocaleCode); 106 BOOL checked = (locale.code == selectedLocaleCode);
105 107
106 CollectionViewTextItem* languageItem = [[[CollectionViewTextItem alloc] 108 CollectionViewTextItem* languageItem = [[CollectionViewTextItem alloc]
107 initWithType:ItemTypeLanguagesLanguageOption] autorelease]; 109 initWithType:ItemTypeLanguagesLanguageOption];
108 languageItem.text = languageName; 110 languageItem.text = languageName;
109 languageItem.accessoryType = checked 111 languageItem.accessoryType = checked
110 ? MDCCollectionViewCellAccessoryCheckmark 112 ? MDCCollectionViewCellAccessoryCheckmark
111 : MDCCollectionViewCellAccessoryNone; 113 : MDCCollectionViewCellAccessoryNone;
112 [model addItem:languageItem 114 [model addItem:languageItem
113 toSectionWithIdentifier:SectionIdentifierLanguages]; 115 toSectionWithIdentifier:SectionIdentifierLanguages];
114 } 116 }
115 } 117 }
116 118
117 #pragma mark - UICollectionViewDelegate 119 #pragma mark - UICollectionViewDelegate
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 - (BOOL)currentLanguageSupportsTTS { 252 - (BOOL)currentLanguageSupportsTTS {
251 voice::SpeechInputLocaleConfig* localeConfig = 253 voice::SpeechInputLocaleConfig* localeConfig =
252 voice::SpeechInputLocaleConfig::GetInstance(); 254 voice::SpeechInputLocaleConfig::GetInstance();
253 std::string localeCode = _selectedLanguage.GetValue().empty() 255 std::string localeCode = _selectedLanguage.GetValue().empty()
254 ? localeConfig->GetDefaultLocale().code 256 ? localeConfig->GetDefaultLocale().code
255 : _selectedLanguage.GetValue(); 257 : _selectedLanguage.GetValue();
256 return localeConfig->IsTextToSpeechEnabledForCode(localeCode); 258 return localeConfig->IsTextToSpeechEnabledForCode(localeCode);
257 } 259 }
258 260
259 @end 261 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698