Move QuickContact to Activity instead of Window.
QuickContact has traditionally used a Window to show a bubble with
callout centered around a target area. This change moves away from
private Window APIs, and instead creates FloatingChildLayout to layout
the bubble. Using onLayout() is more flexible than a PopupWindow or
Dialog, since it gives us access to getWindowVisibleDisplayFrame() to
correctly handle system windows. (Similar to FLAG_LAYOUT_INSET_DECOR.)
Changes background Drawable to use state_first and state_last to select
above/below callout arrow. Also moves to using setLevel() to set arrow
horizontal location.
Removes recycling chiclet code, and brings in Guava library.
Bug: 3362647
Change-Id: Iae953bae71db76e91e05996fe4c0dcea38bb446f
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 20641f2..458553e 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -326,7 +326,7 @@
<activity
android:name=".activities.ShowOrCreateActivity"
- android:theme="@style/FullyTranslucent">
+ android:theme="@android:style/Theme.Translucent.NoTitleBar">
<intent-filter>
<action android:name="com.android.contacts.action.SHOW_OR_CREATE_CONTACT" />
@@ -339,13 +339,12 @@
<!-- Used to show QuickContact window over a translucent activity, which is a
temporary hack until we add better framework support. -->
<activity
- android:name=".quickcontact.QuickContactActivity"
- android:theme="@style/FullyTranslucent.QuickContact"
+ android:name=".quickcontact.QuickContactWindow"
+ android:theme="@style/Theme.QuickContact"
android:launchMode="singleTop"
android:excludeFromRecents="true"
android:taskAffinity="android.task.quickcontact"
- android:windowSoftInputMode="stateUnchanged"
- >
+ android:windowSoftInputMode="stateUnchanged">
<intent-filter>
<action android:name="com.android.contacts.action.QUICK_CONTACT" />