Skip to content

Commit ff319a9

Browse files
authored
Merge pull request #92 from tygalive/master
Add WhatsApp click to chat support
2 parents 1e66d38 + fa83b16 commit ff319a9

File tree

3 files changed

+63
-1
lines changed

3 files changed

+63
-1
lines changed

app/src/main/java/com/vansuita/materialabout/sample/helper/SampleHelper.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ public void loadAbout() {
5959
.addDribbbleLink("user")
6060
.addLinkedInLink("arleu-cezar-vansuita-júnior-83769271")
6161
.addEmailLink("[email protected]")
62-
.addWhatsappLink("Jr", "+554799650629")
62+
.addWhatsAppDirectChat( "554799650629")
63+
//.addWhatsappLink("Jr", "+554799650629")
6364
.addSkypeLink("user")
6465
.addGoogleLink("user")
6566
.addAndroidLink("user")

library/src/main/java/com/vansuita/materialabout/builder/AboutBuilder.java

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,11 @@
88
import android.graphics.drawable.BitmapDrawable;
99
import android.net.Uri;
1010
import androidx.annotation.NonNull;
11+
12+
import android.text.TextUtils;
1113
import android.view.View;
1214

15+
import androidx.annotation.Nullable;
1316
import androidx.cardview.widget.CardView;
1417

1518
import com.vansuita.materialabout.R;
@@ -1120,6 +1123,7 @@ public AboutBuilder addSkypeLink(String phone) {
11201123
* @return the same {@link AboutBuilder} instance
11211124
*/
11221125
@NonNull
1126+
@Deprecated
11231127
public AboutBuilder addWhatsappLink(int name, int phone) {
11241128
return addWhatsappLink(context.getString(name), context.getString(phone));
11251129
}
@@ -1131,10 +1135,65 @@ public AboutBuilder addWhatsappLink(int name, int phone) {
11311135
* @return the same {@link AboutBuilder} instance
11321136
*/
11331137
@NonNull
1138+
@Deprecated
11341139
public AboutBuilder addWhatsappLink(String name, String phone) {
11351140
return addLink(R.mipmap.whatsapp, R.string.whastapp, util.openAddContact(name, phone));
11361141
}
11371142

1143+
/**
1144+
* Starts a new direct Whatsapp chat
1145+
*
1146+
* @param phone any phone number
1147+
* @return the same {@link AboutBuilder} instance
1148+
*/
1149+
@NonNull
1150+
public AboutBuilder addWhatsAppDirectChat(int phone) {
1151+
return addWhatsAppDirectChat(context.getString(phone));
1152+
}
1153+
1154+
/**
1155+
* Starts a new direct Whatsapp chat
1156+
*
1157+
* @param phone any phone number
1158+
* @return the same {@link AboutBuilder} instance
1159+
*
1160+
*/
1161+
@NonNull
1162+
public AboutBuilder addWhatsAppDirectChat(@NonNull String phone) {
1163+
return addWhatsAppDirectChat(phone, null);
1164+
}
1165+
1166+
/**
1167+
* Starts a new direct Whatsapp chat with a default message
1168+
*
1169+
* @param phone any phone number
1170+
* @param message the message to pre-fill
1171+
* @return the same {@link AboutBuilder} instance
1172+
*/
1173+
@NonNull
1174+
public AboutBuilder addWhatsAppDirectChat(int phone, int message) {
1175+
return addWhatsAppDirectChat(context.getString(phone), context.getString(message));
1176+
}
1177+
1178+
/**
1179+
* Starts a new direct Whatsapp chat with a default message
1180+
*
1181+
* @link https://faq.whatsapp.com/general/chats/how-to-use-click-to-chat
1182+
* @param phone any phone number
1183+
* @param message the message to pre-fill
1184+
* @throws IllegalArgumentException Phone number should be in international format and not contain any brackets, leading zeroes, or dashes.
1185+
* @return the same {@link AboutBuilder} instance
1186+
*
1187+
*/
1188+
@NonNull
1189+
public AboutBuilder addWhatsAppDirectChat(@NonNull String phone, @Nullable String message) {
1190+
if (!TextUtils.isDigitsOnly(phone) || phone.startsWith("0")){
1191+
throw new IllegalArgumentException("Phone number should be in international format and not contain any brackets, leading zeroes, or dashes.");
1192+
}
1193+
1194+
return addLink(R.mipmap.whatsapp, R.string.whastapp, context.getString(R.string.uri_whatsapp, phone, message == null ? "" : message));
1195+
}
1196+
11381197
/**
11391198
* Adds a Android link on the links section
11401199
*

library/src/main/res/values/consts.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,6 @@
3939
<string name="uri_play_store_apps_list">market://search?q=pub:%s</string>
4040
<string name="uri_play_store_apps_list_website">https://play.google.com/store/search?q=%s</string>
4141

42+
<string name="uri_whatsapp">https://wa.me/%1$s?text=%2$s</string>
43+
4244
</resources>

0 commit comments

Comments
 (0)