From cb0f7a0c1a51f1344905a0ad4b972bae147bb290 Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Mon, 19 Feb 2024 08:30:39 +0100 Subject: [PATCH 1/4] Added example content provider --- app/build.gradle | 4 +- app/src/main/AndroidManifest.xml | 5 ++ .../com/example/vu/android/MyApplication.java | 1 + .../vu/android/ThirdPartyContentProvider.java | 69 +++++++++++++++++++ 4 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/com/example/vu/android/ThirdPartyContentProvider.java diff --git a/app/build.gradle b/app/build.gradle index 51d87159..7ee6e338 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,7 +12,7 @@ buildscript { } plugins { - id "io.sentry.android.gradle" version "3.14.0" + id "io.sentry.android.gradle" version "4.3.0" } apply plugin: 'com.android.application' @@ -43,7 +43,7 @@ android { applicationId "com.example.vu.android" minSdkVersion 21 targetSdkVersion 29 - versionCode 43 + versionCode 44 versionName "2.10.4" externalNativeBuild { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5c11079f..599a2adb 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -87,6 +87,11 @@ android:value="true" /> + + diff --git a/app/src/main/java/com/example/vu/android/MyApplication.java b/app/src/main/java/com/example/vu/android/MyApplication.java index 8c69d34b..d6363416 100644 --- a/app/src/main/java/com/example/vu/android/MyApplication.java +++ b/app/src/main/java/com/example/vu/android/MyApplication.java @@ -70,6 +70,7 @@ public void onCreate() { ); options.setAttachThreads(true); + options.setEnablePerformanceV2(true); options.setBeforeSend((event, hint) -> { //Remove PII diff --git a/app/src/main/java/com/example/vu/android/ThirdPartyContentProvider.java b/app/src/main/java/com/example/vu/android/ThirdPartyContentProvider.java new file mode 100644 index 00000000..f8618ade --- /dev/null +++ b/app/src/main/java/com/example/vu/android/ThirdPartyContentProvider.java @@ -0,0 +1,69 @@ +package com.example.vu.android; + +import android.content.ContentProvider; +import android.content.ContentValues; +import android.database.Cursor; +import android.net.Uri; +import android.os.Build; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import java.io.File; +import java.io.FileWriter; +import java.util.Scanner; +import java.util.UUID; + +public class ThirdPartyContentProvider extends ContentProvider { + + /** @noinspection FieldCanBeLocal*/ + private static String installationIdentifier; + + @Override + public boolean onCreate() { + final int runs = BuildConfig.VERSION_CODE >= 44 ? 100000 : 100; + try { + final File installationFile = new File(getContext().getFilesDir(), "INSTALLATION-ID"); + final StringBuilder identifier = new StringBuilder(); + for (int i = 0; i < runs; i++) { + identifier.append(UUID.randomUUID().toString()); + } + installationIdentifier = identifier.toString(); + // write installationID to file + try (final FileWriter fw = new FileWriter(installationFile)) { + fw.write(installationIdentifier); + } + } catch (Exception e) { + // ignored + } + return true; + } + + @Nullable + @Override + public Cursor query(@NonNull Uri uri, @Nullable String[] projection, @Nullable String selection, @Nullable String[] selectionArgs, @Nullable String sortOrder) { + return null; + } + + @Nullable + @Override + public String getType(@NonNull Uri uri) { + return null; + } + + @Nullable + @Override + public Uri insert(@NonNull Uri uri, @Nullable ContentValues values) { + return null; + } + + @Override + public int delete(@NonNull Uri uri, @Nullable String selection, @Nullable String[] selectionArgs) { + return 0; + } + + @Override + public int update(@NonNull Uri uri, @Nullable ContentValues values, @Nullable String selection, @Nullable String[] selectionArgs) { + return 0; + } +} From fb01d7bf391f6ac4ef1dad93e7f568784afe3bff Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Mon, 19 Feb 2024 08:35:24 +0100 Subject: [PATCH 2/4] Undo version code switch --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 7ee6e338..ce051076 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -43,7 +43,7 @@ android { applicationId "com.example.vu.android" minSdkVersion 21 targetSdkVersion 29 - versionCode 44 + versionCode 43 versionName "2.10.4" externalNativeBuild { From 6d72d17b234aba8b9a01592d70a86470c8a25122 Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Wed, 21 Feb 2024 05:46:21 +0100 Subject: [PATCH 3/4] Enable app start profiling --- app/src/main/java/com/example/vu/android/MyApplication.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/com/example/vu/android/MyApplication.java b/app/src/main/java/com/example/vu/android/MyApplication.java index d6363416..3a932e1a 100644 --- a/app/src/main/java/com/example/vu/android/MyApplication.java +++ b/app/src/main/java/com/example/vu/android/MyApplication.java @@ -70,6 +70,7 @@ public void onCreate() { ); options.setAttachThreads(true); + options.setEnableAppStartProfiling(true); options.setEnablePerformanceV2(true); options.setBeforeSend((event, hint) -> { From e65fdaa35ddfd0a734623b857719cce623d65a75 Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Mon, 4 Mar 2024 16:11:42 +0100 Subject: [PATCH 4/4] Use latest sentry SDK version --- app/build.gradle | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index ce051076..dfc691c7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -121,6 +121,12 @@ sentry { debug = true includeSourceContext = true additionalSourceDirsForSourceContext = ["src/main/java"] + + autoInstallation { + enabled = true + sentryVersion = "7.5.0" + } + tracingInstrumentation { enabled = true logcat {