diff options
author | Mike Dodd <mdodd@google.com> | 2015-08-11 11:16:59 -0700 |
---|---|---|
committer | Mike Dodd <mdodd@google.com> | 2015-08-12 08:58:28 -0700 |
commit | 461a34b466cb4b13dbbc2ec6330b31e217b2ac4e (patch) | |
tree | bc4b489af52d0e2521e21167d2ad76a47256f348 /src/com/android/messaging/ui/conversationlist/ConversationListAdapter.java | |
parent | 8b3e2b9c1b0a09423a7ba5d1091b9192106502f8 (diff) | |
download | android_packages_apps_Messaging-461a34b466cb4b13dbbc2ec6330b31e217b2ac4e.tar.gz android_packages_apps_Messaging-461a34b466cb4b13dbbc2ec6330b31e217b2ac4e.tar.bz2 android_packages_apps_Messaging-461a34b466cb4b13dbbc2ec6330b31e217b2ac4e.zip |
Initial checkin of AOSP Messaging app.
b/23110861
Change-Id: I9aa980d7569247d6b2ca78f5dcb4502e1eaadb8a
Diffstat (limited to 'src/com/android/messaging/ui/conversationlist/ConversationListAdapter.java')
-rw-r--r-- | src/com/android/messaging/ui/conversationlist/ConversationListAdapter.java | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/src/com/android/messaging/ui/conversationlist/ConversationListAdapter.java b/src/com/android/messaging/ui/conversationlist/ConversationListAdapter.java new file mode 100644 index 0000000..629c4ae --- /dev/null +++ b/src/com/android/messaging/ui/conversationlist/ConversationListAdapter.java @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.messaging.ui.conversationlist; + +import android.content.Context; +import android.database.Cursor; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.ViewGroup; + +import com.android.messaging.R; +import com.android.messaging.ui.CursorRecyclerAdapter; +import com.android.messaging.ui.conversationlist.ConversationListItemView.HostInterface; + +/** + * Provides an interface to expose Conversation List Cursor data to a UI widget like a ListView. + */ +public class ConversationListAdapter + extends CursorRecyclerAdapter<ConversationListAdapter.ConversationListViewHolder> { + + private final ConversationListItemView.HostInterface mClivHostInterface; + + public ConversationListAdapter(final Context context, final Cursor cursor, + final ConversationListItemView.HostInterface clivHostInterface) { + super(context, cursor, 0); + mClivHostInterface = clivHostInterface; + setHasStableIds(true); + } + + /** + * @see com.android.messaging.ui.CursorRecyclerAdapter#bindViewHolder( + * android.support.v7.widget.RecyclerView.ViewHolder, android.content.Context, + * android.database.Cursor) + */ + @Override + public void bindViewHolder(final ConversationListViewHolder holder, final Context context, + final Cursor cursor) { + final ConversationListItemView conversationListItemView = holder.mView; + conversationListItemView.bind(cursor, mClivHostInterface); + } + + @Override + public ConversationListViewHolder createViewHolder(final Context context, + final ViewGroup parent, final int viewType) { + final LayoutInflater layoutInflater = LayoutInflater.from(context); + final ConversationListItemView itemView = + (ConversationListItemView) layoutInflater.inflate( + R.layout.conversation_list_item_view, null); + return new ConversationListViewHolder(itemView); + } + + /** + * ViewHolder that holds a ConversationListItemView. + */ + public static class ConversationListViewHolder extends RecyclerView.ViewHolder { + final ConversationListItemView mView; + + public ConversationListViewHolder(final ConversationListItemView itemView) { + super(itemView); + mView = itemView; + } + } +} |