Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/TextAndButtonPreference.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/ButtonPreference.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/TextAndButtonPreference.java |
| similarity index 66% |
| copy from chrome/android/java/src/org/chromium/chrome/browser/preferences/ButtonPreference.java |
| copy to chrome/android/java/src/org/chromium/chrome/browser/preferences/TextAndButtonPreference.java |
| index cac62938aabfff900bd4d43f2a089f9ec43bac8e..b0cf962c02b0fec72b748dd298e517430a64de2e 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/ButtonPreference.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/TextAndButtonPreference.java |
| @@ -8,24 +8,20 @@ import android.content.Context; |
| import android.preference.Preference; |
| import android.util.AttributeSet; |
| import android.view.View; |
| -import android.widget.Button; |
| - |
| -import org.chromium.chrome.R; |
| +import android.view.ViewGroup; |
| /** |
| - * A {@link Preference} that provides button functionality. |
| + * A {@link Preference} that provides label text plus button functionality. |
| * |
| * Preference.getOnPreferenceClickListener().onPreferenceClick() is called when the button is |
| - * clicked. |
| + * clicked. The button is defined by the widgetLayout attribute. |
| */ |
| -public class ButtonPreference extends Preference { |
| - |
| +public class TextAndButtonPreference extends Preference { |
| /** |
| * Constructor for inflating from XML |
| */ |
| - public ButtonPreference(Context context, AttributeSet attrs) { |
| + public TextAndButtonPreference(Context context, AttributeSet attrs) { |
| super(context, attrs); |
| - setLayoutResource(R.layout.preference_button); |
| setSelectable(false); |
| } |
| @@ -33,13 +29,14 @@ public class ButtonPreference extends Preference { |
| protected void onBindView(View view) { |
| super.onBindView(view); |
| - Button button = (Button) view.findViewById(R.id.button_preference); |
| - button.setText(this.getTitle()); |
| + View button = ((ViewGroup) view.findViewById(android.R.id.widget_frame)).getChildAt(0); |
|
newt (away)
2015/03/18 04:31:45
A better way to get the button would be to call vi
Evan Stade
2015/03/19 00:24:22
Done.
|
| + assert button != null; |
|
newt (away)
2015/03/18 04:31:45
I'd probably remove this assert. asserts are only
Evan Stade
2015/03/19 00:24:22
Done.
|
| + button.setClickable(true); |
| button.setOnClickListener(new View.OnClickListener() { |
| @Override |
| public void onClick(View v) { |
| if (getOnPreferenceClickListener() != null) { |
| - getOnPreferenceClickListener().onPreferenceClick(ButtonPreference.this); |
| + getOnPreferenceClickListener().onPreferenceClick(TextAndButtonPreference.this); |
| } |
| } |
| }); |