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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/locale/DefaultSearchEnginePromoDialog.java

Issue 2855913002: Revert of ❄ Split off RadioButtonLayout from InfoBarControls (Closed)
Patch Set: 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 package org.chromium.chrome.browser.locale; 5 package org.chromium.chrome.browser.locale;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.content.DialogInterface; 8 import android.content.DialogInterface;
9 import android.os.Bundle; 9 import android.os.Bundle;
10 import android.support.annotation.Nullable; 10 import android.support.annotation.Nullable;
11 import android.view.View; 11 import android.view.View;
12 import android.widget.Button;
13 import android.widget.RadioGroup; 12 import android.widget.RadioGroup;
14 import android.widget.RadioGroup.OnCheckedChangeListener; 13 import android.widget.RadioGroup.OnCheckedChangeListener;
15 14
16 import org.chromium.base.Callback; 15 import org.chromium.base.Callback;
17 import org.chromium.base.library_loader.LibraryLoader; 16 import org.chromium.base.library_loader.LibraryLoader;
18 import org.chromium.chrome.R; 17 import org.chromium.chrome.R;
18 import org.chromium.chrome.browser.infobar.InfoBarControlLayout;
19 import org.chromium.chrome.browser.locale.LocaleManager.SearchEnginePromoType; 19 import org.chromium.chrome.browser.locale.LocaleManager.SearchEnginePromoType;
20 import org.chromium.chrome.browser.search_engines.TemplateUrlService; 20 import org.chromium.chrome.browser.search_engines.TemplateUrlService;
21 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl ; 21 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl ;
22 import org.chromium.chrome.browser.widget.PromoDialog; 22 import org.chromium.chrome.browser.widget.PromoDialog;
23 import org.chromium.chrome.browser.widget.RadioButtonLayout;
24 23
25 import java.util.ArrayList; 24 import java.util.ArrayList;
26 import java.util.Collections; 25 import java.util.Collections;
27 import java.util.List; 26 import java.util.List;
28 27
29 /** A dialog that forces the user to choose a default search engine. */ 28 /** A dialog that forces the user to choose a default search engine. */
30 public class DefaultSearchEnginePromoDialog extends PromoDialog implements OnChe ckedChangeListener { 29 public class DefaultSearchEnginePromoDialog extends PromoDialog implements OnChe ckedChangeListener {
31 /** Used to determine the promo dialog contents. */ 30 /** Used to determine the promo dialog contents. */
32 @SearchEnginePromoType 31 @SearchEnginePromoType
33 private final int mDialogType; 32 private final int mDialogType;
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 List<CharSequence> engineNames = new ArrayList<>(); 101 List<CharSequence> engineNames = new ArrayList<>();
103 List<String> engineKeywords = new ArrayList<>(); 102 List<String> engineKeywords = new ArrayList<>();
104 Collections.shuffle(engines); 103 Collections.shuffle(engines);
105 for (int i = 0; i < engines.size(); i++) { 104 for (int i = 0; i < engines.size(); i++) {
106 TemplateUrl engine = engines.get(i); 105 TemplateUrl engine = engines.get(i);
107 engineNames.add(engine.getShortName()); 106 engineNames.add(engine.getShortName());
108 engineKeywords.add(engine.getKeyword()); 107 engineKeywords.add(engine.getKeyword());
109 } 108 }
110 109
111 // Add the search engines to the dialog. 110 // Add the search engines to the dialog.
112 RadioButtonLayout radioButtons = new RadioButtonLayout(getContext()); 111 InfoBarControlLayout controls = addControlLayout();
113 radioButtons.addOptions(engineNames, engineKeywords); 112 mRadioGroup = controls.addRadioButtons(
114 radioButtons.setOnCheckedChangeListener(this); 113 engineNames, engineKeywords, InfoBarControlLayout.INVALID_INDEX) ;
115 addControl(radioButtons); 114 mRadioGroup.setOnCheckedChangeListener(this);
116
117 Button button = (Button) findViewById(R.id.button_primary);
118 button.setOnClickListener(this);
119 updateButtonState(); 115 updateButtonState();
120 } 116 }
121 117
122 @Override 118 @Override
123 public void onCheckedChanged(RadioGroup group, int checkedId) { 119 public void onCheckedChanged(RadioGroup group, int checkedId) {
124 mSelectedKeyword = (String) group.findViewById(checkedId).getTag(); 120 mSelectedKeyword = (String) group.findViewById(checkedId).getTag();
125 updateButtonState(); 121 updateButtonState();
126 } 122 }
127 123
128 @Override 124 @Override
(...skipping 23 matching lines...) Expand all
152 // TODO(dfalcantara): Prevent the dialog from appearing again. 148 // TODO(dfalcantara): Prevent the dialog from appearing again.
153 } 149 }
154 150
155 if (mOnDismissed != null) mOnDismissed.onResult(mSelectedKeyword != null ); 151 if (mOnDismissed != null) mOnDismissed.onResult(mSelectedKeyword != null );
156 } 152 }
157 153
158 private void updateButtonState() { 154 private void updateButtonState() {
159 findViewById(R.id.button_primary).setEnabled(mSelectedKeyword != null); 155 findViewById(R.id.button_primary).setEnabled(mSelectedKeyword != null);
160 } 156 }
161 } 157 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698