diff options
Diffstat (limited to 'java/com/android/dialer/contactactions')
10 files changed, 0 insertions, 466 deletions
diff --git a/java/com/android/dialer/contactactions/AndroidManifest.xml b/java/com/android/dialer/contactactions/AndroidManifest.xml deleted file mode 100644 index a64066e0b..000000000 --- a/java/com/android/dialer/contactactions/AndroidManifest.xml +++ /dev/null @@ -1,16 +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 - --> -<manifest package="com.android.dialer.contactactions"/> diff --git a/java/com/android/dialer/contactactions/ContactActionBottomSheet.java b/java/com/android/dialer/contactactions/ContactActionBottomSheet.java deleted file mode 100644 index 4718ff036..000000000 --- a/java/com/android/dialer/contactactions/ContactActionBottomSheet.java +++ /dev/null @@ -1,136 +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.contactactions; - -import android.content.Context; -import android.net.Uri; -import android.os.Bundle; -import android.support.design.widget.BottomSheetDialog; -import android.text.TextUtils; -import android.view.LayoutInflater; -import android.view.View; -import android.view.View.OnClickListener; -import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.LinearLayout; -import android.widget.TextView; -import com.android.contacts.common.ContactPhotoManager; -import com.android.dialer.common.Assert; -import com.android.dialer.dialercontact.DialerContact; -import java.util.List; - -/** - * {@link BottomSheetDialog} used for building a list of contact actions in a bottom sheet menu. - * - * <p>{@link #show(Context, DialerContact, List)} should be used to create and display the menu. - * Modules are built using {@link ContactActionModule} and some defaults are provided by {@link - * IntentModule} and {@link DividerModule}. - */ -public class ContactActionBottomSheet extends BottomSheetDialog implements OnClickListener { - - private final List<ContactActionModule> modules; - private final DialerContact contact; - - private ContactActionBottomSheet( - Context context, DialerContact contact, List<ContactActionModule> modules) { - super(context); - this.modules = modules; - this.contact = contact; - setContentView(LayoutInflater.from(context).inflate(R.layout.sheet_layout, null)); - } - - public static ContactActionBottomSheet show( - Context context, DialerContact contact, List<ContactActionModule> modules) { - ContactActionBottomSheet sheet = new ContactActionBottomSheet(context, contact, modules); - sheet.show(); - return sheet; - } - - @Override - protected void onCreate(Bundle bundle) { - super.onCreate(bundle); - LinearLayout container = Assert.isNotNull(findViewById(R.id.action_container)); - container.addView(getContactView(container)); - - for (ContactActionModule module : modules) { - if (module instanceof DividerModule) { - container.addView(getDividerView(container)); - } else { - container.addView(getModuleView(container, module)); - } - } - } - - // TODO: add on click action to contact. - private View getContactView(ViewGroup container) { - LayoutInflater inflater = LayoutInflater.from(getContext()); - View contactView = inflater.inflate(R.layout.contact_layout, container, false); - - ContactPhotoManager.getInstance(getContext()) - .loadDialerThumbnailOrPhoto( - contactView.findViewById(R.id.quick_contact_photo), - contact.hasContactUri() ? Uri.parse(contact.getContactUri()) : null, - contact.getPhotoId(), - contact.hasPhotoUri() ? Uri.parse(contact.getPhotoUri()) : null, - contact.getNameOrNumber(), - contact.getContactType()); - - TextView nameView = contactView.findViewById(R.id.contact_name); - TextView numberView = contactView.findViewById(R.id.phone_number); - - nameView.setText(contact.getNameOrNumber()); - if (!TextUtils.isEmpty(contact.getDisplayNumber())) { - numberView.setVisibility(View.VISIBLE); - String secondaryInfo = - TextUtils.isEmpty(contact.getNumberLabel()) - ? contact.getDisplayNumber() - : getContext() - .getString( - com.android.contacts.common.R.string.call_subject_type_and_number, - contact.getNumberLabel(), - contact.getDisplayNumber()); - numberView.setText(secondaryInfo); - } else { - numberView.setVisibility(View.GONE); - numberView.setText(null); - } - return contactView; - } - - private View getDividerView(ViewGroup container) { - LayoutInflater inflater = LayoutInflater.from(getContext()); - return inflater.inflate(R.layout.divider_layout, container, false); - } - - private View getModuleView(ViewGroup container, ContactActionModule module) { - LayoutInflater inflater = LayoutInflater.from(getContext()); - View moduleView = inflater.inflate(R.layout.module_layout, container, false); - ((TextView) moduleView.findViewById(R.id.module_text)).setText(module.getStringId()); - ((ImageView) moduleView.findViewById(R.id.module_image)) - .setImageResource(module.getDrawableId()); - moduleView.setOnClickListener(this); - moduleView.setTag(module); - return moduleView; - } - - @Override - public void onClick(View view) { - if (((ContactActionModule) view.getTag()).onClick()) { - dismiss(); - } - } -} diff --git a/java/com/android/dialer/contactactions/ContactActionModule.java b/java/com/android/dialer/contactactions/ContactActionModule.java deleted file mode 100644 index 8089edc7b..000000000 --- a/java/com/android/dialer/contactactions/ContactActionModule.java +++ /dev/null @@ -1,38 +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.contactactions; - -import android.support.annotation.DrawableRes; -import android.support.annotation.StringRes; - -/** - * Modules used to build {@link ContactActionBottomSheet}. - * - * <p>Contacts as they relate to this class should be thought of as any entity that an action can be - * performed on like unknown/restricted contacts, along with saved and non-saved contacts. - */ -public interface ContactActionModule { - - @StringRes - int getStringId(); - - @DrawableRes - int getDrawableId(); - - /** @return true if the bottom sheet should close, false otherwise */ - boolean onClick(); -} diff --git a/java/com/android/dialer/contactactions/DividerModule.java b/java/com/android/dialer/contactactions/DividerModule.java deleted file mode 100644 index aabd160db..000000000 --- a/java/com/android/dialer/contactactions/DividerModule.java +++ /dev/null @@ -1,41 +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.contactactions; - -import com.android.dialer.common.Assert; - -/** - * A module that inserts a grey line divider into {@link ContactActionModule}. Layout it provided in - * R.layout.divider_layout.xml - */ -public final class DividerModule implements ContactActionModule { - - @Override - public int getStringId() { - throw Assert.createUnsupportedOperationFailException(); - } - - @Override - public int getDrawableId() { - throw Assert.createUnsupportedOperationFailException(); - } - - @Override - public boolean onClick() { - throw Assert.createUnsupportedOperationFailException(); - } -} diff --git a/java/com/android/dialer/contactactions/IntentModule.java b/java/com/android/dialer/contactactions/IntentModule.java deleted file mode 100644 index 201f52192..000000000 --- a/java/com/android/dialer/contactactions/IntentModule.java +++ /dev/null @@ -1,75 +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.contactactions; - -import android.content.Context; -import android.content.Intent; -import android.support.annotation.DrawableRes; -import android.support.annotation.StringRes; -import com.android.dialer.callintent.CallInitiationType.Type; -import com.android.dialer.callintent.CallIntentBuilder; - -/** - * {@link ContactActionModule} useful for making easy to build modules based on starting an intent. - */ -public class IntentModule implements ContactActionModule { - - private final Context context; - private final Intent intent; - private final @StringRes int text; - private final @DrawableRes int image; - - public IntentModule(Context context, Intent intent, @StringRes int text, @DrawableRes int image) { - this.context = context; - this.intent = intent; - this.text = text; - this.image = image; - } - - @Override - public int getStringId() { - return text; - } - - @Override - public int getDrawableId() { - return image; - } - - @Override - public boolean onClick() { - context.startActivity(intent); - return true; - } - - public static IntentModule newCallModule(Context context, String number, Type initiationType) { - return new IntentModule( - context, - new CallIntentBuilder(number, initiationType).build(), - R.string.call, - R.drawable.quantum_ic_call_white_24); - } - - public static IntentModule newVideoCallModule( - Context context, String number, Type initiationType) { - return new IntentModule( - context, - new CallIntentBuilder(number, initiationType).setIsVideoCall(true).build(), - R.string.video_call, - R.drawable.quantum_ic_videocam_white_24); - } -} diff --git a/java/com/android/dialer/contactactions/res/layout/contact_layout.xml b/java/com/android/dialer/contactactions/res/layout/contact_layout.xml deleted file mode 100644 index bf3297153..000000000 --- a/java/com/android/dialer/contactactions/res/layout/contact_layout.xml +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ 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 - --> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:orientation="horizontal" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:layout_marginTop="8dp" - android:layout_marginBottom="12dp" - android:layout_marginEnd="8dp"> - - <QuickContactBadge - android:id="@+id/quick_contact_photo" - android:layout_width="@dimen/contact_actions_image_size" - android:layout_height="@dimen/contact_actions_image_size" - android:layout_marginStart="@dimen/contact_actions_image_margin" - android:layout_marginEnd="@dimen/contact_actions_image_margin" - android:padding="4dp" - android:focusable="true"/> - - <LinearLayout - android:orientation="vertical" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:gravity="center_vertical"> - - <TextView - android:id="@+id/contact_name" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - style="@style/PrimaryText"/> - - <TextView - android:id="@+id/phone_number" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginTop="2dp" - style="@style/SecondaryText"/> - </LinearLayout> -</LinearLayout>
\ No newline at end of file diff --git a/java/com/android/dialer/contactactions/res/layout/divider_layout.xml b/java/com/android/dialer/contactactions/res/layout/divider_layout.xml deleted file mode 100644 index fdee50e48..000000000 --- a/java/com/android/dialer/contactactions/res/layout/divider_layout.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ 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 - --> -<View - xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="1dp" - android:layout_marginTop="8dp" - android:layout_marginBottom="8dp" - android:background="#12000000"/> diff --git a/java/com/android/dialer/contactactions/res/layout/module_layout.xml b/java/com/android/dialer/contactactions/res/layout/module_layout.xml deleted file mode 100644 index 9aee67937..000000000 --- a/java/com/android/dialer/contactactions/res/layout/module_layout.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ 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 - --> -<LinearLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/module_container" - android:orientation="horizontal" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="?android:attr/selectableItemBackground"> - - <ImageView - android:id="@+id/module_image" - android:layout_width="@dimen/contact_actions_image_size" - android:layout_height="@dimen/contact_actions_image_size" - android:layout_marginStart="@dimen/contact_actions_image_margin" - android:layout_marginEnd="@dimen/contact_actions_image_margin" - android:tint="@color/dialer_secondary_text_color" - android:scaleType="center"/> - - <TextView - android:id="@+id/module_text" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical" - style="@style/PrimaryText"/> -</LinearLayout>
\ No newline at end of file diff --git a/java/com/android/dialer/contactactions/res/layout/sheet_layout.xml b/java/com/android/dialer/contactactions/res/layout/sheet_layout.xml deleted file mode 100644 index 6984367bf..000000000 --- a/java/com/android/dialer/contactactions/res/layout/sheet_layout.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ 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 - --> -<LinearLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/action_container" - android:orientation="vertical" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:paddingTop="4dp" - android:paddingBottom="8dp"/> diff --git a/java/com/android/dialer/contactactions/res/values/dimens.xml b/java/com/android/dialer/contactactions/res/values/dimens.xml deleted file mode 100644 index 47bf804ac..000000000 --- a/java/com/android/dialer/contactactions/res/values/dimens.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ 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 - --> -<resources> - <dimen name="contact_actions_image_size">48dp</dimen> - <dimen name="contact_actions_image_margin">12dp</dimen> -</resources>
\ No newline at end of file |