From 291ae57c2063e8ade2d3a56052af71edda512917 Mon Sep 17 00:00:00 2001 From: Mihai-Cristian Condrea Date: Tue, 2 Sep 2025 10:50:35 +0300 Subject: [PATCH] Add share button for promoted apps --- .../java/ui/screens/home/HomeFragment.java | 11 +++++++++++ app/src/main/res/layout/promoted_app_item.xml | 10 ++++++++++ 2 files changed, 21 insertions(+) diff --git a/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/home/HomeFragment.java b/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/home/HomeFragment.java index 5ec5d6e5..8fb74656 100644 --- a/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/home/HomeFragment.java +++ b/app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/home/HomeFragment.java @@ -57,6 +57,7 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat itemBinding.appName.setText(app.name()); itemBinding.appDescription.setVisibility(android.view.View.GONE); itemBinding.appButton.setOnClickListener(v -> startActivity(homeViewModel.getPromotedAppIntent(app.packageName()))); + itemBinding.shareButton.setOnClickListener(v -> shareApp(app)); promotedContainer.addView(itemBinding.getRoot()); } }); @@ -91,6 +92,16 @@ private void shareTip(String tip) { startActivity(android.content.Intent.createChooser(shareIntent, getString(com.d4rk.androidtutorials.java.R.string.share_using))); } + private void shareApp(com.d4rk.androidtutorials.java.data.model.PromotedApp app) { + android.content.Intent sharingIntent = new android.content.Intent(android.content.Intent.ACTION_SEND); + sharingIntent.setType("text/plain"); + String shareLink = homeViewModel.getPromotedAppIntent(app.packageName()).getData().toString(); + String shareMessage = getString(com.d4rk.androidtutorials.java.R.string.share_message, shareLink); + sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareMessage); + sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, getString(com.d4rk.androidtutorials.java.R.string.share_subject)); + startActivity(android.content.Intent.createChooser(sharingIntent, getString(com.d4rk.androidtutorials.java.R.string.share_using))); + } + private void loadImage(String url, android.widget.ImageView imageView) { com.android.volley.toolbox.ImageRequest request = new com.android.volley.toolbox.ImageRequest( url, diff --git a/app/src/main/res/layout/promoted_app_item.xml b/app/src/main/res/layout/promoted_app_item.xml index 896e7ab7..1e349941 100644 --- a/app/src/main/res/layout/promoted_app_item.xml +++ b/app/src/main/res/layout/promoted_app_item.xml @@ -12,6 +12,16 @@ android:layout_height="match_parent" android:padding="8dp"> + +