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