Fix crash when voice dialing an emergency number
Bug: 10925472
Change-Id: I3566ab0ef098b35b969768b9d5e08fd4712c2004
diff --git a/res/values/config.xml b/res/values/config.xml
index adc54ee..5146b1f 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -120,11 +120,14 @@
<bool name="config_operator_selection_expand" translatable="false">true</bool>
<bool name="config_prefer_2g" translatable="false">true</bool>
- <!-- Package name for the default in-call UI Service [DO NOT TRANSLATE] -->
- <string name="incall_ui_default_package" translatable="false">com.android.dialer</string>
+ <!-- Package name for the default in-call UI and dialer [DO NOT TRANSLATE] -->
+ <string name="ui_default_package" translatable="false">com.android.dialer</string>
<!-- Class name for the default in-call UI Service [DO NOT TRANSLATE] -->
- <string name="incall_ui_default_class" translatable="false">com.android.incallui.CallHandlerService</string>
+ <string name="incall_default_class" translatable="false">com.android.incallui.CallHandlerService</string>
+
+ <!-- Class name for the default main Dialer activity [DO NOT TRANSLATE] -->
+ <string name="dialer_default_class" translatable="false">com.android.dialer.DialtactsActivity</string>
<!-- CDMA activation goes through HFA [DO NOT TRANSLATE] -->
<bool name="config_use_hfa_for_provisioning" translatable="false">false</bool>
diff --git a/src/com/android/phone/CallHandlerServiceProxy.java b/src/com/android/phone/CallHandlerServiceProxy.java
index 18b77ef..fe39090 100644
--- a/src/com/android/phone/CallHandlerServiceProxy.java
+++ b/src/com/android/phone/CallHandlerServiceProxy.java
@@ -320,8 +320,8 @@
private static Intent getInCallServiceIntent(Context context) {
final Intent serviceIntent = new Intent(ICallHandlerService.class.getName());
final ComponentName component = new ComponentName(context.getResources().getString(
- R.string.incall_ui_default_package), context.getResources().getString(
- R.string.incall_ui_default_class));
+ R.string.ui_default_package), context.getResources().getString(
+ R.string.incall_default_class));
serviceIntent.setComponent(component);
return serviceIntent;
}
diff --git a/src/com/android/phone/OutgoingCallBroadcaster.java b/src/com/android/phone/OutgoingCallBroadcaster.java
index a4f7178..8939fdd 100644
--- a/src/com/android/phone/OutgoingCallBroadcaster.java
+++ b/src/com/android/phone/OutgoingCallBroadcaster.java
@@ -26,6 +26,7 @@
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Configuration;
+import android.content.res.Resources;
import android.net.Uri;
import android.os.Binder;
import android.os.Bundle;
@@ -520,11 +521,12 @@
// use the java resolver to find the dialer class (as
// opposed to a Context which look up known android
// packages only)
- invokeFrameworkDialer.setClassName("com.android.dialer",
- "com.android.dialer.DialtactsActivity");
+ final Resources resources = getResources();
+ invokeFrameworkDialer.setClassName(
+ resources.getString(R.string.ui_default_package),
+ resources.getString(R.string.dialer_default_class));
invokeFrameworkDialer.setAction(Intent.ACTION_DIAL);
invokeFrameworkDialer.setData(intent.getData());
-
if (DBG) Log.v(TAG, "onCreate(): calling startActivity for Dialer: "
+ invokeFrameworkDialer);
startActivity(invokeFrameworkDialer);