Skip to content

Commit 1eb4be1

Browse files
Merge pull request #89 from MihaiCristianCondrea/codex/add-share-button-to-app-cards
Add share button for promoted apps
2 parents 6738d7a + 291ae57 commit 1eb4be1

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/home/HomeFragment.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
5757
itemBinding.appName.setText(app.name());
5858
itemBinding.appDescription.setVisibility(android.view.View.GONE);
5959
itemBinding.appButton.setOnClickListener(v -> startActivity(homeViewModel.getPromotedAppIntent(app.packageName())));
60+
itemBinding.shareButton.setOnClickListener(v -> shareApp(app));
6061
promotedContainer.addView(itemBinding.getRoot());
6162
}
6263
});
@@ -91,6 +92,16 @@ private void shareTip(String tip) {
9192
startActivity(android.content.Intent.createChooser(shareIntent, getString(com.d4rk.androidtutorials.java.R.string.share_using)));
9293
}
9394

95+
private void shareApp(com.d4rk.androidtutorials.java.data.model.PromotedApp app) {
96+
android.content.Intent sharingIntent = new android.content.Intent(android.content.Intent.ACTION_SEND);
97+
sharingIntent.setType("text/plain");
98+
String shareLink = homeViewModel.getPromotedAppIntent(app.packageName()).getData().toString();
99+
String shareMessage = getString(com.d4rk.androidtutorials.java.R.string.share_message, shareLink);
100+
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareMessage);
101+
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, getString(com.d4rk.androidtutorials.java.R.string.share_subject));
102+
startActivity(android.content.Intent.createChooser(sharingIntent, getString(com.d4rk.androidtutorials.java.R.string.share_using)));
103+
}
104+
94105
private void loadImage(String url, android.widget.ImageView imageView) {
95106
com.android.volley.toolbox.ImageRequest request = new com.android.volley.toolbox.ImageRequest(
96107
url,

app/src/main/res/layout/promoted_app_item.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,16 @@
1212
android:layout_height="match_parent"
1313
android:padding="8dp">
1414

15+
<com.google.android.material.button.MaterialButton
16+
android:id="@+id/share_button"
17+
style="@style/Widget.Material3.Button.IconButton"
18+
android:layout_width="wrap_content"
19+
android:layout_height="wrap_content"
20+
android:contentDescription="@string/share"
21+
app:icon="@drawable/ic_share"
22+
app:layout_constraintEnd_toEndOf="parent"
23+
app:layout_constraintTop_toTopOf="parent" />
24+
1525
<androidx.appcompat.widget.AppCompatImageView
1626
android:id="@+id/app_icon"
1727
android:layout_width="48dp"

0 commit comments

Comments
 (0)