On android 2.2 and up, the voice search application has a different package name

pull/14/head
Tim Su 15 years ago
parent b88d5e5527
commit 91b84d2a53

@ -11,7 +11,6 @@ import java.util.Map.Entry;
import org.weloveastrid.rmilk.MilkPreferences;
import org.weloveastrid.rmilk.MilkUtilities;
import android.content.ActivityNotFoundException;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
@ -19,7 +18,6 @@ import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.ResolveInfo;
import android.content.res.Resources;
import android.net.Uri;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.Preference;
@ -303,25 +301,13 @@ public class EditPreferences extends TodorooPreferences {
@Override
public void onClick(DialogInterface dialog,
int which) {
dialog.dismiss();
// User wants to install voice search, take him to the market
Intent marketIntent = new Intent(Intent.ACTION_VIEW,
Uri.parse("market://search?q=pname:" + //$NON-NLS-1$
"com.google.android.voicesearch.x")); //$NON-NLS-1$
try {
startActivity(marketIntent);
} catch (ActivityNotFoundException ane) {
DialogUtilities.okDialog(EditPreferences.this,
r.getString(R.string.EPr_marketUnavailable_dlg),
new OnClickListener() {
@Override
public void onClick(DialogInterface dialog1,
int which1) {
((CheckBoxPreference)preference).setChecked(false);
dialog1.dismiss();
}
});
}
voiceInputAssistant.showVoiceInputMarketSearch(new OnClickListener() {
@Override
public void onClick(DialogInterface dialog1,
int which1) {
((CheckBoxPreference)preference).setChecked(false);
}
});
}
},
new OnClickListener() {

@ -6,9 +6,12 @@ import java.util.List;
import junit.framework.Assert;
import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.net.Uri;
import android.speech.RecognizerIntent;
import android.view.View;
import android.view.View.OnClickListener;
@ -16,6 +19,8 @@ import android.widget.EditText;
import android.widget.ImageButton;
import com.timsu.astrid.R;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.andlib.utility.Preferences;
/**
@ -204,4 +209,23 @@ public class VoiceInputAssistant {
voiceButton.setVisibility(View.GONE);
}
}
public void showVoiceInputMarketSearch(DialogInterface.OnClickListener onFail) {
String packageName;
if(AndroidUtilities.getSdkVersion() <= 7)
packageName = "com.google.android.voicesearch.x";
else
packageName = "com.google.android.voicesearch";
// User wants to install voice search, take him to the market
Intent marketIntent = new Intent(Intent.ACTION_VIEW,
Uri.parse("market://search?q=pname:" + packageName)); //$NON-NLS-1$
try {
activity.startActivity(marketIntent);
} catch (ActivityNotFoundException ane) {
DialogUtilities.okDialog(activity,
activity.getString(R.string.EPr_marketUnavailable_dlg),
onFail);
}
}
}

Loading…
Cancel
Save