Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dd98afe9 authored by Adnan's avatar Adnan Committed by Abhisek Devkota
Browse files

Contacts: Add indicators to quickcontact fragment.

    - If a contact is a primary or secure contact,
    find the indicators and set them to visible.

Change-Id: I7f2c907acfa73e6a7597bc6c51a3029431673da3
parent da7b6cb2
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -48,6 +48,21 @@
                android:textColor="@color/secondary_text_color"
                android:textAllCaps="true"
                android:textAppearance="?android:attr/textAppearanceSmall" />
            <View
                android:id="@+id/primary_indicator"
                android:layout_width="16dip"
                android:layout_height="16dip"
                android:visibility="gone"
                android:layout_gravity="center_vertical"
                android:background="@drawable/ic_list_default_mime_holo_dark" />

            <View
                android:id="@+id/security_indicator"
                android:layout_width="16dip"
                android:layout_height="16dip"
                android:visibility="gone"
                android:layout_gravity="center_vertical"
                android:background="@drawable/ic_list_security_whisperpush" />
        </LinearLayout>
    </LinearLayout>
    <include layout="@layout/quickcontact_list_item_base"/>
+3 −0
Original line number Diff line number Diff line
@@ -47,6 +47,9 @@ public interface Action extends Collapser.Collapsible<Action> {
    /** Checks if the contact data for this action is primary. */
    public Boolean isPrimary();

    /** Checks if the contact data for this action is secure communication. */
    public Boolean isSecure();

    /**
     * Returns a lookup (@link Uri) for the contact data item or null if there is no data item
     * corresponding to this row
+9 −0
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ import com.android.contacts.common.model.dataitem.PhoneDataItem;
import com.android.contacts.common.model.dataitem.SipAddressDataItem;
import com.android.contacts.common.model.dataitem.StructuredPostalDataItem;
import com.android.contacts.common.model.dataitem.WebsiteDataItem;
import com.android.contacts.detail.ContactDetailDisplayUtils;
import com.android.contacts.util.PhoneCapabilityTester;
import com.android.contacts.util.StructuredPostalUtils;

@@ -67,6 +68,7 @@ public class DataAction implements Action {
    private Uri mDataUri;
    private long mDataId;
    private boolean mIsPrimary;
    private boolean mIsSecure = false;

    /**
     * Create an action from common {@link Data} elements.
@@ -120,6 +122,8 @@ public class DataAction implements Action {
                        smsIntent = new Intent(Intent.ACTION_SENDTO,
                                Uri.fromParts(CallUtil.SCHEME_SMSTO, number, null));
                        smsIntent.setComponent(smsComponent);

                        mIsSecure = ContactDetailDisplayUtils.hasActiveSession(mContext, number);
                    }

                    // Configure Icons and Intents. Notice actionIcon is already set to the phone
@@ -269,6 +273,11 @@ public class DataAction implements Action {
        return mIsPrimary;
    }

    @Override
    public Boolean isSecure() {
        return mIsSecure;
    }

    @Override
    public Drawable getAlternateIcon() {
        if (mAlternateIconRes == 0) return null;
+14 −0
Original line number Diff line number Diff line
@@ -127,6 +127,10 @@ public class QuickContactListFragment extends Fragment {
                final ImageView alternateActionButton = (ImageView) resultView.findViewById(
                        R.id.secondary_action_button);
                final View alternateActionDivider = resultView.findViewById(R.id.vertical_divider);
                final View primaryIndicator =
                        actionsContainer.findViewById(R.id.primary_indicator);
                final View securityIndicator =
                        actionsContainer.findViewById(R.id.security_indicator);
                final ImageView presenceIconView =
                        (ImageView) resultView.findViewById(R.id.presence_icon);

@@ -142,6 +146,16 @@ public class QuickContactListFragment extends Fragment {
                alternateActionButton.setContentDescription(action.getAlternateIconDescription());
                alternateActionButton.setVisibility(hasAlternateAction ? View.VISIBLE : View.GONE);

                // Set the default contact method
                if (primaryIndicator != null) {
                    primaryIndicator.setVisibility(action.isPrimary() ? View.VISIBLE : View.GONE);
                }

                // Show secure contact method
                if (securityIndicator != null) {
                    securityIndicator.setVisibility(action.isSecure() ? View.VISIBLE : View.GONE);
                }

                if (mimeType.equals(Phone.CONTENT_ITEM_TYPE)) {
                    // Force LTR text direction for phone numbers
                    text1.setTextDirection(View.TEXT_DIRECTION_LTR);