17922528d9d4b4926f1ed3e1322d14b8e00a03465Andrew Sapperstein/*
27922528d9d4b4926f1ed3e1322d14b8e00a03465Andrew Sapperstein * Copyright (C) 2013 Google Inc.
37922528d9d4b4926f1ed3e1322d14b8e00a03465Andrew Sapperstein * Licensed to The Android Open Source Project.
47922528d9d4b4926f1ed3e1322d14b8e00a03465Andrew Sapperstein *
57922528d9d4b4926f1ed3e1322d14b8e00a03465Andrew Sapperstein * Licensed under the Apache License, Version 2.0 (the "License");
67922528d9d4b4926f1ed3e1322d14b8e00a03465Andrew Sapperstein * you may not use this file except in compliance with the License.
77922528d9d4b4926f1ed3e1322d14b8e00a03465Andrew Sapperstein * You may obtain a copy of the License at
87922528d9d4b4926f1ed3e1322d14b8e00a03465Andrew Sapperstein *
97922528d9d4b4926f1ed3e1322d14b8e00a03465Andrew Sapperstein *      http://www.apache.org/licenses/LICENSE-2.0
107922528d9d4b4926f1ed3e1322d14b8e00a03465Andrew Sapperstein *
117922528d9d4b4926f1ed3e1322d14b8e00a03465Andrew Sapperstein * Unless required by applicable law or agreed to in writing, software
127922528d9d4b4926f1ed3e1322d14b8e00a03465Andrew Sapperstein * distributed under the License is distributed on an "AS IS" BASIS,
137922528d9d4b4926f1ed3e1322d14b8e00a03465Andrew Sapperstein * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
147922528d9d4b4926f1ed3e1322d14b8e00a03465Andrew Sapperstein * See the License for the specific language governing permissions and
157922528d9d4b4926f1ed3e1322d14b8e00a03465Andrew Sapperstein * limitations under the License.
167922528d9d4b4926f1ed3e1322d14b8e00a03465Andrew Sapperstein */
177922528d9d4b4926f1ed3e1322d14b8e00a03465Andrew Sapperstein
18f86e023107de3647d6c862cc6d6b45a3d7887e77Andrew Sappersteinpackage com.android.mail.browse;
19f86e023107de3647d6c862cc6d6b45a3d7887e77Andrew Sapperstein
204ddda2f0a4ee5381a90779a6939b05b064ce5d11Andrew Sappersteinimport android.app.FragmentTransaction;
21f86e023107de3647d6c862cc6d6b45a3d7887e77Andrew Sappersteinimport android.content.Intent;
22f86e023107de3647d6c862cc6d6b45a3d7887e77Andrew Sappersteinimport android.os.Bundle;
23f86e023107de3647d6c862cc6d6b45a3d7887e77Andrew Sapperstein
24f86e023107de3647d6c862cc6d6b45a3d7887e77Andrew Sappersteinimport com.android.mail.R;
25129995d61fbf8ac2e4e464f5ecb37bb5f47822f5Andrew Sappersteinimport com.android.mail.analytics.Analytics;
26f59d01c3116dc2adde97a5b52aa6094144c2d315Andrew Sappersteinimport com.android.mail.ui.AccountFeedbackActivity;
27f86e023107de3647d6c862cc6d6b45a3d7887e77Andrew Sappersteinimport com.android.mail.utils.LogTag;
28f86e023107de3647d6c862cc6d6b45a3d7887e77Andrew Sappersteinimport com.android.mail.utils.LogUtils;
29f86e023107de3647d6c862cc6d6b45a3d7887e77Andrew Sappersteinimport com.android.mail.utils.MimeType;
30f86e023107de3647d6c862cc6d6b45a3d7887e77Andrew Sapperstein
31f59d01c3116dc2adde97a5b52aa6094144c2d315Andrew Sappersteinpublic class EmlViewerActivity extends AccountFeedbackActivity {
32f86e023107de3647d6c862cc6d6b45a3d7887e77Andrew Sapperstein    private static final String LOG_TAG = LogTag.getLogTag();
33f86e023107de3647d6c862cc6d6b45a3d7887e77Andrew Sapperstein
344ddda2f0a4ee5381a90779a6939b05b064ce5d11Andrew Sapperstein    private static final String FRAGMENT_TAG = "eml_message_fragment";
35376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein
36aa27bc0e1c3bb6be4609b00007637a9d3e960f5eScott Kennedy    @Override
37aa27bc0e1c3bb6be4609b00007637a9d3e960f5eScott Kennedy    protected void onCreate(Bundle savedInstanceState) {
38f86e023107de3647d6c862cc6d6b45a3d7887e77Andrew Sapperstein        super.onCreate(savedInstanceState);
39f86e023107de3647d6c862cc6d6b45a3d7887e77Andrew Sapperstein
40f86e023107de3647d6c862cc6d6b45a3d7887e77Andrew Sapperstein        final Intent intent = getIntent();
41f86e023107de3647d6c862cc6d6b45a3d7887e77Andrew Sapperstein        final String action = intent.getAction();
42f86e023107de3647d6c862cc6d6b45a3d7887e77Andrew Sapperstein        final String type = intent.getType();
43f86e023107de3647d6c862cc6d6b45a3d7887e77Andrew Sapperstein
447638a1004e7c8ed7a85620243da3b051b60217e8Andrew Sapperstein        if (savedInstanceState == null) {
457638a1004e7c8ed7a85620243da3b051b60217e8Andrew Sapperstein            if (Intent.ACTION_VIEW.equals(action) &&
467638a1004e7c8ed7a85620243da3b051b60217e8Andrew Sapperstein                    MimeType.isEmlMimeType(type)) {
477638a1004e7c8ed7a85620243da3b051b60217e8Andrew Sapperstein                final FragmentTransaction transaction = getFragmentManager().beginTransaction();
48f59d01c3116dc2adde97a5b52aa6094144c2d315Andrew Sapperstein                transaction.add(R.id.root, EmlMessageViewFragment.newInstance(
497638a1004e7c8ed7a85620243da3b051b60217e8Andrew Sapperstein                        intent.getData(), mAccountUri), FRAGMENT_TAG);
504ddda2f0a4ee5381a90779a6939b05b064ce5d11Andrew Sapperstein                transaction.commit();
51129995d61fbf8ac2e4e464f5ecb37bb5f47822f5Andrew Sapperstein                Analytics.getInstance().sendEvent("eml_viewer", null, null, 0);
527638a1004e7c8ed7a85620243da3b051b60217e8Andrew Sapperstein            } else {
537638a1004e7c8ed7a85620243da3b051b60217e8Andrew Sapperstein                LogUtils.wtf(LOG_TAG,
547638a1004e7c8ed7a85620243da3b051b60217e8Andrew Sapperstein                        "Entered EmlViewerActivity with wrong intent action or type: %s, %s",
557638a1004e7c8ed7a85620243da3b051b60217e8Andrew Sapperstein                        action, type);
567638a1004e7c8ed7a85620243da3b051b60217e8Andrew Sapperstein                finish(); // we should not be here. bail out. bail out.
577638a1004e7c8ed7a85620243da3b051b60217e8Andrew Sapperstein                return;
584ddda2f0a4ee5381a90779a6939b05b064ce5d11Andrew Sapperstein            }
597638a1004e7c8ed7a85620243da3b051b60217e8Andrew Sapperstein        }
60376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein    }
617922528d9d4b4926f1ed3e1322d14b8e00a03465Andrew Sapperstein}
62