1package com.android.ex.photo;
2
3import android.app.ActionBar;
4import android.graphics.drawable.Drawable;
5
6/**
7 * Wrapper around {@link ActionBar}.
8 */
9public 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