From a4107797faf0d791da030887cc36da767662b1fb Mon Sep 17 00:00:00 2001 From: Anton Afanasyeu Date: Tue, 19 May 2026 19:43:06 +0200 Subject: [PATCH] snap --- app/build.gradle | 1 + app/src/main/AndroidManifest.xml | 16 + .../com/foxx/androidcast/AppPreferences.java | 2 +- .../DeveloperSettingsActivity.java | 4 + .../foxx/androidcast/media/RgbToYuv420.java | 9 +- .../media/codec/LibvpxVideoEncoderSink.java | 126 +++-- .../foxx/androidcast/network/CastSession.java | 62 ++- .../androidcast/network/UdpCastTransport.java | 3 + .../receiver/ReceiverCastService.java | 36 +- .../receiver/ReceiverPlaybackActivity.java | 29 +- .../androidcast/receiver/ReceiverSession.java | 4 + .../androidcast/sender/CastFanoutPump.java | 12 +- .../foxx/androidcast/sender/CastSendPump.java | 8 + .../androidcast/sender/ScreenCastService.java | 15 +- .../stats/SessionEventJournal.java | 79 +++ .../stats/SessionStatsContext.java | 57 +++ .../stats/SessionStatsEventMapper.java | 44 ++ .../stats/SessionStatsRecorder.java | 82 ++- .../androidcast/stats/SessionStatsStore.java | 45 +- .../androidcast/stats/ui/ChartTickHelper.java | 79 +++ .../stats/ui/SessionBarChartView.java | 110 ++++ .../stats/ui/SessionLineChartView.java | 481 ++++++++++++++++++ .../androidcast/stats/ui/SessionRecord.java | 228 +++++++++ .../ui/SessionStatsAnalyzerActivity.java | 182 +++++++ .../stats/ui/SessionStatsListAdapter.java | 105 ++++ .../stats/ui/SessionStatsParser.java | 22 + .../layout/activity_developer_settings.xml | 9 +- .../activity_session_stats_analyzer.xml | 128 +++++ .../main/res/layout/item_session_stats.xml | 37 ++ app/src/main/res/values/strings.xml | 13 + app/src/main/res/xml/file_paths.xml | 4 + .../stats/SessionStatsEventMapperTest.java | 38 ++ .../stats/SessionStatsStoreTest.java | 28 + desktop/README.md | 2 +- .../foxx/androidcast/studio/ChartTicks.java | 79 +++ .../androidcast/studio/SessionChartPane.java | 468 +++++++++++++---- .../androidcast/studio/SessionDocument.java | 35 +- .../androidcast/studio/SessionStudioApp.java | 99 ++-- pull_stats.sh | 29 +- rebuild.sh | 46 +- 40 files changed, 2602 insertions(+), 254 deletions(-) create mode 100644 app/src/main/java/com/foxx/androidcast/stats/SessionEventJournal.java create mode 100644 app/src/main/java/com/foxx/androidcast/stats/SessionStatsContext.java create mode 100644 app/src/main/java/com/foxx/androidcast/stats/SessionStatsEventMapper.java create mode 100644 app/src/main/java/com/foxx/androidcast/stats/ui/ChartTickHelper.java create mode 100644 app/src/main/java/com/foxx/androidcast/stats/ui/SessionBarChartView.java create mode 100644 app/src/main/java/com/foxx/androidcast/stats/ui/SessionLineChartView.java create mode 100644 app/src/main/java/com/foxx/androidcast/stats/ui/SessionRecord.java create mode 100644 app/src/main/java/com/foxx/androidcast/stats/ui/SessionStatsAnalyzerActivity.java create mode 100644 app/src/main/java/com/foxx/androidcast/stats/ui/SessionStatsListAdapter.java create mode 100644 app/src/main/java/com/foxx/androidcast/stats/ui/SessionStatsParser.java create mode 100644 app/src/main/res/layout/activity_session_stats_analyzer.xml create mode 100644 app/src/main/res/layout/item_session_stats.xml create mode 100644 app/src/main/res/xml/file_paths.xml create mode 100644 app/src/test/java/com/foxx/androidcast/stats/SessionStatsEventMapperTest.java create mode 100644 desktop/session-studio/src/main/java/com/foxx/androidcast/studio/ChartTicks.java diff --git a/app/build.gradle b/app/build.gradle index 4d4aeb5..9b59889 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -93,6 +93,7 @@ dependencies { implementation 'androidx.appcompat:appcompat:1.7.0' implementation 'com.google.android.material:material:1.12.0' implementation 'androidx.constraintlayout:constraintlayout:2.2.0' + implementation 'androidx.recyclerview:recyclerview:1.3.2' implementation 'com.google.android.gms:play-services-cronet:18.1.0' testImplementation 'junit:junit:4.13.2' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e31e0a9..8ef1fb7 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,22 @@ android:label="@string/developer_settings_title" android:parentActivityName=".MainActivity" /> + + + + + +