diff options
author | calderwoodra <calderwoodra@google.com> | 2018-02-24 11:37:28 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-02-24 11:38:19 -0800 |
commit | 35ecd12f1617f36d8d22fecdabf9c63cbf92599d (patch) | |
tree | 716006ff47663e8741ab609b4cfc153df8348183 | |
parent | a39e732c6326f6265a213024bbb6899aea04f10a (diff) |
Cancel Old SpeedDial contact loaders when they are reset.
This prevents to many loaders running at the same time and crashing the
application for using too many threads at once.
Also made a few UI changes:
- Change Android nav bar color to #FFF
- Move badges down 2dp
- Limit badges to 9+ (instead of 99+, added flag to configure this)
- search bar no longer has rounded corners when expanded
Bug: 72525324
Test: MainActivityOldPeerTest
PiperOrigin-RevId: 186894920
Change-Id: I36fc5d8794440b707184d54de427db5910ec5b8e
-rw-r--r-- | java/com/android/dialer/app/list/PhoneFavoriteTileView.java | 19 | ||||
-rw-r--r-- | java/com/android/dialer/main/impl/bottomnav/BottomNavItem.java | 13 | ||||
-rw-r--r-- | java/com/android/dialer/main/impl/bottomnav/res/layout/bottom_nav_item.xml | 2 | ||||
-rw-r--r-- | java/com/android/dialer/main/impl/bottomnav/res/values/strings.xml | 6 | ||||
-rw-r--r-- | java/com/android/dialer/main/impl/res/values-v27/styles.xml | 2 | ||||
-rw-r--r-- | java/com/android/dialer/main/impl/toolbar/SearchBarView.java | 2 | ||||
-rw-r--r-- | java/com/android/dialer/main/impl/toolbar/res/drawable/search_bar_background.xml | 20 | ||||
-rw-r--r-- | java/com/android/dialer/main/impl/toolbar/res/drawable/search_bar_background_rounded_corners.xml (renamed from java/com/android/dialer/main/impl/toolbar/res/drawable/rounded_corner.xml) | 0 | ||||
-rw-r--r-- | java/com/android/dialer/main/impl/toolbar/res/layout/toolbar_layout.xml | 2 |
9 files changed, 50 insertions, 16 deletions
diff --git a/java/com/android/dialer/app/list/PhoneFavoriteTileView.java b/java/com/android/dialer/app/list/PhoneFavoriteTileView.java index 3b27d3118..3739588ea 100644 --- a/java/com/android/dialer/app/list/PhoneFavoriteTileView.java +++ b/java/com/android/dialer/app/list/PhoneFavoriteTileView.java @@ -32,7 +32,6 @@ import com.android.dialer.app.R; import com.android.dialer.callintent.CallInitiationType; import com.android.dialer.callintent.CallSpecificAppData; import com.android.dialer.callintent.SpeedDialContactType; -import com.android.dialer.common.LogUtil; import com.android.dialer.contactphoto.ContactPhotoManager.DefaultImageRequest; import com.android.dialer.lettertile.LetterTileDrawable; import com.android.dialer.logging.InteractionEvent; @@ -192,21 +191,17 @@ public abstract class PhoneFavoriteTileView extends ContactTileView { this.position = position; } + private ContactLoader loader; + /** * Send a notification using a {@link ContactLoader} to inform the sync adapter that we are * viewing a particular contact, so that it can download the high-res photo. */ - private static void sendViewNotification(Context context, Uri contactUri) { - ContactLoader loader = new ContactLoader(context, contactUri, true /* postViewNotification */); - loader.registerListener( - 0, - (loader1, contact) -> { - try { - loader1.reset(); - } catch (RuntimeException e) { - LogUtil.e("PhoneFavoriteTileView.onLoadComplete", "error resetting loader", e); - } - }); + private void sendViewNotification(Context context, Uri contactUri) { + if (loader != null) { + loader.cancelLoad(); + } + loader = new ContactLoader(context, contactUri, true /* postViewNotification */); loader.startLoading(); } } diff --git a/java/com/android/dialer/main/impl/bottomnav/BottomNavItem.java b/java/com/android/dialer/main/impl/bottomnav/BottomNavItem.java index 2c1b4f5d7..2519d23cb 100644 --- a/java/com/android/dialer/main/impl/bottomnav/BottomNavItem.java +++ b/java/com/android/dialer/main/impl/bottomnav/BottomNavItem.java @@ -29,6 +29,7 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.android.dialer.common.Assert; +import com.android.dialer.configprovider.ConfigProviderBindings; /** Navigation item in a bottom nav. */ final class BottomNavItem extends LinearLayout { @@ -68,7 +69,17 @@ final class BottomNavItem extends LinearLayout { if (count == 0) { notificationBadge.setVisibility(View.INVISIBLE); } else { - String countString = count > 99 ? "99+" : String.format(Integer.toString(count)); + String countString = String.format(Integer.toString(count)); + + boolean use99PlusCount = + ConfigProviderBindings.get(getContext()).getBoolean("use_99_plus", false); + boolean use9Plus = !use99PlusCount; + + if (use99PlusCount && count > 99) { + countString = getContext().getString(R.string.bottom_nav_count_99_plus); + } else if (use9Plus && count > 9) { + countString = getContext().getString(R.string.bottom_nav_count_9_plus); + } notificationBadge.setVisibility(View.VISIBLE); notificationBadge.setText(countString); diff --git a/java/com/android/dialer/main/impl/bottomnav/res/layout/bottom_nav_item.xml b/java/com/android/dialer/main/impl/bottomnav/res/layout/bottom_nav_item.xml index 5dddd3de5..d319b2ed9 100644 --- a/java/com/android/dialer/main/impl/bottomnav/res/layout/bottom_nav_item.xml +++ b/java/com/android/dialer/main/impl/bottomnav/res/layout/bottom_nav_item.xml @@ -32,7 +32,7 @@ android:id="@+id/bottom_nav_item_image" android:layout_width="24dp" android:layout_height="24dp" - android:layout_marginTop="7dp"/> + android:layout_marginTop="4dp"/> <TextView android:id="@+id/notification_badge" diff --git a/java/com/android/dialer/main/impl/bottomnav/res/values/strings.xml b/java/com/android/dialer/main/impl/bottomnav/res/values/strings.xml index ca5db1f49..6d3886959 100644 --- a/java/com/android/dialer/main/impl/bottomnav/res/values/strings.xml +++ b/java/com/android/dialer/main/impl/bottomnav/res/values/strings.xml @@ -23,4 +23,10 @@ <string name="tab_title_voicemail">Voicemail</string> <!-- Tab text to show users their contacts [CHAR LIMIT=10] --> <string name="tab_title_contacts">Contacts</string> + + <!-- Notification badge indicating that there are more than 9 notifications for the user [CHAR LIMIT=3] --> + <string name="bottom_nav_count_9_plus">9+</string> + + <!-- Notification badge indicating that there are more than 9 notifications for the user [CHAR LIMIT=3] --> + <string name="bottom_nav_count_99_plus">99+</string> </resources>
\ No newline at end of file diff --git a/java/com/android/dialer/main/impl/res/values-v27/styles.xml b/java/com/android/dialer/main/impl/res/values-v27/styles.xml index c91cba245..86e6f28a6 100644 --- a/java/com/android/dialer/main/impl/res/values-v27/styles.xml +++ b/java/com/android/dialer/main/impl/res/values-v27/styles.xml @@ -20,7 +20,7 @@ <style name="NuiActivityTheme" parent="NuiActivityThemeBase"> <!-- Used to change the navigation bar color --> <item name="android:windowLightNavigationBar">true</item> - <item name="android:navigationBarColor">?android:windowBackground</item> + <item name="android:navigationBarColor">@color/background_dialer_white</item> <item name="android:navigationBarDividerColor">#E0E0E0</item> </style> </resources>
\ No newline at end of file diff --git a/java/com/android/dialer/main/impl/toolbar/SearchBarView.java b/java/com/android/dialer/main/impl/toolbar/SearchBarView.java index 37ffb9778..78cabf733 100644 --- a/java/com/android/dialer/main/impl/toolbar/SearchBarView.java +++ b/java/com/android/dialer/main/impl/toolbar/SearchBarView.java @@ -133,6 +133,7 @@ final class SearchBarView extends FrameLayout { searchBox.setText(text.get()); } searchBox.requestFocus(); + setBackgroundResource(R.drawable.search_bar_background); } }); animator.start(); @@ -164,6 +165,7 @@ final class SearchBarView extends FrameLayout { super.onAnimationEnd(animation); searchBox.setText(""); searchBoxExpanded.setVisibility(INVISIBLE); + setBackgroundResource(R.drawable.search_bar_background_rounded_corners); } }); animator.start(); diff --git a/java/com/android/dialer/main/impl/toolbar/res/drawable/search_bar_background.xml b/java/com/android/dialer/main/impl/toolbar/res/drawable/search_bar_background.xml new file mode 100644 index 000000000..8767057a5 --- /dev/null +++ b/java/com/android/dialer/main/impl/toolbar/res/drawable/search_bar_background.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2018 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="@color/background_dialer_white"/> +</shape> diff --git a/java/com/android/dialer/main/impl/toolbar/res/drawable/rounded_corner.xml b/java/com/android/dialer/main/impl/toolbar/res/drawable/search_bar_background_rounded_corners.xml index 58cdabe8b..58cdabe8b 100644 --- a/java/com/android/dialer/main/impl/toolbar/res/drawable/rounded_corner.xml +++ b/java/com/android/dialer/main/impl/toolbar/res/drawable/search_bar_background_rounded_corners.xml diff --git a/java/com/android/dialer/main/impl/toolbar/res/layout/toolbar_layout.xml b/java/com/android/dialer/main/impl/toolbar/res/layout/toolbar_layout.xml index 378b20f47..3ab20c1cf 100644 --- a/java/com/android/dialer/main/impl/toolbar/res/layout/toolbar_layout.xml +++ b/java/com/android/dialer/main/impl/toolbar/res/layout/toolbar_layout.xml @@ -28,7 +28,7 @@ android:layout_height="wrap_content" android:layout_margin="@dimen/search_bar_margin" android:minHeight="@dimen/collapsed_search_bar_height" - android:background="@drawable/rounded_corner" + android:background="@drawable/search_bar_background_rounded_corners" android:elevation="4dp"> <RelativeLayout |