Skip to content

Commit 5219a6f

Browse files
authored
[android] Init Reaper manually (#384)
1 parent f13677d commit 5219a6f

File tree

4 files changed

+19
-0
lines changed

4 files changed

+19
-0
lines changed

android/app/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ dependencies {
146146
implementation(libs.androidx.shapes)
147147
implementation(libs.androidx.browser)
148148
implementation(libs.androidx.datastore)
149+
implementation(libs.androidx.startup)
149150

150151
implementation(libs.extendedspans)
151152

android/app/src/main/AndroidManifest.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,17 @@
1616
android:theme="@style/Theme.HackerNews"
1717
tools:targetApi="31">
1818

19+
<!-- This demonstrates manual initialization of Reaper.
20+
See https://docs.emergetools.com/docs/reaper-setup-android#disable-automatic-initialization -->
21+
<provider
22+
android:name="androidx.startup.InitializationProvider"
23+
android:authorities="${applicationId}.androidx-startup"
24+
android:exported="false"
25+
tools:node="merge">
26+
<meta-data android:name="com.emergetools.reaper.ReaperInitializer"
27+
tools:node="remove" />
28+
</provider>
29+
1930
<meta-data
2031
android:name="io.sentry.dsn"
2132
android:value="https://[email protected]/4506028523388928" />

android/app/src/main/java/com/emergetools/hackernews/HackerNewsApplication.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import com.emergetools.hackernews.data.local.UserStorage
1313
import com.emergetools.hackernews.data.remote.HackerNewsBaseClient
1414
import com.emergetools.hackernews.data.remote.HackerNewsSearchClient
1515
import com.emergetools.hackernews.data.remote.HackerNewsWebClient
16+
import com.emergetools.reaper.Reaper
1617
import kotlinx.serialization.json.Json
1718
import okhttp3.OkHttpClient
1819
import java.time.Duration
@@ -31,6 +32,10 @@ class HackerNewsApplication : Application() {
3132
override fun onCreate() {
3233
super.onCreate()
3334

35+
// This demonstrates manual initialization of Reaper.
36+
// See https://docs.emergetools.com/docs/reaper-setup-android#manual-initialization
37+
Reaper.init(applicationContext)
38+
3439
val db = Room.databaseBuilder(
3540
applicationContext,
3641
HackerNewsDatabase::class.java,

android/gradle/libs.versions.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ sentry = "5.3.0"
2424
shapes = "1.0.1"
2525
datastore = "1.1.3"
2626
room = "2.6.1"
27+
startup = "1.2.0"
2728
jsoup = "1.19.1"
2829
extendedspans = "1.4.0"
2930
composeBom = "2025.02.00"
@@ -38,6 +39,7 @@ androidx-navigation = { group = "androidx.navigation", name = "navigation-compos
3839
androidx-browser = { group = "androidx.browser", name = "browser", version.ref = "browser" }
3940
androidx-shapes = { group = "androidx.graphics", name = "graphics-shapes", version.ref = "shapes" }
4041
androidx-datastore = { group = "androidx.datastore", name = "datastore-preferences", version.ref = "datastore" }
42+
androidx-startup = { group = "androidx.startup", name = "startup-runtime", version.ref = "startup" }
4143
androidx-room = { group = "androidx.room", name = "room-runtime", version.ref = "room" }
4244
androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" }
4345
androidx-room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "room" }

0 commit comments

Comments
 (0)