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

Commit fffd0fed authored by Katherine Kuan's avatar Katherine Kuan Committed by Android (Google) Code Review
Browse files

Merge "Launch quick contacts after selecting frequent contact on tablet" into ics-mr1

parents e3fc5cf9 7a700cf7
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import com.android.i18n.phonenumbers.PhoneNumberUtil;

import android.content.Context;
import android.content.Intent;
import android.graphics.Rect;
import android.location.CountryDetector;
import android.net.Uri;
import android.provider.ContactsContract;
@@ -221,4 +222,22 @@ public class ContactsUtils {
        textView.setText(context.getString(textResourceId));
        return view;
    }

    /**
     * Returns the {@link Rect} with left, top, right, and bottom coordinates
     * that are equivalent to the given {@link View}'s bounds. This is equivalent to how the
     * target {@link Rect} is calculated in {@link QuickContact#showQuickContact}.
     */
    public static Rect getTargetRectFromView(Context context, View view) {
        final float appScale = context.getResources().getCompatibilityInfo().applicationScale;
        final int[] pos = new int[2];
        view.getLocationOnScreen(pos);

        final Rect rect = new Rect();
        rect.left = (int) (pos[0] * appScale + 0.5f);
        rect.top = (int) (pos[1] * appScale + 0.5f);
        rect.right = (int) ((pos[0] + view.getWidth()) * appScale + 0.5f);
        rect.bottom = (int) ((pos[1] + view.getHeight()) * appScale + 0.5f);
        return rect;
    }
}
+4 −2
Original line number Diff line number Diff line
@@ -68,6 +68,7 @@ import android.app.FragmentTransaction;
import android.content.ActivityNotFoundException;
import android.content.ContentValues;
import android.content.Intent;
import android.graphics.Rect;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
@@ -77,6 +78,7 @@ import android.provider.ContactsContract;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Intents;
import android.provider.ContactsContract.ProviderStatus;
import android.provider.ContactsContract.QuickContact;
import android.provider.Settings;
import android.support.v13.app.FragmentPagerAdapter;
import android.support.v4.view.PagerAdapter;
@@ -1142,9 +1144,9 @@ public class PeopleActivity extends ContactsActivity
    private final class StrequentContactListFragmentListener
            implements ContactTileListFragment.Listener {
        @Override
        public void onContactSelected(Uri contactUri) {
        public void onContactSelected(Uri contactUri, Rect targetRect) {
            if (PhoneCapabilityTester.isUsingTwoPanes(PeopleActivity.this)) {
                setupContactDetailFragment(contactUri);
                QuickContact.showQuickContact(PeopleActivity.this, targetRect, contactUri, 0, null);
            } else {
                startActivity(new Intent(Intent.ACTION_VIEW, contactUri));
            }
+2 −1
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import android.content.Intent;
import android.content.Loader;
import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.Rect;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract.Groups;
@@ -208,7 +209,7 @@ public class GroupDetailFragment extends Fragment implements OnScrollListener {
            new ContactTileAdapter.Listener() {

        @Override
        public void onContactSelected(Uri contactUri) {
        public void onContactSelected(Uri contactUri, Rect targetRect) {
            mListener.onContactSelected(contactUri);
        }
    };
+4 −2
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import android.content.ContentUris;
import android.content.Context;
import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.provider.ContactsContract.CommonDataKinds.Phone;
@@ -477,7 +478,8 @@ public class ContactTileAdapter extends BaseAdapter {
        @Override
        public void onClick(ContactTileView contactTileView) {
            if (mListener != null) {
                mListener.onContactSelected(contactTileView.getLookupUri());
                mListener.onContactSelected(contactTileView.getLookupUri(),
                        ContactsUtils.getTargetRectFromView(mContext, contactTileView));
            }
        }
    };
@@ -659,6 +661,6 @@ public class ContactTileAdapter extends BaseAdapter {
    }

    public interface Listener {
        public void onContactSelected(Uri contactUri);
        public void onContactSelected(Uri contactUri, Rect targetRect);
    }
}
+4 −3
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import android.content.CursorLoader;
import android.content.Loader;
import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.Rect;
import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
@@ -48,7 +49,7 @@ public class ContactTileListFragment extends Fragment {
    private static final String TAG = ContactTileListFragment.class.getSimpleName();

    public interface Listener {
        public void onContactSelected(Uri contactUri);
        public void onContactSelected(Uri contactUri, Rect targetRect);
    }

    private static int LOADER_CONTACTS = 1;
@@ -166,9 +167,9 @@ public class ContactTileListFragment extends Fragment {
    private ContactTileAdapter.Listener mAdapterListener =
            new ContactTileAdapter.Listener() {
        @Override
        public void onContactSelected(Uri contactUri) {
        public void onContactSelected(Uri contactUri, Rect targetRect) {
            if (mListener != null) {
                mListener.onContactSelected(contactUri);
                mListener.onContactSelected(contactUri, targetRect);
            }
        }
    };
Loading