Merge "dismiss obsolete dialogues" into atel.lnx.2.0-dev
diff --git a/src/com/android/dialer/CallDetailActivity.java b/src/com/android/dialer/CallDetailActivity.java
index 94c2f00..db4abe7 100644
--- a/src/com/android/dialer/CallDetailActivity.java
+++ b/src/com/android/dialer/CallDetailActivity.java
@@ -283,10 +283,12 @@
if (TextUtils.isEmpty(mNumber)) {
return;
}
- mContext.startActivity(
- new CallIntentBuilder(getDialableNumber())
- .setCallInitiationType(LogState.INITIATION_CALL_DETAILS)
- .build());
+ Intent dialIntent = new CallIntentBuilder(getDialableNumber())
+ .setCallInitiationType(LogState.INITIATION_CALL_DETAILS).build();
+ if (DialerUtils.isConferenceURICallLog(mNumber, mPostDialDigits)) {
+ dialIntent.putExtra("org.codeaurora.extra.DIAL_CONFERENCE_URI", true);
+ }
+ mContext.startActivity(dialIntent);
}
});
diff --git a/src/com/android/dialer/calllog/CallLogAdapter.java b/src/com/android/dialer/calllog/CallLogAdapter.java
index 4a55b8f..462b036 100644
--- a/src/com/android/dialer/calllog/CallLogAdapter.java
+++ b/src/com/android/dialer/calllog/CallLogAdapter.java
@@ -60,6 +60,7 @@
import com.android.dialer.logging.InteractionEvent;
import com.android.dialer.logging.Logger;
import com.android.dialer.service.ExtendedBlockingButtonRenderer;
+import com.android.dialer.util.DialerUtils;
import com.android.dialer.util.PhoneNumberUtil;
import com.android.dialer.voicemail.VoicemailPlaybackPresenter;
@@ -497,15 +498,15 @@
}
int count = getGroupSize(position);
-
final String phoneNumber = c.getString(CallLogQuery.NUMBER);
Pattern pattern = Pattern.compile("[,;]");
String[] num = pattern.split(phoneNumber);
- final String number = num.length > 0 ? num[0] : "";
final String countryIso = c.getString(CallLogQuery.COUNTRY_ISO);
final String postDialDigits = CompatUtils.isNCompatible()
&& mActivityType != ACTIVITY_TYPE_ARCHIVE ?
c.getString(CallLogQuery.POST_DIAL_DIGITS) : "";
+ final String number = DialerUtils.isConferenceURICallLog(phoneNumber, postDialDigits) ?
+ phoneNumber : num.length > 0 ? num[0] : "";
final String viaNumber = CompatUtils.isNCompatible()
&& mActivityType != ACTIVITY_TYPE_ARCHIVE ?
c.getString(CallLogQuery.VIA_NUMBER) : "";
diff --git a/src/com/android/dialer/calllog/CallLogListItemViewHolder.java b/src/com/android/dialer/calllog/CallLogListItemViewHolder.java
index 4036f10..d63531b 100644
--- a/src/com/android/dialer/calllog/CallLogListItemViewHolder.java
+++ b/src/com/android/dialer/calllog/CallLogListItemViewHolder.java
@@ -710,6 +710,9 @@
if (intentProvider != null) {
final Intent intent = intentProvider.getIntent(mContext);
// See IntentProvider.getCallDetailIntentProvider() for why this may be null.
+ if (DialerUtils.isConferenceURICallLog(number, postDialDigits)) {
+ intent.putExtra("org.codeaurora.extra.DIAL_CONFERENCE_URI", true);
+ }
if (intent != null) {
DialerUtils.startActivityWithErrorToast(mContext, intent);
}
diff --git a/src/com/android/dialer/util/DialerUtils.java b/src/com/android/dialer/util/DialerUtils.java
index a71e287..f2b04f9 100644
--- a/src/com/android/dialer/util/DialerUtils.java
+++ b/src/com/android/dialer/util/DialerUtils.java
@@ -232,4 +232,13 @@
PREFS_MESSAGE, Context.MODE_PRIVATE);
prefs.edit().putBoolean(KEY_STATE, show).apply();
}
+
+ /**
+ * @return true if calllog inserted earlier when dial a ConfURI call.
+ */
+ public static boolean isConferenceURICallLog(String number, String postDialDigits) {
+ return (number == null || number.contains(";") || number.contains(",")) &&
+ (postDialDigits == null || postDialDigits.equals(""));
+ }
+
}