1300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen/*
2300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen * Copyright (C) 2014 The Android Open Source Project
3300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen *
4300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen * Licensed under the Apache License, Version 2.0 (the "License");
5300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen * you may not use this file except in compliance with the License.
6300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen * You may obtain a copy of the License at
7300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen *
8300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen *      http://www.apache.org/licenses/LICENSE-2.0
9300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen *
10300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen * Unless required by applicable law or agreed to in writing, software
11300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen * distributed under the License is distributed on an "AS IS" BASIS,
12300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen * See the License for the specific language governing permissions and
14300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen * limitations under the License.
15300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen */
16300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen
17300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazenpackage android.support.v4.app;
18300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen
19300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazenimport android.app.PendingIntent;
20300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazenimport android.os.Bundle;
21300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen
2210d7d250bc41b21059a90095e8b693c9e7bc3bc3Jorim Jaggi/**
2310d7d250bc41b21059a90095e8b693c9e7bc3bc3Jorim Jaggi * @hide
2410d7d250bc41b21059a90095e8b693c9e7bc3bc3Jorim Jaggi */
2510d7d250bc41b21059a90095e8b693c9e7bc3bc3Jorim Jaggipublic class NotificationCompatBase {
26ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen
27ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen    public static abstract class Action {
2810d7d250bc41b21059a90095e8b693c9e7bc3bc3Jorim Jaggi        public abstract int getIcon();
2910d7d250bc41b21059a90095e8b693c9e7bc3bc3Jorim Jaggi        public abstract CharSequence getTitle();
3010d7d250bc41b21059a90095e8b693c9e7bc3bc3Jorim Jaggi        public abstract PendingIntent getActionIntent();
3110d7d250bc41b21059a90095e8b693c9e7bc3bc3Jorim Jaggi        public abstract Bundle getExtras();
3210d7d250bc41b21059a90095e8b693c9e7bc3bc3Jorim Jaggi        public abstract RemoteInputCompatBase.RemoteInput[] getRemoteInputs();
33ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen
34ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen        public interface Factory {
35ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen            Action build(int icon, CharSequence title, PendingIntent actionIntent,
36ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen                    Bundle extras, RemoteInputCompatBase.RemoteInput[] remoteInputs);
37ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen            public Action[] newArray(int length);
38ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen        }
39ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen    }
4073342e6c85cc814b7117fb3a642c230021d6b7e9Zhen Yu Song
4173342e6c85cc814b7117fb3a642c230021d6b7e9Zhen Yu Song    public static abstract class UnreadConversation {
4273342e6c85cc814b7117fb3a642c230021d6b7e9Zhen Yu Song        abstract String[] getParticipants();
4373342e6c85cc814b7117fb3a642c230021d6b7e9Zhen Yu Song        abstract String getParticipant();
4473342e6c85cc814b7117fb3a642c230021d6b7e9Zhen Yu Song        abstract String[] getMessages();
4573342e6c85cc814b7117fb3a642c230021d6b7e9Zhen Yu Song        abstract RemoteInputCompatBase.RemoteInput getRemoteInput();
4673342e6c85cc814b7117fb3a642c230021d6b7e9Zhen Yu Song        abstract PendingIntent getReplyPendingIntent();
4773342e6c85cc814b7117fb3a642c230021d6b7e9Zhen Yu Song        abstract PendingIntent getReadPendingIntent();
4873342e6c85cc814b7117fb3a642c230021d6b7e9Zhen Yu Song        abstract long getLatestTimestamp();
4973342e6c85cc814b7117fb3a642c230021d6b7e9Zhen Yu Song
5073342e6c85cc814b7117fb3a642c230021d6b7e9Zhen Yu Song        public interface Factory {
5173342e6c85cc814b7117fb3a642c230021d6b7e9Zhen Yu Song            UnreadConversation build(String[] messages,
5273342e6c85cc814b7117fb3a642c230021d6b7e9Zhen Yu Song                    RemoteInputCompatBase.RemoteInput remoteInput,
5373342e6c85cc814b7117fb3a642c230021d6b7e9Zhen Yu Song                    PendingIntent replyPendingIntent, PendingIntent readPendingIntent,
5473342e6c85cc814b7117fb3a642c230021d6b7e9Zhen Yu Song                    String[] participants, long latestTimestamp);
5573342e6c85cc814b7117fb3a642c230021d6b7e9Zhen Yu Song        }
5673342e6c85cc814b7117fb3a642c230021d6b7e9Zhen Yu Song    }
57300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen}
58