summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2018-01-23 20:03:28 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-01-23 20:03:28 +0000
commit602563008ae1c0acc873fd183ce298e199949677 (patch)
tree4c8800807d19285806ab0bad55c8b788f1691e25
parent5feae4d9f7b3685be38b48c1806ceb03c6b2273c (diff)
parentbf7e8854806ce55c7fd298940fca52d013a02e89 (diff)
Merge changes I71e70d6f,I40955c6e,I70ed303b
* changes: Bubble change when display size change. Update Assisted Dialing references. Pressing back button twice really quickly no longer crashes dialer.
-rw-r--r--java/com/android/dialer/assisteddialing/ConcreteCreator.java4
-rw-r--r--java/com/android/dialer/compat/telephony/TelephonyManagerCompat.java7
-rw-r--r--java/com/android/dialer/main/impl/toolbar/SearchBarView.java4
-rw-r--r--java/com/android/incallui/call/DialerCall.java18
-rw-r--r--java/com/android/newbubble/NewBubble.java23
-rw-r--r--java/com/android/newbubble/res/drawable/bubble_shape_circle.xml13
6 files changed, 56 insertions, 13 deletions
diff --git a/java/com/android/dialer/assisteddialing/ConcreteCreator.java b/java/com/android/dialer/assisteddialing/ConcreteCreator.java
index a3c96dbdc..c1ffbd396 100644
--- a/java/com/android/dialer/assisteddialing/ConcreteCreator.java
+++ b/java/com/android/dialer/assisteddialing/ConcreteCreator.java
@@ -23,6 +23,7 @@ import android.os.Build.VERSION_CODES;
import android.preference.PreferenceManager;
import android.support.annotation.NonNull;
import android.support.annotation.VisibleForTesting;
+import android.support.v4.os.BuildCompat;
import android.support.v4.os.UserManagerCompat;
import android.telephony.TelephonyManager;
import com.android.dialer.common.LogUtil;
@@ -102,7 +103,8 @@ public final class ConcreteCreator {
}
return (Build.VERSION.SDK_INT >= BUILD_CODE_FLOOR
- && Build.VERSION.SDK_INT <= BUILD_CODE_CEILING)
+ && Build.VERSION.SDK_INT <= BUILD_CODE_CEILING
+ && !BuildCompat.isAtLeastP())
&& configProvider.getBoolean("assisted_dialing_enabled", false);
}
diff --git a/java/com/android/dialer/compat/telephony/TelephonyManagerCompat.java b/java/com/android/dialer/compat/telephony/TelephonyManagerCompat.java
index 92e256998..86f344f4e 100644
--- a/java/com/android/dialer/compat/telephony/TelephonyManagerCompat.java
+++ b/java/com/android/dialer/compat/telephony/TelephonyManagerCompat.java
@@ -65,8 +65,11 @@ public class TelephonyManagerCompat {
public static final String ASSISTED_DIALING_EXTRAS =
"android.telecom.extra.ASSISTED_DIALING_EXTRAS";
+ public static final String EXTRA_ASSISTED_DIALING_TRANSFORMATION_INFO =
+ "android.telecom.extra.ASSISTED_DIALING_TRANSFORMATION_INFO";
+
/** Indicates the Connection/Call used assisted dialing. */
- public static final int PROPERTY_ASSISTED_DIALING_USED = 0x00000200;
+ public static final int PROPERTY_ASSISTED_DIALING_USED = 1 << 9;
public static final String EXTRA_IS_REFRESH =
BuildCompat.isAtLeastOMR1() ? "android.telephony.extra.IS_REFRESH" : "is_refresh";
@@ -75,7 +78,7 @@ public class TelephonyManagerCompat {
* Indicates the call underwent Assisted Dialing; typically set as a feature available from the
* CallLog.
*/
- public static final Integer FEATURES_ASSISTED_DIALING = 0x10;
+ public static final Integer FEATURES_ASSISTED_DIALING = 1 << 4;
/**
* Returns the number of phones available. Returns 1 for Single standby mode (Single SIM
diff --git a/java/com/android/dialer/main/impl/toolbar/SearchBarView.java b/java/com/android/dialer/main/impl/toolbar/SearchBarView.java
index c84b8fc72..95929383b 100644
--- a/java/com/android/dialer/main/impl/toolbar/SearchBarView.java
+++ b/java/com/android/dialer/main/impl/toolbar/SearchBarView.java
@@ -82,6 +82,10 @@ final class SearchBarView extends FrameLayout {
}
private void onSearchBackButtonClicked() {
+ if (!isExpanded) {
+ return;
+ }
+
listener.onSearchBackButtonClicked();
collapse(true);
}
diff --git a/java/com/android/incallui/call/DialerCall.java b/java/com/android/incallui/call/DialerCall.java
index 27243225b..a30367f7f 100644
--- a/java/com/android/incallui/call/DialerCall.java
+++ b/java/com/android/incallui/call/DialerCall.java
@@ -1114,7 +1114,7 @@ public class DialerCall implements VideoTechListener, StateChangedListener, Capa
// perform assisted dialing. PROPERTY_ASSISTED_DIALING_USED indicates assisted dialing took
// place.
if (hasProperty(TelephonyManagerCompat.PROPERTY_ASSISTED_DIALING_USED)
- && Build.VERSION.SDK_INT > ConcreteCreator.BUILD_CODE_CEILING) {
+ && BuildCompat.isAtLeastP()) {
return true;
}
return false;
@@ -1126,10 +1126,26 @@ public class DialerCall implements VideoTechListener, StateChangedListener, Capa
return null;
}
+ if (BuildCompat.isAtLeastP()) {
+ if (getExtras() == null) {
+ return null;
+ }
+
+ if (getExtras()
+ .getParcelable(TelephonyManagerCompat.EXTRA_ASSISTED_DIALING_TRANSFORMATION_INFO)
+ == null) {
+ return null;
+ }
+
+ // TODO(erfanian): Use the framework transformation info when we can link against it
+ return null;
+ }
+
if (getIntentExtras().getBundle(TelephonyManagerCompat.ASSISTED_DIALING_EXTRAS) == null) {
return null;
}
+ // Used in N-OMR1
return TransformationInfo.newInstanceFromBundle(
getIntentExtras().getBundle(TelephonyManagerCompat.ASSISTED_DIALING_EXTRAS));
}
diff --git a/java/com/android/newbubble/NewBubble.java b/java/com/android/newbubble/NewBubble.java
index c0f93e29e..8b188ba33 100644
--- a/java/com/android/newbubble/NewBubble.java
+++ b/java/com/android/newbubble/NewBubble.java
@@ -25,6 +25,7 @@ import android.annotation.SuppressLint;
import android.app.PendingIntent.CanceledException;
import android.content.Context;
import android.content.Intent;
+import android.graphics.Outline;
import android.graphics.PixelFormat;
import android.graphics.Rect;
import android.graphics.drawable.Animatable;
@@ -46,6 +47,7 @@ import android.view.MotionEvent;
import android.view.View;
import android.view.View.AccessibilityDelegate;
import android.view.ViewGroup;
+import android.view.ViewOutlineProvider;
import android.view.ViewTreeObserver.OnPreDrawListener;
import android.view.WindowManager;
import android.view.WindowManager.LayoutParams;
@@ -112,7 +114,7 @@ public class NewBubble {
@VisibleForTesting AnimatorSet exitAnimatorSet;
@VisibleForTesting AnimatorSet enterAnimatorSet;
- private final int primaryIconMoveDistance;
+ private int primaryIconMoveDistance;
private final int leftBoundary;
private int savedYPosition = -1;
@@ -663,6 +665,22 @@ public class NewBubble {
}
private void update() {
+ // The value may change on display size changed.
+ primaryIconMoveDistance =
+ context.getResources().getDimensionPixelSize(R.dimen.bubble_size)
+ - context.getResources().getDimensionPixelSize(R.dimen.bubble_small_icon_size);
+ // Set boundary for primary button to show elevation (background is transparent)
+ viewHolder
+ .getPrimaryButton()
+ .setOutlineProvider(
+ new ViewOutlineProvider() {
+ @Override
+ public void getOutline(View view, Outline outline) {
+ ViewOutlineProvider.BACKGROUND.getOutline(view, outline);
+ outline.setAlpha(1);
+ }
+ });
+
// Small icon
Drawable smallIconBackgroundCircle =
context
@@ -914,9 +932,10 @@ public class NewBubble {
startCollapse(CollapseEnd.NOTHING, false /* shouldRecoverYPosition */);
}
// The values in the current MoveHandler may be stale, so replace it. Then ensure the
- // Window is in bounds
+ // Window is in bounds, and redraw the changes
moveHandler = new NewMoveHandler(primaryButton, NewBubble.this);
moveHandler.snapToBounds();
+ replaceViewHolder();
});
root.setOnTouchListener(
(v, event) -> {
diff --git a/java/com/android/newbubble/res/drawable/bubble_shape_circle.xml b/java/com/android/newbubble/res/drawable/bubble_shape_circle.xml
index af9d8589b..b188e9d3f 100644
--- a/java/com/android/newbubble/res/drawable/bubble_shape_circle.xml
+++ b/java/com/android/newbubble/res/drawable/bubble_shape_circle.xml
@@ -15,11 +15,10 @@
~ limitations under the License
-->
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
- <corners
- android:bottomRightRadius="@dimen/bubble_size"
- android:topRightRadius="@dimen/bubble_size"
- android:bottomLeftRadius="@dimen/bubble_size"
- android:topLeftRadius="@dimen/bubble_size"/>
- <solid android:color="@android:color/white"/>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="oval">
+ <size
+ android:width="@dimen/bubble_size"
+ android:height="@dimen/bubble_size"/>
+ <solid android:color="@android:color/transparent"/>
</shape>