From 3fe0459dfd2c70b6928d5e9c345b9eba1eb769a5 Mon Sep 17 00:00:00 2001 From: uabdullah Date: Tue, 26 Sep 2017 16:40:52 -0700 Subject: Setup recycler view for new voicemail ui Screenshot:http://screen/RK42CXn5uB6 Bug: 64882313,33006245 Test: VoicemailFragmentTest, NewVoicemailCallLogAdapterTest, NewVoicemailCallLogViewHolderTest PiperOrigin-RevId: 170129401 Change-Id: Ib82357763bd9cf9f215804225be009650402fe84 --- .../listui/NewVoicemailCallLogAdapter.java | 56 +++++++++++++++++ .../listui/NewVoicemailCallLogViewHolder.java | 35 +++++++++++ .../voicemail/listui/NewVoicemailFragment.java | 52 ++++++++++++++++ .../dialer/voicemail/listui/VoicemailFragment.java | 35 ----------- .../res/layout/new_voicemail_call_log_fragment.xml | 23 +++++++ .../listui/res/layout/voicemail_call_log_entry.xml | 71 ++++++++++++++++++++++ .../listui/res/layout/voicemail_fragment.xml | 28 --------- .../dialer/voicemail/listui/res/values/dimens.xml | 28 +++++++++ .../dialer/voicemail/listui/res/values/strings.xml | 19 ------ 9 files changed, 265 insertions(+), 82 deletions(-) create mode 100644 java/com/android/dialer/voicemail/listui/NewVoicemailCallLogAdapter.java create mode 100644 java/com/android/dialer/voicemail/listui/NewVoicemailCallLogViewHolder.java create mode 100644 java/com/android/dialer/voicemail/listui/NewVoicemailFragment.java delete mode 100644 java/com/android/dialer/voicemail/listui/VoicemailFragment.java create mode 100644 java/com/android/dialer/voicemail/listui/res/layout/new_voicemail_call_log_fragment.xml create mode 100644 java/com/android/dialer/voicemail/listui/res/layout/voicemail_call_log_entry.xml delete mode 100644 java/com/android/dialer/voicemail/listui/res/layout/voicemail_fragment.xml create mode 100644 java/com/android/dialer/voicemail/listui/res/values/dimens.xml delete mode 100644 java/com/android/dialer/voicemail/listui/res/values/strings.xml (limited to 'java/com/android/dialer/voicemail/listui') diff --git a/java/com/android/dialer/voicemail/listui/NewVoicemailCallLogAdapter.java b/java/com/android/dialer/voicemail/listui/NewVoicemailCallLogAdapter.java new file mode 100644 index 000000000..63dae20d9 --- /dev/null +++ b/java/com/android/dialer/voicemail/listui/NewVoicemailCallLogAdapter.java @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2017 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.dialer.voicemail.listui; + +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import com.android.dialer.common.LogUtil; +import java.util.List; + +/** {@link RecyclerView.Adapter} for the new voicemail call log fragment. */ +final class NewVoicemailCallLogAdapter extends RecyclerView.Adapter { + + private final List values; + + NewVoicemailCallLogAdapter(List myDataset) { + values = myDataset; + } + + @Override + public NewVoicemailCallLogViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) { + + LayoutInflater inflater = LayoutInflater.from(viewGroup.getContext()); + View v = inflater.inflate(R.layout.voicemail_call_log_entry, viewGroup, false); + + NewVoicemailCallLogViewHolder newVoicemailCallLogViewHolder = + new NewVoicemailCallLogViewHolder(v); + return newVoicemailCallLogViewHolder; + } + + @Override + public void onBindViewHolder(NewVoicemailCallLogViewHolder viewHolder, int position) { + LogUtil.i("onBindViewHolder", "position" + position); + String name = values.get(position); + viewHolder.setPrimaryText(name); + } + + @Override + public int getItemCount() { + return values.size(); + } +} diff --git a/java/com/android/dialer/voicemail/listui/NewVoicemailCallLogViewHolder.java b/java/com/android/dialer/voicemail/listui/NewVoicemailCallLogViewHolder.java new file mode 100644 index 000000000..239c94633 --- /dev/null +++ b/java/com/android/dialer/voicemail/listui/NewVoicemailCallLogViewHolder.java @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2017 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.dialer.voicemail.listui; + +import android.support.v7.widget.RecyclerView; +import android.view.View; +import android.widget.TextView; + +/** {@link RecyclerView.ViewHolder} for the new voicemail call log. */ +final class NewVoicemailCallLogViewHolder extends RecyclerView.ViewHolder { + + private final TextView primaryTextView; + + NewVoicemailCallLogViewHolder(View view) { + super(view); + primaryTextView = (TextView) view.findViewById(R.id.primary_text); + } + + public void setPrimaryText(String name) { + this.primaryTextView.setText(name); + } +} diff --git a/java/com/android/dialer/voicemail/listui/NewVoicemailFragment.java b/java/com/android/dialer/voicemail/listui/NewVoicemailFragment.java new file mode 100644 index 000000000..cb8cc317c --- /dev/null +++ b/java/com/android/dialer/voicemail/listui/NewVoicemailFragment.java @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2017 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.dialer.voicemail.listui; + +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import com.android.dialer.common.LogUtil; +import java.util.ArrayList; +import java.util.List; + +/** Fragment for Dialer Voicemail Tab. */ +public final class NewVoicemailFragment extends Fragment { + @Nullable + @Override + public View onCreateView( + LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.new_voicemail_call_log_fragment, container, false); + RecyclerView recyclerView = + (RecyclerView) view.findViewById(R.id.new_voicemail_call_log_recycler_view); + recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); + + // TODO(uabdullah): To be removed once we hook up the UI to the voicemail backend + List input = new ArrayList<>(); + for (int i = 0; i < 50; i++) { + input.add("Umer Abdullah " + i); + } + + LogUtil.i("onCreateView", "size of input:" + input.size()); + recyclerView.setAdapter(new NewVoicemailCallLogAdapter(input)); + return view; + } +} diff --git a/java/com/android/dialer/voicemail/listui/VoicemailFragment.java b/java/com/android/dialer/voicemail/listui/VoicemailFragment.java deleted file mode 100644 index e2b87a8db..000000000 --- a/java/com/android/dialer/voicemail/listui/VoicemailFragment.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (C) 2017 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.dialer.voicemail.listui; - -import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v4.app.Fragment; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -/** Fragment for Dialer Voicemail Tab. */ -public final class VoicemailFragment extends Fragment { - - @Nullable - @Override - public View onCreateView( - LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - return inflater.inflate(R.layout.voicemail_fragment, container, false); - } -} diff --git a/java/com/android/dialer/voicemail/listui/res/layout/new_voicemail_call_log_fragment.xml b/java/com/android/dialer/voicemail/listui/res/layout/new_voicemail_call_log_fragment.xml new file mode 100644 index 000000000..f35ce4dc0 --- /dev/null +++ b/java/com/android/dialer/voicemail/listui/res/layout/new_voicemail_call_log_fragment.xml @@ -0,0 +1,23 @@ + + + + \ No newline at end of file diff --git a/java/com/android/dialer/voicemail/listui/res/layout/voicemail_call_log_entry.xml b/java/com/android/dialer/voicemail/listui/res/layout/voicemail_call_log_entry.xml new file mode 100644 index 000000000..3986a0e8c --- /dev/null +++ b/java/com/android/dialer/voicemail/listui/res/layout/voicemail_call_log_entry.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + diff --git a/java/com/android/dialer/voicemail/listui/res/layout/voicemail_fragment.xml b/java/com/android/dialer/voicemail/listui/res/layout/voicemail_fragment.xml deleted file mode 100644 index 3b566daaa..000000000 --- a/java/com/android/dialer/voicemail/listui/res/layout/voicemail_fragment.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/java/com/android/dialer/voicemail/listui/res/values/dimens.xml b/java/com/android/dialer/voicemail/listui/res/values/dimens.xml new file mode 100644 index 000000000..4ef0fc1a4 --- /dev/null +++ b/java/com/android/dialer/voicemail/listui/res/values/dimens.xml @@ -0,0 +1,28 @@ + + + + + + 6dp + 16dp + 12dp + 48dp + 4dp + 8dp + 48dp + + diff --git a/java/com/android/dialer/voicemail/listui/res/values/strings.xml b/java/com/android/dialer/voicemail/listui/res/values/strings.xml deleted file mode 100644 index 85d41906e..000000000 --- a/java/com/android/dialer/voicemail/listui/res/values/strings.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - hello world! Welcome to the Voicemail Tab! - \ No newline at end of file -- cgit v1.2.3