Check whether data has been loaded.
Also don't show options on non-phones if data has not been loaded
Bug:3055135
Change-Id: Ife873642bcbfe6c4cd3eddb28e9c8010cb8d302d
diff --git a/src/com/android/contacts/views/detail/ContactDetailFragment.java b/src/com/android/contacts/views/detail/ContactDetailFragment.java
index ab22995..4a3f46f 100644
--- a/src/com/android/contacts/views/detail/ContactDetailFragment.java
+++ b/src/com/android/contacts/views/detail/ContactDetailFragment.java
@@ -921,11 +921,7 @@
@Override
public void onPrepareOptionsMenu(Menu menu) {
- if (mContactData == null) {
- return;
- }
-
- boolean isDirectoryEntry = mContactData.isDirectoryEntry();
+ boolean isDirectoryEntry = mContactData != null && mContactData.isDirectoryEntry();
// Options only shows telephony-related settings (ringtone, send to voicemail).
// ==> Hide if we don't have a telephone
@@ -955,6 +951,7 @@
return true;
}
case R.id.menu_options: {
+ if (mContactData == null) return false;
final Intent intent = new Intent(mContext, ContactOptionsActivity.class);
intent.setData(mContactData.getLookupUri());
mContext.startActivity(intent);
@@ -962,6 +959,7 @@
}
case R.id.menu_share: {
if (mAllRestricted) return false;
+ if (mContactData == null) return false;
final String lookupKey = mContactData.getLookupKey();
final Uri shareUri = Uri.withAppendedPath(Contacts.CONTENT_VCARD_URI, lookupKey);