Skip to content

Commit cdb2548

Browse files
committed
Add temporary functions for slides
1 parent 9d93c41 commit cdb2548

File tree

2 files changed

+233
-12
lines changed

2 files changed

+233
-12
lines changed

app/src/main/java/org/wikipedia/yearinreview/YearInReviewScreenData.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ data class ButtonConfig(
2828
)
2929

3030
data class UnlockIconConfig(
31-
val iconResource: Int,
3231
val isUnlocked: Boolean = false,
3332
val onClick: (() -> Unit)? = null
3433
)

app/src/main/java/org/wikipedia/yearinreview/YearInReviewViewModel.kt

Lines changed: 233 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -225,8 +225,8 @@ class YearInReviewViewModel() : ViewModel() {
225225
return withContext(Dispatchers.IO) {
226226
// TODO: Show a bunch of generic slides for English users - non-logged in.
227227
listOf(
228-
readingHoursScreen(1),
229-
readingHoursScreen(1)
228+
spentReadingHoursScreen(1),
229+
spentReadingHoursScreen(1)
230230
)
231231
}
232232
}
@@ -235,8 +235,8 @@ class YearInReviewViewModel() : ViewModel() {
235235
return withContext(Dispatchers.IO) {
236236
// TODO: Show a bunch of generic slides for non-English users - non-logged in.
237237
listOf(
238-
readingHoursScreen(1),
239-
readingHoursScreen(1)
238+
spentReadingHoursScreen(1),
239+
spentReadingHoursScreen(1)
240240
)
241241
}
242242
}
@@ -245,8 +245,8 @@ class YearInReviewViewModel() : ViewModel() {
245245
return withContext(Dispatchers.IO) {
246246
// TODO: Show a bunch of generic slides for logged in English users.
247247
listOf(
248-
readingHoursScreen(1),
249-
readingHoursScreen(1)
248+
spentReadingHoursScreen(1),
249+
spentReadingHoursScreen(1)
250250
)
251251
}
252252
}
@@ -255,20 +255,242 @@ class YearInReviewViewModel() : ViewModel() {
255255
return withContext(Dispatchers.IO) {
256256
// TODO: Show a bunch of generic slides for logged in users.
257257
listOf(
258-
readingHoursScreen(1),
259-
readingHoursScreen(1)
258+
spentReadingHoursScreen(1),
259+
spentReadingHoursScreen(1)
260260
)
261261
}
262262
}
263263

264-
suspend fun readingHoursScreen(n: Int): YearInReviewScreenData.StandardScreen {
264+
suspend fun spentReadingHoursScreen(vararg params: Int): YearInReviewScreenData.StandardScreen {
265265
return withContext(Dispatchers.IO) {
266266
// TODO: yir123
267267
YearInReviewScreenData.StandardScreen(
268268
animatedImageResource = R.drawable.year_in_review_puzzle_pieces,
269269
staticImageResource = R.drawable.year_in_review_puzzle_pieces,
270-
headlineText = "We spent over $n billion hours reading",
271-
bodyText = "People spent over 2 billion hours—nearly 275,000 years!—reading English Wikipedia in 2025. Wikipedia is there when you want to learn about our changing world, win a bet among friends, or answer a curious child’s question."
270+
headlineText = "We spent over 2 billion hours reading",
271+
bodyText = "TBD"
272+
)
273+
}
274+
}
275+
276+
suspend fun spentReadingMinutesScreen(isEnglishWiki: Boolean, vararg params: Int): YearInReviewScreenData.StandardScreen {
277+
return withContext(Dispatchers.IO) {
278+
// TODO: yir99 + yir100 => need to check if it is en or not en
279+
YearInReviewScreenData.StandardScreen(
280+
animatedImageResource = R.drawable.year_in_review_puzzle_pieces,
281+
staticImageResource = R.drawable.year_in_review_puzzle_pieces,
282+
headlineText = "You spent 924 minutes reading 350 articles in 2025",
283+
bodyText = "TBD"
284+
)
285+
}
286+
}
287+
288+
suspend fun popularArticlesScreen(vararg params: Int): YearInReviewScreenData.StandardScreen {
289+
return withContext(Dispatchers.IO) {
290+
// TODO: yir127 + 104
291+
YearInReviewScreenData.StandardScreen(
292+
animatedImageResource = R.drawable.year_in_review_puzzle_pieces,
293+
staticImageResource = R.drawable.year_in_review_puzzle_pieces,
294+
headlineText = "English Wikipedia’s most popular articles",
295+
bodyText = "TBD"
296+
)
297+
}
298+
}
299+
300+
suspend fun globalSavedArticlesScreen(vararg params: Int): YearInReviewScreenData.StandardScreen {
301+
return withContext(Dispatchers.IO) {
302+
// TODO: yir126
303+
YearInReviewScreenData.StandardScreen(
304+
animatedImageResource = R.drawable.year_in_review_puzzle_pieces,
305+
staticImageResource = R.drawable.year_in_review_puzzle_pieces,
306+
headlineText = "We had over 37 million saved articles",
307+
bodyText = "TBD"
308+
)
309+
}
310+
}
311+
312+
suspend fun availableLanguagesScreen(vararg params: Int): YearInReviewScreenData.StandardScreen {
313+
return withContext(Dispatchers.IO) {
314+
// TODO: yir123
315+
YearInReviewScreenData.StandardScreen(
316+
animatedImageResource = R.drawable.year_in_review_puzzle_pieces,
317+
staticImageResource = R.drawable.year_in_review_puzzle_pieces,
318+
headlineText = "Wikipedia was available in more than 300 languages",
319+
bodyText = "TBD"
320+
)
321+
}
322+
}
323+
324+
suspend fun viewedArticlesTimesScreen(vararg params: Int): YearInReviewScreenData.StandardScreen {
325+
return withContext(Dispatchers.IO) {
326+
// TODO: yir125 + yir103
327+
YearInReviewScreenData.StandardScreen(
328+
animatedImageResource = R.drawable.year_in_review_puzzle_pieces,
329+
staticImageResource = R.drawable.year_in_review_puzzle_pieces,
330+
headlineText = "We have viewed Wikipedia articles more than 1 billion times",
331+
bodyText = "TBD"
332+
)
333+
}
334+
}
335+
336+
suspend fun readingPatternsScreen(vararg params: Int): YearInReviewScreenData.StandardScreen {
337+
return withContext(Dispatchers.IO) {
338+
// TODO: yir106 + yir107
339+
YearInReviewScreenData.StandardScreen(
340+
animatedImageResource = R.drawable.year_in_review_puzzle_pieces,
341+
staticImageResource = R.drawable.year_in_review_puzzle_pieces,
342+
headlineText = "You have clear reading patterns",
343+
bodyText = "TBD"
344+
)
345+
}
346+
}
347+
348+
suspend fun interestingCategoriesScreen(isEnglishWiki: Boolean, params: Int): YearInReviewScreenData.StandardScreen {
349+
return withContext(Dispatchers.IO) {
350+
// TODO: yir108 + yir110 => confirm the difference.
351+
YearInReviewScreenData.StandardScreen(
352+
animatedImageResource = R.drawable.year_in_review_puzzle_pieces,
353+
staticImageResource = R.drawable.year_in_review_puzzle_pieces,
354+
headlineText = "Your most interesting categories",
355+
bodyText = "TBD"
356+
)
357+
}
358+
}
359+
360+
suspend fun topArticlesScreen(vararg params: Int): YearInReviewScreenData.StandardScreen {
361+
return withContext(Dispatchers.IO) {
362+
// TODO: yir109 + yir105
363+
YearInReviewScreenData.StandardScreen(
364+
animatedImageResource = R.drawable.year_in_review_puzzle_pieces,
365+
staticImageResource = R.drawable.year_in_review_puzzle_pieces,
366+
headlineText = "Your top articles",
367+
bodyText = "TBD"
368+
)
369+
}
370+
}
371+
372+
suspend fun geoWithArticlesScreen(vararg params: Int): YearInReviewScreenData.GeoScreen {
373+
return withContext(Dispatchers.IO) {
374+
// TODO: yir112
375+
YearInReviewScreenData.GeoScreen(
376+
coordinates = mapOf("lat" to listOf(34, 56), "lon" to listOf(-123, 45)),
377+
headlineText = "Articles you read are closest to France",
378+
bodyText = "TBD"
379+
)
380+
}
381+
}
382+
383+
suspend fun localSavedArticlesScreen(vararg params: Int): YearInReviewScreenData.StandardScreen {
384+
return withContext(Dispatchers.IO) {
385+
// TODO: yir113
386+
YearInReviewScreenData.StandardScreen(
387+
animatedImageResource = R.drawable.year_in_review_puzzle_pieces,
388+
staticImageResource = R.drawable.year_in_review_puzzle_pieces,
389+
headlineText = "You saved 25 articles",
390+
bodyText = "TBD"
391+
)
392+
}
393+
}
394+
395+
suspend fun editedTimesScreen(vararg params: Int): YearInReviewScreenData.StandardScreen {
396+
return withContext(Dispatchers.IO) {
397+
// TODO: yir114
398+
YearInReviewScreenData.StandardScreen(
399+
animatedImageResource = R.drawable.year_in_review_puzzle_pieces,
400+
staticImageResource = R.drawable.year_in_review_puzzle_pieces,
401+
headlineText = "You edited Wikipedia 150 times",
402+
bodyText = "TBD"
403+
)
404+
}
405+
}
406+
407+
suspend fun editedViewsScreen(vararg params: Int): YearInReviewScreenData.StandardScreen {
408+
return withContext(Dispatchers.IO) {
409+
// TODO: yir115
410+
YearInReviewScreenData.StandardScreen(
411+
animatedImageResource = R.drawable.year_in_review_puzzle_pieces,
412+
staticImageResource = R.drawable.year_in_review_puzzle_pieces,
413+
headlineText = "Your edits have been viewed more than 14,791 times recently",
414+
bodyText = "TBD"
415+
)
416+
}
417+
}
418+
419+
suspend fun editorsEditsScreen(vararg params: Int): YearInReviewScreenData.StandardScreen {
420+
return withContext(Dispatchers.IO) {
421+
// TODO: yir116
422+
YearInReviewScreenData.StandardScreen(
423+
animatedImageResource = R.drawable.year_in_review_puzzle_pieces,
424+
staticImageResource = R.drawable.year_in_review_puzzle_pieces,
425+
headlineText = "Editors on the official Wikipedia apps made more than 452,257 edits",
426+
bodyText = "TBD"
427+
)
428+
}
429+
}
430+
431+
suspend fun editedPerMinuteScreen(vararg params: Int): YearInReviewScreenData.StandardScreen {
432+
return withContext(Dispatchers.IO) {
433+
// TODO: yir117
434+
YearInReviewScreenData.StandardScreen(
435+
animatedImageResource = R.drawable.year_in_review_puzzle_pieces,
436+
staticImageResource = R.drawable.year_in_review_puzzle_pieces,
437+
headlineText = "Wikipedia was edited 342 times per minute",
438+
bodyText = "TBD"
439+
)
440+
}
441+
}
442+
443+
suspend fun editorsChangesScreen(vararg params: Int): YearInReviewScreenData.StandardScreen {
444+
return withContext(Dispatchers.IO) {
445+
// TODO: yir118
446+
YearInReviewScreenData.StandardScreen(
447+
animatedImageResource = R.drawable.year_in_review_puzzle_pieces,
448+
staticImageResource = R.drawable.year_in_review_puzzle_pieces,
449+
headlineText = "Editors made nearly 82 million changes this year",
450+
bodyText = "TBD"
451+
)
452+
}
453+
}
454+
455+
suspend fun addedBytesScreen(vararg params: Int): YearInReviewScreenData.StandardScreen {
456+
return withContext(Dispatchers.IO) {
457+
// TODO: yir119
458+
YearInReviewScreenData.StandardScreen(
459+
animatedImageResource = R.drawable.year_in_review_puzzle_pieces,
460+
staticImageResource = R.drawable.year_in_review_puzzle_pieces,
461+
headlineText = "Over 3 billion bytes added",
462+
bodyText = "TBD"
463+
)
464+
}
465+
}
466+
467+
suspend fun newIconUnlockedScreen(vararg params: Int): YearInReviewScreenData.StandardScreen {
468+
return withContext(Dispatchers.IO) {
469+
// TODO: yir121
470+
YearInReviewScreenData.StandardScreen(
471+
animatedImageResource = R.drawable.year_in_review_puzzle_pieces,
472+
staticImageResource = R.drawable.year_in_review_puzzle_pieces,
473+
headlineText = "New icon unlocked",
474+
bodyText = "TBD",
475+
unlockIcon = UnlockIconConfig(
476+
isUnlocked = true
477+
)
478+
)
479+
}
480+
}
481+
482+
suspend fun unlockCustomIconScreen(vararg params: Int): YearInReviewScreenData.StandardScreen {
483+
return withContext(Dispatchers.IO) {
484+
// TODO: yir122
485+
YearInReviewScreenData.StandardScreen(
486+
animatedImageResource = R.drawable.year_in_review_puzzle_pieces,
487+
staticImageResource = R.drawable.year_in_review_puzzle_pieces,
488+
headlineText = "Unlock your custom contributor icon",
489+
bodyText = "TBD",
490+
bottomButton = ButtonConfig(
491+
text = "Donate",
492+
onClick = { /* TODO: handle click */ }
493+
)
272494
)
273495
}
274496
}

0 commit comments

Comments
 (0)