Skip to content

Commit

Permalink
Fix part of oppia#5344: Update models to support classrooms (oppia#5418)
Browse files Browse the repository at this point in the history
<!-- READ ME FIRST: Please fill in the explanation section below and
check off every point from the Essential Checklist! -->
## Explanation
<!--
- Explain what your PR does. If this PR fixes an existing bug, please
include
- "Fixes #bugnum:" in the explanation so that GitHub can auto-close the
issue
  - when this PR is merged.
  -->

Fixes part of oppia#5344

- Introduces models for `ClassroomIdList`, `ClassroomSummary`, &
`EphemeralClassroomSummary` and updates `ClassroomList` to contain a
list of `EphemeralClassroomSummary`s and a
`written_translation_context`.
- Topic and Story models are updated to include reference to
`classroomId` & `classroomTitle`.
- Test json & textproto data files are also added for 3 test classrooms,
alongwith updating existing topic data files to include classroom
information.

## Essential Checklist
<!-- Please tick the relevant boxes by putting an "x" in them. -->
- [x] The PR title and explanation each start with "Fix #bugnum: " (If
this PR fixes part of an issue, prefix the title with "Fix part of
#bugnum: ...".)
- [x] Any changes to
[scripts/assets](https://github.com/oppia/oppia-android/tree/develop/scripts/assets)
files have their rationale included in the PR explanation.
- [x] The PR follows the [style
guide](https://github.com/oppia/oppia-android/wiki/Coding-style-guide).
- [x] The PR does not contain any unnecessary code changes from Android
Studio
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#undo-unnecessary-changes)).
- [x] The PR is made from a branch that's **not** called "develop" and
is up-to-date with "develop".
- [x] The PR is **assigned** to the appropriate reviewers
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#clarification-regarding-assignees-and-reviewers-section)).

## For UI-specific PRs only
<!-- Delete these section if this PR does not include UI-related
changes. -->
If your PR includes UI-related changes, then:
- Add screenshots for portrait/landscape for both a tablet & phone of
the before & after UI changes
- For the screenshots above, include both English and pseudo-localized
(RTL) screenshots (see [RTL
guide](https://github.com/oppia/oppia-android/wiki/RTL-Guidelines))
- Add a video showing the full UX flow with a screen reader enabled (see
[accessibility
guide](https://github.com/oppia/oppia-android/wiki/Accessibility-A11y-Guide))
- For PRs introducing new UI elements or color changes, both light and
dark mode screenshots must be included
- Add a screenshot demonstrating that you ran affected Espresso tests
locally & that they're passing
  • Loading branch information
theMr17 authored Jun 24, 2024
1 parent 2059f9d commit 9a2e627
Show file tree
Hide file tree
Showing 13 changed files with 396 additions and 79 deletions.
5 changes: 5 additions & 0 deletions domain/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,11 @@ MIGRATED_PROD_FILES = glob([

DOMAIN_ASSETS = generate_assets_list_from_text_protos(
name = "domain_assets",
classroom_file_names = [
"test_classroom_id_0",
"test_classroom_id_1",
"test_classroom_id_2",
],
classroom_list_file_names = [
"classrooms",
],
Expand Down
15 changes: 13 additions & 2 deletions domain/domain_assets.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ load("//model:text_proto_assets.bzl", "generate_proto_binary_assets")

def generate_assets_list_from_text_protos(
name,
classroom_file_names,
classroom_list_file_names,
topic_file_names,
subtopic_file_names,
Expand All @@ -17,6 +18,7 @@ def generate_assets_list_from_text_protos(
Args:
name: str. The name of this generation instance. This will be a prefix for derived targets.
classroom_file_names: list of str. The list of classroom file names.
classroom_list_file_names: list of str. The classroom list file names.
topic_file_names: list of str. The list of topic file names.
subtopic_file_names: list of str. The list of subtopic file names.
Expand All @@ -31,8 +33,17 @@ def generate_assets_list_from_text_protos(
name = name,
names = classroom_list_file_names,
proto_dep_name = "topic",
proto_type_name = "ClassroomList",
name_prefix = "classroom_list",
proto_type_name = "ClassroomIdList",
name_prefix = "classroom_id_list",
asset_dir = "src/main/assets",
proto_dep_bazel_target_prefix = "//model/src/main/proto",
proto_package = "model",
) + generate_proto_binary_assets(
name = name,
names = classroom_file_names,
proto_dep_name = "topic",
proto_type_name = "ClassroomRecord",
name_prefix = "classroom_record",
asset_dir = "src/main/assets",
proto_dep_bazel_target_prefix = "//model/src/main/proto",
proto_package = "model",
Expand Down
11 changes: 1 addition & 10 deletions domain/src/main/assets/classrooms.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,3 @@
{
"classrooms": [{
"id": "test_classroom_id_0",
"topic_prerequisites": {
"test_topic_id_0": ["GJ2rLXRKD5hw"],
"test_topic_id_1": ["test_topic_id_0", "omzF4oqgeTXd"],
"test_topic_id_2": [],
"GJ2rLXRKD5hw": [],
"omzF4oqgeTXd": []
}
}]
"classroom_id_list": ["test_classroom_id_0", "test_classroom_id_1", "test_classroom_id_2"]
}
34 changes: 3 additions & 31 deletions domain/src/main/assets/classrooms.textproto
Original file line number Diff line number Diff line change
@@ -1,31 +1,3 @@
classrooms {
id: "test_classroom_id_0"
topic_prerequisites {
key: "test_topic_id_0"
value {
topic_ids: "GJ2rLXRKD5hw"
}
}
topic_prerequisites {
key: "test_topic_id_1"
value {
topic_ids: "test_topic_id_0"
topic_ids: "omzF4oqgeTXd"
}
}
topic_prerequisites {
key: "test_topic_id_2"
value {
}
}
topic_prerequisites {
key: "GJ2rLXRKD5hw"
value {
}
}
topic_prerequisites {
key: "omzF4oqgeTXd"
value {
}
}
}
classroom_ids: "test_classroom_id_0"
classroom_ids: "test_classroom_id_1"
classroom_ids: "test_classroom_id_2"
13 changes: 13 additions & 0 deletions domain/src/main/assets/test_classroom_id_0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"classroom_id": "test_classroom_id_0",
"classroom_title": {
"content_id": "classroom_title",
"html": "Science"
},
"thumbnail_bg_color": "#00FFFFFF",
"thumbnail_filename": "",
"topic_prerequisites": {
"test_topic_id_0": ["GJ2rLXRKD5hw"],
"test_topic_id_1": ["test_topic_id_0", "omzF4oqgeTXd"]
}
}
20 changes: 20 additions & 0 deletions domain/src/main/assets/test_classroom_id_0.textproto
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
id: "test_classroom_id_0"
translatable_title {
content_id: "classroom_title"
html: "Science"
}
classroom_thumbnail {
}
topic_prerequisites {
key: "test_topic_id_0"
value {
topic_ids: "GJ2rLXRKD5hw"
}
}
topic_prerequisites {
key: "test_topic_id_1"
value {
topic_ids: "test_topic_id_0"
topic_ids: "omzF4oqgeTXd"
}
}
13 changes: 13 additions & 0 deletions domain/src/main/assets/test_classroom_id_1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"classroom_id": "test_classroom_id_1",
"classroom_title": {
"content_id": "classroom_title",
"html": "Maths"
},
"thumbnail_bg_color": "#00FFFFFF",
"thumbnail_filename": "",
"topic_prerequisites": {
"GJ2rLXRKD5hw": [],
"omzF4oqgeTXd": []
}
}
17 changes: 17 additions & 0 deletions domain/src/main/assets/test_classroom_id_1.textproto
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
id: "test_classroom_id_1"
translatable_title {
content_id: "classroom_title"
html: "Maths"
}
classroom_thumbnail {
}
topic_prerequisites {
key: "GJ2rLXRKD5hw"
value {
}
}
topic_prerequisites {
key: "omzF4oqgeTXd"
value {
}
}
12 changes: 12 additions & 0 deletions domain/src/main/assets/test_classroom_id_2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"classroom_id": "test_classroom_id_2",
"classroom_title": {
"content_id": "classroom_title",
"html": "English"
},
"thumbnail_bg_color": "#00FFFFFF",
"thumbnail_filename": "",
"topic_prerequisites": {
"test_topic_id_2": []
}
}
12 changes: 12 additions & 0 deletions domain/src/main/assets/test_classroom_id_2.textproto
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
id: "test_classroom_id_2"
translatable_title {
content_id: "classroom_title"
html: "English"
}
classroom_thumbnail {
}
topic_prerequisites {
key: "test_topic_id_2"
value {
}
}
Loading

0 comments on commit 9a2e627

Please sign in to comment.