1560bfadc3151f7a06f3b06e9a6c92cfa534c63ecScott Kennedy/*
2560bfadc3151f7a06f3b06e9a6c92cfa534c63ecScott Kennedy * Copyright (C) 2011 The Android Open Source Project
3c5afb16430a145f20d7c887e45f47b38687054daMarc Blank *
4c5afb16430a145f20d7c887e45f47b38687054daMarc Blank * Licensed under the Apache License, Version 2.0 (the "License");
5c5afb16430a145f20d7c887e45f47b38687054daMarc Blank * you may not use this file except in compliance with the License.
6c5afb16430a145f20d7c887e45f47b38687054daMarc Blank * You may obtain a copy of the License at
7c5afb16430a145f20d7c887e45f47b38687054daMarc Blank *
8560bfadc3151f7a06f3b06e9a6c92cfa534c63ecScott Kennedy *      http://www.apache.org/licenses/LICENSE-2.0
9c5afb16430a145f20d7c887e45f47b38687054daMarc Blank *
10c5afb16430a145f20d7c887e45f47b38687054daMarc Blank * Unless required by applicable law or agreed to in writing, software
11c5afb16430a145f20d7c887e45f47b38687054daMarc Blank * distributed under the License is distributed on an "AS IS" BASIS,
12c5afb16430a145f20d7c887e45f47b38687054daMarc Blank * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13c5afb16430a145f20d7c887e45f47b38687054daMarc Blank * See the License for the specific language governing permissions and
14c5afb16430a145f20d7c887e45f47b38687054daMarc Blank * limitations under the License.
15c5afb16430a145f20d7c887e45f47b38687054daMarc Blank */
16c5afb16430a145f20d7c887e45f47b38687054daMarc Blank
17560bfadc3151f7a06f3b06e9a6c92cfa534c63ecScott Kennedypackage com.android.email;
18c5afb16430a145f20d7c887e45f47b38687054daMarc Blank
19560bfadc3151f7a06f3b06e9a6c92cfa534c63ecScott Kennedyimport android.app.Application;
20aef86e350174701d6e28d82dc7a113bfdd8219ffAndrew Sappersteinimport android.content.Context;
21aef86e350174701d6e28d82dc7a113bfdd8219ffAndrew Sappersteinimport android.content.Intent;
22c5afb16430a145f20d7c887e45f47b38687054daMarc Blank
238f5ca5a790c4c05dd4ee6a8c769ff9817f40123bTony Mantlerimport com.android.email.activity.setup.EmailPreferenceActivity;
2460a9b7ecfb731f91e6c69f5f6059769dc66e75dbScott Kennedyimport com.android.email.preferences.EmailPreferenceMigrator;
25241eeec2b3f7f5a0159d1a313c31d6682c439511Andrew Sappersteinimport com.android.mail.browse.ConversationMessage;
26aef86e350174701d6e28d82dc7a113bfdd8219ffAndrew Sappersteinimport com.android.mail.browse.InlineAttachmentViewIntentBuilder;
27aef86e350174701d6e28d82dc7a113bfdd8219ffAndrew Sappersteinimport com.android.mail.browse.InlineAttachmentViewIntentBuilderCreator;
28aef86e350174701d6e28d82dc7a113bfdd8219ffAndrew Sappersteinimport com.android.mail.browse.InlineAttachmentViewIntentBuilderCreatorHolder;
2960a9b7ecfb731f91e6c69f5f6059769dc66e75dbScott Kennedyimport com.android.mail.preferences.BasePreferenceMigrator;
3060a9b7ecfb731f91e6c69f5f6059769dc66e75dbScott Kennedyimport com.android.mail.preferences.PreferenceMigratorHolder;
3160a9b7ecfb731f91e6c69f5f6059769dc66e75dbScott Kennedyimport com.android.mail.preferences.PreferenceMigratorHolder.PreferenceMigratorCreator;
321371dd990ff08186d6754a8ca24b87b4c11dd746Paul Westbrookimport com.android.mail.providers.Account;
337b9f7ff76fd9812d7e3ae4dd42c1ba97b6e347e7Tony Mantlerimport com.android.mail.ui.settings.PublicPreferenceActivity;
34560bfadc3151f7a06f3b06e9a6c92cfa534c63ecScott Kennedyimport com.android.mail.utils.LogTag;
35560bfadc3151f7a06f3b06e9a6c92cfa534c63ecScott Kennedy
36560bfadc3151f7a06f3b06e9a6c92cfa534c63ecScott Kennedypublic class EmailApplication extends Application {
37560bfadc3151f7a06f3b06e9a6c92cfa534c63ecScott Kennedy    private static final String LOG_TAG = "Email";
38560bfadc3151f7a06f3b06e9a6c92cfa534c63ecScott Kennedy
39560bfadc3151f7a06f3b06e9a6c92cfa534c63ecScott Kennedy    static {
40560bfadc3151f7a06f3b06e9a6c92cfa534c63ecScott Kennedy        LogTag.setLogTag(LOG_TAG);
4160a9b7ecfb731f91e6c69f5f6059769dc66e75dbScott Kennedy
4260a9b7ecfb731f91e6c69f5f6059769dc66e75dbScott Kennedy        PreferenceMigratorHolder.setPreferenceMigratorCreator(new PreferenceMigratorCreator() {
4360a9b7ecfb731f91e6c69f5f6059769dc66e75dbScott Kennedy            @Override
4460a9b7ecfb731f91e6c69f5f6059769dc66e75dbScott Kennedy            public BasePreferenceMigrator createPreferenceMigrator() {
4560a9b7ecfb731f91e6c69f5f6059769dc66e75dbScott Kennedy                return new EmailPreferenceMigrator();
4660a9b7ecfb731f91e6c69f5f6059769dc66e75dbScott Kennedy            }
4760a9b7ecfb731f91e6c69f5f6059769dc66e75dbScott Kennedy        });
48aef86e350174701d6e28d82dc7a113bfdd8219ffAndrew Sapperstein
49aef86e350174701d6e28d82dc7a113bfdd8219ffAndrew Sapperstein        InlineAttachmentViewIntentBuilderCreatorHolder.setInlineAttachmentViewIntentCreator(
50aef86e350174701d6e28d82dc7a113bfdd8219ffAndrew Sapperstein                new InlineAttachmentViewIntentBuilderCreator() {
51aef86e350174701d6e28d82dc7a113bfdd8219ffAndrew Sapperstein                    @Override
52aef86e350174701d6e28d82dc7a113bfdd8219ffAndrew Sapperstein                    public InlineAttachmentViewIntentBuilder
531371dd990ff08186d6754a8ca24b87b4c11dd746Paul Westbrook                    createInlineAttachmentViewIntentBuilder(Account account, long conversationId) {
54aef86e350174701d6e28d82dc7a113bfdd8219ffAndrew Sapperstein                        return new InlineAttachmentViewIntentBuilder() {
55aef86e350174701d6e28d82dc7a113bfdd8219ffAndrew Sapperstein                            @Override
56aef86e350174701d6e28d82dc7a113bfdd8219ffAndrew Sapperstein                            public Intent createInlineAttachmentViewIntent(Context context,
57241eeec2b3f7f5a0159d1a313c31d6682c439511Andrew Sapperstein                                    String url, ConversationMessage message) {
58aef86e350174701d6e28d82dc7a113bfdd8219ffAndrew Sapperstein                                return null;
59aef86e350174701d6e28d82dc7a113bfdd8219ffAndrew Sapperstein                            }
60aef86e350174701d6e28d82dc7a113bfdd8219ffAndrew Sapperstein                        };
61aef86e350174701d6e28d82dc7a113bfdd8219ffAndrew Sapperstein                    }
62aef86e350174701d6e28d82dc7a113bfdd8219ffAndrew Sapperstein                });
63aef86e350174701d6e28d82dc7a113bfdd8219ffAndrew Sapperstein
648f5ca5a790c4c05dd4ee6a8c769ff9817f40123bTony Mantler        PublicPreferenceActivity.sPreferenceActivityClass = EmailPreferenceActivity.class;
65bb68c13afa630cae058eb40d3ce68644f3f3c8b9Paul Westbrook
66bb68c13afa630cae058eb40d3ce68644f3f3c8b9Paul Westbrook        NotificationControllerCreatorHolder.setNotificationControllerCreator(
67bb68c13afa630cae058eb40d3ce68644f3f3c8b9Paul Westbrook                new NotificationControllerCreator() {
68bb68c13afa630cae058eb40d3ce68644f3f3c8b9Paul Westbrook                    @Override
69bb68c13afa630cae058eb40d3ce68644f3f3c8b9Paul Westbrook                    public NotificationController getInstance(Context context){
70bb68c13afa630cae058eb40d3ce68644f3f3c8b9Paul Westbrook                        return EmailNotificationController.getInstance(context);
71bb68c13afa630cae058eb40d3ce68644f3f3c8b9Paul Westbrook                    }
72bb68c13afa630cae058eb40d3ce68644f3f3c8b9Paul Westbrook                });
73c5afb16430a145f20d7c887e45f47b38687054daMarc Blank    }
74c5afb16430a145f20d7c887e45f47b38687054daMarc Blank}
75