Project: ActionBarCompat
/*
 * Copyright 2011 The Android Open Source Project 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 *     http://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 *  
 * Added initialization of action bar by Tibor Bombiak, 2012 
 */
 
package sk.m217.actionbarcompat; 
 
import android.app.Activity; 
import android.content.Context; 
import android.view.LayoutInflater; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
 
/**
 * An extension of {@link ActionBarHelper} that provides Android 3.0-specific functionality for 
 * Honeycomb tablets. It thus requires API level 11. 
 */
 
public class ActionBarHelperHoneycomb extends ActionBarHelper { 
    private Menu mOptionsMenu; 
    private View mRefreshIndeterminateProgressView = null
 
    protected ActionBarHelperHoneycomb(Activity activity) { 
        super(activity); 
    } 
 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
        mOptionsMenu = menu; 
        return super.onCreateOptionsMenu(menu); 
    } 
 
    @Override 
    public void setRefreshActionItemState(boolean refreshing) { 
        // On Honeycomb, we can set the state of the refresh button by giving it a custom 
        // action view. 
        if (mOptionsMenu == null) { 
            return
        } 
 
        final MenuItem refreshItem = mOptionsMenu.findItem(R.id.menu_refresh); 
        if (refreshItem != null) { 
            if (refreshing) { 
                if (mRefreshIndeterminateProgressView == null) { 
                    LayoutInflater inflater = (LayoutInflater) 
                            getActionBarThemedContext().getSystemService( 
                                    Context.LAYOUT_INFLATER_SERVICE); 
                    mRefreshIndeterminateProgressView = inflater.inflate( 
                            R.layout.actionbar_indeterminate_progress, null); 
                } 
 
                refreshItem.setActionView(mRefreshIndeterminateProgressView); 
            } else { 
                refreshItem.setActionView(null); 
            } 
        } 
    } 
 
    /**
     * Returns a {@link Context} suitable for inflating layouts for the action bar. The 
     * implementation for this method in {@link ActionBarHelperICS} asks the action bar for a 
     * themed context. 
     */
 
    protected Context getActionBarThemedContext() { 
        return mActivity; 
    } 
 
    /**
     * Does nothing. 
     */
 
    public void initActionBar() { 
    } 
}