From 71ea86bfd77702522ed0ac78e7fb415179ddb6fc Mon Sep 17 00:00:00 2001 From: Hector Date: Fri, 1 Nov 2024 07:23:15 +0000 Subject: [PATCH] Find Android items --- .../hackernews/HackerNewsApplication.kt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/android/app/src/main/java/com/emergetools/hackernews/HackerNewsApplication.kt b/android/app/src/main/java/com/emergetools/hackernews/HackerNewsApplication.kt index b07e5cdc..c620fc7e 100644 --- a/android/app/src/main/java/com/emergetools/hackernews/HackerNewsApplication.kt +++ b/android/app/src/main/java/com/emergetools/hackernews/HackerNewsApplication.kt @@ -2,6 +2,7 @@ package com.emergetools.hackernews import android.app.Application import android.content.Context +import android.util.Log import androidx.datastore.core.DataStore import androidx.datastore.preferences.core.Preferences import androidx.datastore.preferences.preferencesDataStore @@ -10,9 +11,14 @@ import com.emergetools.hackernews.data.local.BookmarkDao import com.emergetools.hackernews.data.local.HackerNewsDatabase import com.emergetools.hackernews.data.local.LocalCookieJar import com.emergetools.hackernews.data.local.UserStorage +import com.emergetools.hackernews.data.remote.FeedIdResponse import com.emergetools.hackernews.data.remote.HackerNewsBaseClient import com.emergetools.hackernews.data.remote.HackerNewsSearchClient import com.emergetools.hackernews.data.remote.HackerNewsWebClient +import com.emergetools.hackernews.data.remote.ItemResponse +import com.emergetools.hackernews.data.remote.PostPage +import com.emergetools.hackernews.features.stories.FeedType +import kotlinx.coroutines.runBlocking import kotlinx.serialization.json.Json import okhttp3.OkHttpClient import java.time.Duration @@ -47,7 +53,20 @@ class HackerNewsApplication : Application() { webClient = HackerNewsWebClient(httpClient) baseClient = HackerNewsBaseClient(json, httpClient) + + // Find if a Android item is in the feed! + runBlocking { + when (val response = baseClient.getFeedIds(FeedType.Top)) { + is FeedIdResponse.Success -> { + // TODO: iterate through items + // TODO: if item has Android in title go to that item + } + is FeedIdResponse.Error -> { + } + } + } } + } val Context.dataStore: DataStore by preferencesDataStore(name = "user")