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