Merge "Warnings at top of per-app settings page" into tm-dev
diff --git a/res/drawable/conversation_message_text_info_view_background.xml b/res/drawable/conversation_message_text_info_view_background.xml
new file mode 100644
index 0000000..1d82f38
--- /dev/null
+++ b/res/drawable/conversation_message_text_info_view_background.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2022 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.
+-->
+
+<shape
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+
+ <solid
+ android:color="#639DF6"/>
+ <corners android:radius="28dp"/>
+</shape>
diff --git a/res/drawable/ic_person.xml b/res/drawable/ic_person.xml
new file mode 100644
index 0000000..5e5d0e8
--- /dev/null
+++ b/res/drawable/ic_person.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2022 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.
+-->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="?android:attr/colorControlNormal">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M12,12q-1.65,0 -2.825,-1.175Q8,9.65 8,8q0,-1.65 1.175,-2.825Q10.35,4 12,4q1.65,0 2.825,1.175Q16,6.35 16,8q0,1.65 -1.175,2.825Q13.65,12 12,12zM4,20v-2.8q0,-0.85 0.438,-1.562 0.437,-0.713 1.162,-1.088 1.55,-0.775 3.15,-1.163Q10.35,13 12,13t3.25,0.387q1.6,0.388 3.15,1.163 0.725,0.375 1.163,1.088Q20,16.35 20,17.2L20,20zM6,18h12v-0.8q0,-0.275 -0.137,-0.5 -0.138,-0.225 -0.363,-0.35 -1.35,-0.675 -2.725,-1.013Q13.4,15 12,15t-2.775,0.338Q7.85,15.675 6.5,16.35q-0.225,0.125 -0.362,0.35 -0.138,0.225 -0.138,0.5zM12,10q0.825,0 1.412,-0.588Q14,8.825 14,8t-0.588,-1.412Q12.825,6 12,6t-1.412,0.588Q10,7.175 10,8t0.588,1.412Q11.175,10 12,10zM12,8zM12,18z"/>
+</vector>
diff --git a/res/layout/screen_zoom_preview_1.xml b/res/layout/screen_zoom_preview_1.xml
index 4aabfe4..97e0863 100644
--- a/res/layout/screen_zoom_preview_1.xml
+++ b/res/layout/screen_zoom_preview_1.xml
@@ -37,42 +37,16 @@
<com.android.settings.display.ConversationMessageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:incoming="false"
- app:messageText="@string/screen_zoom_conversation_message_1"
- app:timestampText="@string/screen_zoom_conversation_timestamp_1"
- app:iconText="@string/screen_zoom_conversation_icon_alex"
- app:iconTextColor="@color/message_icon_text_outgoing"
- app:iconBackgroundColor="@color/message_icon_background_outgoing" />
-
- <com.android.settings.display.ConversationMessageView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
app:incoming="true"
- app:messageText="@string/screen_zoom_conversation_message_2"
- app:timestampText="@string/screen_zoom_conversation_timestamp_2"
- app:iconText="@string/screen_zoom_conversation_icon_pete"
- app:iconTextColor="@color/message_icon_text_incoming"
+ app:messageText="@string/accessibility_text_reading_conversation_message_1"
app:iconBackgroundColor="@color/message_icon_background_incoming" />
<com.android.settings.display.ConversationMessageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:incoming="false"
- app:messageText="@string/screen_zoom_conversation_message_3"
- app:timestampText="@string/screen_zoom_conversation_timestamp_3"
- app:iconText="@string/screen_zoom_conversation_icon_alex"
- app:iconTextColor="@color/message_icon_text_outgoing"
+ app:messageText="@string/accessibility_text_reading_conversation_message_2"
app:iconBackgroundColor="@color/message_icon_background_outgoing" />
-
- <com.android.settings.display.ConversationMessageView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- app:incoming="true"
- app:messageText="@string/screen_zoom_conversation_message_4"
- app:timestampText="@string/screen_zoom_conversation_timestamp_4"
- app:iconText="@string/screen_zoom_conversation_icon_pete"
- app:iconTextColor="@color/message_icon_text_incoming"
- app:iconBackgroundColor="@color/message_icon_background_incoming" />
</LinearLayout>
</view>
</androidx.core.widget.NestedScrollView>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index f972e29..e818a28 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -44,16 +44,17 @@
<color name="material_grey_100">#f5f5f5</color>
<color name="material_grey_200">#ffffff</color>
- <color name="message_text_incoming">#ffffffff</color>
- <color name="message_text_outgoing">#ff323232</color>
+ <color name="message_text_incoming">#E4E3DA</color>
+ <color name="message_text_outgoing">#1B1C17</color>
<color name="timestamp_text_outgoing">#99323232</color>
<color name="timestamp_text_incoming">#99ffffff</color>
- <color name="message_bubble_incoming">#689f38</color>
- <color name="message_bubble_outgoing">#ffffffff</color>
- <color name="message_icon_background_incoming">#689f38</color>
+ <color name="message_bubble_incoming">#52534D</color>
+ <color name="message_bubble_outgoing">#C7C8B7</color>
+ <color name="message_icon_background_incoming">#E6F451</color>
<color name="message_icon_text_incoming">#ffffffff</color>
- <color name="message_icon_background_outgoing">#4285f4</color>
+ <color name="message_icon_background_outgoing">#FBBC04</color>
<color name="message_icon_text_outgoing">#ffffffff</color>
+ <color name="message_icon_color">#DADADA</color>
<color name="usage_graph_dots">#B0BEC5</color>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 2e4d8be..4db51c6 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -266,12 +266,13 @@
<dimen name="conversation_message_text_size">16sp</dimen>
<dimen name="conversation_status_text_size">12sp</dimen>
<dimen name="conversation_bubble_width_snap">20dp</dimen>
- <dimen name="message_bubble_arrow_width">9dp</dimen>
+ <dimen name="message_bubble_left_right_padding">9dp</dimen>
<dimen name="message_padding_default">18dp</dimen>
<dimen name="message_text_left_right_padding">14dp</dimen>
<dimen name="message_text_top_padding">10dp</dimen>
<dimen name="message_text_bottom_padding">12dp</dimen>
<dimen name="message_metadata_top_padding">4dp</dimen>
+ <dimen name="message_icon_inset">11dp</dimen>
<!-- Accessibility Settings -->
<dimen name="accessibility_layout_margin_start_end">16dp</dimen>
diff --git a/src/com/android/settings/display/ConversationMessageView.java b/src/com/android/settings/display/ConversationMessageView.java
index 22e1f20..d72c9e6 100644
--- a/src/com/android/settings/display/ConversationMessageView.java
+++ b/src/com/android/settings/display/ConversationMessageView.java
@@ -21,6 +21,8 @@
import android.content.res.TypedArray;
import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
+import android.graphics.drawable.LayerDrawable;
+import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.Gravity;
import android.view.LayoutInflater;
@@ -106,14 +108,14 @@
MeasureSpec.EXACTLY);
mContactIconView.measure(iconMeasureSpec, iconMeasureSpec);
- final int arrowWidth =
- getResources().getDimensionPixelSize(R.dimen.message_bubble_arrow_width);
+ final int messageBubblePadding =
+ getResources().getDimensionPixelOffset(R.dimen.message_bubble_left_right_padding);
// We need to subtract contact icon width twice from the horizontal space to get
// the max leftover space because we want the message bubble to extend no further than the
// starting position of the message bubble in the opposite direction.
final int maxLeftoverSpace = horizontalSpace - mContactIconView.getMeasuredWidth() * 2
- - arrowWidth - getPaddingLeft() - getPaddingRight();
+ - messageBubblePadding - getPaddingLeft() - getPaddingRight();
final int messageContentWidthMeasureSpec = MeasureSpec.makeMeasureSpec(maxLeftoverSpace,
MeasureSpec.AT_MOST);
@@ -170,19 +172,28 @@
private void updateViewContent() {
mMessageTextView.setText(mMessageText);
mStatusTextView.setText(mTimestampText);
+ mStatusTextView.setVisibility(TextUtils.isEmpty(mTimestampText) ? GONE : VISIBLE);
mContactIconView.setText(mIconText);
mContactIconView.setTextColor(mIconTextColor);
- final Drawable iconBase = getContext().getDrawable(R.drawable.conversation_message_icon);
- mContactIconView
- .setBackground(getTintedDrawable(getContext(), iconBase, mIconBackgroundColor));
+ final Drawable iconBackground = getContext().getDrawable(
+ R.drawable.conversation_message_icon);
+ final Drawable icon = getContext().getDrawable(R.drawable.ic_person);
+ final LayerDrawable layerDrawable = new LayerDrawable(
+ new Drawable[]{
+ getTintedDrawable(getContext(), iconBackground, mIconBackgroundColor),
+ getTintedDrawable(getContext(), icon,
+ getContext().getColor(R.color.message_icon_color))});
+ final int iconInset = getResources().getDimensionPixelOffset(R.dimen.message_icon_inset);
+ layerDrawable.setLayerInset(/* index= */ 1, iconInset, iconInset, iconInset, iconInset);
+ mContactIconView.setBackground(layerDrawable);
}
private void updateViewAppearance() {
final Resources res = getResources();
- final int arrowWidth = res.getDimensionPixelOffset(
- R.dimen.message_bubble_arrow_width);
+ final int messageBubbleLeftRightPadding = res.getDimensionPixelOffset(
+ R.dimen.message_bubble_left_right_padding);
final int messageTextLeftRightPadding = res.getDimensionPixelOffset(
R.dimen.message_text_left_right_padding);
final int textTopPadding = res.getDimensionPixelOffset(
@@ -191,14 +202,11 @@
R.dimen.message_text_bottom_padding);
final int textLeftPadding, textRightPadding;
+ textLeftPadding = messageTextLeftRightPadding;
+ textRightPadding = messageTextLeftRightPadding;
- if (mIncoming) {
- textLeftPadding = messageTextLeftRightPadding + arrowWidth;
- textRightPadding = messageTextLeftRightPadding;
- } else {
- textLeftPadding = messageTextLeftRightPadding;
- textRightPadding = messageTextLeftRightPadding + arrowWidth;
- }
+ final int messageBubbleLeftPadding = mIncoming ? messageBubbleLeftRightPadding : 0;
+ final int messageBubbleRightPadding = mIncoming ? 0 : messageBubbleLeftRightPadding;
// These values do not depend on whether the message includes attachments
final int gravity = mIncoming ? (Gravity.START | Gravity.CENTER_VERTICAL) :
@@ -216,7 +224,7 @@
final Context context = getContext();
final Drawable textBackgroundDrawable = getTintedDrawable(context,
- context.getDrawable(bubbleDrawableResId),
+ context.getDrawable(R.drawable.conversation_message_text_info_view_background),
context.getColor(bubbleColorResId));
mMessageTextAndInfoView.setBackground(textBackgroundDrawable);
@@ -234,6 +242,8 @@
// Update the message row and message bubble views
setPadding(getPaddingLeft(), messageTopPadding, getPaddingRight(), 0);
mMessageBubble.setGravity(gravity);
+ mMessageBubble.setPaddingRelative(messageBubbleLeftPadding, /* top= */ 0,
+ messageBubbleRightPadding, /* bottom= */ 0);
updateTextAppearance();
}
diff --git a/src/com/android/settings/nearby/FastPairSettingsFragment.java b/src/com/android/settings/nearby/FastPairSettingsFragment.java
index 434087d..a92833a 100644
--- a/src/com/android/settings/nearby/FastPairSettingsFragment.java
+++ b/src/com/android/settings/nearby/FastPairSettingsFragment.java
@@ -21,7 +21,6 @@
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
-import android.nearby.NearbyManager;
import android.os.Bundle;
import android.provider.Settings;
import android.text.TextUtils;
@@ -55,10 +54,7 @@
MainSwitchPreference mainSwitchPreference = Objects.requireNonNull(
findPreference(SCAN_SWITCH_KEY));
- mainSwitchPreference.addOnSwitchChangeListener(
- (switchView, isChecked) ->
- NearbyManager.setFastPairScanEnabled(getContext(), isChecked));
- mainSwitchPreference.setChecked(NearbyManager.getFastPairScanEnabled(getContext()));
+ mainSwitchPreference.setChecked(false);
Preference savedDevicePref = Objects.requireNonNull(
findPreference(SAVED_DEVICES_PREF_KEY));