Skip to content

Commit 54abd43

Browse files
Merge pull request #51 from MihaiCristianCondrea/codex/improve-lessons-ui-and-ux-for-instant-apps
Add top app bar with share action to Start Project lesson
2 parents acea24f + ed5f304 commit 54abd43

File tree

26 files changed

+220
-146
lines changed

26 files changed

+220
-146
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
# Version 5.0.3:
2+
3+
- Improved lesson UI with a top app bar and share action in the Start a New Project tutorial.
4+
- Added translations for the Start a New Project lesson across supported languages.
5+
16
# Version 5.0.2:
27

38
- Added new font style and visualization for the codes

app/src/main/java/com/d4rk/androidtutorials/java/ui/screens/android/lessons/start/AndroidStartProjectActivity.java

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
package com.d4rk.androidtutorials.java.ui.screens.android.lessons.start;
22

3+
import android.content.Intent;
34
import android.os.Bundle;
45
import android.text.method.LinkMovementMethod;
56

67
import androidx.appcompat.app.AppCompatActivity;
78

9+
import com.d4rk.androidtutorials.java.BuildConfig;
10+
import com.d4rk.androidtutorials.java.R;
811
import com.d4rk.androidtutorials.java.databinding.ActivityAndroidStartProjectBinding;
912
import com.d4rk.androidtutorials.java.utils.EdgeToEdgeDelegate;
1013
import com.google.android.gms.ads.AdRequest;
@@ -16,11 +19,26 @@ public class AndroidStartProjectActivity extends AppCompatActivity {
1619
@Override
1720
protected void onCreate(Bundle savedInstanceState) {
1821
super.onCreate(savedInstanceState);
19-
com.d4rk.androidtutorials.java.databinding.ActivityAndroidStartProjectBinding binding = ActivityAndroidStartProjectBinding.inflate(getLayoutInflater());
22+
ActivityAndroidStartProjectBinding binding = ActivityAndroidStartProjectBinding.inflate(getLayoutInflater());
2023
setContentView(binding.getRoot());
2124

2225
EdgeToEdgeDelegate edgeToEdgeDelegate = new EdgeToEdgeDelegate(this);
23-
edgeToEdgeDelegate.applyEdgeToEdge(binding.scrollView);
26+
edgeToEdgeDelegate.applyEdgeToEdge(binding.constraintLayout);
27+
28+
setSupportActionBar(binding.topAppBar);
29+
binding.topAppBar.setNavigationOnClickListener(v -> onBackPressed());
30+
binding.topAppBar.setOnMenuItemClickListener(item -> {
31+
if (item.getItemId() == R.id.action_share) {
32+
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
33+
sharingIntent.setType("text/plain");
34+
String shareLink = "https://play.google.com/store/apps/details?id=" + BuildConfig.APPLICATION_ID;
35+
sharingIntent.putExtra(Intent.EXTRA_TEXT, shareLink);
36+
sharingIntent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.share_subject));
37+
startActivity(Intent.createChooser(sharingIntent, getString(R.string.share_using)));
38+
return true;
39+
}
40+
return false;
41+
});
2442

2543
MobileAds.initialize(this);
2644
binding.adViewBottom.loadAd(new AdRequest.Builder().build());

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

Lines changed: 164 additions & 144 deletions
Large diffs are not rendered by default.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<menu xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:app="http://schemas.android.com/apk/res-auto">
4+
<item
5+
android:id="@+id/action_share"
6+
android:icon="@drawable/ic_share"
7+
android:title="@string/share"
8+
app:showAsAction="ifRoom" />
9+
</menu>

app/src/main/res/values-ar-rEG/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
<string name="android_studio">أندرويد ستوديو</string>
2323

2424
<string name="android_start">ابدأ مشروع جديد…</string>
25+
<string name="android_start_project">ابدأ مشروع جديد</string>
2526
<string name="step1">الخطوة 1</string>
2627
<string name="summary_first_step">أول خطوة لإنشاء مشروع جديد في أندرويد ستوديو هي الضغط على زر <b>مشروع جديد</b> زي ما هو واضح في الصورة وكمل للخطوة اللي بعدها.</string>
2728
<string name="step2">الخطوة 2</string>

app/src/main/res/values-bg-rBG/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
<string name="android_studio">Android Studio</string>
2222

2323
<string name="android_start">Стартиране на нов проект…</string>
24+
<string name="android_start_project">Стартиране на нов проект</string>
2425
<string name="step1">Стъпка 1</string>
2526
<string name="summary_first_step">Първата стъпка за създаване на нов проект в Android Studio е да кликнете върху бутона <b>Нов проект</b>, както е показано на изображението, и да продължите към следващата стъпка.</string>
2627
<string name="step2">Стъпка 2</string>

app/src/main/res/values-bn-rBD/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
<string name="android_studio">অ্যান্ড্রয়েড স্টুডিও</string>
2222

2323
<string name="android_start">একটি নতুন প্রকল্প শুরু করুন…</string>
24+
<string name="android_start_project">একটি নতুন প্রকল্প শুরু করুন</string>
2425
<string name="step1">ধাপ ১</string>
2526
<string name="summary_first_step">অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করার প্রথম ধাপ হল ছবিতে দেখানো হিসাবে <b>নতুন প্রকল্প</b> বোতামে ক্লিক করা এবং পরবর্তী ধাপে এগিয়ে যাওয়া।</string>
2627
<string name="step2">ধাপ ২</string>

app/src/main/res/values-de-rDE/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
<string name="android_studio">Android Studio</string>
2222

2323
<string name="android_start">Neues Projekt starten…</string>
24+
<string name="android_start_project">Neues Projekt starten</string>
2425
<string name="step1">Schritt 1</string>
2526
<string name="summary_first_step">Der erste Schritt, um ein neues Projekt in Android Studio zu erstellen, besteht darin, auf die Schaltfläche <b>Neues Projekt</b> zu klicken, wie im Bild gezeigt, und mit dem nächsten Schritt fortzufahren.</string>
2627
<string name="step2">Schritt 2</string>

app/src/main/res/values-es-rGQ/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
<string name="android_studio">Android Studio</string>
2222

2323
<string name="android_start">Iniciar un nuevo proyecto…</string>
24+
<string name="android_start_project">Iniciar un nuevo proyecto</string>
2425
<string name="step1">Paso 1</string>
2526
<string name="summary_first_step">El primer paso para crear un nuevo proyecto en Android Studio es hacer clic en el botón <b>Nuevo proyecto</b> como se muestra en la imagen y continuar al siguiente paso.</string>
2627
<string name="step2">Paso 2</string>

app/src/main/res/values-es-rMX/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
<string name="android_studio">Android Studio</string>
2323

2424
<string name="android_start">Iniciar un nuevo proyecto…</string>
25+
<string name="android_start_project">Iniciar un nuevo proyecto</string>
2526
<string name="step1">Paso 1</string>
2627
<string name="summary_first_step">El primer paso para crear un nuevo proyecto en Android Studio es hacer clic en el botón <b>Nuevo proyecto</b> como se muestra en la imagen y continuar al siguiente paso.</string>
2728
<string name="step2">Paso 2</string>

0 commit comments

Comments
 (0)