ActionBarWrapper.java revision bb137c8e2ed363e6f5e2c0f14719483d27e8c062
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 void setTitle(CharSequence title) {
49        mActionBar.setTitle(title);
50    }
51
52    @Override
53    public void setSubtitle(CharSequence subtitle) {
54        mActionBar.setSubtitle(subtitle);
55    }
56
57    @Override
58    public void show() {
59        mActionBar.show();
60    }
61
62    @Override
63    public void hide() {
64        mActionBar.hide();
65    }
66
67    @Override
68    public void setLogo(Drawable logo) {
69        mActionBar.setLogo(logo);
70    }
71
72}
73