1a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal/*******************************************************************************
2a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal *      Copyright (C) 2012 Google Inc.
3a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal *      Licensed to The Android Open Source Project.
4a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal *
5a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal *      Licensed under the Apache License, Version 2.0 (the "License");
6a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal *      you may not use this file except in compliance with the License.
7a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal *      You may obtain a copy of the License at
8a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal *
9a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal *           http://www.apache.org/licenses/LICENSE-2.0
10a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal *
11a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal *      Unless required by applicable law or agreed to in writing, software
12a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal *      distributed under the License is distributed on an "AS IS" BASIS,
13a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal *      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal *      See the License for the specific language governing permissions and
15a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal *      limitations under the License.
16a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal *******************************************************************************/
17a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal
18a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwalpackage com.android.mail.ui;
19a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal
20a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal
21a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal/**
22a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal * Creates the appropriate {@link ActivityController} to control {@link MailActivity}.
23a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal *
24a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal */
25a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwalpublic class ControllerFactory {
26a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal    /**
27a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal     * Create the appropriate type of ActivityController.
28a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal     *
29a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal     * @return the appropriate {@link ActivityController} to control {@link MailActivity}.
30a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal     */
31fa131a2ff399fd1d544f759b063268fb4e8a3e70Vikram Aggarwal    public static ActivityController forActivity(MailActivity activity, ViewMode viewMode,
32fa131a2ff399fd1d544f759b063268fb4e8a3e70Vikram Aggarwal            boolean isTabletDevice) {
33fa131a2ff399fd1d544f759b063268fb4e8a3e70Vikram Aggarwal        return isTabletDevice ? new TwoPaneController(activity, viewMode)
34a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal        : new OnePaneController(activity, viewMode);
35a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal    }
36a55b36cb6b75ce8096812183651e89115300975aVikram Aggarwal}
37