diff options
Diffstat (limited to 'java/com/android/dialer/calldetails/CallDetailsAdapter.java')
-rw-r--r-- | java/com/android/dialer/calldetails/CallDetailsAdapter.java | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/java/com/android/dialer/calldetails/CallDetailsAdapter.java b/java/com/android/dialer/calldetails/CallDetailsAdapter.java index 725077965..645587461 100644 --- a/java/com/android/dialer/calldetails/CallDetailsAdapter.java +++ b/java/com/android/dialer/calldetails/CallDetailsAdapter.java @@ -22,30 +22,36 @@ import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.ViewHolder; import android.view.LayoutInflater; import android.view.ViewGroup; -import com.android.dialer.callcomposer.CallComposerContact; import com.android.dialer.calldetails.CallDetailsEntries.CallDetailsEntry; import com.android.dialer.calllogutils.CallTypeHelper; import com.android.dialer.common.Assert; +import com.android.dialer.dialercontact.DialerContact; +import com.android.dialer.lightbringer.LightbringerComponent; import java.util.List; /** Adapter for RecyclerView in {@link CallDetailsActivity}. */ -public class CallDetailsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { +final class CallDetailsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private static final int HEADER_VIEW_TYPE = 1; private static final int CALL_ENTRY_VIEW_TYPE = 2; private static final int FOOTER_VIEW_TYPE = 3; - private final CallComposerContact contact; - private final List<CallDetailsEntry> callDetailsEntries; + private final DialerContact contact; + private final CallDetailsFooterViewHolder.ReportCallIdListener listener; private final CallTypeHelper callTypeHelper; + private List<CallDetailsEntry> callDetailsEntries; - public CallDetailsAdapter( + CallDetailsAdapter( Context context, - @NonNull CallComposerContact contact, - @NonNull List<CallDetailsEntry> callDetailsEntries) { + @NonNull DialerContact contact, + @NonNull List<CallDetailsEntry> callDetailsEntries, + CallDetailsFooterViewHolder.ReportCallIdListener listener) { this.contact = Assert.isNotNull(contact); this.callDetailsEntries = callDetailsEntries; - callTypeHelper = new CallTypeHelper(context.getResources()); + this.listener = listener; + callTypeHelper = + new CallTypeHelper( + context.getResources(), LightbringerComponent.get(context).getLightbringer()); } @Override @@ -60,10 +66,10 @@ public class CallDetailsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo inflater.inflate(R.layout.call_details_entry, parent, false)); case FOOTER_VIEW_TYPE: return new CallDetailsFooterViewHolder( - inflater.inflate(R.layout.call_details_footer, parent, false)); + inflater.inflate(R.layout.call_details_footer, parent, false), listener); default: - Assert.fail("No ViewHolder available for viewType: " + viewType); - return null; + throw Assert.createIllegalStateFailException( + "No ViewHolder available for viewType: " + viewType); } } @@ -99,4 +105,9 @@ public class CallDetailsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo public int getItemCount() { return callDetailsEntries.size() + 2; // Header + footer } + + void updateCallDetailsEntries(List<CallDetailsEntry> entries) { + callDetailsEntries = entries; + notifyDataSetChanged(); + } } |