Home | History | Annotate | Download | only in photo
      1 package com.android.ex.photo;
      2 
      3 import android.app.ActionBar;
      4 import android.graphics.drawable.Drawable;
      5 
      6 /**
      7  * Wrapper around {@link ActionBar}.
      8  */
      9 public class ActionBarWrapper implements ActionBarInterface {
     10 
     11     private final ActionBar mActionBar;
     12 
     13     private class MenuVisiblityListenerWrapper implements ActionBar.OnMenuVisibilityListener {
     14 
     15         private final ActionBarInterface.OnMenuVisibilityListener mWrapped;
     16 
     17         public MenuVisiblityListenerWrapper(ActionBarInterface.OnMenuVisibilityListener wrapped) {
     18             mWrapped = wrapped;
     19         }
     20 
     21         @Override
     22         public void onMenuVisibilityChanged(boolean isVisible) {
     23             mWrapped.onMenuVisibilityChanged(isVisible);
     24         }
     25     }
     26 
     27     public ActionBarWrapper(ActionBar actionBar) {
     28         mActionBar = actionBar;
     29     }
     30 
     31     @Override
     32     public void setDisplayHomeAsUpEnabled(boolean showHomeAsUp) {
     33         mActionBar.setDisplayHomeAsUpEnabled(showHomeAsUp);
     34     }
     35 
     36     @Override
     37     public void addOnMenuVisibilityListener(OnMenuVisibilityListener listener) {
     38         mActionBar.addOnMenuVisibilityListener(new MenuVisiblityListenerWrapper(listener));
     39     }
     40 
     41     @Override
     42     public void setDisplayOptionsShowTitle() {
     43         mActionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE, ActionBar.DISPLAY_SHOW_TITLE);
     44     }
     45 
     46     @Override
     47     public CharSequence getTitle() {
     48        return mActionBar.getTitle();
     49     }
     50 
     51     @Override
     52     public void setTitle(CharSequence title) {
     53         mActionBar.setTitle(title);
     54     }
     55 
     56     @Override
     57     public void setSubtitle(CharSequence subtitle) {
     58         mActionBar.setSubtitle(subtitle);
     59     }
     60 
     61     @Override
     62     public void show() {
     63         mActionBar.show();
     64     }
     65 
     66     @Override
     67     public void hide() {
     68         mActionBar.hide();
     69     }
     70 
     71     @Override
     72     public void setLogo(Drawable logo) {
     73         mActionBar.setLogo(logo);
     74     }
     75 
     76 }
     77