1d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
2d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)// found in the LICENSE file.
4d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)
5d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)package org.chromium.chrome.browser.infobar;
6d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)
7d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)import android.content.Context;
8d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)import android.widget.Button;
9d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)
10d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)import org.chromium.chrome.R;
11d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)
12d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)/**
13d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) * An infobar that presents the user with up to 2 buttons.
14d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) */
15d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)public abstract class TwoButtonInfoBar extends InfoBar {
16d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)    public TwoButtonInfoBar(InfoBarListeners.Dismiss dismissListener, int backgroundType,
17d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)            int iconDrawableId) {
18d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)        super(dismissListener, backgroundType, iconDrawableId);
19d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)    }
20d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)
21d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)    /**
22d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)     * Creates controls for the current InfoBar.
23d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)     * @param layout InfoBarLayout to find controls in.
24d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)     */
25d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)    @Override
26d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)    public void createContent(InfoBarLayout layout) {
27d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)        Context context = layout.getContext();
28d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)        layout.addButtons(getPrimaryButtonText(context), getSecondaryButtonText(context));
29d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)    }
30d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)
31d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)    @Override
32d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)    public void setControlsEnabled(boolean state) {
33d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)        super.setControlsEnabled(state);
34d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)
35d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)        // Handle the buttons.
36d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)        ContentWrapperView wrapper = getContentWrapper(false);
37d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)        if (wrapper != null) {
38d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)            Button primary = (Button) wrapper.findViewById(R.id.button_primary);
39d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)            Button secondary = (Button) wrapper.findViewById(R.id.button_secondary);
40d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)            if (primary != null) primary.setEnabled(state);
41d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)            if (secondary != null) secondary.setEnabled(state);
42d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)        }
43d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)    }
44d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)}
45