14e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton/* 24e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton * Copyright (C) 2010 Google Inc. 34e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton * 44e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton * Licensed under the Apache License, Version 2.0 (the "License"); 54e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton * you may not use this file except in compliance with the License. 64e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton * You may obtain a copy of the License at 74e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton * 84e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton * http://www.apache.org/licenses/LICENSE-2.0 94e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton * 104e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton * Unless required by applicable law or agreed to in writing, software 114e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton * distributed under the License is distributed on an "AS IS" BASIS, 124e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton * See the License for the specific language governing permissions and 144e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton * limitations under the License 154e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton */ 164e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton 174e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamiltonpackage com.android.loaderapp; 184e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton 1952cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamiltonimport com.android.loaderapp.fragments.ContactFragment; 204e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamiltonimport com.android.loaderapp.fragments.ContactsListFragment; 214e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamiltonimport com.android.loaderapp.fragments.GroupsListFragment; 224e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton 23bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamiltonimport android.app.ActionBar; 244e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamiltonimport android.app.Activity; 254e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamiltonimport android.app.FragmentTransaction; 264e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamiltonimport android.content.Intent; 274e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamiltonimport android.content.res.Resources; 284e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamiltonimport android.net.Uri; 294e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamiltonimport android.os.Bundle; 304e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamiltonimport android.provider.ContactsContract; 31bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamiltonimport android.view.Menu; 32bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamiltonimport android.view.MenuItem; 3352cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamiltonimport android.view.View; 3452cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamiltonimport android.view.ViewGroup; 354e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton 36bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamiltonpublic class HomeGroupsXLarge extends Activity implements ActionBar.Callback, 374e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton ContactsListFragment.Controller, GroupsListFragment.Controller { 384e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton private static final int ACTION_ID_SEARCH = 0; 394e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton private static final int ACTION_ID_ADD = 1; 404e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton 4152cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton private static final int MODE_GROUPS = 0; 4252cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton private static final int MODE_DETAILS = 1; 4352cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton 4452cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton int mMode; 454e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton 464e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton @Override 474e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton public void onCreate(Bundle savedState) { 484e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton super.onCreate(savedState); 494e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton 5052cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton setContentView(R.layout.two_pane); 514e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton 5252cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton GroupsListFragment groupsList = new GroupsListFragment(); 5352cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton groupsList.setController(this); 544e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton 5552cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton ContactsListFragment contactsList = new ContactsListFragment( 5652cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton ContactsListFragment.MODE_NULL); 5752cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton contactsList.setController(this); 584e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton 594e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton FragmentTransaction xact = openFragmentTransaction(); 60f7d2b7b0b843986296d963ea32730f534181e448Andrew Stadler xact.add(R.id.smallPane, groupsList); 61f7d2b7b0b843986296d963ea32730f534181e448Andrew Stadler xact.add(R.id.largePane, contactsList); 624e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton xact.commit(); 6352cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton mMode = MODE_GROUPS; 644e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton 65bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton getActionBar().setCallback(this); 664e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton } 674e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton 6852cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton private ContactsListFragment getContactsList() { 6952cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton switch (mMode) { 7052cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton case MODE_GROUPS: 7152cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton return (ContactsListFragment) findFragmentById(R.id.largePane); 7252cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton case MODE_DETAILS: 7352cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton return (ContactsListFragment) findFragmentById(R.id.smallPane); 7452cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton } 7552cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton throw new IllegalStateException("unknown mode " + mMode); 7652cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton } 7752cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton 784e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton public void onAllContactsSelected() { 7952cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton getContactsList().setMode(ContactsListFragment.MODE_VISIBLE); 804e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton } 814e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton 824e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton public void onFavoritesSelected() { 8352cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton getContactsList().setMode(ContactsListFragment.MODE_STREQUENT); 844e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton } 854e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton 864e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton public void onGroupSelected(String title) { 8752cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton getContactsList().setGroupMode(title); 884e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton } 894e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton 904e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton public void onContactSelected(Uri contactUri) { 9152cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton if (contactUri == null) { 9252cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton return; 9352cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton } 9452cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton 9552cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton ContactFragment details = new ContactFragment(contactUri, 9652cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton new ContactFragment.DefaultController(this)); 9752cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton FragmentTransaction xact = openFragmentTransaction(); 9852cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton xact.addToBackStack(null); 9952cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton if (mMode == MODE_GROUPS) { 10052cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton mMode = MODE_DETAILS; 10152cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton // commit is actually async, so add in details at largePane, which will be correct 10252cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton // after swapPanes() does its thing. 10352cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton xact.remove(findFragmentById(R.id.smallPane)); 104f7d2b7b0b843986296d963ea32730f534181e448Andrew Stadler xact.add(R.id.largePane, details); 10552cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton xact.commit(); 10652cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton swapPanes(); // swap the list to the small pane 10752cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton } else { 108f7d2b7b0b843986296d963ea32730f534181e448Andrew Stadler xact.replace(R.id.largePane, details); 10952cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton xact.commit(); 11052cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton } 11152cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton } 11252cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton 11352cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton private void swapPanes() { 11452cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton ViewGroup paneHost = (ViewGroup) findViewById(R.id.paneHost); 11552cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton 11652cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton View largePane = findViewById(R.id.largePane); 11752cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton ViewGroup.LayoutParams largeParams = largePane.getLayoutParams(); 11852cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton int largeIndex = paneHost.indexOfChild(largePane); 11952cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton 12052cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton View smallPane = findViewById(R.id.smallPane); 12152cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton ViewGroup.LayoutParams smallParams = smallPane.getLayoutParams(); 12252cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton int smallIndex = paneHost.indexOfChild(smallPane); 12352cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton 12452cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton paneHost.removeAllViews(); 12552cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton 12652cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton largePane.setId(R.id.smallPane); 12752cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton largePane.setLayoutParams(smallParams); 12852cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton 12952cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton smallPane.setId(R.id.largePane); 13052cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton smallPane.setLayoutParams(largeParams); 13152cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton 13252cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton if (smallIndex < largeIndex) { 13352cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton // Small was before large so add them back in reverse order 13452cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton paneHost.addView(largePane); 13552cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton paneHost.addView(smallPane); 13652cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton } else { 13752cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton // Large was before small so add them back in reverse order 13852cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton paneHost.addView(smallPane); 13952cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton paneHost.addView(largePane); 14052cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton } 14152cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton } 14252cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton 14352cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton @Override 14452cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton public void onBackPressed() { 14552cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton if (!popBackStack(null)) { 14652cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton finish(); 14752cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton } else { 14852cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton if (mMode == MODE_DETAILS) { 14952cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton swapPanes(); 15052cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton mMode = MODE_GROUPS; 15152cd86de446f5f6de1d1337a9152bcb4968d4cd7Jeff Hamilton } 1524e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton } 1534e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton } 154bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton 155511981a29ba9d71e08be2fe79c3654894d50fecaAndrew Stadler /** Implements ActionBar.Callback */ 156bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton public boolean onCreateActionMenu(Menu menu) { 157bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton Resources resources = getResources(); 158bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton menu.add(0, ACTION_ID_SEARCH, 0, R.string.menu_search) 159bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton .setIcon(resources.getDrawable(android.R.drawable.ic_menu_search)); 160bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton menu.add(0, ACTION_ID_ADD, 1, R.string.menu_newContact) 161bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton .setIcon(resources.getDrawable(android.R.drawable.ic_menu_add)); 162bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton 163bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton return true; 164bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton } 165bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton 166511981a29ba9d71e08be2fe79c3654894d50fecaAndrew Stadler /** Implements ActionBar.Callback */ 167bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton public boolean onUpdateActionMenu(Menu menu) { 168bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton return false; 169bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton } 170bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton 171511981a29ba9d71e08be2fe79c3654894d50fecaAndrew Stadler /** Implements ActionBar.Callback */ 172511981a29ba9d71e08be2fe79c3654894d50fecaAndrew Stadler public boolean onActionItemClicked(MenuItem item) { 173bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton switch (item.getItemId()) { 174bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton case ACTION_ID_SEARCH: { 175bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton startSearch(null, false, null, true); 176bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton return true; 177bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton } 178bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton 179bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton case ACTION_ID_ADD: { 180bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton startActivity(new Intent(Intent.ACTION_INSERT, ContactsContract.Contacts.CONTENT_URI)); 181bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton return true; 182bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton } 183bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton } 184bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton return false; 185bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton } 186bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton 187511981a29ba9d71e08be2fe79c3654894d50fecaAndrew Stadler /** Implements ActionBar.Callback */ 188511981a29ba9d71e08be2fe79c3654894d50fecaAndrew Stadler public boolean onNavigationItemSelected(int itemPosition, long itemId) { 189511981a29ba9d71e08be2fe79c3654894d50fecaAndrew Stadler return false; 190511981a29ba9d71e08be2fe79c3654894d50fecaAndrew Stadler } 191511981a29ba9d71e08be2fe79c3654894d50fecaAndrew Stadler 192511981a29ba9d71e08be2fe79c3654894d50fecaAndrew Stadler /** Implements ActionBar.Callback */ 193bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton public boolean onCreateContextMode(int modeId, Menu menu) { 194bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton return false; 195bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton } 196bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton 197511981a29ba9d71e08be2fe79c3654894d50fecaAndrew Stadler /** Implements ActionBar.Callback */ 198bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton public boolean onPrepareContextMode(int modeId, Menu menu) { 199bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton return false; 200bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton } 201bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton 202511981a29ba9d71e08be2fe79c3654894d50fecaAndrew Stadler /** Implements ActionBar.Callback */ 203511981a29ba9d71e08be2fe79c3654894d50fecaAndrew Stadler public boolean onContextItemClicked(int modeId, MenuItem item) { 204bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton return false; 205bf760c9b49fab5cd9839a9cf3e3121535d5a101dJeff Hamilton } 2064e5a9e4ee5c1ecab0a7a8eebee883f3f189f5cb4Jeff Hamilton} 207