Fix bug 2651076 - Catch/log ActivityNotFoundException in MenuItemImpl.invoke()

Change-Id: I841a37349fbc6af33073aaecae903eb8999cc5bd
This commit is contained in:
Adam Powell
2010-05-04 14:44:45 -07:00
parent e083d0a2f5
commit 151af19bf4

View File

@ -16,10 +16,12 @@
package com.android.internal.view.menu; package com.android.internal.view.menu;
import com.android.internal.view.menu.MenuView.ItemView; import java.lang.ref.WeakReference;
import android.content.ActivityNotFoundException;
import android.content.Intent; import android.content.Intent;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.SubMenu; import android.view.SubMenu;
@ -28,12 +30,14 @@ import android.view.ViewDebug;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.ContextMenu.ContextMenuInfo; import android.view.ContextMenu.ContextMenuInfo;
import java.lang.ref.WeakReference; import com.android.internal.view.menu.MenuView.ItemView;
/** /**
* @hide * @hide
*/ */
public final class MenuItemImpl implements MenuItem { public final class MenuItemImpl implements MenuItem {
private static final String TAG = "MenuItemImpl";
private final int mId; private final int mId;
private final int mGroup; private final int mGroup;
private final int mCategoryOrder; private final int mCategoryOrder;
@ -147,8 +151,12 @@ public final class MenuItemImpl implements MenuItem {
} }
if (mIntent != null) { if (mIntent != null) {
mMenu.getContext().startActivity(mIntent); try {
return true; mMenu.getContext().startActivity(mIntent);
return true;
} catch (ActivityNotFoundException e) {
Log.e(TAG, "Can't find activity to handle intent; ignoring", e);
}
} }
return false; return false;