Project: ActionBarSherlock
Code Examples
package com.actionbarsherlock.app;
 
import android.content.res.Configuration; 
import android.os.Bundle; 
import android.preference.PreferenceActivity; 
import android.view.KeyEvent; 
import android.view.View; 
import android.view.ViewGroup.LayoutParams; 
import android.view.Window; 
import com.actionbarsherlock.ActionBarSherlock; 
import com.actionbarsherlock.ActionBarSherlock.OnActionModeFinishedListener; 
import com.actionbarsherlock.ActionBarSherlock.OnActionModeStartedListener; 
import com.actionbarsherlock.ActionBarSherlock.OnCreatePanelMenuListener; 
import com.actionbarsherlock.ActionBarSherlock.OnMenuItemSelectedListener; 
import com.actionbarsherlock.ActionBarSherlock.OnPreparePanelListener; 
import com.actionbarsherlock.view.ActionMode; 
import com.actionbarsherlock.view.Menu; 
import com.actionbarsherlock.view.MenuInflater; 
import com.actionbarsherlock.view.MenuItem; 
 
public abstract class SherlockPreferenceActivity extends PreferenceActivity implements OnCreatePanelMenuListener, OnPreparePanelListener, OnMenuItemSelectedListener, OnActionModeStartedListener, OnActionModeFinishedListener { 
    private ActionBarSherlock mSherlock; 
 
    protected final ActionBarSherlock getSherlock() { 
        if (mSherlock == null) { 
            mSherlock = ActionBarSherlock.wrap(this, ActionBarSherlock.FLAG_DELEGATE); 
        } 
        return mSherlock; 
    } 
 
 
    /////////////////////////////////////////////////////////////////////////// 
    // Action bar and mode 
    /////////////////////////////////////////////////////////////////////////// 
 
    public ActionBar getSupportActionBar() { 
        return getSherlock().getActionBar(); 
    } 
 
    public ActionMode startActionMode(ActionMode.Callback callback) { 
        return getSherlock().startActionMode(callback); 
    } 
 
    @Override 
    public void onActionModeStarted(ActionMode mode) {} 
 
    @Override 
    public void onActionModeFinished(ActionMode mode) {} 
 
 
    /////////////////////////////////////////////////////////////////////////// 
    // General lifecycle/callback dispatching 
    /////////////////////////////////////////////////////////////////////////// 
 
    @Override 
    public void onConfigurationChanged(Configuration newConfig) { 
        super.onConfigurationChanged(newConfig); 
        getSherlock().dispatchConfigurationChanged(newConfig); 
    } 
 
    @Override 
    protected void onPostResume() { 
        super.onPostResume(); 
        getSherlock().dispatchPostResume(); 
    } 
 
    @Override 
    protected void onPause() { 
        getSherlock().dispatchPause(); 
        super.onPause(); 
    } 
 
    @Override 
    protected void onStop() { 
        getSherlock().dispatchStop(); 
        super.onStop(); 
    } 
 
    @Override 
    protected void onDestroy() { 
        getSherlock().dispatchDestroy(); 
        super.onDestroy(); 
    } 
 
    @Override 
    protected void onPostCreate(Bundle savedInstanceState) { 
        getSherlock().dispatchPostCreate(savedInstanceState); 
        super.onPostCreate(savedInstanceState); 
    } 
 
    @Override 
    protected void onTitleChanged(CharSequence title, int color) { 
        getSherlock().dispatchTitleChanged(title, color); 
        super.onTitleChanged(title, color); 
    } 
 
    @Override 
    public final boolean onMenuOpened(int featureId, android.view.Menu menu) { 
        if (getSherlock().dispatchMenuOpened(featureId, menu)) { 
            return true
        } 
        return super.onMenuOpened(featureId, menu); 
    } 
 
    @Override 
    public void onPanelClosed(int featureId, android.view.Menu menu) { 
        getSherlock().dispatchPanelClosed(featureId, menu); 
        super.onPanelClosed(featureId, menu); 
    } 
 
    @Override 
    public boolean dispatchKeyEvent(KeyEvent event) { 
        if (getSherlock().dispatchKeyEvent(event)) { 
            return true
        } 
        return super.dispatchKeyEvent(event); 
    } 
 
    @Override 
    protected void onSaveInstanceState(Bundle outState) { 
        super.onSaveInstanceState(outState); 
        getSherlock().dispatchSaveInstanceState(outState); 
    } 
 
    @Override 
    protected void onRestoreInstanceState(Bundle savedInstanceState) { 
        super.onRestoreInstanceState(savedInstanceState); 
        getSherlock().dispatchRestoreInstanceState(savedInstanceState); 
    } 
 
    /////////////////////////////////////////////////////////////////////////// 
    // Native menu handling 
    /////////////////////////////////////////////////////////////////////////// 
 
    public MenuInflater getSupportMenuInflater() { 
        return getSherlock().getMenuInflater(); 
    } 
 
    public void invalidateOptionsMenu() { 
        getSherlock().dispatchInvalidateOptionsMenu(); 
    } 
 
    public void supportInvalidateOptionsMenu() { 
        invalidateOptionsMenu(); 
    } 
 
    @Override 
    public final boolean onCreateOptionsMenu(android.view.Menu menu) { 
        return getSherlock().dispatchCreateOptionsMenu(menu); 
    } 
 
    @Override 
    public final boolean onPrepareOptionsMenu(android.view.Menu menu) { 
        return getSherlock().dispatchPrepareOptionsMenu(menu); 
    } 
 
    @Override 
    public final boolean onOptionsItemSelected(android.view.MenuItem item) { 
        return getSherlock().dispatchOptionsItemSelected(item); 
    } 
 
    @Override 
    public void openOptionsMenu() { 
        if (!getSherlock().dispatchOpenOptionsMenu()) { 
            super.openOptionsMenu(); 
        } 
    } 
 
    @Override 
    public void closeOptionsMenu() { 
        if (!getSherlock().dispatchCloseOptionsMenu()) { 
            super.closeOptionsMenu(); 
        } 
    } 
 
 
    /////////////////////////////////////////////////////////////////////////// 
    // Sherlock menu handling 
    /////////////////////////////////////////////////////////////////////////// 
 
    @Override 
    public boolean onCreatePanelMenu(int featureId, Menu menu) { 
        if (featureId == Window.FEATURE_OPTIONS_PANEL) { 
            return onCreateOptionsMenu(menu); 
        } 
        return false
    } 
 
    public boolean onCreateOptionsMenu(Menu menu) { 
        return true
    } 
 
    @Override 
    public boolean onPreparePanel(int featureId, View view, Menu menu) { 
        if (featureId == Window.FEATURE_OPTIONS_PANEL) { 
            return onPrepareOptionsMenu(menu); 
        } 
        return false
    } 
 
    public boolean onPrepareOptionsMenu(Menu menu) { 
        return true
    } 
 
    @Override 
    public boolean onMenuItemSelected(int featureId, MenuItem item) { 
        if (featureId == Window.FEATURE_OPTIONS_PANEL) { 
            return onOptionsItemSelected(item); 
        } 
        return false
    } 
 
    public boolean onOptionsItemSelected(MenuItem item) { 
        return false
    } 
 
 
    /////////////////////////////////////////////////////////////////////////// 
    // Content 
    /////////////////////////////////////////////////////////////////////////// 
 
    @Override 
    public void addContentView(View view, LayoutParams params) { 
        getSherlock().addContentView(view, params); 
    } 
 
    @Override 
    public void setContentView(int layoutResId) { 
        getSherlock().setContentView(layoutResId); 
    } 
 
    @Override 
    public void setContentView(View view, LayoutParams params) { 
        getSherlock().setContentView(view, params); 
    } 
 
    @Override 
    public void setContentView(View view) { 
        getSherlock().setContentView(view); 
    } 
 
    public void requestWindowFeature(long featureId) { 
        getSherlock().requestFeature((int)featureId); 
    } 
 
 
    /////////////////////////////////////////////////////////////////////////// 
    // Progress Indication 
    /////////////////////////////////////////////////////////////////////////// 
 
    public void setSupportProgress(int progress) { 
        getSherlock().setProgress(progress); 
    } 
 
    public void setSupportProgressBarIndeterminate(boolean indeterminate) { 
        getSherlock().setProgressBarIndeterminate(indeterminate); 
    } 
 
    public void setSupportProgressBarIndeterminateVisibility(boolean visible) { 
        getSherlock().setProgressBarIndeterminateVisibility(visible); 
    } 
 
    public void setSupportProgressBarVisibility(boolean visible) { 
        getSherlock().setProgressBarVisibility(visible); 
    } 
 
    public void setSupportSecondaryProgress(int secondaryProgress) { 
        getSherlock().setSecondaryProgress(secondaryProgress); 
    } 
}