1811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang/*
259a110ba7df2699b50328520a2b400bc74965915Justin Klaassen * Copyright (C) 2016 The Android Open Source Project
3811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang *
4811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang * use this file except in compliance with the License. You may obtain a copy of
6811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang * the License at
7811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang *
8811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang * http://www.apache.org/licenses/LICENSE-2.0
9811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang *
10811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang * Unless required by applicable law or agreed to in writing, software
11811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang * License for the specific language governing permissions and limitations under
14811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang * the License.
15811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang */
16811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang
17811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhangpackage com.android.deskclock.actionbarmenu;
18811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang
19811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhangimport android.app.Activity;
20811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhangimport android.view.Menu;
21811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhangimport android.view.MenuItem;
22811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang
23811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang/**
24811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang * {@link MenuItemController} for handling navigation up button in actionbar. It is a special
25811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang * menu item because it's not inflated through menu.xml, and has its own predefined id.
26811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang */
2759a110ba7df2699b50328520a2b400bc74965915Justin Klaassenpublic final class NavUpMenuItemController implements MenuItemController {
28811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang
29811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang    private final Activity mActivity;
30811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang
31811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang    public NavUpMenuItemController(Activity activity) {
32811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang        mActivity = activity;
33811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang    }
34811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang
35811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang    @Override
36811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang    public int getId() {
37811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang        return android.R.id.home;
38811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang    }
39811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang
40811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang    @Override
4159a110ba7df2699b50328520a2b400bc74965915Justin Klaassen    public void onCreateOptionsItem(Menu menu) {
4259a110ba7df2699b50328520a2b400bc74965915Justin Klaassen        // "Home" option is automatically created by the Toolbar.
43811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang    }
44811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang
45811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang    @Override
4659a110ba7df2699b50328520a2b400bc74965915Justin Klaassen    public void onPrepareOptionsItem(MenuItem item) {
4759a110ba7df2699b50328520a2b400bc74965915Justin Klaassen    }
4859a110ba7df2699b50328520a2b400bc74965915Justin Klaassen
4959a110ba7df2699b50328520a2b400bc74965915Justin Klaassen    @Override
5059a110ba7df2699b50328520a2b400bc74965915Justin Klaassen    public boolean onOptionsItemSelected(MenuItem item) {
51811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang        mActivity.finish();
52811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang        return true;
53811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang    }
54811626f2f55a6bd88bcaed766f9c9911ccf6b7d8Fan Zhang}
55