14ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes/*
24ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * Copyright (C) 2014 The Android Open Source Project
34ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes *
44ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * Licensed under the Apache License, Version 2.0 (the "License");
54ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * you may not use this file except in compliance with the License.
64ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * You may obtain a copy of the License at
74ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes *
84ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes *      http://www.apache.org/licenses/LICENSE-2.0
94ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes *
104ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * Unless required by applicable law or agreed to in writing, software
114ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * distributed under the License is distributed on an "AS IS" BASIS,
124ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * See the License for the specific language governing permissions and
144ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * limitations under the License.
154ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes */
164ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banespackage com.example.android.supportv7.app;
174ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes
184ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banesimport android.app.SearchManager;
194ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banesimport android.os.Bundle;
204ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banesimport android.view.Menu;
214ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banesimport android.view.MenuInflater;
224ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banesimport android.view.MenuItem;
234ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banesimport android.widget.Toast;
244ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes
25def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport androidx.appcompat.app.AppCompatActivity;
26def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport androidx.appcompat.widget.SearchView;
27def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport androidx.appcompat.widget.Toolbar;
28def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikas
29458543f38db49fdcb1764f007ded33820964c3feAurimas Liutikasimport com.example.android.supportv7.R;
30458543f38db49fdcb1764f007ded33820964c3feAurimas Liutikas
314ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes/**
324ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes * This demonstrates idiomatic usage of the Toolbar as the action bar.
334ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes */
3444d25261c2a38c81f1eea123de3986b453b9afeeChris Banespublic class ToolbarUsage extends AppCompatActivity {
354ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes
364ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes    @Override
374ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes    protected void onCreate(Bundle savedInstanceState) {
384ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes        super.onCreate(savedInstanceState);
394ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes        setContentView(R.layout.toolbar_usage);
404ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes
414ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes        // Retrieve the Toolbar from our content view, and set it as the action bar
42fa2e2acf79d791a90410025daad438968550d18cAlan Viverette        Toolbar toolbar = findViewById(R.id.toolbar);
434ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes        setSupportActionBar(toolbar);
444ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes    }
454ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes
464ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes    @Override
474ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes    public boolean onCreateOptionsMenu(Menu menu) {
484ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes        MenuInflater inflater = getMenuInflater();
494ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes        inflater.inflate(R.menu.actions, menu);
504ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes
514ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes        // Retrieve the SearchView and plug it into SearchManager
52458543f38db49fdcb1764f007ded33820964c3feAurimas Liutikas        final SearchView searchView =
53458543f38db49fdcb1764f007ded33820964c3feAurimas Liutikas                (SearchView) menu.findItem(R.id.action_search).getActionView();
544ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes
554ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes        SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
564ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes        searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
574ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes
584ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes        return true;
594ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes    }
604ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes
614ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes    @Override
624ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes    public boolean onOptionsItemSelected(MenuItem item) {
634ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes        Toast.makeText(this, "Selected Item: " + item.getTitle(), Toast.LENGTH_SHORT).show();
644ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes        return true;
654ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes    }
664ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes
674ff4aa9fc5ea370fdf2f187b1f3100b0626b5755Chris Banes}
68