Merge "Bump AOSP Dialer version to 2.3" into ub-contactsdialer-a-dev
diff --git a/res/menu/call_details_options.xml b/res/menu/call_details_options.xml
index 84cc2c9..0e9e5c9 100644
--- a/res/menu/call_details_options.xml
+++ b/res/menu/call_details_options.xml
@@ -13,7 +13,8 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/call_details_menu">
<item android:id="@+id/menu_trash"
android:icon="@drawable/ic_delete_24dp"
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index ae1a160..4342695 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -907,11 +907,11 @@
return;
}
- final boolean phoneIsInUse = phoneIsInUse();
- if (phoneIsInUse || (intent.getData() != null && isDialIntent(intent))) {
+ final boolean showDialpadChooser = phoneIsInUse() && !DialpadFragment.isAddCallMode(intent);
+ if (showDialpadChooser || (intent.getData() != null && isDialIntent(intent))) {
showDialpadFragment(false);
mDialpadFragment.setStartedFromNewIntent(true);
- if (phoneIsInUse && !mDialpadFragment.isVisible()) {
+ if (showDialpadChooser && !mDialpadFragment.isVisible()) {
mInCallDialpadUp = true;
}
}
diff --git a/src/com/android/dialer/dialpad/DialpadFragment.java b/src/com/android/dialer/dialpad/DialpadFragment.java
index 01dc892..0bbf802 100644
--- a/src/com/android/dialer/dialpad/DialpadFragment.java
+++ b/src/com/android/dialer/dialpad/DialpadFragment.java
@@ -481,7 +481,10 @@
* @param intent The intent.
* @return {@literal true} if add call operation was requested. {@literal false} otherwise.
*/
- private static boolean isAddCallMode(Intent intent) {
+ public static boolean isAddCallMode(Intent intent) {
+ if (intent == null) {
+ return false;
+ }
final String action = intent.getAction();
if (Intent.ACTION_DIAL.equals(action) || Intent.ACTION_VIEW.equals(action)) {
// see if we are "adding a call" from the InCallScreen; false by default.
diff --git a/tests/src/com/android/dialer/CallDetailActivityTest.java b/tests/src/com/android/dialer/CallDetailActivityTest.java
index c874244..59c2434 100644
--- a/tests/src/com/android/dialer/CallDetailActivityTest.java
+++ b/tests/src/com/android/dialer/CallDetailActivityTest.java
@@ -29,12 +29,12 @@
import android.test.suitebuilder.annotation.LargeTest;
import android.test.suitebuilder.annotation.Suppress;
import android.view.Menu;
+import android.widget.PopupMenu;
import android.widget.TextView;
import com.android.dialer.calllog.CallLogAsyncTaskUtil;
import com.android.dialer.util.AsyncTaskExecutors;
import com.android.dialer.util.FakeAsyncTaskExecutor;
-// import com.android.internal.view.menu.ContextMenuBuilder;
/**
* Unit tests for the {@link CallDetailActivity}. NOTE: The screen needs to be on for the
@@ -86,33 +86,33 @@
* Test for bug where voicemails should not have remove-from-call-log entry.
* <p>
* See http://b/5054103.
+ */
public void testVoicemailDoesNotHaveRemoveFromCallLog() throws Throwable {
setActivityIntentForTestVoicemailEntry();
startActivityUnderTest();
mFakeAsyncTaskExecutor.runTask(GET_CALL_DETAILS);
- Menu menu = new ContextMenuBuilder(mActivityUnderTest);
- mActivityUnderTest.onCreateOptionsMenu(menu);
- mActivityUnderTest.onPrepareOptionsMenu(menu);
- assertFalse(menu.findItem(R.id.menu_remove_from_call_log).isVisible());
- assertTrue(menu.findItem(R.id.menu_trash).isVisible());
+ Menu optionsMenu = (new PopupMenu(mActivityUnderTest, null)).getMenu();
+ mActivityUnderTest.onCreateOptionsMenu(optionsMenu);
+ mActivityUnderTest.onPrepareOptionsMenu(optionsMenu);
+ assertFalse(optionsMenu.findItem(R.id.menu_remove_from_call_log).isVisible());
+ assertTrue(optionsMenu.findItem(R.id.menu_trash).isVisible());
}
- */
/**
* Test to check that I haven't broken the remove-from-call-log entry from regular calls.
+ */
public void testRegularCallDoesHaveRemoveFromCallLog() throws Throwable {
setActivityIntentForTestCallEntry();
startActivityUnderTest();
mFakeAsyncTaskExecutor.runTask(GET_CALL_DETAILS);
- Menu menu = new ContextMenuBuilder(mActivityUnderTest);
- mActivityUnderTest.onCreateOptionsMenu(menu);
- mActivityUnderTest.onPrepareOptionsMenu(menu);
- assertTrue(menu.findItem(R.id.menu_remove_from_call_log).isVisible());
- assertFalse(menu.findItem(R.id.menu_trash).isVisible());
+ Menu optionsMenu = (new PopupMenu(mActivityUnderTest, null)).getMenu();
+ mActivityUnderTest.onCreateOptionsMenu(optionsMenu);
+ mActivityUnderTest.onPrepareOptionsMenu(optionsMenu);
+ assertTrue(optionsMenu.findItem(R.id.menu_remove_from_call_log).isVisible());
+ assertFalse(optionsMenu.findItem(R.id.menu_trash).isVisible());
}
- */
private void setActivityIntentForTestCallEntry() {
assertNull(mVoicemailUri);