summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Android.mk4
-rw-r--r--AndroidManifest.xml12
-rw-r--r--res-aosp/xml/shortcuts.xml29
-rw-r--r--res/drawable-hdpi/ic_message_24dp.pngbin242 -> 0 bytes
-rw-r--r--res/drawable-mdpi/ic_message_24dp.pngbin207 -> 0 bytes
-rw-r--r--res/drawable-xhdpi/ic_message_24dp.pngbin294 -> 0 bytes
-rw-r--r--res/drawable-xxhdpi/ic_message_24dp.pngbin363 -> 0 bytes
-rw-r--r--res/drawable-xxxhdpi/ic_message_24dp.pngbin443 -> 0 bytes
-rw-r--r--res/drawable/ic_add_circle_24dp.xml27
-rw-r--r--res/layout-w500dp-land/quickcontact_activity.xml (renamed from res/layout-land/quickcontact_activity.xml)2
-rw-r--r--res/layout/expanding_entry_card_item.xml6
-rw-r--r--res/values-land/bools.xml3
-rw-r--r--res/values-w500dp-land/bools.xml20
-rw-r--r--res/values/bools.xml1
-rw-r--r--src/com/android/contacts/activities/PeopleActivity.java4
-rw-r--r--src/com/android/contacts/editor/AggregationSuggestionView.java3
-rw-r--r--src/com/android/contacts/editor/CompactPhotoEditorView.java2
-rw-r--r--src/com/android/contacts/editor/TextFieldsEditorView.java2
-rw-r--r--src/com/android/contacts/interactions/SmsInteraction.java2
-rw-r--r--src/com/android/contacts/quickcontact/QuickContactActivity.java21
-rw-r--r--src/com/android/contacts/widget/MultiShrinkScroller.java36
-rw-r--r--tests/AndroidManifest.xml2
22 files changed, 147 insertions, 29 deletions
diff --git a/Android.mk b/Android.mk
index 0649be286..f0fdce291 100644
--- a/Android.mk
+++ b/Android.mk
@@ -13,11 +13,9 @@ support_library_root_dir := prebuilts/sdk/current/support
endif
src_dirs := src $(contacts_common_dir)/src $(phone_common_dir)/src
-res_dirs := res $(contacts_common_dir)/res $(phone_common_dir)/res
+res_dirs := res res-aosp $(contacts_common_dir)/res $(contacts_common_dir)/icons/res $(phone_common_dir)/res
asset_dirs := $(contacts_common_dir)/assets
-src_dirs += src-N $(contacts_common_dir)/src-N $(phone_common_dir)/src-N
-
LOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))
LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs)) \
$(support_library_root_dir)/v7/cardview/res
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 21f6812d3..54e83167a 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -16,10 +16,10 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.contacts"
- android:versionCode="10417"
- android:versionName="1.4.17">
+ android:versionCode="10422"
+ android:versionName="1.4.22">
- <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="24" />
+ <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="25" />
<original-package android:name="com.android.contacts" />
<uses-permission android:name="android.permission.CALL_PHONE" />
@@ -55,6 +55,7 @@
android:name="com.android.contacts.ContactsApplication"
android:label="@string/applicationLabel"
android:icon="@mipmap/ic_contacts_launcher"
+ android:roundIcon="@mipmap/ic_contacts_launcher"
android:taskAffinity="android.task.contacts"
android:hardwareAccelerated="true"
android:supportsRtl="true"
@@ -139,6 +140,11 @@
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable"
/>
+
+ <meta-data android:name="android.app.shortcuts"
+ android:resource="@xml/shortcuts"
+ />
+
</activity>
<activity android:name=".activities.ContactSelectionActivity"
diff --git a/res-aosp/xml/shortcuts.xml b/res-aosp/xml/shortcuts.xml
new file mode 100644
index 000000000..35d15e7d2
--- /dev/null
+++ b/res-aosp/xml/shortcuts.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 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.
+-->
+
+<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
+ <shortcut
+ android:enabled="true"
+ android:icon="@drawable/ic_add_circle_24dp"
+ android:shortcutId="shortcut-add-contact"
+ android:shortcutShortLabel="@string/menu_new_contact_action_bar">
+ <intent
+ android:action="android.intent.action.INSERT"
+ android:data="content://com.android.contacts/contacts"
+ android:targetPackage="com.android.contacts"
+ android:targetClass="com.android.contacts.activities.CompactContactEditorActivity"/>
+ </shortcut>
+</shortcuts>
diff --git a/res/drawable-hdpi/ic_message_24dp.png b/res/drawable-hdpi/ic_message_24dp.png
deleted file mode 100644
index 48f008a5e..000000000
--- a/res/drawable-hdpi/ic_message_24dp.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_message_24dp.png b/res/drawable-mdpi/ic_message_24dp.png
deleted file mode 100644
index c18f225fa..000000000
--- a/res/drawable-mdpi/ic_message_24dp.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_message_24dp.png b/res/drawable-xhdpi/ic_message_24dp.png
deleted file mode 100644
index ee5021c55..000000000
--- a/res/drawable-xhdpi/ic_message_24dp.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_message_24dp.png b/res/drawable-xxhdpi/ic_message_24dp.png
deleted file mode 100644
index e7ca6bdfb..000000000
--- a/res/drawable-xxhdpi/ic_message_24dp.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_message_24dp.png b/res/drawable-xxxhdpi/ic_message_24dp.png
deleted file mode 100644
index f917193bd..000000000
--- a/res/drawable-xxxhdpi/ic_message_24dp.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/ic_add_circle_24dp.xml b/res/drawable/ic_add_circle_24dp.xml
new file mode 100644
index 000000000..ae37470ee
--- /dev/null
+++ b/res/drawable/ic_add_circle_24dp.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 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.
+-->
+
+<!-- Customized ic_add_circle material asset. See b/30018040#comment12 -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:height="24dp"
+ android:width="24dp"
+ android:viewportHeight="192.0"
+ android:viewportWidth="192.0">
+ <path android:fillColor="#F5F5F5"
+ android:pathData="M96,8C47.38,8 8,47.38 8,96s39.38,88 88,88s88,-39.38 88,-88S144.62,8 96,8z"/>
+ <path android:fillColor="#039BE5"
+ android:pathData="M124,100h-24v24h-8v-24H68v-8h24V68h8v24h24V100z"/>
+</vector>
diff --git a/res/layout-land/quickcontact_activity.xml b/res/layout-w500dp-land/quickcontact_activity.xml
index af622dc3a..63cab3c65 100644
--- a/res/layout-land/quickcontact_activity.xml
+++ b/res/layout-w500dp-land/quickcontact_activity.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
+<!-- Copyright (C) 2016 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.
diff --git a/res/layout/expanding_entry_card_item.xml b/res/layout/expanding_entry_card_item.xml
index 7c7337ebc..99f91744d 100644
--- a/res/layout/expanding_entry_card_item.xml
+++ b/res/layout/expanding_entry_card_item.xml
@@ -43,7 +43,7 @@
android:layout_alignParentTop="true"
android:paddingTop="5dp"
android:layout_toEndOf="@+id/icon"
- android:layout_toStartOf="@+id/icon_alternate"
+ android:layout_toStartOf="@+id/third_icon"
android:textColor="@color/quickcontact_entry_header_text_color"
android:textAlignment="viewStart"
android:layout_marginBottom="@dimen/expanding_entry_card_header_margin_bottom" />
@@ -54,7 +54,7 @@
android:layout_height="wrap_content"
android:layout_below="@+id/header"
android:layout_toEndOf="@+id/icon_sub_header"
- android:layout_toStartOf="@+id/icon_alternate"
+ android:layout_toStartOf="@+id/third_icon"
android:textAlignment="viewStart"
android:textColor="@color/quickcontact_entry_sub_header_text_color" />
@@ -73,7 +73,7 @@
android:id="@+id/text"
android:layout_below="@+id/sub_header"
android:layout_toEndOf="@+id/icon_text"
- android:layout_toStartOf="@+id/icon_alternate"
+ android:layout_toStartOf="@+id/third_icon"
android:textAlignment="viewStart"
android:textColor="@color/quickcontact_entry_sub_header_text_color" />
diff --git a/res/values-land/bools.xml b/res/values-land/bools.xml
index bd0650fa4..beaa96087 100644
--- a/res/values-land/bools.xml
+++ b/res/values-land/bools.xml
@@ -15,6 +15,7 @@
-->
<resources>
- <bool name="quickcontact_two_panel">true</bool>
+ <bool name="quickcontact_two_panel">false</bool>
+ <bool name="contacteditor_two_panel">true</bool>
</resources>
diff --git a/res/values-w500dp-land/bools.xml b/res/values-w500dp-land/bools.xml
new file mode 100644
index 000000000..65174ba60
--- /dev/null
+++ b/res/values-w500dp-land/bools.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 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>
+
+ <bool name="quickcontact_two_panel">true</bool>
+
+</resources>
diff --git a/res/values/bools.xml b/res/values/bools.xml
index b94cc8568..eef380805 100644
--- a/res/values/bools.xml
+++ b/res/values/bools.xml
@@ -17,5 +17,6 @@
<bool name="quickcontact_two_panel">false</bool>
<bool name="contact_all_list_show_card_frame">false</bool>
+ <bool name="contacteditor_two_panel">false</bool>
</resources>
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 0e212ef13..a6c7b8b49 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -29,6 +29,7 @@ import android.graphics.Rect;
import android.net.Uri;
import android.os.Bundle;
import android.os.Parcelable;
+import android.provider.BlockedNumberContract;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.ProviderStatus;
@@ -58,7 +59,6 @@ import com.android.contacts.activities.ActionBarAdapter.TabState;
import com.android.contacts.common.ContactsUtils;
import com.android.contacts.common.activity.RequestPermissionsActivity;
import com.android.contacts.common.compat.TelecomManagerUtil;
-import com.android.contacts.common.compat.BlockedNumberContractCompat;
import com.android.contacts.common.dialog.ClearFrequentsDialog;
import com.android.contacts.common.interactions.ImportExportDialogFragment;
import com.android.contacts.common.list.ContactEntryListFragment;
@@ -1103,7 +1103,7 @@ public class PeopleActivity extends ContactsActivity implements
final boolean showMiscOptions = !isSearchOrSelectionMode;
final boolean showBlockedNumbers = PhoneCapabilityTester.isPhone(this)
&& ContactsUtils.FLAG_N_FEATURE
- && BlockedNumberContractCompat.canCurrentUserBlockNumbers(this);
+ && BlockedNumberContract.canCurrentUserBlockNumbers(this);
makeMenuItemVisible(menu, R.id.menu_search, showMiscOptions);
makeMenuItemVisible(menu, R.id.menu_import_export, showMiscOptions);
makeMenuItemVisible(menu, R.id.menu_accounts, showMiscOptions);
diff --git a/src/com/android/contacts/editor/AggregationSuggestionView.java b/src/com/android/contacts/editor/AggregationSuggestionView.java
index e3bab7e8c..5a3da0017 100644
--- a/src/com/android/contacts/editor/AggregationSuggestionView.java
+++ b/src/com/android/contacts/editor/AggregationSuggestionView.java
@@ -22,6 +22,7 @@ import android.net.Uri;
import android.provider.ContactsContract.Contacts;
import android.text.TextUtils;
import android.util.AttributeSet;
+import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
@@ -104,6 +105,8 @@ public class AggregationSuggestionView extends LinearLayout {
dataText = suggestion.emailAddress;
} else if (suggestion.phoneNumber != null) {
dataText = suggestion.phoneNumber;
+ // Phone numbers should always be in LTR mode.
+ data.setTextDirection(View.TEXT_DIRECTION_LTR);
}
data.setText(dataText);
}
diff --git a/src/com/android/contacts/editor/CompactPhotoEditorView.java b/src/com/android/contacts/editor/CompactPhotoEditorView.java
index 1696a12f2..899e22aff 100644
--- a/src/com/android/contacts/editor/CompactPhotoEditorView.java
+++ b/src/com/android/contacts/editor/CompactPhotoEditorView.java
@@ -78,7 +78,7 @@ public class CompactPhotoEditorView extends RelativeLayout implements View.OnCli
mLandscapePhotoRatio = getTypedFloat(R.dimen.quickcontact_landscape_photo_ratio);
mPortraitPhotoRatio = getTypedFloat(R.dimen.editor_portrait_photo_ratio);
- mIsTwoPanel = getResources().getBoolean(R.bool.quickcontact_two_panel);
+ mIsTwoPanel = getResources().getBoolean(R.bool.contacteditor_two_panel);
final TypedArray styledAttributes = getContext().getTheme().obtainStyledAttributes(
new int[] { android.R.attr.actionBarSize });
diff --git a/src/com/android/contacts/editor/TextFieldsEditorView.java b/src/com/android/contacts/editor/TextFieldsEditorView.java
index f705819ec..df201e166 100644
--- a/src/com/android/contacts/editor/TextFieldsEditorView.java
+++ b/src/com/android/contacts/editor/TextFieldsEditorView.java
@@ -244,7 +244,7 @@ public class TextFieldsEditorView extends LabeledEditorView {
// Show the "next" button in IME to navigate between text fields
// TODO: Still need to properly navigate to/from sections without text fields,
// See Bug: 5713510
- fieldView.setImeOptions(EditorInfo.IME_ACTION_NEXT);
+ fieldView.setImeOptions(EditorInfo.IME_ACTION_NEXT | EditorInfo.IME_FLAG_NO_FULLSCREEN);
// Read current value from state
final String column = field.column;
diff --git a/src/com/android/contacts/interactions/SmsInteraction.java b/src/com/android/contacts/interactions/SmsInteraction.java
index 7d26401ee..ba0070c2c 100644
--- a/src/com/android/contacts/interactions/SmsInteraction.java
+++ b/src/com/android/contacts/interactions/SmsInteraction.java
@@ -35,7 +35,7 @@ import android.text.TextDirectionHeuristics;
public class SmsInteraction implements ContactInteraction {
private static final String URI_TARGET_PREFIX = "smsto:";
- private static final int SMS_ICON_RES = R.drawable.ic_message_24dp;
+ private static final int SMS_ICON_RES = R.drawable.ic_message_24dp_mirrored;
private static BidiFormatter sBidiFormatter = BidiFormatter.getInstance();
private ContentValues mValues;
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index 5469c2e37..c63c989a4 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -32,6 +32,7 @@ import android.content.Loader;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.res.ColorStateList;
+import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
@@ -113,6 +114,7 @@ import com.android.contacts.common.activity.RequestDesiredPermissionsActivity;
import com.android.contacts.common.activity.RequestPermissionsActivity;
import com.android.contacts.common.compat.CompatUtils;
import com.android.contacts.common.compat.EventCompat;
+import com.android.contacts.common.compat.MultiWindowCompat;
import com.android.contacts.common.dialog.CallSubjectDialog;
import com.android.contacts.common.editor.SelectAccountDialogFragment;
import com.android.contacts.common.interactions.TouchPointManager;
@@ -1039,7 +1041,9 @@ public class QuickContactActivity extends ContactsActivity
mWindowScrim.setAlpha(0);
getWindow().setBackgroundDrawable(mWindowScrim);
- mScroller.initialize(mMultiShrinkScrollerListener, mExtraMode == MODE_FULLY_EXPANDED);
+ mScroller.initialize(mMultiShrinkScrollerListener, mExtraMode == MODE_FULLY_EXPANDED,
+ /* maximumHeaderTextSize */ -1,
+ /* shouldUpdateNameViewHeight */ true);
// mScroller needs to perform asynchronous measurements after initalize(), therefore
// we can't mark this as GONE.
mScroller.setVisibility(View.INVISIBLE);
@@ -1152,7 +1156,11 @@ public class QuickContactActivity extends ContactsActivity
ContentUris.withAppendedId(RawContacts.CONTENT_URI, rawContactId));
}
mExtraMode = getIntent().getIntExtra(QuickContact.EXTRA_MODE, QuickContact.MODE_LARGE);
- mExtraPrioritizedMimeType = getIntent().getStringExtra(QuickContact.EXTRA_PRIORITIZED_MIMETYPE);
+ if (isMultiWindowOnPhone()) {
+ mExtraMode = QuickContact.MODE_LARGE;
+ }
+ mExtraPrioritizedMimeType =
+ getIntent().getStringExtra(QuickContact.EXTRA_PRIORITIZED_MIMETYPE);
final Uri oldLookupUri = mLookupUri;
if (lookupUri == null) {
@@ -1189,7 +1197,12 @@ public class QuickContactActivity extends ContactsActivity
return;
}
mHasAlreadyBeenOpened = true;
- mScroller.scrollUpForEntranceAnimation(mExtraMode != MODE_FULLY_EXPANDED);
+ mScroller.scrollUpForEntranceAnimation(/* scrollToCurrentPosition */ !isMultiWindowOnPhone()
+ && (mExtraMode != MODE_FULLY_EXPANDED));
+ }
+
+ private boolean isMultiWindowOnPhone() {
+ return MultiWindowCompat.isInMultiWindowMode(this) && PhoneCapabilityTester.isPhone(this);
}
/** Assign this string to the view if it is not empty. */
@@ -1868,7 +1881,7 @@ public class QuickContactActivity extends ContactsActivity
alternateIntent = new Intent(Intent.ACTION_SENDTO,
Uri.fromParts(ContactsUtils.SCHEME_SMSTO, phone.getNumber(), null));
- alternateIcon = res.getDrawable(R.drawable.ic_message_24dp);
+ alternateIcon = res.getDrawable(R.drawable.ic_message_24dp_mirrored);
alternateContentDescription.append(res.getString(R.string.sms_custom, header));
smsContentDescription = com.android.contacts.common.util.ContactDisplayUtils
.getTelephoneTtsSpannable(alternateContentDescription.toString(), header);
diff --git a/src/com/android/contacts/widget/MultiShrinkScroller.java b/src/com/android/contacts/widget/MultiShrinkScroller.java
index eb3283f51..b1deb9014 100644
--- a/src/com/android/contacts/widget/MultiShrinkScroller.java
+++ b/src/com/android/contacts/widget/MultiShrinkScroller.java
@@ -66,7 +66,7 @@ import android.widget.Toolbar;
public class MultiShrinkScroller extends FrameLayout {
/**
- * 1000 pixels per millisecond. Ie, 1 pixel per second.
+ * 1000 pixels per second. Ie, 1 pixel per millisecond.
*/
private static final int PIXELS_PER_SECOND = 1000;
@@ -135,6 +135,8 @@ public class MultiShrinkScroller extends FrameLayout {
*/
private boolean mIsOpenContactSquare;
private int mMaximumHeaderTextSize;
+ private int mMaximumPhoneticNameViewHeight;
+ private int mMaximumFullNameViewHeight;
private int mCollapsedTitleBottomMargin;
private int mCollapsedTitleStartMargin;
private int mMinimumPortraitHeaderHeight;
@@ -287,7 +289,8 @@ public class MultiShrinkScroller extends FrameLayout {
/**
* This method must be called inside the Activity's OnCreate.
*/
- public void initialize(MultiShrinkScrollerListener listener, boolean isOpenContactSquare) {
+ public void initialize(MultiShrinkScrollerListener listener, boolean isOpenContactSquare,
+ final int maximumHeaderTextSize, final boolean shouldUpdateNameViewHeight) {
mScrollView = (ScrollView) findViewById(R.id.content_scroller);
mScrollViewChild = findViewById(R.id.card_container);
mToolbar = findViewById(R.id.toolbar_parent);
@@ -346,7 +349,20 @@ public class MultiShrinkScroller extends FrameLayout {
mMaximumPortraitHeaderHeight = mIsTwoPanel ? getHeight()
: mPhotoViewContainer.getWidth();
setHeaderHeight(getMaximumScrollableHeaderHeight());
- mMaximumHeaderTextSize = mTitleAndPhoneticNameView.getHeight();
+ if (shouldUpdateNameViewHeight) {
+ mMaximumHeaderTextSize = mTitleAndPhoneticNameView.getHeight();
+ mMaximumFullNameViewHeight = mLargeTextView.getHeight();
+ // We cannot rely on mPhoneticNameView.getHeight() since it could be 0
+ final int phoneticNameSize = getResources().getDimensionPixelSize(
+ R.dimen.quickcontact_maximum_phonetic_name_size);
+ final int fullNameSize = getResources().getDimensionPixelSize(
+ R.dimen.quickcontact_maximum_title_size);
+ mMaximumPhoneticNameViewHeight =
+ mMaximumFullNameViewHeight * phoneticNameSize / fullNameSize;
+ }
+ if (maximumHeaderTextSize > 0) {
+ mMaximumHeaderTextSize = maximumHeaderTextSize;
+ }
if (mIsTwoPanel) {
mMaximumHeaderHeight = getHeight();
mMinimumHeaderHeight = mMaximumHeaderHeight;
@@ -393,7 +409,7 @@ public class MultiShrinkScroller extends FrameLayout {
final float TITLE_GRADIENT_SIZE_COEFFICIENT = 1.25f;
final FrameLayout.LayoutParams largeTextLayoutParms
= (FrameLayout.LayoutParams) mTitleAndPhoneticNameView.getLayoutParams();
- titleGradientLayoutParams.height = (int) ((mTitleAndPhoneticNameView.getHeight()
+ titleGradientLayoutParams.height = (int) ((mMaximumHeaderTextSize
+ largeTextLayoutParms.bottomMargin) * TITLE_GRADIENT_SIZE_COEFFICIENT);
mTitleGradientView.setLayoutParams(titleGradientLayoutParams);
}
@@ -418,7 +434,9 @@ public class MultiShrinkScroller extends FrameLayout {
// in case it just changed from Visibility=GONE.
mPhoneticNameView.setVisibility(View.VISIBLE);
// TODO try not using initialize() to refresh phonetic name view: b/27410518
- initialize(mListener, mIsOpenContactSquare);
+ initialize(mListener, mIsOpenContactSquare, /* maximumHeaderTextSize */
+ (mMaximumFullNameViewHeight + mMaximumPhoneticNameViewHeight),
+ /* shouldUpdateNameViewHeight */ false);
}
public void setPhoneticNameGone() {
@@ -429,7 +447,9 @@ public class MultiShrinkScroller extends FrameLayout {
mPhoneticNameView.setVisibility(View.GONE);
// Initialize to make Visibility work.
// TODO try not using initialize() to refresh phonetic name view: b/27410518
- initialize(mListener, mIsOpenContactSquare);
+ initialize(mListener, mIsOpenContactSquare,
+ /* maximumHeaderTextSize */ mMaximumFullNameViewHeight,
+ /* shouldUpdateNameViewHeight */ false);
}
@Override
@@ -1039,7 +1059,7 @@ public class MultiShrinkScroller extends FrameLayout {
} else {
mTitleAndPhoneticNameView.setPivotX(0);
}
- mTitleAndPhoneticNameView.setPivotY(mTitleAndPhoneticNameView.getHeight() / 2);
+ mTitleAndPhoneticNameView.setPivotY(mMaximumHeaderTextSize / 2);
final int toolbarHeight = mToolbar.getLayoutParams().height;
mPhotoTouchInterceptOverlay.setClickable(toolbarHeight != mMaximumHeaderHeight);
@@ -1085,7 +1105,7 @@ public class MultiShrinkScroller extends FrameLayout {
// Padding needed on the mTitleAndPhoneticNameView so that it has the same amount of
// padding as the target rectangle.
mCollapsedTitleBottomMargin =
- desiredTopToCenter - mTitleAndPhoneticNameView.getHeight() / 2;
+ desiredTopToCenter - mMaximumHeaderTextSize / 2;
}
/**
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index e82cea8a9..65c04bc21 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -19,7 +19,7 @@
<uses-sdk
android:minSdkVersion="21"
- android:targetSdkVersion="24" />
+ android:targetSdkVersion="25" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />