171f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert/* 271f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert * Copyright (C) 2011 The Android Open Source Project 371f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert * 471f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert * Licensed under the Apache License, Version 2.0 (the "License"); 571f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert * you may not use this file except in compliance with the License. 671f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert * You may obtain a copy of the License at 771f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert * 871f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert * http://www.apache.org/licenses/LICENSE-2.0 971f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert * 1071f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert * Unless required by applicable law or agreed to in writing, software 1171f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert * distributed under the License is distributed on an "AS IS" BASIS, 1271f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1371f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert * See the License for the specific language governing permissions and 1471f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert * limitations under the License. 1571f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert */ 1671f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringertpackage com.android.quicksearchbox; 1771f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert 1871f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringertimport android.content.Context; 1971f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringertimport android.content.Intent; 2071f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringertimport android.net.Uri; 2171f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringertimport android.view.Menu; 2271f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringertimport android.view.MenuInflater; 2371f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringertimport android.view.MenuItem; 2471f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert 2571f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert/** 2671f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert * Handles app help. 2771f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert */ 2871f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringertpublic class Help { 2971f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert 3071f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert private final Context mContext; 3171f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert private final Config mConfig; 3271f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert 3371f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert public Help(Context context, Config config) { 3471f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert mContext = context; 3571f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert mConfig = config; 3671f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert } 3771f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert 3871f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert public void addHelpMenuItem(Menu menu, String activityName) { 397e63d073c2fa1b9836871558eda2e3a78710214dBjorn Bringert addHelpMenuItem(menu, activityName, false); 407e63d073c2fa1b9836871558eda2e3a78710214dBjorn Bringert } 417e63d073c2fa1b9836871558eda2e3a78710214dBjorn Bringert 427e63d073c2fa1b9836871558eda2e3a78710214dBjorn Bringert public void addHelpMenuItem(Menu menu, String activityName, boolean showAsAction) { 4371f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert Intent helpIntent = getHelpIntent(activityName); 4471f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert if (helpIntent != null) { 4571f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert MenuInflater inflater = new MenuInflater(mContext); 4671f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert inflater.inflate(R.menu.help, menu); 4771f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert MenuItem item = menu.findItem(R.id.menu_help); 4871f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert item.setIntent(helpIntent); 497e63d073c2fa1b9836871558eda2e3a78710214dBjorn Bringert if (showAsAction) { 507e63d073c2fa1b9836871558eda2e3a78710214dBjorn Bringert item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); 517e63d073c2fa1b9836871558eda2e3a78710214dBjorn Bringert } 5271f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert } 5371f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert } 5471f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert 5571f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert private Intent getHelpIntent(String activityName) { 5671f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert Uri helpUrl = mConfig.getHelpUrl(activityName); 5771f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert if (helpUrl == null) return null; 5871f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert return new Intent(Intent.ACTION_VIEW, helpUrl); 5971f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert } 6071f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert 6171f9f8ccd3c12d7d48e2fee4c55cd57e1970b797Bjorn Bringert} 62