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