1bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook/*
2bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * Copyright (C) 2011 The Android Open Source Project
3bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook *
4bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * Licensed under the Apache License, Version 2.0 (the "License");
5bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * you may not use this file except in compliance with the License.
6bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * You may obtain a copy of the License at
7bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook *
8bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook *      http://www.apache.org/licenses/LICENSE-2.0
9bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook *
10bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * Unless required by applicable law or agreed to in writing, software
11bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * distributed under the License is distributed on an "AS IS" BASIS,
12bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * See the License for the specific language governing permissions and
14bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * limitations under the License.
15bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook */
16bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook
17bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrookpackage com.android.email.activity;
18bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook
19bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrookimport android.app.Activity;
20bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrookimport android.app.Fragment;
21bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook
22bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook/**
23bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * Interface for {@link Activity} that can "install" fragments.
24bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook */
25bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrookpublic interface FragmentInstallable {
26bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook    /**
27bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * Called when a {@link Fragment} wants to be installed to the host activity.
28bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     *
29bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * Fragments which use this MUST call this from {@link Fragment#onActivityCreated} using
30bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * {@link UiUtilities#installFragment}.
31bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     *
32bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * This means a host {@link Activity} can safely assume a passed {@link Fragment} is already
33bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * created.
34bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     */
35bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook    public void onInstallFragment(Fragment fragment);
36bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook
37bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook    /**
38bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * Called when a {@link Fragment} wants to be uninstalled from the host activity.
39bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     *
40bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * Fragments which use this MUST call this from {@link Fragment#onDestroyView} using
41bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * {@link UiUtilities#uninstallFragment}.
42bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     */
43bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook    public void onUninstallFragment(Fragment fragment);
44bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook}
45