Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@
android:label="@string/chronometer"
android:parentActivityName=".ui.screens.main.MainActivity" />
<activity
android:name=".ui.screens.android.lessons.basics.history.AndroidHistory"
android:name=".ui.screens.android.lessons.basics.history.AndroidHistoryActivity"
android:exported="false"
android:label="@string/history_of_android"
android:parentActivityName=".ui.screens.main.MainActivity" />
Expand Down Expand Up @@ -218,7 +218,7 @@
android:label="@string/view_model"
android:parentActivityName=".ui.screens.main.MainActivity" />
<activity
android:name=".ui.screens.android.lessons.views.grid.GirdViewActivity"
android:name=".ui.screens.android.lessons.views.grid.GridViewActivity"
android:exported="false"
android:label="@string/grid_view"
android:parentActivityName=".ui.screens.main.MainActivity" />
Expand All @@ -243,7 +243,7 @@
android:label="@string/android_start"
android:parentActivityName=".ui.screens.main.MainActivity" />
<activity
android:name=".ui.screens.android.lessons.basics.sdk.AndroidSDK"
android:name=".ui.screens.android.lessons.basics.sdk.AndroidSdkActivity"
android:exported="false"
android:label="@string/android_sdk"
android:parentActivityName=".ui.screens.main.MainActivity" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

import me.zhanghai.android.fastscroll.FastScrollerBuilder;

public class AndroidHistory extends UpNavigationActivity {
public class AndroidHistoryActivity extends UpNavigationActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Expand All @@ -20,4 +20,4 @@ protected void onCreate(Bundle savedInstanceState) {
AdUtils.loadBanner(binding.adViewBottom);
new FastScrollerBuilder(binding.scrollView).useMd2Style().build();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

import me.zhanghai.android.fastscroll.FastScrollerBuilder;

public class AndroidSDK extends UpNavigationActivity {
public class AndroidSdkActivity extends UpNavigationActivity {
private final List<AndroidVersion> androidVersions = Arrays.asList(
new AndroidVersion("1.0", "1", "BASE", "None", "2008"),
new AndroidVersion("1.1", "2", "BASE_1_1", "Petit Four", "2009"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
import com.d4rk.androidtutorials.java.ui.screens.android.CodeActivity;
import com.d4rk.androidtutorials.java.utils.EdgeToEdgeHelper;

public class GirdViewActivity extends SyntaxFabActivity {
public class GridViewActivity extends SyntaxFabActivity {

private final String[] numbers = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
private ActivityGridViewBinding binding;
Expand Down
6 changes: 3 additions & 3 deletions app/src/main/res/xml/preferences_android_studio.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
app:title="@string/history_of_android">
<intent
android:action="android.intent.action.VIEW"
android:targetClass="com.d4rk.androidtutorials.java.ui.screens.android.lessons.basics.history.AndroidHistory"
android:targetClass="com.d4rk.androidtutorials.java.ui.screens.android.lessons.basics.history.AndroidHistoryActivity"
android:targetPackage="com.d4rk.androidtutorials.java" />
</androidx.preference.Preference>
<androidx.preference.Preference
Expand All @@ -41,7 +41,7 @@
app:title="@string/android_sdk">
<intent
android:action="android.intent.action.VIEW"
android:targetClass="com.d4rk.androidtutorials.java.ui.screens.android.lessons.basics.sdk.AndroidSDK"
android:targetClass="com.d4rk.androidtutorials.java.ui.screens.android.lessons.basics.sdk.AndroidSdkActivity"
android:targetPackage="com.d4rk.androidtutorials.java" />
</androidx.preference.Preference>
<androidx.preference.Preference
Expand Down Expand Up @@ -142,7 +142,7 @@
app:title="@string/grid_view">
<intent
android:action="android.intent.action.VIEW"
android:targetClass="com.d4rk.androidtutorials.java.ui.screens.android.lessons.views.grid.GirdViewActivity"
android:targetClass="com.d4rk.androidtutorials.java.ui.screens.android.lessons.views.grid.GridViewActivity"
android:targetPackage="com.d4rk.androidtutorials.java" />
</androidx.preference.Preference>
<androidx.preference.Preference
Expand Down
38 changes: 38 additions & 0 deletions docs/general/style-guidance.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,41 @@
- Build UI with XML layouts and reference Material 3 components for colors, typography, and spacing.
- Use Java concurrency utilities or libraries such as RxJava for asynchronous work and state streams.
- Inject dependencies with Hilt or Dagger; obtain ViewModels via standard `ViewModelProvider` helpers.

## Contributor Guide: Adding a New Android Lesson

Use the lesson package template below for every new lesson under `ui/screens/android/lessons/`.

### Required package structure

```text
<category>/<lesson>/
├── <Lesson>Activity.java
├── tabs/ # optional: tab fragments for code/layout split
│ ├── <Lesson>TabCodeFragment.java
│ └── <Lesson>TabLayoutFragment.java
```

### Required raw files

Create both source snippets in `app/src/main/res/raw/`:

- `text_<lesson>_java.txt`
- `text_<lesson>_xml.txt`

Use the same `<lesson>` token (snake_case) in both filenames.

### Registration points

After adding files, register the lesson in all required places:

1. **Activity declaration** in `app/src/main/AndroidManifest.xml`.
2. **Lesson entry** in `app/src/main/res/xml/preferences_android_studio.xml` via an intent target to `<Lesson>Activity`.
3. **Code viewer mapping** so the lesson key resolves to `text_<lesson>_java` and `text_<lesson>_xml` resources when opening syntax/code screens.

### Naming rules

- Class name and filename must match exactly (`<Lesson>Activity.java` -> `class <Lesson>Activity`).
- Keep lesson folders in lowercase (`<category>/<lesson>/`).
- Optional supporting classes are allowed, but each lesson package must contain a single canonical `<Lesson>Activity` entry point.

Loading