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

Side by Side Diff: webrtc/examples/objc/AppRTCMobile/ios/ARDSettingsViewController.m

Issue 2488653002: Revert of Add bitrate section to settings view controller. (Closed)
Patch Set: Created 4 years, 1 month 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
« no previous file with comments | « webrtc/examples/objc/AppRTCMobile/ios/ARDMainViewController.m ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2016 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2016 The WebRTC Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #import "ARDSettingsViewController.h" 11 #import "ARDSettingsViewController.h"
12 #import "ARDMediaConstraintsModel.h" 12 #import "ARDMediaConstraintsModel.h"
13 13
14 NS_ASSUME_NONNULL_BEGIN 14 NS_ASSUME_NONNULL_BEGIN
15
16 typedef NS_ENUM(int, ARDSettingsSections) {
17 ARDSettingsSectionMediaConstraints = 0,
18 ARDSettingsSectionBitRate
19 };
20
21 @interface ARDSettingsViewController () { 15 @interface ARDSettingsViewController () {
22 ARDMediaConstraintsModel *_mediaConstraintsModel; 16 ARDMediaConstraintsModel *_mediaConstraintsModel;
23 } 17 }
24 18
25 @end 19 @end
26 20
27 @implementation ARDSettingsViewController 21 @implementation ARDSettingsViewController
28 22
29 - (instancetype)initWithStyle:(UITableViewStyle)style 23 - (instancetype)initWithStyle:(UITableViewStyle)style
30 mediaConstraintsModel:(ARDMediaConstraintsModel *)mediaConstraintsModel { 24 mediaConstraintsModel:(ARDMediaConstraintsModel *)mediaConstraintsModel {
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 72
79 #pragma mark - Dismissal of view controller 73 #pragma mark - Dismissal of view controller
80 74
81 - (void)dismissModally:(id)sender { 75 - (void)dismissModally:(id)sender {
82 [self dismissViewControllerAnimated:YES completion:nil]; 76 [self dismissViewControllerAnimated:YES completion:nil];
83 } 77 }
84 78
85 #pragma mark - Table view data source 79 #pragma mark - Table view data source
86 80
87 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 81 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
88 return 2; 82 return 1;
89 } 83 }
90 84
91 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger )section { 85 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger )section {
92 if ([self sectionIsMediaConstraints:section]) { 86 return self.mediaConstraintsArray.count;
93 return self.mediaConstraintsArray.count;
94 }
95
96 return 1;
97 } 87 }
98 88
99 #pragma mark - Index path helpers 89 #pragma mark - Table view delegate
100 90
101 - (BOOL)sectionIsMediaConstraints:(int)section { 91 - (BOOL)sectionIsMediaConstraints:(int)section {
102 return section == ARDSettingsSectionMediaConstraints; 92 return section == 0;
103 }
104
105 - (BOOL)sectionIsBitrate:(int)section {
106 return section == ARDSettingsSectionBitRate;
107 } 93 }
108 94
109 - (BOOL)indexPathIsMediaConstraints:(NSIndexPath *)indexPath { 95 - (BOOL)indexPathIsMediaConstraints:(NSIndexPath *)indexPath {
110 return [self sectionIsMediaConstraints:indexPath.section]; 96 return [self sectionIsMediaConstraints:indexPath.section];
111 } 97 }
112 98
113 - (BOOL)indexPathIsBitrate:(NSIndexPath *)indexPath {
114 return [self sectionIsBitrate:indexPath.section];
115 }
116
117 #pragma mark - Table view delegate
118
119 - (nullable NSString *)tableView:(UITableView *)tableView 99 - (nullable NSString *)tableView:(UITableView *)tableView
120 titleForHeaderInSection:(NSInteger)section { 100 titleForHeaderInSection:(NSInteger)section {
121 if ([self sectionIsMediaConstraints:section]) { 101 if ([self sectionIsMediaConstraints:section]) {
122 return @"Media constraints"; 102 return @"Media constraints";
123 } 103 }
124
125 if ([self sectionIsBitrate:section]) {
126 return @"Maximum bitrate";
127 }
128
129 return @""; 104 return @"";
130 } 105 }
131 106
132 - (UITableViewCell *)tableView:(UITableView *)tableView 107 - (UITableViewCell *)tableView:(UITableView *)tableView
133 cellForRowAtIndexPath:(NSIndexPath *)indexPath { 108 cellForRowAtIndexPath:(NSIndexPath *)indexPath {
134 if ([self indexPathIsMediaConstraints:indexPath]) { 109 if ([self indexPathIsMediaConstraints:indexPath]) {
135 return [self mediaConstraintsTableViewCellForTableView:tableView atIndexPath :indexPath]; 110 return [self mediaConstraintsTableViewCellForTableView:tableView atIndexPath :indexPath];
136 } 111 }
137
138 if ([self indexPathIsBitrate:indexPath]) {
139 return [self bitrateTableViewCellForTableView:tableView atIndexPath:indexPat h];
140 }
141
142 return [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault 112 return [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
143 reuseIdentifier:@"identifier"]; 113 reuseIdentifier:@"identifier"];
144 } 114 }
145 115
146 - (nullable NSIndexPath *)tableView:(UITableView *)tableView 116 - (nullable NSIndexPath *)tableView:(UITableView *)tableView
147 willSelectRowAtIndexPath:(nonnull NSIndexPath *)indexPath { 117 willSelectRowAtIndexPath:(nonnull NSIndexPath *)indexPath {
148 if ([self indexPathIsMediaConstraints:indexPath]) { 118 if ([self indexPathIsMediaConstraints:indexPath]) {
149 return [self tableView:tableView willDeselectMediaConstraintsRowAtIndexPath: indexPath]; 119 return [self tableView:tableView willDeselectMediaConstraintsRowAtIndexPath: indexPath];
150 } 120 }
151 return indexPath; 121 return indexPath;
(...skipping 29 matching lines...) Expand all
181 } 151 }
182 152
183 - (NSIndexPath *)tableView:(UITableView *)tableView 153 - (NSIndexPath *)tableView:(UITableView *)tableView
184 willDeselectMediaConstraintsRowAtIndexPath:(NSIndexPath *)indexPath { 154 willDeselectMediaConstraintsRowAtIndexPath:(NSIndexPath *)indexPath {
185 NSIndexPath *oldSelection = [tableView indexPathForSelectedRow]; 155 NSIndexPath *oldSelection = [tableView indexPathForSelectedRow];
186 UITableViewCell *cell = [tableView cellForRowAtIndexPath:oldSelection]; 156 UITableViewCell *cell = [tableView cellForRowAtIndexPath:oldSelection];
187 cell.accessoryType = UITableViewCellAccessoryNone; 157 cell.accessoryType = UITableViewCellAccessoryNone;
188 return indexPath; 158 return indexPath;
189 } 159 }
190 160
191 #pragma mark - Table view delegate(Bitrate)
192
193 - (UITableViewCell *)bitrateTableViewCellForTableView:(UITableView *)tableView
194 atIndexPath:(NSIndexPath *)indexPath {
195 NSString *dequeueIdentifier = @"ARDSettingsBitrateCellIdentifier";
196 UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:dequeueId entifier];
197 if (!cell) {
198 cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
199 reuseIdentifier:dequeueIdentifier];
200
201 UITextField *textField = [[UITextField alloc]
202 initWithFrame:CGRectMake(10, 0, cell.bounds.size.width - 20, cell.bounds .size.height)];
203 textField.placeholder = @"Enter max bit rate (kbps)";
204 textField.keyboardType = UIKeyboardTypeASCIICapableNumberPad;
205
206 // Numerical keyboards have no return button, we need to add one manually.
207 UIToolbar *numberToolbar =
208 [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size. width, 50)];
209 numberToolbar.items = @[
210 [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItem FlexibleSpace
211 target:nil
212 action:nil],
213 [[UIBarButtonItem alloc] initWithTitle:@"Apply"
214 style:UIBarButtonItemStyleDone
215 target:self
216 action:@selector(numberTextFieldDidEndEdit ing:)]
217 ];
218 [numberToolbar sizeToFit];
219
220 textField.inputAccessoryView = numberToolbar;
221 [cell addSubview:textField];
222 }
223 return cell;
224 }
225
226 - (void)numberTextFieldDidEndEditing:(id)sender {
227 [self.view endEditing:YES];
228 }
229
230 @end 161 @end
231 NS_ASSUME_NONNULL_END 162 NS_ASSUME_NONNULL_END
OLDNEW
« no previous file with comments | « webrtc/examples/objc/AppRTCMobile/ios/ARDMainViewController.m ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698