Merge "Add toast for Telephone Tags permission"
diff --git a/Android.mk b/Android.mk
index b9382ac..c969948 100644
--- a/Android.mk
+++ b/Android.mk
@@ -3,7 +3,9 @@
 
 LOCAL_MODULE_TAGS := optional
 
-LOCAL_STATIC_JAVA_LIBRARIES := guava com.android.vcard
+LOCAL_STATIC_JAVA_LIBRARIES := \
+    guava com.android.vcard \
+    android-support-v4
 
 # Only compile source java files in this apk.
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 79bf04b..7ae9925 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -52,4 +52,7 @@
     <!-- Description string for vCard messages -->
     <string name="vcard_title">Contact info for ^1</string>
 
+    <!-- Description string for CALL_PHONE permission denied -->
+    <string name="call_phone_permission_denied">This application needs to access Telephone permission in order to make calls. You can manage Tag permission in Settings</string>
+
 </resources>
diff --git a/src/com/android/apps/tag/record/UriRecord.java b/src/com/android/apps/tag/record/UriRecord.java
index a54eab3..2dca5e1 100644
--- a/src/com/android/apps/tag/record/UriRecord.java
+++ b/src/com/android/apps/tag/record/UriRecord.java
@@ -34,6 +34,7 @@
 import android.nfc.NdefRecord;
 import android.os.Parcel;
 import android.os.Parcelable;
+import android.support.v4.app.ActivityCompat;
 import android.telephony.PhoneNumberUtils;
 import android.text.TextUtils;
 import android.util.Log;
@@ -43,6 +44,7 @@
 import android.view.ViewGroup;
 import android.widget.ImageView;
 import android.widget.TextView;
+import android.widget.Toast;
 
 import java.nio.charset.Charset;
 import java.util.Arrays;
@@ -154,6 +156,10 @@
         if (Intent.ACTION_CALL.equals(intent.getAction())) {
             if (activity.checkSelfPermission(Manifest.permission.CALL_PHONE)
                     != PackageManager.PERMISSION_GRANTED) {
+                /* In case the user selected "Do not ask" for permission again.
+                 * Display a message on how to change the permission selection. */
+                if (!ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.CALL_PHONE))
+                    Toast.makeText(activity.getApplicationContext(), R.string.call_phone_permission_denied, Toast.LENGTH_SHORT).show();
                 needRequestPermission = true;
                 activity.requestPermissions(new String[]{Manifest.permission.CALL_PHONE}, 1);
             }