Add notification to "add contacts" when no activity found.
If a user disables the contacts application, the "add contact" option will
no longer work. Add a notification to inform them that they need to enable
the contact app to use the feature.
Bug: 7694569
Change-Id: I1aad7b1396f624461083cfab7ba470f9d4ac25ce
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index c9419a3..2557ebc 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -24,6 +24,7 @@
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
+import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
@@ -55,6 +56,7 @@
import android.widget.SearchView;
import android.widget.SearchView.OnCloseListener;
import android.widget.SearchView.OnQueryTextListener;
+import android.widget.Toast;
import com.android.contacts.common.CallUtil;
import com.android.contacts.common.activity.TransactionSafeActivity;
@@ -938,13 +940,10 @@
final MenuItem callSettingsMenuItem = menu.findItem(R.id.menu_call_settings);
final MenuItem searchMenuItem = menu.findItem(R.id.search_on_action_bar);
final MenuItem filterOptionMenuItem = menu.findItem(R.id.filter_option);
- final MenuItem addContactOptionMenuItem = menu.findItem(R.id.add_contact);
callSettingsMenuItem.setIntent(DialtactsActivity.getCallSettingsIntent());
searchMenuItem.setOnMenuItemClickListener(mSearchMenuItemClickListener);
filterOptionMenuItem.setOnMenuItemClickListener(mFilterOptionsMenuItemClickListener);
- addContactOptionMenuItem.setIntent(
- new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI));
return true;
}
@@ -973,6 +972,22 @@
return true;
}
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case R.id.add_contact:
+ try {
+ startActivity(new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI));
+ } catch (ActivityNotFoundException e) {
+ Toast toast = Toast.makeText(this, R.string.add_contact_not_available,
+ Toast.LENGTH_SHORT);
+ toast.show();
+ }
+ return true;
+ }
+ return super.onOptionsItemSelected(item);
+ }
+
private void prepareOptionsMenuInSearchMode(Menu menu) {
// get references to menu items
final MenuItem searchMenuItem = menu.findItem(R.id.search_on_action_bar);