NotificationBigTextTemplateViewWrapper.java revision d634d069dd484698c6d109525ee0b6e882ca49df
1/*
2 * Copyright (C) 2016 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License
15 */
16
17package com.android.systemui.statusbar.notification;
18
19import android.content.Context;
20import android.service.notification.StatusBarNotification;
21import android.view.View;
22
23import com.android.internal.widget.ImageFloatingTextView;
24import com.android.systemui.statusbar.TransformableView;
25
26/**
27 * Wraps a notification containing a big text template
28 */
29public class NotificationBigTextTemplateViewWrapper extends NotificationTemplateViewWrapper {
30
31    private ImageFloatingTextView mBigtext;
32
33    protected NotificationBigTextTemplateViewWrapper(Context ctx, View view) {
34        super(ctx, view);
35    }
36
37    private void resolveViews(StatusBarNotification notification) {
38        mBigtext = (ImageFloatingTextView) mView.findViewById(com.android.internal.R.id.big_text);
39    }
40
41    @Override
42    public void notifyContentUpdated(StatusBarNotification notification) {
43        // Reinspect the notification. Before the super call, because the super call also updates
44        // the transformation types and we need to have our values set by then.
45        resolveViews(notification);
46        super.notifyContentUpdated(notification);
47    }
48
49    @Override
50    protected void updateTransformedTypes() {
51        // This also clears the existing types
52        super.updateTransformedTypes();
53        if (mBigtext != null) {
54            mTransformationHelper.addTransformedView(TransformableView.TRANSFORMING_VIEW_TEXT,
55                    mBigtext);
56        }
57    }
58}
59