Merge changes Ib3ed6636,I10e10124,I84dbef78,I7ba7b0d8,Id00e8e3e
am: b394d18d9f
Change-Id: I574ed8805a1ee5ddc29ff190c83f4bbc5fc6f34f
diff --git a/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java b/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java
index 930edd1..5575cac 100644
--- a/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java
+++ b/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java
@@ -127,6 +127,12 @@
public void onPause() {
voicemailPlaybackPresenter.onPause();
voicemailErrorManager.onPause();
+ // Necessary to reset the speaker when leaving otherwise the platform will still remain in
+ // speaker mode
+ AudioManager audioManager = getContext().getSystemService(AudioManager.class);
+ if (audioManager.isSpeakerphoneOn()) {
+ audioManager.setSpeakerphoneOn(false);
+ }
super.onPause();
}
diff --git a/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java b/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java
index 6d1728f..6fc8d23 100644
--- a/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java
+++ b/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java
@@ -24,6 +24,7 @@
import android.content.Intent;
import android.database.ContentObserver;
import android.database.Cursor;
+import android.media.AudioManager;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.AsyncTask;
@@ -207,6 +208,8 @@
position = savedInstanceState.getInt(CLIP_POSITION_KEY, 0);
isPlaying = savedInstanceState.getBoolean(IS_PLAYING_STATE_KEY, false);
isSpeakerphoneOn = savedInstanceState.getBoolean(IS_SPEAKERPHONE_ON_KEY, false);
+ AudioManager audioManager = activity.getSystemService(AudioManager.class);
+ audioManager.setSpeakerphoneOn(isSpeakerphoneOn);
}
if (mediaPlayer == null) {
diff --git a/java/com/android/dialer/calllog/config/CallLogConfigComponent.java b/java/com/android/dialer/calllog/config/CallLogConfigComponent.java
index c325025..7aaf638 100644
--- a/java/com/android/dialer/calllog/config/CallLogConfigComponent.java
+++ b/java/com/android/dialer/calllog/config/CallLogConfigComponent.java
@@ -17,6 +17,7 @@
import android.content.Context;
import com.android.dialer.inject.HasRootComponent;
+import com.android.dialer.inject.IncludeInDialerRoot;
import dagger.Subcomponent;
/** Dagger component for the call log config. */
@@ -31,6 +32,7 @@
}
/** Used to refer to the root application component. */
+ @IncludeInDialerRoot
public interface HasComponent {
CallLogConfigComponent callLogConfigComponent();
}
diff --git a/java/com/android/dialer/duo/stub/StubDuoModule.java b/java/com/android/dialer/duo/stub/StubDuoModule.java
index 604406a..57c3570 100644
--- a/java/com/android/dialer/duo/stub/StubDuoModule.java
+++ b/java/com/android/dialer/duo/stub/StubDuoModule.java
@@ -17,11 +17,14 @@
package com.android.dialer.duo.stub;
import com.android.dialer.duo.Duo;
+import com.android.dialer.inject.DialerVariant;
+import com.android.dialer.inject.InstallIn;
import dagger.Binds;
import dagger.Module;
import javax.inject.Singleton;
@Module
+@InstallIn(variants = DialerVariant.DIALER_TEST)
public abstract class StubDuoModule {
@Binds
diff --git a/java/com/android/dialer/main/impl/MainSearchController.java b/java/com/android/dialer/main/impl/MainSearchController.java
index 945e8a9..364f5bc 100644
--- a/java/com/android/dialer/main/impl/MainSearchController.java
+++ b/java/com/android/dialer/main/impl/MainSearchController.java
@@ -424,7 +424,10 @@
searchFragment.setQuery(
query.isPresent() ? query.get() : "", CallInitiationType.Type.REGULAR_SEARCH);
- transaction.commit();
+
+ if (activity.isSafeToCommitTransactions()) {
+ transaction.commit();
+ }
notifyListenersOnSearchOpen();
}
diff --git a/java/com/android/dialer/speeddial/loader/SpeedDialUiItemMutator.java b/java/com/android/dialer/speeddial/loader/SpeedDialUiItemMutator.java
index 998793e..72f0a68 100644
--- a/java/com/android/dialer/speeddial/loader/SpeedDialUiItemMutator.java
+++ b/java/com/android/dialer/speeddial/loader/SpeedDialUiItemMutator.java
@@ -16,14 +16,12 @@
package com.android.dialer.speeddial.loader;
-import android.annotation.TargetApi;
import android.content.ContentProviderOperation;
import android.content.ContentValues;
import android.content.Context;
import android.content.OperationApplicationException;
import android.database.Cursor;
import android.net.Uri;
-import android.os.Build.VERSION_CODES;
import android.os.RemoteException;
import android.os.Trace;
import android.provider.ContactsContract;
@@ -40,7 +38,6 @@
import com.android.dialer.common.concurrent.DialerExecutor.SuccessListener;
import com.android.dialer.common.concurrent.DialerFutureSerializer;
import com.android.dialer.common.database.Selection;
-import com.android.dialer.duo.Duo;
import com.android.dialer.duo.DuoComponent;
import com.android.dialer.inject.ApplicationContext;
import com.android.dialer.speeddial.database.SpeedDialEntry;
@@ -72,21 +69,17 @@
* <li>Remove any {@link SpeedDialEntry} that is no longer starred or whose contact was
* deleted.
* <li>Update each {@link SpeedDialEntry} contact id, lookup key and channel.
- * <li>Build a list of {@link SpeedDialUiItem} from {@link Contacts#STREQUENT_PHONE_ONLY}.
- * <li>If any starred contacts in that list aren't in the {@link
- * SpeedDialEntryDatabaseHelper}, insert them now.
+ * <li>Build a list of {@link SpeedDialUiItem} from starred contacts.
+ * <li>If any contacts in that list aren't in the {@link SpeedDialEntryDatabaseHelper}, insert
+ * them now.
* <li>Notify the {@link SuccessListener} of the complete list of {@link SpeedDialUiItem
* SpeedDialContacts} composed from {@link SpeedDialEntry SpeedDialEntries} and
* non-starred {@link Contacts#STREQUENT_PHONE_ONLY}.
* </ol>
*/
-@SuppressWarnings("AndroidApiChecker")
-@TargetApi(VERSION_CODES.N)
@Singleton
public final class SpeedDialUiItemMutator {
- private static final int MAX_DUO_SUGGESTIONS = 3;
-
private final Context appContext;
private final ListeningExecutorService backgroundExecutor;
// Used to ensure that only one refresh flow runs at a time.
@@ -104,8 +97,7 @@
/**
* Returns a {@link ListenableFuture} for a list of {@link SpeedDialUiItem SpeedDialUiItems}. This
- * list is composed of starred contacts from {@link SpeedDialEntryDatabaseHelper} and suggestions
- * from {@link Contacts#STREQUENT_PHONE_ONLY}.
+ * list is composed of starred contacts from {@link SpeedDialEntryDatabaseHelper}.
*/
public ListenableFuture<ImmutableList<SpeedDialUiItem>> loadSpeedDialUiItems() {
return dialerFutureSerializer.submit(this::loadSpeedDialUiItemsInternal, backgroundExecutor);
@@ -117,8 +109,7 @@
* <p>If the item is starred, it's entry will be removed from the SpeedDialEntry database.
* Additionally, if the contact only has one entry in the database, it will be unstarred.
*
- * <p>If the item isn't starred, it's usage data will be deleted but the suggestion can come back
- * if the user calls that contact again.
+ * <p>If the item isn't starred, it's usage data will be deleted.
*
* @return the updated list of SpeedDialUiItems.
*/
@@ -281,27 +272,19 @@
}
Trace.endSection(); // updateOrDeleteEntries
- // Get all Strequent Contacts
- List<SpeedDialUiItem> strequentContacts = getStrequentContacts();
-
- // For each contact, if it isn't starred, add it as a suggestion.
+ // Get all starred contacts
+ List<SpeedDialUiItem> starredContacts = getStarredContacts();
// If it is starred and not already accounted for above, then insert into the SpeedDialEntry DB.
- Trace.beginSection("addSuggestions");
- for (SpeedDialUiItem contact : strequentContacts) {
- if (!contact.isStarred()) {
- // Add this contact as a suggestion
- // TODO(77754534): improve suggestions beyond just first channel
- speedDialUiItems.add(
- contact.toBuilder().setDefaultChannel(contact.channels().get(0)).build());
-
- } else if (speedDialUiItems.stream().noneMatch(c -> c.contactId() == contact.contactId())) {
+ Trace.beginSection("addStarredContact");
+ for (SpeedDialUiItem contact : starredContacts) {
+ if (speedDialUiItems.stream().noneMatch(c -> c.contactId() == contact.contactId())) {
entriesToInsert.add(contact.buildSpeedDialEntry());
// These are our newly starred contacts
speedDialUiItems.add(contact);
}
}
- Trace.endSection(); // addSuggestions
+ Trace.endSection(); // addStarredContact
Trace.beginSection("insertUpdateAndDelete");
ImmutableMap<SpeedDialEntry, Long> insertedEntriesToIdsMap =
@@ -339,7 +322,7 @@
}
// Starred contacts that aren't in the map, should already have speed dial entry ids.
- // Non-starred contacts (suggestions) aren't in the speed dial entry database, so they
+ // Non-starred contacts aren't in the speed dial entry database, so they
// shouldn't have speed dial entry ids.
Assert.checkArgument(
speedDialUiItem.isStarred() == (speedDialUiItem.speedDialEntryId() != null),
@@ -485,23 +468,29 @@
}
@WorkerThread
- private List<SpeedDialUiItem> getStrequentContacts() {
+ private List<SpeedDialUiItem> getStarredContacts() {
Trace.beginSection("getStrequentContacts");
Assert.isWorkerThread();
Set<String> contactIds = new ArraySet<>();
- // Fetch the contact ids of all strequent contacts
+ // Fetch the contact ids of all starred contacts
Uri strequentUri =
Contacts.CONTENT_STREQUENT_URI
.buildUpon()
.appendQueryParameter(ContactsContract.STREQUENT_PHONE_ONLY, "true")
.build();
+ Selection selection = Selection.column(Phone.STARRED).is("=", 1);
try (Cursor cursor =
appContext
.getContentResolver()
- .query(strequentUri, new String[] {Phone.CONTACT_ID}, null, null, null)) {
+ .query(
+ strequentUri,
+ new String[] {Phone.CONTACT_ID},
+ selection.getSelection(),
+ selection.getSelectionArgs(),
+ null)) {
if (cursor == null) {
- LogUtil.e("SpeedDialUiItemMutator.getStrequentContacts", "null cursor");
+ LogUtil.e("SpeedDialUiItemMutator.getStarredContacts", "null cursor");
Trace.endSection();
return new ArrayList<>();
}
@@ -515,8 +504,7 @@
}
// Build SpeedDialUiItems from those contact ids
- Selection selection =
- Selection.builder().and(Selection.column(Phone.CONTACT_ID).in(contactIds)).build();
+ selection = Selection.builder().and(Selection.column(Phone.CONTACT_ID).in(contactIds)).build();
try (Cursor cursor =
appContext
.getContentResolver()
@@ -624,24 +612,10 @@
Context context, ImmutableList<SpeedDialUiItem> speedDialUiItems) {
Assert.isMainThread();
- Duo duo = DuoComponent.get(context).getDuo();
- int maxDuoSuggestions = MAX_DUO_SUGGESTIONS;
-
ImmutableList.Builder<SpeedDialUiItem> newSpeedDialItemList = ImmutableList.builder();
// for each existing item
for (SpeedDialUiItem item : speedDialUiItems) {
- // If the item is a suggestion
- if (!item.isStarred()) {
- // And duo reachable, insert a duo suggestion
- if (maxDuoSuggestions > 0 && duo.isReachable(context, item.defaultChannel().number())) {
- maxDuoSuggestions--;
- Channel defaultChannel =
- item.defaultChannel().toBuilder().setTechnology(Channel.DUO).build();
- newSpeedDialItemList.add(item.toBuilder().setDefaultChannel(defaultChannel).build());
- }
- // Insert the voice suggestion too
- newSpeedDialItemList.add(item);
- } else if (item.defaultChannel() == null) {
+ if (item.defaultChannel() == null) {
// If the contact is starred and doesn't have a default channel, insert duo channels
newSpeedDialItemList.add(insertDuoChannelsToStarredContact(context, item));
} else {
diff --git a/java/com/android/dialer/theme/base/Theme.java b/java/com/android/dialer/theme/base/Theme.java
index 6e0d20a..2a9975b 100644
--- a/java/com/android/dialer/theme/base/Theme.java
+++ b/java/com/android/dialer/theme/base/Theme.java
@@ -17,6 +17,7 @@
package com.android.dialer.theme.base;
import android.content.Context;
+import android.content.res.ColorStateList;
import android.support.annotation.ColorInt;
import android.support.annotation.IntDef;
import android.support.annotation.StyleRes;
@@ -50,6 +51,8 @@
@ColorInt
int getColorIcon();
+ ColorStateList getColorIconStateList();
+
@ColorInt
int getColorIconSecondary();
diff --git a/java/com/android/dialer/theme/base/impl/AospThemeImpl.java b/java/com/android/dialer/theme/base/impl/AospThemeImpl.java
index c8f20c7..35dcef2 100644
--- a/java/com/android/dialer/theme/base/impl/AospThemeImpl.java
+++ b/java/com/android/dialer/theme/base/impl/AospThemeImpl.java
@@ -17,6 +17,7 @@
package com.android.dialer.theme.base.impl;
import android.content.Context;
+import android.content.res.ColorStateList;
import android.content.res.TypedArray;
import android.support.annotation.ColorInt;
import android.support.annotation.StyleRes;
@@ -33,6 +34,7 @@
public class AospThemeImpl implements Theme {
private int colorIcon = -1;
+ private final ColorStateList colorIconStateList;
private int colorIconSecondary = -1;
private int colorPrimary = -1;
private int colorPrimaryDark = -1;
@@ -80,6 +82,7 @@
colorBackground = array.getColor(/* index= */ 7, /* defValue= */ -1);
colorBackgroundFloating = array.getColor(/* index= */ 8, /* defValue= */ -1);
colorIcon = array.getColor(/* index= */ 9, /* defValue= */ -1);
+ colorIconStateList = array.getColorStateList(/* index= */ 9);
colorIconSecondary = array.getColor(/* index= */ 10, /* defValue= */ -1);
colorTextOnUnthemedDarkBackground = array.getColor(/* index= */ 11, /* defValue= */ -1);
colorIconOnUnthemedDarkBackground = array.getColor(/* index= */ 12, /* defValue= */ -1);
@@ -126,6 +129,12 @@
}
@Override
+ public ColorStateList getColorIconStateList() {
+ Assert.checkArgument(colorIconStateList != null);
+ return colorIconStateList;
+ }
+
+ @Override
public @ColorInt int getColorIconSecondary() {
Assert.checkArgument(colorIconSecondary != -1);
return colorIconSecondary;
diff --git a/java/com/android/dialer/theme/base/res/values/theme_dialer_dark.xml b/java/com/android/dialer/theme/base/res/values/theme_dialer_dark.xml
index 4b50340..142bb89 100644
--- a/java/com/android/dialer/theme/base/res/values/theme_dialer_dark.xml
+++ b/java/com/android/dialer/theme/base/res/values/theme_dialer_dark.xml
@@ -56,7 +56,7 @@
<item name="colorControlActivated">?android:attr/colorPrimary</item>
<!-- Dialer specific attributes. -->
- <item name="colorIcon">@color/google_grey_400</item>
+ <item name="colorIcon">?android:attr/textColorSecondary</item>
<item name="colorIconSecondary">?android:attr/textColorSecondary</item>
<item name="colorTextOnUnthemedDarkBackground">@android:color/white</item>
<item name="colorIconOnUnthemedDarkBackground">@android:color/white</item>
diff --git a/java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml b/java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml
index db06df4..e3eefe6 100644
--- a/java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml
+++ b/java/com/android/dialer/theme/base/res/values/theme_dialer_light.xml
@@ -39,7 +39,7 @@
<!-- Activities and Applications should inherit from one of the themes above. -->
<style name="Dialer.ThemeBase">
<!-- These values should be used to color all backgrounds. -->
- <item name="android:colorBackground">@color/dialer_background_color</item>
+ <item name="android:colorBackground">@android:color/white</item>
<item name="android:colorBackgroundFloating">@android:color/white</item>
<!-- These values should be used to set text color. -->
@@ -61,7 +61,7 @@
<item name="colorControlActivated">?android:attr/colorPrimary</item>
<!-- Dialer specific attributes. -->
- <item name="colorIcon">@color/google_grey_700</item>
+ <item name="colorIcon">@color/dialer_icon_color</item>
<item name="colorIconSecondary">@color/google_grey_400</item>
<item name="colorTextOnUnthemedDarkBackground">@android:color/white</item>
<item name="colorIconOnUnthemedDarkBackground">@android:color/white</item>
diff --git a/java/com/android/dialer/theme/common/res/values/colors.xml b/java/com/android/dialer/theme/common/res/values/colors.xml
index 6fea436..770aa8c 100644
--- a/java/com/android/dialer/theme/common/res/values/colors.xml
+++ b/java/com/android/dialer/theme/common/res/values/colors.xml
@@ -17,7 +17,7 @@
<!-- The colors in this file aren't configured at the theme level. -->
<resources>
<color name="dialer_call_green">#34A853</color>
- <color name="dialer_end_call_button_color">#BD2A2A</color>
+ <color name="dialer_end_call_button_color">#D93025</color>
<color name="dialer_divider_line_color">#D8D8D8</color>
<color name="dialer_link_color">#2A56C6</color>
<color name="dialer_snackbar_action_text_color">#4285F4</color>
diff --git a/java/com/android/dialer/theme/hidden/res/color/dialer_dark_primary_text_color.xml b/java/com/android/dialer/theme/hidden/res/color/dialer_dark_primary_text_color.xml
index 703e40b..f14537c 100644
--- a/java/com/android/dialer/theme/hidden/res/color/dialer_dark_primary_text_color.xml
+++ b/java/com/android/dialer/theme/hidden/res/color/dialer_dark_primary_text_color.xml
@@ -17,5 +17,5 @@
<!-- Primary text color in the Phone app -->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:color="@color/google_grey_700"/>
- <item android:color="@color/google_grey_400"/>
+ <item android:color="@color/google_grey_100"/>
</selector>
diff --git a/java/com/android/dialer/theme/hidden/res/color/dialer_dark_secondary_text_color.xml b/java/com/android/dialer/theme/hidden/res/color/dialer_dark_secondary_text_color.xml
index 486669f..b94388a 100644
--- a/java/com/android/dialer/theme/hidden/res/color/dialer_dark_secondary_text_color.xml
+++ b/java/com/android/dialer/theme/hidden/res/color/dialer_dark_secondary_text_color.xml
@@ -17,5 +17,5 @@
<!-- Secondary text color in the Phone app -->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:color="@color/google_grey_700"/>
- <item android:color="@color/google_grey_300"/>
+ <item android:color="@color/google_grey_400"/>
</selector>
diff --git a/java/com/android/dialer/theme/hidden/res/color/dialer_icon_color.xml b/java/com/android/dialer/theme/hidden/res/color/dialer_icon_color.xml
new file mode 100644
index 0000000..594f829
--- /dev/null
+++ b/java/com/android/dialer/theme/hidden/res/color/dialer_icon_color.xml
@@ -0,0 +1,22 @@
+<?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
+ -->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:color="@android:color/white" android:state_checked="true"/>
+ <item android:color="@color/google_grey_400" android:state_enabled="false"/>
+ <item android:color="@color/google_grey_700"/>
+</selector>
diff --git a/java/com/android/dialer/theme/hidden/res/values/colors_dialer_light.xml b/java/com/android/dialer/theme/hidden/res/values/colors_dialer_light.xml
index 988aad7..0ed8e75 100644
--- a/java/com/android/dialer/theme/hidden/res/values/colors_dialer_light.xml
+++ b/java/com/android/dialer/theme/hidden/res/values/colors_dialer_light.xml
@@ -19,5 +19,4 @@
<color name="dialer_theme_color_20pct">#332A56C6</color>
<color name="dialer_theme_color_dark">#1C3AA9</color>
<color name="dialer_secondary_color">#F50057</color>
- <color name="dialer_background_color">#FAFAFA</color>
</resources>
diff --git a/java/com/android/dialer/theme/hidden/res/values/styles.xml b/java/com/android/dialer/theme/hidden/res/values/styles.xml
index 44a35f8..4543848 100644
--- a/java/com/android/dialer/theme/hidden/res/values/styles.xml
+++ b/java/com/android/dialer/theme/hidden/res/values/styles.xml
@@ -51,7 +51,6 @@
<!-- Used to style all Dialer's AlertDialogs. Every button is awarded this for free if the parent
activity's theme extends from Dialer.ThemeBase(.NoActionBar) or doesn't specify a theme. -->
<style name="AlertDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
- <item name="android:textColorPrimary">@color/dialer_primary_text_color</item>
<!-- TODO(a bug): figure out why ?android:attr/colorPrimary doesn't work here -->
<item name="android:colorAccent">@color/dialer_theme_color</item>
<item name="colorAccent">@color/dialer_theme_color</item>
diff --git a/java/com/android/incallui/CallButtonPresenter.java b/java/com/android/incallui/CallButtonPresenter.java
index a8b060d..274071a 100644
--- a/java/com/android/incallui/CallButtonPresenter.java
+++ b/java/com/android/incallui/CallButtonPresenter.java
@@ -429,11 +429,6 @@
return;
}
- if (call != null) {
- inCallButtonUi.updateInCallButtonUiColors(
- InCallPresenter.getInstance().getThemeColorManager().getSecondaryColor());
- }
-
final boolean isEnabled =
state.isConnectingOrConnected() && !state.isIncoming() && call != null;
inCallButtonUi.setEnabled(isEnabled);
diff --git a/java/com/android/incallui/commontheme/res/drawable/answer_answer_background.xml b/java/com/android/incallui/commontheme/res/drawable/answer_answer_background.xml
index 090506a..bd5d5d3 100644
--- a/java/com/android/incallui/commontheme/res/drawable/answer_answer_background.xml
+++ b/java/com/android/incallui/commontheme/res/drawable/answer_answer_background.xml
@@ -1,10 +1,25 @@
<?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
+ -->
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="#80FFFFFF">
<item>
<shape
android:shape="oval">
- <solid android:color="#09ad00"/>
+ <solid android:color="@color/dialer_call_green"/>
</shape>
</item>
</ripple>
diff --git a/java/com/android/incallui/commontheme/res/drawable/answer_decline_background.xml b/java/com/android/incallui/commontheme/res/drawable/answer_decline_background.xml
index abfd56e..8854de6 100644
--- a/java/com/android/incallui/commontheme/res/drawable/answer_decline_background.xml
+++ b/java/com/android/incallui/commontheme/res/drawable/answer_decline_background.xml
@@ -1,10 +1,25 @@
<?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
+ -->
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="#80FFFFFF">
<item>
<shape
android:shape="oval">
- <solid android:color="#DF0000"/>
+ <solid android:color="@color/dialer_end_call_button_color"/>
</shape>
</item>
</ripple>
diff --git a/java/com/android/incallui/commontheme/res/drawable/incall_end_call_background.xml b/java/com/android/incallui/commontheme/res/drawable/incall_end_call_background.xml
index 3c9f4bc..8854de6 100644
--- a/java/com/android/incallui/commontheme/res/drawable/incall_end_call_background.xml
+++ b/java/com/android/incallui/commontheme/res/drawable/incall_end_call_background.xml
@@ -1,10 +1,25 @@
<?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
+ -->
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="#80FFFFFF">
<item>
<shape
android:shape="oval">
- <solid android:color="#FFDF0000"/>
+ <solid android:color="@color/dialer_end_call_button_color"/>
</shape>
</item>
</ripple>
diff --git a/java/com/android/incallui/commontheme/res/values/styles.xml b/java/com/android/incallui/commontheme/res/values/styles.xml
index f2ec2cc..0c4c092 100644
--- a/java/com/android/incallui/commontheme/res/values/styles.xml
+++ b/java/com/android/incallui/commontheme/res/values/styles.xml
@@ -26,7 +26,7 @@
</style>
<style name="Dialer.Incall.TextAppearance.Label">
- <item name="android:textColor">?android:attr/textColorPrimary</item>
+ <item name="android:textColor">?android:attr/textColorSecondary</item>
<item name="android:textSize">12sp</item>
</style>
diff --git a/java/com/android/incallui/incall/impl/CheckableLabeledButton.java b/java/com/android/incallui/incall/impl/CheckableLabeledButton.java
index bfc2781..4e8fa82 100644
--- a/java/com/android/incallui/incall/impl/CheckableLabeledButton.java
+++ b/java/com/android/incallui/incall/impl/CheckableLabeledButton.java
@@ -18,14 +18,11 @@
import android.animation.AnimatorInflater;
import android.content.Context;
-import android.content.res.ColorStateList;
import android.content.res.TypedArray;
-import android.graphics.Color;
import android.graphics.PorterDuff.Mode;
import android.graphics.drawable.Drawable;
import android.os.Parcel;
import android.os.Parcelable;
-import android.support.annotation.ColorInt;
import android.support.annotation.DrawableRes;
import android.support.annotation.StringRes;
import android.text.TextUtils.TruncateAt;
@@ -36,6 +33,7 @@
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
+import com.android.dialer.theme.base.ThemeComponent;
/** A button to show on the incall screen */
public class CheckableLabeledButton extends LinearLayout implements Checkable {
@@ -94,8 +92,7 @@
iconView.setPadding(iconPadding, iconPadding, iconPadding, iconPadding);
iconView.setImageDrawable(icon);
iconView.setImageTintMode(Mode.SRC_IN);
- iconView.setImageTintList(
- getResources().getColorStateList(R.color.incall_button_icon, context.getTheme()));
+ iconView.setImageTintList(ThemeComponent.get(context).theme().getColorIconStateList());
iconView.setBackground(
getResources().getDrawable(R.drawable.incall_button_background, context.getTheme()));
@@ -134,13 +131,6 @@
labelView.setAlpha(isEnabled() ? 1f : DISABLED_STATE_OPACITY);
}
- public void setCheckedColor(@ColorInt int color) {
- iconView.setImageTintList(
- new ColorStateList(
- new int[][] {new int[] {android.R.attr.state_checked}, new int[] {}},
- new int[] {color, Color.WHITE}));
- }
-
public Drawable getIconDrawable() {
return iconView.getDrawable();
}
diff --git a/java/com/android/incallui/incall/impl/InCallButtonGridFragment.java b/java/com/android/incallui/incall/impl/InCallButtonGridFragment.java
index a0eead1..db0b5b9 100644
--- a/java/com/android/incallui/incall/impl/InCallButtonGridFragment.java
+++ b/java/com/android/incallui/incall/impl/InCallButtonGridFragment.java
@@ -17,7 +17,6 @@
package com.android.incallui.incall.impl;
import android.os.Bundle;
-import android.support.annotation.ColorInt;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.util.ArraySet;
@@ -128,12 +127,6 @@
return numVisibleButtons;
}
- public void updateButtonColor(@ColorInt int color) {
- for (CheckableLabeledButton button : buttons) {
- button.setCheckedColor(color);
- }
- }
-
/** Interface to let the listener know the status of the button grid. */
public interface OnButtonGridCreatedListener {
void onButtonGridCreated(InCallButtonGridFragment inCallButtonGridFragment);
diff --git a/java/com/android/incallui/incall/impl/InCallFragment.java b/java/com/android/incallui/incall/impl/InCallFragment.java
index 7f20b40..6e57058 100644
--- a/java/com/android/incallui/incall/impl/InCallFragment.java
+++ b/java/com/android/incallui/incall/impl/InCallFragment.java
@@ -23,7 +23,6 @@
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.Handler;
-import android.support.annotation.ColorInt;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
@@ -496,11 +495,6 @@
}
@Override
- public void updateInCallButtonUiColors(@ColorInt int color) {
- inCallButtonGridFragment.updateButtonColor(color);
- }
-
- @Override
public Fragment getInCallButtonUiFragment() {
return this;
}
diff --git a/java/com/android/incallui/incall/impl/res/color/incall_button_icon.xml b/java/com/android/incallui/incall/impl/res/color/incall_button_icon.xml
index 000525f..292d91f9 100644
--- a/java/com/android/incallui/incall/impl/res/color/incall_button_icon.xml
+++ b/java/com/android/incallui/incall/impl/res/color/incall_button_icon.xml
@@ -16,6 +16,6 @@
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:color="?android:attr/colorPrimaryDark" android:state_checked="true"/>
- <item android:color="?android:attr/textColorPrimary"/>
+ <item android:color="?android:attr/colorBackground" android:state_checked="true"/>
+ <item android:color="?colorIcon"/>
</selector>
diff --git a/java/com/android/incallui/incall/impl/res/drawable/incall_button_background_checked.xml b/java/com/android/incallui/incall/impl/res/drawable/incall_button_background_checked.xml
index 73c6947..0d8732b 100644
--- a/java/com/android/incallui/incall/impl/res/drawable/incall_button_background_checked.xml
+++ b/java/com/android/incallui/incall/impl/res/drawable/incall_button_background_checked.xml
@@ -1,5 +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="oval">
- <solid android:color="@color/incall_button_white"/>
+ <solid android:color="?android:attr/textColorSecondary"/>
</shape>
diff --git a/java/com/android/incallui/incall/impl/res/layout/frag_incall_voice.xml b/java/com/android/incallui/incall/impl/res/layout/frag_incall_voice.xml
index 9cc599d..d200547 100644
--- a/java/com/android/incallui/incall/impl/res/layout/frag_incall_voice.xml
+++ b/java/com/android/incallui/incall/impl/res/layout/frag_incall_voice.xml
@@ -41,8 +41,7 @@
android:id="@id/contactgrid_avatar"
android:layout_width="@dimen/incall_avatar_size"
android:layout_height="@dimen/incall_avatar_size"
- android:layout_marginBottom="8dp"
- android:elevation="2dp"/>
+ android:layout_marginBottom="8dp"/>
<include
layout="@layout/incall_contactgrid_top_row"
diff --git a/java/com/android/incallui/incall/protocol/InCallButtonUi.java b/java/com/android/incallui/incall/protocol/InCallButtonUi.java
index 28dd84c..17d50bf 100644
--- a/java/com/android/incallui/incall/protocol/InCallButtonUi.java
+++ b/java/com/android/incallui/incall/protocol/InCallButtonUi.java
@@ -16,7 +16,6 @@
package com.android.incallui.incall.protocol;
-import android.support.annotation.ColorInt;
import android.support.v4.app.Fragment;
import android.telecom.CallAudioState;
@@ -43,8 +42,6 @@
*/
void updateButtonStates();
- void updateInCallButtonUiColors(@ColorInt int color);
-
Fragment getInCallButtonUiFragment();
void showAudioRouteSelector();
diff --git a/java/com/android/incallui/rtt/impl/RttChatFragment.java b/java/com/android/incallui/rtt/impl/RttChatFragment.java
index e61ce3e..36235df 100644
--- a/java/com/android/incallui/rtt/impl/RttChatFragment.java
+++ b/java/com/android/incallui/rtt/impl/RttChatFragment.java
@@ -569,9 +569,6 @@
public void updateButtonStates() {}
@Override
- public void updateInCallButtonUiColors(int color) {}
-
- @Override
public Fragment getInCallButtonUiFragment() {
return this;
}
diff --git a/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java b/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java
index f270eda..994363a 100644
--- a/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java
+++ b/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java
@@ -22,7 +22,6 @@
import android.graphics.Point;
import android.graphics.drawable.Animatable;
import android.os.Bundle;
-import android.support.annotation.ColorInt;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
@@ -805,9 +804,6 @@
}
@Override
- public void updateInCallButtonUiColors(@ColorInt int color) {}
-
- @Override
public Fragment getInCallButtonUiFragment() {
return this;
}
diff --git a/java/com/android/incallui/video/impl/VideoCallFragment.java b/java/com/android/incallui/video/impl/VideoCallFragment.java
index 11b80ce..82226f3 100644
--- a/java/com/android/incallui/video/impl/VideoCallFragment.java
+++ b/java/com/android/incallui/video/impl/VideoCallFragment.java
@@ -30,7 +30,6 @@
import android.renderscript.Element;
import android.renderscript.RenderScript;
import android.renderscript.ScriptIntrinsicBlur;
-import android.support.annotation.ColorInt;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
@@ -872,9 +871,6 @@
}
@Override
- public void updateInCallButtonUiColors(@ColorInt int color) {}
-
- @Override
public Fragment getInCallButtonUiFragment() {
return this;
}