Adds redlines for QuickContact card.
- Changes background colors.
- Adds star button in the quick contact card.
- Removes the click listener on the photo.
Change-Id: I9e4f32c30c48cd0fff9d3551a780c26bce36a251
diff --git a/res/drawable-hdpi/ic_favorite_off_lt.png b/res/drawable-hdpi/ic_favorite_off_lt.png
new file mode 100644
index 0000000..54f57a6
--- /dev/null
+++ b/res/drawable-hdpi/ic_favorite_off_lt.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_favorite_on_lt.png b/res/drawable-hdpi/ic_favorite_on_lt.png
new file mode 100644
index 0000000..a3c5ed5
--- /dev/null
+++ b/res/drawable-hdpi/ic_favorite_on_lt.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_favorite_off_lt.png b/res/drawable-mdpi/ic_favorite_off_lt.png
new file mode 100644
index 0000000..ce8c460
--- /dev/null
+++ b/res/drawable-mdpi/ic_favorite_off_lt.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_favorite_on_lt.png b/res/drawable-mdpi/ic_favorite_on_lt.png
new file mode 100644
index 0000000..4a5aed3
--- /dev/null
+++ b/res/drawable-mdpi/ic_favorite_on_lt.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_favorite_off_lt.png b/res/drawable-xhdpi/ic_favorite_off_lt.png
new file mode 100644
index 0000000..1386f9d
--- /dev/null
+++ b/res/drawable-xhdpi/ic_favorite_off_lt.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_favorite_on_lt.png b/res/drawable-xhdpi/ic_favorite_on_lt.png
new file mode 100644
index 0000000..903adc0
--- /dev/null
+++ b/res/drawable-xhdpi/ic_favorite_on_lt.png
Binary files differ
diff --git a/res/layout/quickcontact_activity.xml b/res/layout/quickcontact_activity.xml
index c7917f1..36bdd50 100644
--- a/res/layout/quickcontact_activity.xml
+++ b/res/layout/quickcontact_activity.xml
@@ -51,6 +51,6 @@
android:id="@+id/item_list_pager"
android:layout_width="match_parent"
android:layout_height="156dip"
- android:background="@drawable/quickcontact_track_background"/>
+ android:background="@color/quickcontact_activity_background"/>
</LinearLayout>
</view>
diff --git a/res/layout/quickcontact_photo_container.xml b/res/layout/quickcontact_photo_container.xml
index 2fb372d..1ede26d 100644
--- a/res/layout/quickcontact_photo_container.xml
+++ b/res/layout/quickcontact_photo_container.xml
@@ -39,7 +39,7 @@
android:layout_alignRight="@id/photo"
android:layout_alignStart="@id/photo"
android:layout_alignEnd="@id/photo"
- android:background="#7F000000" />
+ android:background="@color/quickcontact_name_detail_background"/>
<ImageView
android:id="@+id/contact_details_image"
android:src="@drawable/ic_contacts_holo_dark"
@@ -51,7 +51,20 @@
android:layout_marginBottom="5dip"
android:layout_alignBottom="@id/photo_text_bar"
android:layout_alignRight="@id/photo_text_bar"
- android:layout_alignEnd="@id/photo_text_bar" />
+ android:layout_alignEnd="@id/photo_text_bar"
+ android:clickable="true"/>
+ <ImageView
+ android:id="@+id/quickcontact_star_button"
+ android:src="@drawable/ic_favorite_off_lt"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:layout_marginBottom="5dip"
+ android:layout_marginRight="16dip"
+ android:layout_marginEnd="16dip"
+ android:layout_alignBottom="@id/photo_text_bar"
+ android:layout_toLeftOf="@id/contact_details_image"
+ android:layout_toStartOf="@id/contact_details_image"
+ android:clickable="true"/>
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
@@ -68,11 +81,5 @@
android:ellipsize="end"
android:textColor="@android:color/white"
android:textAppearance="?android:attr/textAppearanceMedium" />
- <ImageButton
- android:id="@+id/open_details_push_layer"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:contentDescription="@string/viewContactDesription"
- android:background="?android:attr/selectableItemBackground" />
</RelativeLayout>
</merge>
diff --git a/res/layout/quickcontact_track.xml b/res/layout/quickcontact_track.xml
index 6f50029..83a771c 100644
--- a/res/layout/quickcontact_track.xml
+++ b/res/layout/quickcontact_track.xml
@@ -20,7 +20,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fadingEdgeLength="0dip"
- android:background="@drawable/quickcontact_track_background"
+ android:background="@color/quickcontact_track_background"
android:scrollbars="none">
<RelativeLayout
android:layout_width="wrap_content"
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 7fc7c6e..282c89f 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -17,7 +17,10 @@
<color name="quickcontact_list_divider">#ffcdcdcd</color>
<color name="quickcontact_list_background">#ffe2e2e2</color>
- <color name="quickcontact_tab_indicator">#ff33b5e6</color>
+ <color name="quickcontact_tab_indicator">#ffc6c6c6</color>
+ <color name="quickcontact_track_background">#fff5f5f5</color>
+ <color name="quickcontact_activity_background">#fff5f5f5</color>
+ <color name="quickcontact_name_detail_background">#66000000</color>
<!-- Color of the background of the contact detail and editor pages -->
<color name="background_primary">#FFFFFF</color>
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index f8d4405..79a71d7 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -51,12 +51,12 @@
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.HorizontalScrollView;
-import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
+import com.android.contacts.ContactSaveService;
import com.android.contacts.common.Collapser;
import com.android.contacts.R;
import com.android.contacts.common.model.AccountTypeManager;
@@ -113,7 +113,7 @@
private View mLineAfterTrack;
private ImageView mOpenDetailsImage;
- private ImageButton mOpenDetailsPushLayerButton;
+ private ImageView mStarImage;
private ViewPager mListPager;
private ViewPagerAdapter mPagerAdapter;
@@ -201,7 +201,7 @@
mTrack = (ViewGroup) findViewById(R.id.track);
mTrackScroller = (HorizontalScrollView) findViewById(R.id.track_scroller);
mOpenDetailsImage = (ImageView) findViewById(R.id.contact_details_image);
- mOpenDetailsPushLayerButton = (ImageButton) findViewById(R.id.open_details_push_layer);
+ mStarImage = (ImageView) findViewById(R.id.quickcontact_star_button);
mListPager = (ViewPager) findViewById(R.id.item_list_pager);
mSelectedTabRectangle = findViewById(R.id.selected_tab_rectangle);
mLineAfterTrack = findViewById(R.id.line_after_track);
@@ -224,7 +224,8 @@
close(false);
}
};
- mOpenDetailsPushLayerButton.setOnClickListener(openDetailsClickHandler);
+ mOpenDetailsImage.setOnClickListener(openDetailsClickHandler);
+
mPagerAdapter = new ViewPagerAdapter(getFragmentManager());
mListPager.setAdapter(mPagerAdapter);
mListPager.setOnPageChangeListener(new PageChangeListener());
@@ -339,6 +340,33 @@
mOpenDetailsImage.setVisibility(isMimeExcluded(Contacts.CONTENT_ITEM_TYPE) ? View.GONE
: View.VISIBLE);
+ final boolean isStarred = data.getStarred();
+ if (isStarred) {
+ mStarImage.setImageResource(R.drawable.ic_favorite_on_lt);
+ } else {
+ mStarImage.setImageResource(R.drawable.ic_favorite_off_lt);
+ }
+ final Uri lookupUri = data.getLookupUri();
+ mStarImage.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ // Toggle "starred" state
+ // Make sure there is a contact
+ if (lookupUri != null) {
+ // Changes the state of the image already before sending updates to the database
+ if (isStarred) {
+ mStarImage.setImageResource(R.drawable.ic_favorite_off_lt);
+ } else {
+ mStarImage.setImageResource(R.drawable.ic_favorite_on_lt);
+ }
+
+ // Now perform the real save
+ final Intent intent = ContactSaveService.createSetStarredIntent(context,
+ lookupUri, !isStarred);
+ context.startService(intent);
+ }
+ }
+ });
mDefaultsMap.clear();