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