From ee4947a3487f1b8437f008e809f96e41708af0cc Mon Sep 17 00:00:00 2001 From: Anton Afanasyeu Date: Wed, 20 May 2026 17:24:50 +0200 Subject: [PATCH] header update --- HEADER.txt | 26 +++ .../androidcast/ICastReceiverService.aidl | 7 +- .../foxx/androidcast/ICastSenderService.aidl | 7 +- .../foxx/androidcast/ICastStatusCallback.aidl | 7 +- .../androidcast/AndroidCastApplication.java | 7 +- .../com/foxx/androidcast/AppPreferences.java | 7 +- .../com/foxx/androidcast/CastActiveState.java | 7 +- .../foxx/androidcast/CastActivityTracker.java | 7 +- .../java/com/foxx/androidcast/CastConfig.java | 7 +- .../foxx/androidcast/CastLocaleHelper.java | 7 +- .../foxx/androidcast/CastNotifications.java | 7 +- .../com/foxx/androidcast/CastResolution.java | 7 +- .../com/foxx/androidcast/CastSettings.java | 7 +- .../androidcast/CastSettingsActivity.java | 7 +- .../foxx/androidcast/CastSettingsBinder.java | 7 +- .../androidcast/CastSettingsFragment.java | 7 +- .../com/foxx/androidcast/CastThemeHelper.java | 7 +- .../foxx/androidcast/CastTrayNotifier.java | 7 +- .../foxx/androidcast/CastTuningEngine.java | 7 +- .../DeveloperSettingsActivity.java | 7 +- .../java/com/foxx/androidcast/DeviceInfo.java | 7 +- .../foxx/androidcast/DrawerHostActivity.java | 7 +- .../com/foxx/androidcast/IntentExtras.java | 7 +- .../foxx/androidcast/LicensesActivity.java | 7 +- .../com/foxx/androidcast/MainActivity.java | 7 +- .../foxx/androidcast/PermissionHelper.java | 7 +- .../androidcast/PictureInPictureHelper.java | 7 +- .../java/com/foxx/androidcast/PinAuth.java | 7 +- .../foxx/androidcast/PlatformCastSupport.java | 7 +- .../java/com/foxx/androidcast/SettingsUi.java | 7 +- .../androidcast/TrayForegroundService.java | 7 +- .../androidcast/TrayNotificationReceiver.java | 7 +- .../com/foxx/androidcast/VersionInfo.java | 7 +- .../com/foxx/androidcast/VersionUtils.java | 7 +- .../androidcast/crash/CrashNativeBridge.java | 7 +- .../androidcast/crash/CrashReportBuilder.java | 7 +- .../androidcast/crash/CrashReportStore.java | 7 +- .../foxx/androidcast/crash/CrashReporter.java | 7 +- .../foxx/androidcast/crash/CrashSettings.java | 7 +- .../androidcast/crash/CrashSettingsStore.java | 7 +- .../androidcast/crash/CrashUploadClient.java | 7 +- .../crash/CrashWatcherService.java | 7 +- .../diagnostics/CastDiagnosticsFormatter.java | 7 +- .../diagnostics/CastDiagnosticsLabels.java | 7 +- .../diagnostics/CastDiagnosticsScorer.java | 7 +- .../diagnostics/CastMtuSampler.java | 7 +- .../diagnostics/CpuLoadSampler.java | 7 +- .../discovery/DiscoveryManager.java | 7 +- .../discovery/DiscoverySelfFilter.java | 7 +- .../discovery/NsdCastDiscovery.java | 7 +- .../discovery/PinnedReceiversStore.java | 7 +- .../discovery/ReceiverCompatibility.java | 7 +- .../foxx/androidcast/media/AacAdtsHelper.java | 7 +- .../androidcast/media/CodecNegotiator.java | 7 +- .../media/CodecPriorityCatalog.java | 7 +- .../androidcast/media/CodecPriorityId.java | 7 +- .../com/foxx/androidcast/media/CodecTier.java | 7 +- .../androidcast/media/EncodedStreamProbe.java | 7 +- .../foxx/androidcast/media/H264Bitstream.java | 7 +- .../foxx/androidcast/media/H264SpsParser.java | 7 +- .../androidcast/media/PcmLevelAnalyzer.java | 7 +- .../com/foxx/androidcast/media/RgbToNv21.java | 7 +- .../foxx/androidcast/media/RgbToYuv420.java | 7 +- .../media/StreamDimensionResolver.java | 7 +- .../media/codec/AudioCodecBackend.java | 7 +- .../media/codec/AudioCodecFactory.java | 7 +- .../media/codec/AudioEncoderSink.java | 7 +- .../media/codec/CodecSessionRegistry.java | 7 +- .../codec/LibvpxCapableVideoDecoder.java | 7 +- .../media/codec/LibvpxVideoEncoderSink.java | 7 +- .../codec/PassthroughAudioEncoderSink.java | 7 +- .../media/codec/PassthroughCodecPolicy.java | 7 +- .../codec/PassthroughVideoEncoderSink.java | 7 +- .../media/codec/VideoCodecBackend.java | 7 +- .../media/codec/VideoCodecFactory.java | 7 +- .../media/codec/VideoDecoderFactory.java | 7 +- .../media/codec/VideoDecoderSink.java | 7 +- .../media/codec/VideoEncoderSink.java | 7 +- .../media/codec/jni/NativeCodecBridge.java | 7 +- .../media/codec/jni/VpxEncodedFrame.java | 7 +- .../androidcast/network/CastCodecFlags.java | 7 +- .../network/CastFramingContext.java | 7 +- .../androidcast/network/CastPacketFramer.java | 7 +- .../androidcast/network/CastProtoHeader.java | 7 +- .../androidcast/network/CastProtocol.java | 7 +- .../foxx/androidcast/network/CastSession.java | 7 +- .../androidcast/network/CastSessionGate.java | 7 +- .../androidcast/network/CastTransport.java | 7 +- .../network/CastTransportFactory.java | 7 +- .../androidcast/network/TcpCastTransport.java | 7 +- .../androidcast/network/UdpCastTransport.java | 7 +- .../network/control/NetworkControlAdvice.java | 7 +- .../network/control/NetworkControlPlane.java | 7 +- .../control/NetworkFeedbackManager.java | 7 +- .../network/control/NetworkStatsSnapshot.java | 7 +- .../PassThroughNetworkControlPlane.java | 7 +- .../network/quic/CronetEngineProvider.java | 7 +- .../network/quic/QuicCronetCastTransport.java | 7 +- .../transport/CombinedProtectionEngine.java | 7 +- .../transport/FecProtectionEngine.java | 7 +- .../transport/NackProtectionEngine.java | 7 +- .../network/transport/NackRateLimiter.java | 7 +- .../ProtectionNegotiationPrompts.java | 7 +- .../network/transport/RetransmitCache.java | 7 +- .../transport/StreamProtectionCapability.java | 7 +- .../transport/StreamProtectionCompat.java | 7 +- .../transport/StreamProtectionEngine.java | 7 +- .../transport/StreamProtectionFactory.java | 7 +- .../transport/StreamProtectionMode.java | 7 +- .../StreamProtectionNegotiation.java | 7 +- .../transport/StreamProtectionNegotiator.java | 7 +- .../transport/StreamProtectionScopes.java | 7 +- .../network/transport/TransportLossStats.java | 7 +- .../transport/TransportLossStatsBridge.java | 7 +- .../transport/TransportStatsProvider.java | 7 +- .../transport/fec/FecEncodedGroup.java | 7 +- .../transport/fec/FecShardReassembly.java | 7 +- .../network/transport/fec/FecShardWire.java | 7 +- .../network/transport/fec/GaloisField.java | 7 +- .../transport/fec/ProtectionEnvelope.java | 7 +- .../network/transport/fec/ReedSolomonFec.java | 7 +- .../network/webrtc/WebRtcCastTransport.java | 7 +- .../network/webrtc/WebRtcPeerAdapter.java | 7 +- .../webrtc/WebRtcTransportFactory.java | 7 +- .../foxx/androidcast/ota/OtaApkInstaller.java | 7 +- .../androidcast/ota/OtaBundleInstaller.java | 8 +- .../androidcast/ota/OtaChannelPointer.java | 7 +- .../foxx/androidcast/ota/OtaJsonFetch.java | 7 +- .../com/foxx/androidcast/ota/OtaManifest.java | 7 +- .../foxx/androidcast/ota/OtaMqttFetch.java | 7 +- .../androidcast/ota/OtaRuntimeSettings.java | 7 +- .../androidcast/ota/OtaSettingsStore.java | 7 +- .../foxx/androidcast/ota/OtaSignBundle.java | 7 +- .../androidcast/ota/OtaUpdateChecker.java | 7 +- .../androidcast/ota/OtaUpdateCoordinator.java | 7 +- .../androidcast/ota/OtaUpdateService.java | 7 +- .../com/foxx/androidcast/ota/OtaVersion.java | 7 +- .../androidcast/receiver/AudioDecoder.java | 7 +- .../receiver/LibvpxVideoDecoder.java | 7 +- .../receiver/PlaybackViewState.java | 7 +- .../receiver/ReceiverActivity.java | 7 +- .../receiver/ReceiverCastService.java | 7 +- .../receiver/ReceiverPlaybackActivity.java | 7 +- .../androidcast/receiver/ReceiverPrefs.java | 7 +- .../androidcast/receiver/ReceiverSession.java | 7 +- .../androidcast/receiver/StreamMetrics.java | 7 +- .../androidcast/receiver/VideoDecoder.java | 7 +- .../foxx/androidcast/sender/AudioCapture.java | 7 +- .../foxx/androidcast/sender/AudioEncoder.java | 7 +- .../androidcast/sender/CastFanoutPump.java | 7 +- .../sender/CastReceiverTarget.java | 7 +- .../foxx/androidcast/sender/CastSendPump.java | 7 +- .../foxx/androidcast/sender/CodecCatalog.java | 7 +- .../androidcast/sender/DeviceListAdapter.java | 7 +- .../androidcast/sender/EncoderKeepalive.java | 7 +- .../sender/MultiCastCoordinator.java | 7 +- .../androidcast/sender/ScreenCastService.java | 7 +- .../androidcast/sender/SenderActivity.java | 7 +- .../sender/SenderAudioMetrics.java | 7 +- .../sender/SenderCapturePreview.java | 7 +- .../sender/SenderPreviewService.java | 7 +- .../sender/SenderScreenPreview.java | 7 +- .../sender/SenderStreamMetrics.java | 7 +- .../foxx/androidcast/sender/VideoEncoder.java | 7 +- .../calibration/CalibrationCastDriver.java | 7 +- .../calibration/CalibrationEglRenderer.java | 7 +- .../CalibrationSourceDimensions.java | 7 +- .../calibration/TvCalibrationGenerator.java | 7 +- .../sender/camera/CameraCastCapture.java | 7 +- .../androidcast/settings/AppSettingsJson.java | 7 +- .../stats/SessionEventJournal.java | 7 +- .../stats/SessionStatsContext.java | 7 +- .../stats/SessionStatsEventMapper.java | 7 +- .../stats/SessionStatsRecorder.java | 7 +- .../androidcast/stats/SessionStatsStore.java | 7 +- .../androidcast/stats/ui/ChartTickHelper.java | 7 +- .../stats/ui/SessionBarChartView.java | 7 +- .../stats/ui/SessionLineChartView.java | 7 +- .../androidcast/stats/ui/SessionRecord.java | 7 +- .../ui/SessionStatsAnalyzerActivity.java | 7 +- .../stats/ui/SessionStatsListAdapter.java | 7 +- .../stats/ui/SessionStatsParser.java | 7 +- .../ui/AspectRatioFrameLayout.java | 7 +- .../ui/PlaybackTextureTransform.java | 7 +- .../androidcast/ui/SettingsEnumSpinner.java | 7 +- .../ui/SettingsScoredArrayAdapter.java | 7 +- .../ui/SettingsSpinnerDropdownStyle.java | 7 +- .../ui/SettingsStringArrayAdapter.java | 7 +- .../foxx/androidcast/ui/ZoomPanContainer.java | 7 +- .../util/CastBackgroundExecutor.java | 7 +- .../foxx/androidcast/CastResolutionTest.java | 7 +- .../diagnostics/CastMtuSamplerTest.java | 7 +- .../discovery/DiscoverySelfFilterTest.java | 7 +- .../media/EncodedStreamProbeTest.java | 7 +- .../media/H264BitstreamHevcTest.java | 7 +- .../foxx/androidcast/media/RgbToNv21Test.java | 7 +- .../androidcast/media/RgbToYuv420Test.java | 7 +- .../network/CastProtoHeaderTest.java | 7 +- .../network/CastSessionGateTest.java | 7 +- .../UdpCastTransportBackwardCompatTest.java | 7 +- .../network/UdpCastTransportFecTest.java | 7 +- .../FecProtectionEngineShardTest.java | 7 +- .../transport/NackRateLimiterTest.java | 7 +- .../transport/StreamProtectionCompatTest.java | 7 +- .../StreamProtectionFactoryTest.java | 7 +- .../StreamProtectionNegotiatorTest.java | 7 +- .../transport/fec/FecShardReassemblyTest.java | 7 +- .../transport/fec/FecShardWireTest.java | 7 +- .../transport/fec/ReedSolomonFecTest.java | 7 +- .../androidcast/ota/OtaApkInstallerTest.java | 7 +- .../ota/OtaBundleInstallerTest.java | 8 +- .../foxx/androidcast/ota/OtaManifestTest.java | 7 +- .../foxx/androidcast/ota/OtaVersionTest.java | 7 +- .../CalibrationSourceDimensionsTest.java | 7 +- .../stats/SessionStatsEventMapperTest.java | 7 +- .../stats/SessionStatsStoreTest.java | 7 +- .../ui/PlaybackTextureTransformTest.java | 7 +- .../foxx/androidcast/studio/ChartTicks.java | 7 +- .../androidcast/studio/SessionChartPane.java | 7 +- .../androidcast/studio/SessionDocument.java | 7 +- .../androidcast/studio/SessionStudioApp.java | 7 +- .../backend/config/config.example.php | 14 +- .../crash_reporter/backend/config/config.php | 14 +- .../backend/public/api/upload.php | 14 +- .../crash_reporter/backend/public/index.php | 14 +- examples/crash_reporter/backend/src/Auth.php | 14 +- .../crash_reporter/backend/src/Database.php | 14 +- .../backend/src/ReportRepository.php | 14 +- .../crash_reporter/backend/src/bootstrap.php | 14 +- .../crash_reporter/backend/views/layout.php | 16 +- .../crash_reporter/backend/views/login.php | 16 +- .../backend/views/report_detail.php | 14 +- ndk/jni/androidcast_codecs.c | 7 +- ndk/jni/crash_hook.c | 7 +- ndk/jni/libvpx_bridge.c | 7 +- ndk/jni/opus_bridge.c | 7 +- ndk/jni/speex_bridge.c | 7 +- scripts/header-pre-commit.py | 4 + scripts/header_lib.py | 191 +++++++++++++++--- scripts/install-git-hooks.sh | 6 +- scripts/test_header_lib.py | 35 +++- 241 files changed, 1214 insertions(+), 783 deletions(-) diff --git a/HEADER.txt b/HEADER.txt index 4ddf7f2..f78fe17 100644 --- a/HEADER.txt +++ b/HEADER.txt @@ -7,6 +7,10 @@ Install git hooks: `./scripts/install-git-hooks.sh` Excluded paths: `third-party/` and build/vendor dirs are never modified. +Hooks (only **staged** / **committed** sources are touched; third-party/ is skipped): + pre-commit — Created/Updated/Contributors/Digest for staged files; preserves Commit line + post-commit — sets `Commit: ` on files in HEAD, then `git commit --amend --no-edit` + Pre-commit contributor (email auto-filled from git when missing): export HEADER_CONTRIBUTOR="Your Name" # adds git user.email export HEADER_CONTRIBUTOR="Name " # used as-is @@ -24,6 +28,8 @@ __DATE_PLACEHOLDER__ First commit time (human-readable + timezone) __UPDATE_DATE_PLACEHOLDER__ Last change time; pre-commit refreshes on staged edits +__COMMIT_PLACEHOLDER__ Git commit SHA for this revision (post-commit hook; not in Digest) + __CONTRIBUTOR__ `Name ` when known (git log/config); else `Name` __CLASS_NAME_PLACEHOLDER__ ` * class Foo` / interface / enum — omitted if none @@ -34,6 +40,25 @@ __CONTRIBUTORS_LIST_PLACEHOLDER__ __DIGEST__ `Digest: SHA256\t` of file without this line; omitted if N/A +Example (PHP) +------------- + + * Commit: abcdef1234567890... + * Contributors: + * - Name (1 commits, 10 lines) + * - Cursor Agent (project assistant) + * Digest: SHA256 abc123... + */ +declare(strict_types=1); + +Pure PHP keeps a single after the comment, then HTML/markup. + Example (Java) -------------- package com.foxx.androidcast; @@ -42,6 +67,7 @@ package com.foxx.androidcast; * MainActivity.java * Created at: Wed 20 May 2026 12:00:00 +0300 * Updated at: Wed 20 May 2026 15:00:00 +0300 by Anton Afanasyeu + * Commit: abcdef1234567890... * class MainActivity * Contributors: * - Anton Afanasyeu (29 commits, 120 lines) diff --git a/app/src/main/aidl/com/foxx/androidcast/ICastReceiverService.aidl b/app/src/main/aidl/com/foxx/androidcast/ICastReceiverService.aidl index 607bbbc..127e8e4 100644 --- a/app/src/main/aidl/com/foxx/androidcast/ICastReceiverService.aidl +++ b/app/src/main/aidl/com/foxx/androidcast/ICastReceiverService.aidl @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * ICastReceiverService.aidl * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Fri 15 May 2026 18:17:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * interface ICastReceiverService * Contributors: - * - Anton Afanasyeu (2 commits, 14 lines) + * - Anton Afanasyeu (3 commits, 21 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 88566955bdbfa52d22a0c96b775ac5faf26e11d351914146475c3f8eb346a463 + * Digest: SHA256 5278376b29382d69a4fc6a96fb3401ec6aa4b483032b1795c980c2459ec80056 **********************************************************************/ import com.foxx.androidcast.ICastStatusCallback; import android.view.Surface; diff --git a/app/src/main/aidl/com/foxx/androidcast/ICastSenderService.aidl b/app/src/main/aidl/com/foxx/androidcast/ICastSenderService.aidl index e10ec7c..94257fa 100644 --- a/app/src/main/aidl/com/foxx/androidcast/ICastSenderService.aidl +++ b/app/src/main/aidl/com/foxx/androidcast/ICastSenderService.aidl @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * ICastSenderService.aidl * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Fri 15 May 2026 16:49:02 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * interface ICastSenderService * Contributors: - * - Anton Afanasyeu (1 commits, 11 lines) + * - Anton Afanasyeu (2 commits, 18 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 d21d4abd6566c2426c9b3576ae9182945600ed96bc3fcee9f8671f8500e5e92a + * Digest: SHA256 dc6a75c0ba810028101d06a6506b4e2ca0236f27172b80ee8d98f430b2bd1bc4 **********************************************************************/ import com.foxx.androidcast.ICastStatusCallback; diff --git a/app/src/main/aidl/com/foxx/androidcast/ICastStatusCallback.aidl b/app/src/main/aidl/com/foxx/androidcast/ICastStatusCallback.aidl index 732c429..67b88cd 100644 --- a/app/src/main/aidl/com/foxx/androidcast/ICastStatusCallback.aidl +++ b/app/src/main/aidl/com/foxx/androidcast/ICastStatusCallback.aidl @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * ICastStatusCallback.aidl * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Fri 15 May 2026 18:17:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * interface ICastStatusCallback * Contributors: - * - Anton Afanasyeu (3 commits, 10 lines) + * - Anton Afanasyeu (4 commits, 17 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 69ff616c65c49755706cd64afa54adf44361b35e922040e0ae26c407cb0d80a3 + * Digest: SHA256 79f92d714d03f17af1c4b83280397518976e2fe3f4c4940de60faf655243dd5a **********************************************************************/ interface ICastStatusCallback { void onStatus(String status); diff --git a/app/src/main/java/com/foxx/androidcast/AndroidCastApplication.java b/app/src/main/java/com/foxx/androidcast/AndroidCastApplication.java index d544d38..2cc057e 100644 --- a/app/src/main/java/com/foxx/androidcast/AndroidCastApplication.java +++ b/app/src/main/java/com/foxx/androidcast/AndroidCastApplication.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * AndroidCastApplication.java * Created at: Sun 17 May 2026 18:17:14 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class AndroidCastApplication * Contributors: - * - Anton Afanasyeu (5 commits, 27 lines) + * - Anton Afanasyeu (6 commits, 34 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 a776bd2da0db2d4424d2c82b29f4064e8b92057bb4a2cc244fd06a9bd691f074 + * Digest: SHA256 c6ffb05899adbbdc35c27a4048643990b8f2d162583777745b968b7e62189070 **********************************************************************/ import android.app.Application; import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/AppPreferences.java b/app/src/main/java/com/foxx/androidcast/AppPreferences.java index 88d567e..c20b13f 100644 --- a/app/src/main/java/com/foxx/androidcast/AppPreferences.java +++ b/app/src/main/java/com/foxx/androidcast/AppPreferences.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * AppPreferences.java * Created at: Sun 17 May 2026 18:17:14 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class AppPreferences * Contributors: - * - Anton Afanasyeu (9 commits, 342 lines) + * - Anton Afanasyeu (10 commits, 349 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 de97a9c6873e1016c993666f53e2a9d3ff32efd3bb320a1551a723fb52c017de + * Digest: SHA256 86ebfc1c70fdfd77db43accfd8ffd2f77d080c321852157a25b9dcedcf806a8b **********************************************************************/ import android.content.Context; import android.content.SharedPreferences; diff --git a/app/src/main/java/com/foxx/androidcast/CastActiveState.java b/app/src/main/java/com/foxx/androidcast/CastActiveState.java index 55eb7b2..71b7024 100644 --- a/app/src/main/java/com/foxx/androidcast/CastActiveState.java +++ b/app/src/main/java/com/foxx/androidcast/CastActiveState.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * CastActiveState.java * Created at: Sat 16 May 2026 13:35:48 +0200 - * Updated at: Sun 17 May 2026 18:17:14 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastActiveState * Contributors: - * - Anton Afanasyeu (2 commits, 27 lines) + * - Anton Afanasyeu (3 commits, 34 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 162f2f231fa3493dced21a6251e718ee20d457ed8b60b9a4d1b6f5b62ed3c19a + * Digest: SHA256 eeb5dc6633d096a40bdb9e6b70e4085e0b4f475882dff24b2b8d05331fe67f68 **********************************************************************/ import java.util.concurrent.atomic.AtomicBoolean; diff --git a/app/src/main/java/com/foxx/androidcast/CastActivityTracker.java b/app/src/main/java/com/foxx/androidcast/CastActivityTracker.java index 0ff4ca9..6c1a626 100644 --- a/app/src/main/java/com/foxx/androidcast/CastActivityTracker.java +++ b/app/src/main/java/com/foxx/androidcast/CastActivityTracker.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * CastActivityTracker.java * Created at: Sun 17 May 2026 18:17:14 +0200 - * Updated at: Sun 17 May 2026 18:17:14 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastActivityTracker * Contributors: - * - Anton Afanasyeu (1 commits, 28 lines) + * - Anton Afanasyeu (2 commits, 35 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 666c3a5e9fc163616e6f43876c422dec735c496df4abf24a8f97ec526e8e27ec + * Digest: SHA256 e7007416d4f7ce75f65c74e0bb2ccf13b30a468a01a47827487a68fe980a93ce **********************************************************************/ import android.app.Activity; import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/CastConfig.java b/app/src/main/java/com/foxx/androidcast/CastConfig.java index 21ba256..318bca1 100644 --- a/app/src/main/java/com/foxx/androidcast/CastConfig.java +++ b/app/src/main/java/com/foxx/androidcast/CastConfig.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * CastConfig.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Mon 18 May 2026 17:46:19 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastConfig * Contributors: - * - Anton Afanasyeu (10 commits, 73 lines) + * - Anton Afanasyeu (11 commits, 80 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 2d04955cd4438be616e4f551cbc7e148d0bc652469af48e4ecd027c49d4cf5b0 + * Digest: SHA256 46ab864bc4474c49c7e832578a1559f20f1fbb8365b87f77425bc8d53129729c **********************************************************************/ /** Shared constants for the LAN cast POC. */ public final class CastConfig { diff --git a/app/src/main/java/com/foxx/androidcast/CastLocaleHelper.java b/app/src/main/java/com/foxx/androidcast/CastLocaleHelper.java index 5aee5fb..7e96ad0 100644 --- a/app/src/main/java/com/foxx/androidcast/CastLocaleHelper.java +++ b/app/src/main/java/com/foxx/androidcast/CastLocaleHelper.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * CastLocaleHelper.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastLocaleHelper * Contributors: - * - Anton Afanasyeu (1 commits, 79 lines) + * - Anton Afanasyeu (2 commits, 86 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 d81acbee4562d0a5b236d0d04a9f98718684a43114f4aae298c68794e87ce4c9 + * Digest: SHA256 6945cf0b617565a368eaf89b22484f82f07cdd9422fbccc6dabbe169f3b1bd6e **********************************************************************/ import android.content.Context; import android.content.res.Configuration; diff --git a/app/src/main/java/com/foxx/androidcast/CastNotifications.java b/app/src/main/java/com/foxx/androidcast/CastNotifications.java index 834a9cc..962ddff 100644 --- a/app/src/main/java/com/foxx/androidcast/CastNotifications.java +++ b/app/src/main/java/com/foxx/androidcast/CastNotifications.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * CastNotifications.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Sun 17 May 2026 18:17:14 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastNotifications * Contributors: - * - Anton Afanasyeu (2 commits, 61 lines) + * - Anton Afanasyeu (3 commits, 68 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 608d748fe3cfc2a1f998235071603f746a55708f0eebb5eacb5612ae2c0f26ab + * Digest: SHA256 80a4c9129979483b88fd61c08595abf0cccda2057155620e1a5a9bafec97641e **********************************************************************/ import android.app.Notification; import android.app.NotificationChannel; diff --git a/app/src/main/java/com/foxx/androidcast/CastResolution.java b/app/src/main/java/com/foxx/androidcast/CastResolution.java index 0835073..9d1c7f0 100644 --- a/app/src/main/java/com/foxx/androidcast/CastResolution.java +++ b/app/src/main/java/com/foxx/androidcast/CastResolution.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * CastResolution.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Sun 17 May 2026 15:45:19 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastResolution * Contributors: - * - Anton Afanasyeu (5 commits, 80 lines) + * - Anton Afanasyeu (6 commits, 87 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 258d94f85dcb71db5f559485e4e9bce64ad07521ed0e811486385f2b43357daf + * Digest: SHA256 447a38e8faae8e49ab2215056114497ba9f1d65c0a117a91582865661d7c3687 **********************************************************************/ import android.content.Context; import android.util.DisplayMetrics; diff --git a/app/src/main/java/com/foxx/androidcast/CastSettings.java b/app/src/main/java/com/foxx/androidcast/CastSettings.java index 189ceaf..30ca23e 100644 --- a/app/src/main/java/com/foxx/androidcast/CastSettings.java +++ b/app/src/main/java/com/foxx/androidcast/CastSettings.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * CastSettings.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastSettings * Contributors: - * - Anton Afanasyeu (8 commits, 286 lines) + * - Anton Afanasyeu (9 commits, 293 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 b3ffcc1bc5f0661330560c154e22c8012ceb49dac84e1fbb200dcafb3a34b91b + * Digest: SHA256 f505c9e26b14289d81453dde3bfc161af9a37ec38d04f158f1bea928410ce3ff **********************************************************************/ import java.io.Serializable; diff --git a/app/src/main/java/com/foxx/androidcast/CastSettingsActivity.java b/app/src/main/java/com/foxx/androidcast/CastSettingsActivity.java index 2819a09..bdd8a3e 100644 --- a/app/src/main/java/com/foxx/androidcast/CastSettingsActivity.java +++ b/app/src/main/java/com/foxx/androidcast/CastSettingsActivity.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * CastSettingsActivity.java * Created at: Sun 17 May 2026 18:17:14 +0200 - * Updated at: Sun 17 May 2026 18:17:14 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastSettingsActivity * Contributors: - * - Anton Afanasyeu (1 commits, 66 lines) + * - Anton Afanasyeu (2 commits, 73 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 fe2993f5af3fe9225b29bbd697b1db76b184436209946aaa71411c218b609ccc + * Digest: SHA256 1d58e0ba44d2692f0f925163c929f836de05cd995fe631bf9f9777a46238ebff **********************************************************************/ import android.os.Bundle; import android.widget.CheckBox; diff --git a/app/src/main/java/com/foxx/androidcast/CastSettingsBinder.java b/app/src/main/java/com/foxx/androidcast/CastSettingsBinder.java index 91fd1b2..86bf2c8 100644 --- a/app/src/main/java/com/foxx/androidcast/CastSettingsBinder.java +++ b/app/src/main/java/com/foxx/androidcast/CastSettingsBinder.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * CastSettingsBinder.java * Created at: Sun 17 May 2026 18:17:14 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastSettingsBinder * Contributors: - * - Anton Afanasyeu (7 commits, 643 lines) + * - Anton Afanasyeu (8 commits, 650 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 8d36d0b6baf281da92e6e3e170659a029668ce0147054664e38af527937878ac + * Digest: SHA256 b42fba669987d4b76f8eef0405456807674d0790194862a921dc1aab8380b1d2 **********************************************************************/ import android.os.Build; import android.view.View; diff --git a/app/src/main/java/com/foxx/androidcast/CastSettingsFragment.java b/app/src/main/java/com/foxx/androidcast/CastSettingsFragment.java index 6d0df59..21099a8 100644 --- a/app/src/main/java/com/foxx/androidcast/CastSettingsFragment.java +++ b/app/src/main/java/com/foxx/androidcast/CastSettingsFragment.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * CastSettingsFragment.java * Created at: Sun 17 May 2026 18:17:14 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastSettingsFragment * Contributors: - * - Anton Afanasyeu (5 commits, 220 lines) + * - Anton Afanasyeu (6 commits, 227 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 bdb83325aaa0a2935a62b957ba60b887758b8f74dd2c26e764932e03c03d43ea + * Digest: SHA256 cd27b0c2a7b01463d09e249600dd4f9c71c4791dee07eba2944f67e89a19491b **********************************************************************/ import android.content.Intent; import android.os.Bundle; diff --git a/app/src/main/java/com/foxx/androidcast/CastThemeHelper.java b/app/src/main/java/com/foxx/androidcast/CastThemeHelper.java index d2c117e..daba777 100644 --- a/app/src/main/java/com/foxx/androidcast/CastThemeHelper.java +++ b/app/src/main/java/com/foxx/androidcast/CastThemeHelper.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * CastThemeHelper.java * Created at: Sun 17 May 2026 18:17:14 +0200 - * Updated at: Sun 17 May 2026 18:17:14 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastThemeHelper * Contributors: - * - Anton Afanasyeu (1 commits, 57 lines) + * - Anton Afanasyeu (2 commits, 64 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 cbd287ffcbfc3e18a0338a9c283c0539353f49eb8b0c45dc9c5179dc5be15b98 + * Digest: SHA256 4dbc0e930b62735a65a2f278bc3b0164948feb338e9eb3d0d516eca92515339f **********************************************************************/ import android.app.Activity; import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/CastTrayNotifier.java b/app/src/main/java/com/foxx/androidcast/CastTrayNotifier.java index b2134c9..82a0e36 100644 --- a/app/src/main/java/com/foxx/androidcast/CastTrayNotifier.java +++ b/app/src/main/java/com/foxx/androidcast/CastTrayNotifier.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * CastTrayNotifier.java * Created at: Sun 17 May 2026 18:17:14 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastTrayNotifier * Contributors: - * - Anton Afanasyeu (2 commits, 149 lines) + * - Anton Afanasyeu (3 commits, 156 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 4496d64128580bad13998e7edb8952d30711c276a289f9ed0444abf5d76b2de1 + * Digest: SHA256 292d7f278b9726120e113e803105641b313de93e2efa129dd3af428d1aa68033 **********************************************************************/ import android.app.Notification; import android.app.NotificationChannel; diff --git a/app/src/main/java/com/foxx/androidcast/CastTuningEngine.java b/app/src/main/java/com/foxx/androidcast/CastTuningEngine.java index 80f4cf0..74c482a 100644 --- a/app/src/main/java/com/foxx/androidcast/CastTuningEngine.java +++ b/app/src/main/java/com/foxx/androidcast/CastTuningEngine.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * CastTuningEngine.java * Created at: Fri 15 May 2026 20:37:44 +0200 - * Updated at: Fri 15 May 2026 20:37:44 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastTuningEngine * Contributors: - * - Anton Afanasyeu (1 commits, 173 lines) + * - Anton Afanasyeu (2 commits, 180 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 af2a1d1fde9538e312542d79d3b83d504a770bfe20af852f9c3c6124a13b0dc7 + * Digest: SHA256 fd7ab546e1d7cbf75ad2f827d9ee46c291cf966f6cbd7b5d7da7ff36203ce8b8 **********************************************************************/ import com.foxx.androidcast.network.control.NetworkStatsSnapshot; diff --git a/app/src/main/java/com/foxx/androidcast/DeveloperSettingsActivity.java b/app/src/main/java/com/foxx/androidcast/DeveloperSettingsActivity.java index a180ea1..45770cd 100644 --- a/app/src/main/java/com/foxx/androidcast/DeveloperSettingsActivity.java +++ b/app/src/main/java/com/foxx/androidcast/DeveloperSettingsActivity.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * DeveloperSettingsActivity.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class DeveloperSettingsActivity * Contributors: - * - Anton Afanasyeu (6 commits, 122 lines) + * - Anton Afanasyeu (7 commits, 129 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 b4348356125b69d00896848a2442c06bb4f0b39806d4f4ada56aee212820c32a + * Digest: SHA256 e8bf7419bf18028236c0e55eba2aefb055a7b9d5dd91b0fe32b9c4d185aaa1cb **********************************************************************/ import android.content.Context; import android.os.Bundle; diff --git a/app/src/main/java/com/foxx/androidcast/DeviceInfo.java b/app/src/main/java/com/foxx/androidcast/DeviceInfo.java index d8f6d66..c8c3706 100644 --- a/app/src/main/java/com/foxx/androidcast/DeviceInfo.java +++ b/app/src/main/java/com/foxx/androidcast/DeviceInfo.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * DeviceInfo.java * Created at: Sat 16 May 2026 13:35:48 +0200 - * Updated at: Sat 16 May 2026 13:35:48 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class DeviceInfo * Contributors: - * - Anton Afanasyeu (1 commits, 128 lines) + * - Anton Afanasyeu (2 commits, 135 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 51194b9f608a719dc9bd302ce6a44971c17897388ff50e14c3c0ea9bb31b3b1c + * Digest: SHA256 b71e7b9724e505fccce802ab5ea188575fbbb3e33d978f19dcbc5a11e1b8dacb **********************************************************************/ import android.content.Context; import android.content.SharedPreferences; diff --git a/app/src/main/java/com/foxx/androidcast/DrawerHostActivity.java b/app/src/main/java/com/foxx/androidcast/DrawerHostActivity.java index cf61c70..142bbc1 100644 --- a/app/src/main/java/com/foxx/androidcast/DrawerHostActivity.java +++ b/app/src/main/java/com/foxx/androidcast/DrawerHostActivity.java @@ -3,11 +3,12 @@ package com.foxx.androidcast; /********************************************************************* * DrawerHostActivity.java * Created at: Sun 17 May 2026 18:17:14 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (2 commits, 121 lines) + * - Anton Afanasyeu (3 commits, 127 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 3ddccb5d9ed03e2efea6cd7cfa2737b0b2023641d342d79a17fb904c4c897624 + * Digest: SHA256 e92beee804af837a428b8585f08940622843118e465cb20652c06d90785ef2d9 **********************************************************************/ import android.content.Context; import android.os.Bundle; diff --git a/app/src/main/java/com/foxx/androidcast/IntentExtras.java b/app/src/main/java/com/foxx/androidcast/IntentExtras.java index 0234583..736416c 100644 --- a/app/src/main/java/com/foxx/androidcast/IntentExtras.java +++ b/app/src/main/java/com/foxx/androidcast/IntentExtras.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * IntentExtras.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Sat 16 May 2026 13:35:48 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class IntentExtras * Contributors: - * - Anton Afanasyeu (2 commits, 44 lines) + * - Anton Afanasyeu (3 commits, 51 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 dee5835845935935951d0c5e1424234e16f63fe76ed0d320c2d066e79eb65fcd + * Digest: SHA256 19f9b1ab3e5b3ce7eb7623e31f52e5a116a4cde8c0a58da6e3c320e807bb6b8a **********************************************************************/ import android.content.Intent; import android.os.Build; diff --git a/app/src/main/java/com/foxx/androidcast/LicensesActivity.java b/app/src/main/java/com/foxx/androidcast/LicensesActivity.java index e186134..bf074bc 100644 --- a/app/src/main/java/com/foxx/androidcast/LicensesActivity.java +++ b/app/src/main/java/com/foxx/androidcast/LicensesActivity.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * LicensesActivity.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class LicensesActivity * Contributors: - * - Anton Afanasyeu (1 commits, 43 lines) + * - Anton Afanasyeu (2 commits, 50 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 935ebef063f54f3a589ddea64d016e1601ec97d100901a17fea11c4024c1547c + * Digest: SHA256 72a98b360bec090e011d284c520b22c97f8868107bb7fdda60be226835f2d3b0 **********************************************************************/ import android.os.Bundle; import android.widget.Button; diff --git a/app/src/main/java/com/foxx/androidcast/MainActivity.java b/app/src/main/java/com/foxx/androidcast/MainActivity.java index 7eae66b..e50a103 100644 --- a/app/src/main/java/com/foxx/androidcast/MainActivity.java +++ b/app/src/main/java/com/foxx/androidcast/MainActivity.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * MainActivity.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class MainActivity * Contributors: - * - Anton Afanasyeu (6 commits, 90 lines) + * - Anton Afanasyeu (7 commits, 97 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 07ddc304d47be2b05e4a33a0f201ede2b8d7b8c7feeebba7004aa50d785d915f + * Digest: SHA256 c8972fea6ecc9a1dafb049d3acb1b2a3214e6d407444d6d48f216bb16a588d70 **********************************************************************/ import android.content.BroadcastReceiver; import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/PermissionHelper.java b/app/src/main/java/com/foxx/androidcast/PermissionHelper.java index 2aa4198..47a4e7c 100644 --- a/app/src/main/java/com/foxx/androidcast/PermissionHelper.java +++ b/app/src/main/java/com/foxx/androidcast/PermissionHelper.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * PermissionHelper.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Mon 18 May 2026 17:46:19 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class PermissionHelper * Contributors: - * - Anton Afanasyeu (4 commits, 164 lines) + * - Anton Afanasyeu (5 commits, 171 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 3e4ac2f4543e9b30fbf2cacc4e385bd9bf1b0436c7aa5ce70ffad0f711fe8df6 + * Digest: SHA256 3d735c673c6958e683b2771b55d77a646a66f63c121c5c7542293fb707bede5f **********************************************************************/ import android.Manifest; import android.app.Activity; diff --git a/app/src/main/java/com/foxx/androidcast/PictureInPictureHelper.java b/app/src/main/java/com/foxx/androidcast/PictureInPictureHelper.java index 7650788..561be71 100644 --- a/app/src/main/java/com/foxx/androidcast/PictureInPictureHelper.java +++ b/app/src/main/java/com/foxx/androidcast/PictureInPictureHelper.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * PictureInPictureHelper.java * Created at: Mon 18 May 2026 17:35:14 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class PictureInPictureHelper * Contributors: - * - Anton Afanasyeu (2 commits, 102 lines) + * - Anton Afanasyeu (3 commits, 109 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 7de718c4dd2dd61c0ea66e0dd9a3f99308cf3275ec1a4a3aa2f6b3bc098f8016 + * Digest: SHA256 d3227a4c9a0c426a1b82d17b36a16927cf4534dbd7e10553e6804b583ee8e161 **********************************************************************/ import android.app.Activity; import android.app.AppOpsManager; diff --git a/app/src/main/java/com/foxx/androidcast/PinAuth.java b/app/src/main/java/com/foxx/androidcast/PinAuth.java index fb20641..1a172e8 100644 --- a/app/src/main/java/com/foxx/androidcast/PinAuth.java +++ b/app/src/main/java/com/foxx/androidcast/PinAuth.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * PinAuth.java * Created at: Sun 17 May 2026 18:17:14 +0200 - * Updated at: Sun 17 May 2026 18:17:14 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class PinAuth * Contributors: - * - Anton Afanasyeu (1 commits, 38 lines) + * - Anton Afanasyeu (2 commits, 45 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 6165c61a6b2ae58fcef2241e57c6c32d9dea0715aca626d73501b3cf7696b313 + * Digest: SHA256 3641153433384df49669b313d653fbb49335b7c7b8d002c671bcf994215e5896 **********************************************************************/ import java.nio.charset.StandardCharsets; import java.security.MessageDigest; diff --git a/app/src/main/java/com/foxx/androidcast/PlatformCastSupport.java b/app/src/main/java/com/foxx/androidcast/PlatformCastSupport.java index 362bac0..1fa48c7 100644 --- a/app/src/main/java/com/foxx/androidcast/PlatformCastSupport.java +++ b/app/src/main/java/com/foxx/androidcast/PlatformCastSupport.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * PlatformCastSupport.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Sun 17 May 2026 18:17:14 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class PlatformCastSupport * Contributors: - * - Anton Afanasyeu (4 commits, 96 lines) + * - Anton Afanasyeu (5 commits, 103 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 18bee330f23fac4e0ab8cf362cb1d0c08e2422f7db5e83dd1bbaa791ae479078 + * Digest: SHA256 437f440f8e8e0b7da97a9af34bdb2977ccf1493541ca31bd33634cd45db53273 **********************************************************************/ import android.os.Build; import android.widget.CheckBox; diff --git a/app/src/main/java/com/foxx/androidcast/SettingsUi.java b/app/src/main/java/com/foxx/androidcast/SettingsUi.java index 0567995..4d22496 100644 --- a/app/src/main/java/com/foxx/androidcast/SettingsUi.java +++ b/app/src/main/java/com/foxx/androidcast/SettingsUi.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * SettingsUi.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Mon 18 May 2026 16:13:34 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SettingsUi * Contributors: - * - Anton Afanasyeu (6 commits, 282 lines) + * - Anton Afanasyeu (7 commits, 289 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 170c93a27eff81654fef9cd2fffb0ac678d584d64a35c6df1cce1f5769fc48f6 + * Digest: SHA256 4a7ecb185f2d81d364cd5b3601e95e04607c1d2a1f5a7153e32928d1fba6c731 **********************************************************************/ import android.os.Build; import android.view.View; diff --git a/app/src/main/java/com/foxx/androidcast/TrayForegroundService.java b/app/src/main/java/com/foxx/androidcast/TrayForegroundService.java index 3309109..3f8952d 100644 --- a/app/src/main/java/com/foxx/androidcast/TrayForegroundService.java +++ b/app/src/main/java/com/foxx/androidcast/TrayForegroundService.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * TrayForegroundService.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class TrayForegroundService * Contributors: - * - Anton Afanasyeu (1 commits, 41 lines) + * - Anton Afanasyeu (2 commits, 48 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 78ba745ee42c91e2edb1b39bf37ead35964c923891fd08bfd41dd5f6c20e5eac + * Digest: SHA256 5697518674c876a08eb78c08ca151686a079c96d2d3dc238c32666d83b5e88b8 **********************************************************************/ import android.app.Service; import android.content.Intent; diff --git a/app/src/main/java/com/foxx/androidcast/TrayNotificationReceiver.java b/app/src/main/java/com/foxx/androidcast/TrayNotificationReceiver.java index 23a1b3c..33b4ee6 100644 --- a/app/src/main/java/com/foxx/androidcast/TrayNotificationReceiver.java +++ b/app/src/main/java/com/foxx/androidcast/TrayNotificationReceiver.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * TrayNotificationReceiver.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class TrayNotificationReceiver * Contributors: - * - Anton Afanasyeu (1 commits, 19 lines) + * - Anton Afanasyeu (2 commits, 26 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 ae374cd478aa070476f2296bd91659d4d32bac8a573289642b2303b0ff171ebc + * Digest: SHA256 937557e0d1e01790d07521d21197c6193d1e89f617d76d4edb29ff9dfe55aaf7 **********************************************************************/ import android.content.BroadcastReceiver; import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/VersionInfo.java b/app/src/main/java/com/foxx/androidcast/VersionInfo.java index 078ab88..02fa893 100644 --- a/app/src/main/java/com/foxx/androidcast/VersionInfo.java +++ b/app/src/main/java/com/foxx/androidcast/VersionInfo.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * VersionInfo.java * Created at: Sat 16 May 2026 13:35:48 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class VersionInfo * Contributors: - * - Anton Afanasyeu (2 commits, 33 lines) + * - Anton Afanasyeu (3 commits, 40 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 17e6e61e27b385278659cf7b738998dfedc8d060bfdc129d04596c835568e956 + * Digest: SHA256 ddac5c47ccd6ac323acf3b75c252a1482e6c0a260fcffaaad227c2e00ba42538 **********************************************************************/ /** * Application and protocol version strings (CI may replace via script). diff --git a/app/src/main/java/com/foxx/androidcast/VersionUtils.java b/app/src/main/java/com/foxx/androidcast/VersionUtils.java index b91466b..64052db 100644 --- a/app/src/main/java/com/foxx/androidcast/VersionUtils.java +++ b/app/src/main/java/com/foxx/androidcast/VersionUtils.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * VersionUtils.java * Created at: Sat 16 May 2026 13:35:48 +0200 - * Updated at: Sat 16 May 2026 13:35:48 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class VersionUtils * Contributors: - * - Anton Afanasyeu (1 commits, 64 lines) + * - Anton Afanasyeu (2 commits, 71 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 2502541cc912d4de15fd395fb0495d531d62e9cb4dcc401ad85dd76d2fac262d + * Digest: SHA256 fa3c418e4af4fb3f570ffff62380bae9f11c86b08ddc2d6cad397d4be2a9a435 **********************************************************************/ import java.util.Locale; diff --git a/app/src/main/java/com/foxx/androidcast/crash/CrashNativeBridge.java b/app/src/main/java/com/foxx/androidcast/crash/CrashNativeBridge.java index 771317a..bc84723 100644 --- a/app/src/main/java/com/foxx/androidcast/crash/CrashNativeBridge.java +++ b/app/src/main/java/com/foxx/androidcast/crash/CrashNativeBridge.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.crash; /********************************************************************* * CrashNativeBridge.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CrashNativeBridge * Contributors: - * - Anton Afanasyeu (1 commits, 40 lines) + * - Anton Afanasyeu (2 commits, 47 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 8b514f3041afb7bb14f77af82b2889117ee0eb16a618ccfe7bdd18dc6a7ae8fa + * Digest: SHA256 b476dd21b8dfd795a94780873f0b906d0c9a5f8559152368f661014481407275 **********************************************************************/ import android.content.Context; import android.util.Log; diff --git a/app/src/main/java/com/foxx/androidcast/crash/CrashReportBuilder.java b/app/src/main/java/com/foxx/androidcast/crash/CrashReportBuilder.java index ca38986..5ef9646 100644 --- a/app/src/main/java/com/foxx/androidcast/crash/CrashReportBuilder.java +++ b/app/src/main/java/com/foxx/androidcast/crash/CrashReportBuilder.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.crash; /********************************************************************* * CrashReportBuilder.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CrashReportBuilder * Contributors: - * - Anton Afanasyeu (1 commits, 179 lines) + * - Anton Afanasyeu (2 commits, 186 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 8c08460e946b2b0f241fa574e1623ea3dbe5e23203a5576c954328960519f8ff + * Digest: SHA256 8e12433dd47e8151a7041287f523a113487e2aa03fed928e1ac5ca02d373440f **********************************************************************/ import android.content.Context; import android.content.pm.PackageInfo; diff --git a/app/src/main/java/com/foxx/androidcast/crash/CrashReportStore.java b/app/src/main/java/com/foxx/androidcast/crash/CrashReportStore.java index eda6f05..7c159e5 100644 --- a/app/src/main/java/com/foxx/androidcast/crash/CrashReportStore.java +++ b/app/src/main/java/com/foxx/androidcast/crash/CrashReportStore.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.crash; /********************************************************************* * CrashReportStore.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CrashReportStore * Contributors: - * - Anton Afanasyeu (1 commits, 89 lines) + * - Anton Afanasyeu (2 commits, 96 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 0f29c399caba47f470e63fc70d59e19d957d8ea8aadfe3adf9612b5af1cd4816 + * Digest: SHA256 7400435fd42c6dca90ddf1cebec7691657b971ec10e059b599aa1287649642e3 **********************************************************************/ import org.json.JSONObject; diff --git a/app/src/main/java/com/foxx/androidcast/crash/CrashReporter.java b/app/src/main/java/com/foxx/androidcast/crash/CrashReporter.java index b1cc48f..9e8aea0 100644 --- a/app/src/main/java/com/foxx/androidcast/crash/CrashReporter.java +++ b/app/src/main/java/com/foxx/androidcast/crash/CrashReporter.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.crash; /********************************************************************* * CrashReporter.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CrashReporter * Contributors: - * - Anton Afanasyeu (1 commits, 82 lines) + * - Anton Afanasyeu (2 commits, 89 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 77cf02ef84a200c618c0a1576253448c4cf374f47db5da012241abcc9861d1b7 + * Digest: SHA256 5254fee83476d4a80db718169cbc13b61b18697148a8625baab8df0833b1d78f **********************************************************************/ import android.content.Context; import android.content.Intent; diff --git a/app/src/main/java/com/foxx/androidcast/crash/CrashSettings.java b/app/src/main/java/com/foxx/androidcast/crash/CrashSettings.java index e58f83d..06bbe13 100644 --- a/app/src/main/java/com/foxx/androidcast/crash/CrashSettings.java +++ b/app/src/main/java/com/foxx/androidcast/crash/CrashSettings.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.crash; /********************************************************************* * CrashSettings.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CrashSettings * Contributors: - * - Anton Afanasyeu (1 commits, 22 lines) + * - Anton Afanasyeu (2 commits, 29 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 c0a455050fa42bf06395749696f325a5015d8438b996eff7ec04ffc53850f8c9 + * Digest: SHA256 b34e77953e2e8e034a359a5f0d1a86a6a5fd915b2acbda19af1d07bb20cef58e **********************************************************************/ /** Crash reporter tuning from {@code settings.json} → {@code crash} (overrides app defaults). */ public final class CrashSettings { diff --git a/app/src/main/java/com/foxx/androidcast/crash/CrashSettingsStore.java b/app/src/main/java/com/foxx/androidcast/crash/CrashSettingsStore.java index d17f255..f9c90cc 100644 --- a/app/src/main/java/com/foxx/androidcast/crash/CrashSettingsStore.java +++ b/app/src/main/java/com/foxx/androidcast/crash/CrashSettingsStore.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.crash; /********************************************************************* * CrashSettingsStore.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CrashSettingsStore * Contributors: - * - Anton Afanasyeu (1 commits, 79 lines) + * - Anton Afanasyeu (2 commits, 86 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 977d059666e7184ea8ac019d10203af0fe288588e80559cb264ec1bb23251023 + * Digest: SHA256 ac2e9d6760032dddd3a23524eda1c77f4424a11348d758e4f6592001d2d72fe6 **********************************************************************/ import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/crash/CrashUploadClient.java b/app/src/main/java/com/foxx/androidcast/crash/CrashUploadClient.java index 66e8c97..6e77efd 100644 --- a/app/src/main/java/com/foxx/androidcast/crash/CrashUploadClient.java +++ b/app/src/main/java/com/foxx/androidcast/crash/CrashUploadClient.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.crash; /********************************************************************* * CrashUploadClient.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CrashUploadClient * Contributors: - * - Anton Afanasyeu (1 commits, 57 lines) + * - Anton Afanasyeu (2 commits, 64 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 3b0a5fc13acd6488bbcdbda7ec4f0b176edd5750dc23bc00256ddfe4d613ad88 + * Digest: SHA256 b92a804c279390649ca8c27d041dbc2bac31f86968a009e12e7a7c679d718cc7 **********************************************************************/ import org.json.JSONObject; diff --git a/app/src/main/java/com/foxx/androidcast/crash/CrashWatcherService.java b/app/src/main/java/com/foxx/androidcast/crash/CrashWatcherService.java index a738fb2..41af441 100644 --- a/app/src/main/java/com/foxx/androidcast/crash/CrashWatcherService.java +++ b/app/src/main/java/com/foxx/androidcast/crash/CrashWatcherService.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.crash; /********************************************************************* * CrashWatcherService.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CrashWatcherService * Contributors: - * - Anton Afanasyeu (1 commits, 132 lines) + * - Anton Afanasyeu (2 commits, 139 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 d811f87bda10c67fb95758bf34a2aaea11f4fbcda05e2c9ef5726197440fd6c6 + * Digest: SHA256 4135badad895535cd2635563f9b7a87da7ee1fdf4b1dd757f596d7eef67e82f6 **********************************************************************/ import android.app.AlarmManager; import android.app.PendingIntent; diff --git a/app/src/main/java/com/foxx/androidcast/diagnostics/CastDiagnosticsFormatter.java b/app/src/main/java/com/foxx/androidcast/diagnostics/CastDiagnosticsFormatter.java index 37e92b5..1f6096f 100644 --- a/app/src/main/java/com/foxx/androidcast/diagnostics/CastDiagnosticsFormatter.java +++ b/app/src/main/java/com/foxx/androidcast/diagnostics/CastDiagnosticsFormatter.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.diagnostics; /********************************************************************* * CastDiagnosticsFormatter.java * Created at: Sat 16 May 2026 13:35:48 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastDiagnosticsFormatter * Contributors: - * - Anton Afanasyeu (4 commits, 509 lines) + * - Anton Afanasyeu (5 commits, 516 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 d5850de480c00191a4ea05d188b27fc693b6b1610b446b5bda642454e2acb7ae + * Digest: SHA256 97b7c3221465ac0650199c90cb2a6cd2d8b1dfb27bffa97447139936130aad34 **********************************************************************/ import com.foxx.androidcast.CastSettings; import com.foxx.androidcast.CastTuningEngine; diff --git a/app/src/main/java/com/foxx/androidcast/diagnostics/CastDiagnosticsLabels.java b/app/src/main/java/com/foxx/androidcast/diagnostics/CastDiagnosticsLabels.java index 317c9d4..7b79c22 100644 --- a/app/src/main/java/com/foxx/androidcast/diagnostics/CastDiagnosticsLabels.java +++ b/app/src/main/java/com/foxx/androidcast/diagnostics/CastDiagnosticsLabels.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.diagnostics; /********************************************************************* * CastDiagnosticsLabels.java * Created at: Sat 16 May 2026 13:35:48 +0200 - * Updated at: Mon 18 May 2026 19:06:56 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastDiagnosticsLabels * Contributors: - * - Anton Afanasyeu (5 commits, 152 lines) + * - Anton Afanasyeu (6 commits, 159 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 8877b68658b27f96dd1b92b051d6691dd492b73b127cb904caae8995e4ca3cba + * Digest: SHA256 1c6f25ad871cb71788ed6fd1817d4d59d22d5ef6638704c9483937a2a9c15977 **********************************************************************/ import com.foxx.androidcast.CastSettings; diff --git a/app/src/main/java/com/foxx/androidcast/diagnostics/CastDiagnosticsScorer.java b/app/src/main/java/com/foxx/androidcast/diagnostics/CastDiagnosticsScorer.java index e4b9da8..654af2b 100644 --- a/app/src/main/java/com/foxx/androidcast/diagnostics/CastDiagnosticsScorer.java +++ b/app/src/main/java/com/foxx/androidcast/diagnostics/CastDiagnosticsScorer.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.diagnostics; /********************************************************************* * CastDiagnosticsScorer.java * Created at: Sat 16 May 2026 13:35:48 +0200 - * Updated at: Sat 16 May 2026 13:35:48 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastDiagnosticsScorer * Contributors: - * - Anton Afanasyeu (1 commits, 62 lines) + * - Anton Afanasyeu (2 commits, 69 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 65a8b453e9956d593194c1b9ce7b9145b17a44a34b22dfd030cff519638ded89 + * Digest: SHA256 ee22fcdc1d1d6bce19746ebba8a85a125dee18c403318d0d38d7b5729b1929a2 **********************************************************************/ /** Heuristic stream quality score (0–100) from live metrics. */ public final class CastDiagnosticsScorer { diff --git a/app/src/main/java/com/foxx/androidcast/diagnostics/CastMtuSampler.java b/app/src/main/java/com/foxx/androidcast/diagnostics/CastMtuSampler.java index 326946b..60f87f1 100644 --- a/app/src/main/java/com/foxx/androidcast/diagnostics/CastMtuSampler.java +++ b/app/src/main/java/com/foxx/androidcast/diagnostics/CastMtuSampler.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.diagnostics; /********************************************************************* * CastMtuSampler.java * Created at: Tue 19 May 2026 12:23:39 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastMtuSampler * Contributors: - * - Anton Afanasyeu (1 commits, 67 lines) + * - Anton Afanasyeu (2 commits, 74 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 9ca4cc1e6c4330b5d335bb920e119ececcd5f9ae0521fc2c0d00c382e3f7e326 + * Digest: SHA256 7b7b6e645520691a03083a3dd11215e0c35ecea5c23544ae3ae7fc60cc8e999c **********************************************************************/ import android.content.Context; import android.net.ConnectivityManager; diff --git a/app/src/main/java/com/foxx/androidcast/diagnostics/CpuLoadSampler.java b/app/src/main/java/com/foxx/androidcast/diagnostics/CpuLoadSampler.java index fd1ba15..8118171 100644 --- a/app/src/main/java/com/foxx/androidcast/diagnostics/CpuLoadSampler.java +++ b/app/src/main/java/com/foxx/androidcast/diagnostics/CpuLoadSampler.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.diagnostics; /********************************************************************* * CpuLoadSampler.java * Created at: Tue 19 May 2026 12:23:39 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CpuLoadSampler * Contributors: - * - Anton Afanasyeu (1 commits, 234 lines) + * - Anton Afanasyeu (2 commits, 241 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 58f78e53a4368c038af0ba3f933673c17d480209bcd6f33c6aa9a4b50f31a8e5 + * Digest: SHA256 b012c6212636a1af22f16b9365b19616caff8d74b49746602b55735115a7f34c **********************************************************************/ import java.io.BufferedReader; import java.io.FileReader; diff --git a/app/src/main/java/com/foxx/androidcast/discovery/DiscoveryManager.java b/app/src/main/java/com/foxx/androidcast/discovery/DiscoveryManager.java index 8cf37c7..92a3a51 100644 --- a/app/src/main/java/com/foxx/androidcast/discovery/DiscoveryManager.java +++ b/app/src/main/java/com/foxx/androidcast/discovery/DiscoveryManager.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.discovery; /********************************************************************* * DiscoveryManager.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Mon 18 May 2026 17:46:19 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class DiscoveryManager * Contributors: - * - Anton Afanasyeu (9 commits, 529 lines) + * - Anton Afanasyeu (10 commits, 536 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 44b76dadc2e6a93d55274c415d54586eda5e2f849c072b4e250a3c4dea59da16 + * Digest: SHA256 401ea19fe075a36c392b8e5d32e8f55e2428f4bc2ee1f48fec96a7aca0ffcc51 **********************************************************************/ import android.content.Context; import android.net.wifi.WifiManager; diff --git a/app/src/main/java/com/foxx/androidcast/discovery/DiscoverySelfFilter.java b/app/src/main/java/com/foxx/androidcast/discovery/DiscoverySelfFilter.java index 09e62d9..13b1d9c 100644 --- a/app/src/main/java/com/foxx/androidcast/discovery/DiscoverySelfFilter.java +++ b/app/src/main/java/com/foxx/androidcast/discovery/DiscoverySelfFilter.java @@ -3,11 +3,12 @@ package com.foxx.androidcast.discovery; /********************************************************************* * DiscoverySelfFilter.java * Created at: Sun 17 May 2026 15:45:19 +0200 - * Updated at: Sun 17 May 2026 15:45:19 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 67 lines) + * - Anton Afanasyeu (2 commits, 73 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 5220f398b12a33174a87393c848043015ef45df227353d6b404467974d065fc0 + * Digest: SHA256 cf0c0de407834543412ba5d8f3b89feb1f44a4f7a4258de315aed83a7a0436df **********************************************************************/ import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/discovery/NsdCastDiscovery.java b/app/src/main/java/com/foxx/androidcast/discovery/NsdCastDiscovery.java index f4a8101..7617224 100644 --- a/app/src/main/java/com/foxx/androidcast/discovery/NsdCastDiscovery.java +++ b/app/src/main/java/com/foxx/androidcast/discovery/NsdCastDiscovery.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.discovery; /********************************************************************* * NsdCastDiscovery.java * Created at: Mon 18 May 2026 17:46:19 +0200 - * Updated at: Mon 18 May 2026 17:46:19 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class NsdCastDiscovery * Contributors: - * - Anton Afanasyeu (1 commits, 196 lines) + * - Anton Afanasyeu (2 commits, 203 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 eaebdda82fa3894060a4a684e6399a34edf3c14ee7a74000cc16ddb27f7efbef + * Digest: SHA256 6930ce92263586668ef5644052979b105a5707a40e17deccdb2c721ed1b7af51 **********************************************************************/ import android.content.Context; import android.net.nsd.NsdManager; diff --git a/app/src/main/java/com/foxx/androidcast/discovery/PinnedReceiversStore.java b/app/src/main/java/com/foxx/androidcast/discovery/PinnedReceiversStore.java index 73d6f5f..08ad87f 100644 --- a/app/src/main/java/com/foxx/androidcast/discovery/PinnedReceiversStore.java +++ b/app/src/main/java/com/foxx/androidcast/discovery/PinnedReceiversStore.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.discovery; /********************************************************************* * PinnedReceiversStore.java * Created at: Mon 18 May 2026 17:46:19 +0200 - * Updated at: Mon 18 May 2026 17:46:19 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class PinnedReceiversStore * Contributors: - * - Anton Afanasyeu (1 commits, 90 lines) + * - Anton Afanasyeu (2 commits, 97 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 46e9c6c377c386c360272b3d5833f79b3f7ad54fefa021da09f196770ad7fc90 + * Digest: SHA256 68ba4c5f3d15599a6be3b3119233919461009f1725133f13f15e63e7f3fd02d8 **********************************************************************/ import android.content.Context; import android.content.SharedPreferences; diff --git a/app/src/main/java/com/foxx/androidcast/discovery/ReceiverCompatibility.java b/app/src/main/java/com/foxx/androidcast/discovery/ReceiverCompatibility.java index dde8a92..2eaf79b 100644 --- a/app/src/main/java/com/foxx/androidcast/discovery/ReceiverCompatibility.java +++ b/app/src/main/java/com/foxx/androidcast/discovery/ReceiverCompatibility.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.discovery; /********************************************************************* * ReceiverCompatibility.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class ReceiverCompatibility * Contributors: - * - Anton Afanasyeu (1 commits, 45 lines) + * - Anton Afanasyeu (2 commits, 52 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 2f005cfe8f7472e444cb8e25992052a001defa7cb500bd9ebdec3ecc62b2da71 + * Digest: SHA256 c38fdecb8b4800e6d3ef26bf677413cf454d96b640d8783129a47b3301cb4fc9 **********************************************************************/ import com.foxx.androidcast.CastSettings; import com.foxx.androidcast.VersionInfo; diff --git a/app/src/main/java/com/foxx/androidcast/media/AacAdtsHelper.java b/app/src/main/java/com/foxx/androidcast/media/AacAdtsHelper.java index 144691c..498c107 100644 --- a/app/src/main/java/com/foxx/androidcast/media/AacAdtsHelper.java +++ b/app/src/main/java/com/foxx/androidcast/media/AacAdtsHelper.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media; /********************************************************************* * AacAdtsHelper.java * Created at: Sat 16 May 2026 13:35:48 +0200 - * Updated at: Sat 16 May 2026 13:35:48 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class AacAdtsHelper * Contributors: - * - Anton Afanasyeu (1 commits, 60 lines) + * - Anton Afanasyeu (2 commits, 67 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 e5e7c2f68f4a40d97ebd510d0d791a2b2344e4a5587b54fd15bc3e17a7c39387 + * Digest: SHA256 801727a4bf81e2b3538fcacffd5434d5e9f834052b29da4728a860caf98d44a9 **********************************************************************/ /** Prepends ADTS sync word so AAC decoders accept encoder access units. */ public final class AacAdtsHelper { diff --git a/app/src/main/java/com/foxx/androidcast/media/CodecNegotiator.java b/app/src/main/java/com/foxx/androidcast/media/CodecNegotiator.java index 9cb928a..8cbbb22 100644 --- a/app/src/main/java/com/foxx/androidcast/media/CodecNegotiator.java +++ b/app/src/main/java/com/foxx/androidcast/media/CodecNegotiator.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media; /********************************************************************* * CodecNegotiator.java * Created at: Fri 15 May 2026 20:37:44 +0200 - * Updated at: Mon 18 May 2026 19:06:56 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CodecNegotiator * Contributors: - * - Anton Afanasyeu (6 commits, 118 lines) + * - Anton Afanasyeu (7 commits, 125 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 ef7857e703bcb3f17da0a85b2f2a999f3080e0d71069e7767f5381a8eefc40e1 + * Digest: SHA256 0fb27c49fb9d42566c0f347b0bb0d5a3a7a118ba38cee8486e48a5c4262260e9 **********************************************************************/ import android.media.MediaFormat; import android.util.Log; diff --git a/app/src/main/java/com/foxx/androidcast/media/CodecPriorityCatalog.java b/app/src/main/java/com/foxx/androidcast/media/CodecPriorityCatalog.java index e00d7bd..fad0c72 100644 --- a/app/src/main/java/com/foxx/androidcast/media/CodecPriorityCatalog.java +++ b/app/src/main/java/com/foxx/androidcast/media/CodecPriorityCatalog.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media; /********************************************************************* * CodecPriorityCatalog.java * Created at: Mon 18 May 2026 18:59:14 +0200 - * Updated at: Mon 18 May 2026 19:06:56 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CodecPriorityCatalog * Contributors: - * - Anton Afanasyeu (2 commits, 535 lines) + * - Anton Afanasyeu (3 commits, 542 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 fb5119a429e47b212225e8669680d1cb59e7ca722481569cd3daca701e0a2527 + * Digest: SHA256 b14ada272d847b895ab45abaf659441b25bdc4eb634821d4d37827cfa1bc1db4 **********************************************************************/ import android.content.Context; import android.media.MediaFormat; diff --git a/app/src/main/java/com/foxx/androidcast/media/CodecPriorityId.java b/app/src/main/java/com/foxx/androidcast/media/CodecPriorityId.java index a8a9a0f..ae72975 100644 --- a/app/src/main/java/com/foxx/androidcast/media/CodecPriorityId.java +++ b/app/src/main/java/com/foxx/androidcast/media/CodecPriorityId.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media; /********************************************************************* * CodecPriorityId.java * Created at: Mon 18 May 2026 18:59:14 +0200 - * Updated at: Mon 18 May 2026 18:59:14 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * enum CodecPriorityId * Contributors: - * - Anton Afanasyeu (1 commits, 96 lines) + * - Anton Afanasyeu (2 commits, 103 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 7322d377d22e974d10c300f08bf916f0dba2d6ce765d2b7a9442b264039ebdc1 + * Digest: SHA256 43f0c38b4db03f970badd018a05f0d173081f3f241f54644c2f6d3858dbc4b3d **********************************************************************/ import android.media.MediaFormat; diff --git a/app/src/main/java/com/foxx/androidcast/media/CodecTier.java b/app/src/main/java/com/foxx/androidcast/media/CodecTier.java index 71ad056..4335260 100644 --- a/app/src/main/java/com/foxx/androidcast/media/CodecTier.java +++ b/app/src/main/java/com/foxx/androidcast/media/CodecTier.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media; /********************************************************************* * CodecTier.java * Created at: Mon 18 May 2026 18:59:14 +0200 - * Updated at: Mon 18 May 2026 18:59:14 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * enum CodecTier * Contributors: - * - Anton Afanasyeu (1 commits, 14 lines) + * - Anton Afanasyeu (2 commits, 21 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 b78ccd5fefc1ce1edb8acda3c77187d844034dc723ea3823f1dcdc04d1c00bf0 + * Digest: SHA256 35b2a8f9796bb53fd83c2570b9ca3ad69ca7a883ac48612a87ab41de153e382b **********************************************************************/ /** Base tier added before per-codec component scores (lower total = higher priority). */ public enum CodecTier { diff --git a/app/src/main/java/com/foxx/androidcast/media/EncodedStreamProbe.java b/app/src/main/java/com/foxx/androidcast/media/EncodedStreamProbe.java index c465b0f..9383152 100644 --- a/app/src/main/java/com/foxx/androidcast/media/EncodedStreamProbe.java +++ b/app/src/main/java/com/foxx/androidcast/media/EncodedStreamProbe.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media; /********************************************************************* * EncodedStreamProbe.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class EncodedStreamProbe * Contributors: - * - Anton Afanasyeu (1 commits, 32 lines) + * - Anton Afanasyeu (2 commits, 39 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 14fefd1f2dc0f70d68bb9620a28ddae7561de4826feda15589f77b9728a6c177 + * Digest: SHA256 4d03743f602aa3294bf05780ad25348f3037ffbbdb439eb265a6281f0b21a300 **********************************************************************/ import android.media.MediaFormat; diff --git a/app/src/main/java/com/foxx/androidcast/media/H264Bitstream.java b/app/src/main/java/com/foxx/androidcast/media/H264Bitstream.java index c2cea49..c264ef8 100644 --- a/app/src/main/java/com/foxx/androidcast/media/H264Bitstream.java +++ b/app/src/main/java/com/foxx/androidcast/media/H264Bitstream.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media; /********************************************************************* * H264Bitstream.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class H264Bitstream * Contributors: - * - Anton Afanasyeu (2 commits, 59 lines) + * - Anton Afanasyeu (3 commits, 66 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 34f35ea8e68be7b3b7b1a5bdcb872f771bd66acc024c77c87eec1049e586108a + * Digest: SHA256 b09701f961146fa6938b2e4b6c55942356bf385127ca222b5473f247e86e462d **********************************************************************/ import java.io.ByteArrayOutputStream; diff --git a/app/src/main/java/com/foxx/androidcast/media/H264SpsParser.java b/app/src/main/java/com/foxx/androidcast/media/H264SpsParser.java index 6056583..90fa15f 100644 --- a/app/src/main/java/com/foxx/androidcast/media/H264SpsParser.java +++ b/app/src/main/java/com/foxx/androidcast/media/H264SpsParser.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media; /********************************************************************* * H264SpsParser.java * Created at: Fri 15 May 2026 17:47:09 +0200 - * Updated at: Fri 15 May 2026 17:47:09 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class H264SpsParser * Contributors: - * - Anton Afanasyeu (1 commits, 170 lines) + * - Anton Afanasyeu (2 commits, 177 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 e3d6068aa10b99580c4cf7d32bab017f5bb0396d973af2c9835479759126be26 + * Digest: SHA256 82619fa871bc520dcba789038ca5b368dc1fcfdd202f1ddd946a4f74ddc1c1dd **********************************************************************/ import android.util.Log; diff --git a/app/src/main/java/com/foxx/androidcast/media/PcmLevelAnalyzer.java b/app/src/main/java/com/foxx/androidcast/media/PcmLevelAnalyzer.java index adccf43..78b0d82 100644 --- a/app/src/main/java/com/foxx/androidcast/media/PcmLevelAnalyzer.java +++ b/app/src/main/java/com/foxx/androidcast/media/PcmLevelAnalyzer.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media; /********************************************************************* * PcmLevelAnalyzer.java * Created at: Sat 16 May 2026 13:35:48 +0200 - * Updated at: Sat 16 May 2026 13:35:48 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class PcmLevelAnalyzer * Contributors: - * - Anton Afanasyeu (1 commits, 67 lines) + * - Anton Afanasyeu (2 commits, 74 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 ddde6fc40ce49037fd4909f8732acd8db1344ff0d5127b8a30f4317950058f9d + * Digest: SHA256 ae36e5eb1e60c3d77e63238569736b4f33851352c18eb8e29dee2c9022f0a005 **********************************************************************/ /** Peak/RMS analysis for 16-bit little-endian PCM. */ public final class PcmLevelAnalyzer { diff --git a/app/src/main/java/com/foxx/androidcast/media/RgbToNv21.java b/app/src/main/java/com/foxx/androidcast/media/RgbToNv21.java index 3e4d63f..cc5fb3d 100644 --- a/app/src/main/java/com/foxx/androidcast/media/RgbToNv21.java +++ b/app/src/main/java/com/foxx/androidcast/media/RgbToNv21.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media; /********************************************************************* * RgbToNv21.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class RgbToNv21 * Contributors: - * - Anton Afanasyeu (1 commits, 52 lines) + * - Anton Afanasyeu (2 commits, 59 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 0c252db38e3dc88ff060adaad16ea98d3ad987dacbdc29866b0450fa64c4a91c + * Digest: SHA256 40a855caf25776c7d70981d056f0463ed62523d4d1fcb9427af1a1f566cd1da5 **********************************************************************/ import android.graphics.Bitmap; diff --git a/app/src/main/java/com/foxx/androidcast/media/RgbToYuv420.java b/app/src/main/java/com/foxx/androidcast/media/RgbToYuv420.java index bee1c05..e671960 100644 --- a/app/src/main/java/com/foxx/androidcast/media/RgbToYuv420.java +++ b/app/src/main/java/com/foxx/androidcast/media/RgbToYuv420.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media; /********************************************************************* * RgbToYuv420.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class RgbToYuv420 * Contributors: - * - Anton Afanasyeu (3 commits, 152 lines) + * - Anton Afanasyeu (4 commits, 159 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 83090016677ef209cbf10ed4622d5ea91ea6826bdb4cec87abda4fff38ab91fc + * Digest: SHA256 7050aefb284fec862ccdc6dbfc7f59720671fa25eeef2ccfc396e07ee2d9d68e **********************************************************************/ import android.graphics.Bitmap; import android.media.Image; diff --git a/app/src/main/java/com/foxx/androidcast/media/StreamDimensionResolver.java b/app/src/main/java/com/foxx/androidcast/media/StreamDimensionResolver.java index 22f35dc..7e49dff 100644 --- a/app/src/main/java/com/foxx/androidcast/media/StreamDimensionResolver.java +++ b/app/src/main/java/com/foxx/androidcast/media/StreamDimensionResolver.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media; /********************************************************************* * StreamDimensionResolver.java * Created at: Fri 15 May 2026 17:47:09 +0200 - * Updated at: Fri 15 May 2026 17:47:09 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class StreamDimensionResolver * Contributors: - * - Anton Afanasyeu (1 commits, 42 lines) + * - Anton Afanasyeu (2 commits, 49 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 4e251b5f6e24e7f1d25e011c50900ac71f646bc390f8fd807d59ede90c87f9d0 + * Digest: SHA256 1630558a8817b3155c394d96aa9064ef6cad027ab28ed1727ed18a7d6842dc6d **********************************************************************/ /** * Resolves display dimensions using STREAM_CONFIG and SPS (csd-0). diff --git a/app/src/main/java/com/foxx/androidcast/media/codec/AudioCodecBackend.java b/app/src/main/java/com/foxx/androidcast/media/codec/AudioCodecBackend.java index ae3992f..1c1c5c6 100644 --- a/app/src/main/java/com/foxx/androidcast/media/codec/AudioCodecBackend.java +++ b/app/src/main/java/com/foxx/androidcast/media/codec/AudioCodecBackend.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media.codec; /********************************************************************* * AudioCodecBackend.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * enum AudioCodecBackend * Contributors: - * - Anton Afanasyeu (1 commits, 16 lines) + * - Anton Afanasyeu (2 commits, 23 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 a3e8cbaafae40d12639d3afb5fc1612a6f7459ce87813ab32db79fb1295b160f + * Digest: SHA256 8c4ce51346625ce93a91fa92bf55d5af6261fd1f054154c295f1e6be257cc18f **********************************************************************/ /** Implementation backing negotiated / configured audio. */ public enum AudioCodecBackend { diff --git a/app/src/main/java/com/foxx/androidcast/media/codec/AudioCodecFactory.java b/app/src/main/java/com/foxx/androidcast/media/codec/AudioCodecFactory.java index d04d671..21ad624 100644 --- a/app/src/main/java/com/foxx/androidcast/media/codec/AudioCodecFactory.java +++ b/app/src/main/java/com/foxx/androidcast/media/codec/AudioCodecFactory.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media.codec; /********************************************************************* * AudioCodecFactory.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class AudioCodecFactory * Contributors: - * - Anton Afanasyeu (1 commits, 18 lines) + * - Anton Afanasyeu (2 commits, 25 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 cabd8206db44b5aa04bcb29685d606b9fd1887da3f806cacde70f6ab50d8627e + * Digest: SHA256 e8b2c92d5f3a97150adcf9af3f44791d2ee6a0db31dd7b7d96cb970bedc5e9fd **********************************************************************/ import com.foxx.androidcast.CastSettings; import com.foxx.androidcast.sender.AudioEncoder; diff --git a/app/src/main/java/com/foxx/androidcast/media/codec/AudioEncoderSink.java b/app/src/main/java/com/foxx/androidcast/media/codec/AudioEncoderSink.java index a717a53..7e2ca2c 100644 --- a/app/src/main/java/com/foxx/androidcast/media/codec/AudioEncoderSink.java +++ b/app/src/main/java/com/foxx/androidcast/media/codec/AudioEncoderSink.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media.codec; /********************************************************************* * AudioEncoderSink.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * interface AudioEncoderSink * Contributors: - * - Anton Afanasyeu (1 commits, 21 lines) + * - Anton Afanasyeu (2 commits, 28 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 90599f0653960bf2abd5acaad53ed356c93791addf4f2b2016d1b4ab2aaaecf7 + * Digest: SHA256 2b9ef2dff0c165e31aff3b14ba6933df12b4cbfd5b29e81b76f13874c7cfa1ce **********************************************************************/ import java.io.IOException; diff --git a/app/src/main/java/com/foxx/androidcast/media/codec/CodecSessionRegistry.java b/app/src/main/java/com/foxx/androidcast/media/codec/CodecSessionRegistry.java index 4c3f09c..2faef2e 100644 --- a/app/src/main/java/com/foxx/androidcast/media/codec/CodecSessionRegistry.java +++ b/app/src/main/java/com/foxx/androidcast/media/codec/CodecSessionRegistry.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media.codec; /********************************************************************* * CodecSessionRegistry.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CodecSessionRegistry * Contributors: - * - Anton Afanasyeu (1 commits, 69 lines) + * - Anton Afanasyeu (2 commits, 76 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 140617f123313015f483828dd18977bba84a49f7b7d12bbee24873908a550b9f + * Digest: SHA256 b76039093ae82704f2530b0b5c5dcd745a7178425ff30cf5d27dd67612009c0c **********************************************************************/ import com.foxx.androidcast.CastSettings; diff --git a/app/src/main/java/com/foxx/androidcast/media/codec/LibvpxCapableVideoDecoder.java b/app/src/main/java/com/foxx/androidcast/media/codec/LibvpxCapableVideoDecoder.java index 7212085..7df62ea 100644 --- a/app/src/main/java/com/foxx/androidcast/media/codec/LibvpxCapableVideoDecoder.java +++ b/app/src/main/java/com/foxx/androidcast/media/codec/LibvpxCapableVideoDecoder.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media.codec; /********************************************************************* * LibvpxCapableVideoDecoder.java * Created at: Mon 18 May 2026 17:05:47 +0200 - * Updated at: Mon 18 May 2026 17:05:47 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class LibvpxCapableVideoDecoder * Contributors: - * - Anton Afanasyeu (1 commits, 52 lines) + * - Anton Afanasyeu (2 commits, 59 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 3a4aa27b931e77bf7ec67651b47aea2e03d7f40320cd9bae0aff1ff9e59fd756 + * Digest: SHA256 26843b12f2436c44befd5fc8851b9ef41a507eb77e84434d07a51f1797cd717c **********************************************************************/ import android.util.Log; import android.view.Surface; diff --git a/app/src/main/java/com/foxx/androidcast/media/codec/LibvpxVideoEncoderSink.java b/app/src/main/java/com/foxx/androidcast/media/codec/LibvpxVideoEncoderSink.java index 335933a..68ca7ea 100644 --- a/app/src/main/java/com/foxx/androidcast/media/codec/LibvpxVideoEncoderSink.java +++ b/app/src/main/java/com/foxx/androidcast/media/codec/LibvpxVideoEncoderSink.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media.codec; /********************************************************************* * LibvpxVideoEncoderSink.java * Created at: Mon 18 May 2026 14:25:02 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class LibvpxVideoEncoderSink * Contributors: - * - Anton Afanasyeu (3 commits, 237 lines) + * - Anton Afanasyeu (4 commits, 244 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 816c190473ca485c66ac20fd3dce407934aa59fb8a8d378d26b0e3cfaa93a451 + * Digest: SHA256 43faed143aa87bcb23e317cbe1118de3e2e598bfcf5ad1d16edd0c1265b43e98 **********************************************************************/ import android.graphics.Bitmap; import android.graphics.PixelFormat; diff --git a/app/src/main/java/com/foxx/androidcast/media/codec/PassthroughAudioEncoderSink.java b/app/src/main/java/com/foxx/androidcast/media/codec/PassthroughAudioEncoderSink.java index 6dac45d..31c879a 100644 --- a/app/src/main/java/com/foxx/androidcast/media/codec/PassthroughAudioEncoderSink.java +++ b/app/src/main/java/com/foxx/androidcast/media/codec/PassthroughAudioEncoderSink.java @@ -3,11 +3,12 @@ package com.foxx.androidcast.media.codec; /********************************************************************* * PassthroughAudioEncoderSink.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 42 lines) + * - Anton Afanasyeu (2 commits, 48 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 dfd84edfe75353b1a4ad6338fe2b6e2b00d822cba052de699bc363051f070886 + * Digest: SHA256 9e17f4283fe1f0aae032d7830fe767d8fc70deb184aa771aeb93d36fe3469a79 **********************************************************************/ import com.foxx.androidcast.CastSettings; import com.foxx.androidcast.sender.AudioEncoder; diff --git a/app/src/main/java/com/foxx/androidcast/media/codec/PassthroughCodecPolicy.java b/app/src/main/java/com/foxx/androidcast/media/codec/PassthroughCodecPolicy.java index e4c1555..27de45d 100644 --- a/app/src/main/java/com/foxx/androidcast/media/codec/PassthroughCodecPolicy.java +++ b/app/src/main/java/com/foxx/androidcast/media/codec/PassthroughCodecPolicy.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media.codec; /********************************************************************* * PassthroughCodecPolicy.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Mon 18 May 2026 17:05:47 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class PassthroughCodecPolicy * Contributors: - * - Anton Afanasyeu (3 commits, 147 lines) + * - Anton Afanasyeu (4 commits, 154 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 c1cb0e5c2fc9cefd76d673abfdc4f2740b4d7397e7de7956a340d4896e72daf1 + * Digest: SHA256 fdcd87ff4674eca1c4857ae70bcccb26aead56fe3b1d9024f64b793588bbce16 **********************************************************************/ import android.media.MediaFormat; diff --git a/app/src/main/java/com/foxx/androidcast/media/codec/PassthroughVideoEncoderSink.java b/app/src/main/java/com/foxx/androidcast/media/codec/PassthroughVideoEncoderSink.java index d40fa1c..370d7d1 100644 --- a/app/src/main/java/com/foxx/androidcast/media/codec/PassthroughVideoEncoderSink.java +++ b/app/src/main/java/com/foxx/androidcast/media/codec/PassthroughVideoEncoderSink.java @@ -3,11 +3,12 @@ package com.foxx.androidcast.media.codec; /********************************************************************* * PassthroughVideoEncoderSink.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 65 lines) + * - Anton Afanasyeu (2 commits, 71 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 acc514297e421faa55c42985081ef95f236ec0ad67cc3c066fa6fa583d6765f1 + * Digest: SHA256 4767eda5f9d87dcc529c1e10b9d273213b8b2ea78069d643ce282df712bc9f9d **********************************************************************/ import android.graphics.Bitmap; import android.view.Surface; diff --git a/app/src/main/java/com/foxx/androidcast/media/codec/VideoCodecBackend.java b/app/src/main/java/com/foxx/androidcast/media/codec/VideoCodecBackend.java index 4d7fb4f..06a10bd 100644 --- a/app/src/main/java/com/foxx/androidcast/media/codec/VideoCodecBackend.java +++ b/app/src/main/java/com/foxx/androidcast/media/codec/VideoCodecBackend.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media.codec; /********************************************************************* * VideoCodecBackend.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Mon 18 May 2026 14:25:02 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * enum VideoCodecBackend * Contributors: - * - Anton Afanasyeu (2 commits, 16 lines) + * - Anton Afanasyeu (3 commits, 23 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 8b186ea93d80070f21a253710cfff90640a9d81db3ebd09baf1c9bc402f4b19f + * Digest: SHA256 1046811d222a90a24b31cb5bfd956669b5ec2ea67fce49a6089864491e1d780e **********************************************************************/ /** Implementation backing a negotiated video MIME. */ public enum VideoCodecBackend { diff --git a/app/src/main/java/com/foxx/androidcast/media/codec/VideoCodecFactory.java b/app/src/main/java/com/foxx/androidcast/media/codec/VideoCodecFactory.java index d5c392b..0ca1df9 100644 --- a/app/src/main/java/com/foxx/androidcast/media/codec/VideoCodecFactory.java +++ b/app/src/main/java/com/foxx/androidcast/media/codec/VideoCodecFactory.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media.codec; /********************************************************************* * VideoCodecFactory.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Mon 18 May 2026 14:25:02 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class VideoCodecFactory * Contributors: - * - Anton Afanasyeu (2 commits, 27 lines) + * - Anton Afanasyeu (3 commits, 34 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 b8fe0383fede0eeebec3168b5808277136a800057cee232d1ae7b7f1695141c4 + * Digest: SHA256 219cb0001dd6b968ca3039a8519888d4be431d9060e0843efed4b926b692f357 **********************************************************************/ import com.foxx.androidcast.CastSettings; import com.foxx.androidcast.media.codec.jni.NativeCodecBridge; diff --git a/app/src/main/java/com/foxx/androidcast/media/codec/VideoDecoderFactory.java b/app/src/main/java/com/foxx/androidcast/media/codec/VideoDecoderFactory.java index 1af384c..a9b7074 100644 --- a/app/src/main/java/com/foxx/androidcast/media/codec/VideoDecoderFactory.java +++ b/app/src/main/java/com/foxx/androidcast/media/codec/VideoDecoderFactory.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media.codec; /********************************************************************* * VideoDecoderFactory.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Mon 18 May 2026 17:05:47 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class VideoDecoderFactory * Contributors: - * - Anton Afanasyeu (2 commits, 16 lines) + * - Anton Afanasyeu (3 commits, 23 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 1df40e44f12bbaad052b116851044728e7d85264bdda9f636b0bbab159ef7f7a + * Digest: SHA256 478c0cd5ddb8c25d46f2010ab216e758cd7d48c44a042dac38b76d9092cefb71 **********************************************************************/ import com.foxx.androidcast.media.codec.jni.NativeCodecBridge; import com.foxx.androidcast.receiver.VideoDecoder; diff --git a/app/src/main/java/com/foxx/androidcast/media/codec/VideoDecoderSink.java b/app/src/main/java/com/foxx/androidcast/media/codec/VideoDecoderSink.java index 9ec2169..bd205d8 100644 --- a/app/src/main/java/com/foxx/androidcast/media/codec/VideoDecoderSink.java +++ b/app/src/main/java/com/foxx/androidcast/media/codec/VideoDecoderSink.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media.codec; /********************************************************************* * VideoDecoderSink.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * interface VideoDecoderSink * Contributors: - * - Anton Afanasyeu (1 commits, 24 lines) + * - Anton Afanasyeu (2 commits, 31 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 f3e3d03ad0a9f7bc960028bb4a6a87fad99f48da3b75e6087981956e5f93dab0 + * Digest: SHA256 82577d976f180dbe61110a21a61152a4481742085c5797e3c7e638e8fb0d3821 **********************************************************************/ import android.view.Surface; diff --git a/app/src/main/java/com/foxx/androidcast/media/codec/VideoEncoderSink.java b/app/src/main/java/com/foxx/androidcast/media/codec/VideoEncoderSink.java index 96815a8..166d6bf 100644 --- a/app/src/main/java/com/foxx/androidcast/media/codec/VideoEncoderSink.java +++ b/app/src/main/java/com/foxx/androidcast/media/codec/VideoEncoderSink.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media.codec; /********************************************************************* * VideoEncoderSink.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * interface VideoEncoderSink * Contributors: - * - Anton Afanasyeu (1 commits, 34 lines) + * - Anton Afanasyeu (2 commits, 41 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 6b6feb3a9dc99f90c29e54305c32de6f5e0e8dd45ad7d5a3f6039567642d242c + * Digest: SHA256 5f4e7be7b85bbdf19150483998ca7dbe4faeede03678ffa3dcf112e0de885299 **********************************************************************/ import android.graphics.Bitmap; import android.view.Surface; diff --git a/app/src/main/java/com/foxx/androidcast/media/codec/jni/NativeCodecBridge.java b/app/src/main/java/com/foxx/androidcast/media/codec/jni/NativeCodecBridge.java index 035991c..920b01c 100644 --- a/app/src/main/java/com/foxx/androidcast/media/codec/jni/NativeCodecBridge.java +++ b/app/src/main/java/com/foxx/androidcast/media/codec/jni/NativeCodecBridge.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media.codec.jni; /********************************************************************* * NativeCodecBridge.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Mon 18 May 2026 17:05:47 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class NativeCodecBridge * Contributors: - * - Anton Afanasyeu (3 commits, 117 lines) + * - Anton Afanasyeu (4 commits, 124 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 85eb4903f054caa9cccbd87793a63c40b661700f8e6b5fedb825f04744d3153b + * Digest: SHA256 bf3ba812b94838714e674811ced6549bad58071210e891174733e7b01ba499c3 **********************************************************************/ import android.util.Log; import android.view.Surface; diff --git a/app/src/main/java/com/foxx/androidcast/media/codec/jni/VpxEncodedFrame.java b/app/src/main/java/com/foxx/androidcast/media/codec/jni/VpxEncodedFrame.java index 947bd44..5d6affc 100644 --- a/app/src/main/java/com/foxx/androidcast/media/codec/jni/VpxEncodedFrame.java +++ b/app/src/main/java/com/foxx/androidcast/media/codec/jni/VpxEncodedFrame.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media.codec.jni; /********************************************************************* * VpxEncodedFrame.java * Created at: Mon 18 May 2026 17:05:47 +0200 - * Updated at: Mon 18 May 2026 17:05:47 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class VpxEncodedFrame * Contributors: - * - Anton Afanasyeu (1 commits, 12 lines) + * - Anton Afanasyeu (2 commits, 19 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 14d48bc528324744dc8ff64c1543740826d3b9f123266d2dc9a50969aae37be6 + * Digest: SHA256 7a4350633371d1f6000bdb7f607ad80dda259816f960c7069230ac94ab37cf18 **********************************************************************/ /** One compressed VP8/VP9 frame from libvpx. */ public final class VpxEncodedFrame { diff --git a/app/src/main/java/com/foxx/androidcast/network/CastCodecFlags.java b/app/src/main/java/com/foxx/androidcast/network/CastCodecFlags.java index 9b9ffbc..620bc1c 100644 --- a/app/src/main/java/com/foxx/androidcast/network/CastCodecFlags.java +++ b/app/src/main/java/com/foxx/androidcast/network/CastCodecFlags.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network; /********************************************************************* * CastCodecFlags.java * Created at: Sat 16 May 2026 13:35:48 +0200 - * Updated at: Sat 16 May 2026 13:35:48 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastCodecFlags * Contributors: - * - Anton Afanasyeu (1 commits, 53 lines) + * - Anton Afanasyeu (2 commits, 60 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 0d19da4f9bc8d1dec18092777bc476af51763ff27d167a19ca1b62cd5be30458 + * Digest: SHA256 e22ed8faf888b972a834720927d568b6d8469b5bd59a809ccce6b5a80a29cc94 **********************************************************************/ import android.media.MediaFormat; diff --git a/app/src/main/java/com/foxx/androidcast/network/CastFramingContext.java b/app/src/main/java/com/foxx/androidcast/network/CastFramingContext.java index b8a44f5..eaf1bce 100644 --- a/app/src/main/java/com/foxx/androidcast/network/CastFramingContext.java +++ b/app/src/main/java/com/foxx/androidcast/network/CastFramingContext.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network; /********************************************************************* * CastFramingContext.java * Created at: Sat 16 May 2026 13:35:48 +0200 - * Updated at: Sat 16 May 2026 13:35:48 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastFramingContext * Contributors: - * - Anton Afanasyeu (1 commits, 26 lines) + * - Anton Afanasyeu (2 commits, 33 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 e372ad99b992ebc59f48f302ec64f200ef44037d138bcb930d1f1e40950ecd84 + * Digest: SHA256 6bab8dd7f00e2dcac4cbfff7a71264458219c95581ba70f163604f61f332ec92 **********************************************************************/ /** Per-session values written into {@link CastProtoHeader}. */ public final class CastFramingContext { diff --git a/app/src/main/java/com/foxx/androidcast/network/CastPacketFramer.java b/app/src/main/java/com/foxx/androidcast/network/CastPacketFramer.java index 8d98338..53b6668 100644 --- a/app/src/main/java/com/foxx/androidcast/network/CastPacketFramer.java +++ b/app/src/main/java/com/foxx/androidcast/network/CastPacketFramer.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network; /********************************************************************* * CastPacketFramer.java * Created at: Sat 16 May 2026 13:35:48 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastPacketFramer * Contributors: - * - Anton Afanasyeu (2 commits, 112 lines) + * - Anton Afanasyeu (3 commits, 119 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 b3754ac188b79a099a1ec75b069c1c0ee246749a16df31cb0a1f03dc26bbc285 + * Digest: SHA256 806b98464c799cdf9ccae53bcd08907959948949247045c8c6e8d6247d5e8ff0 **********************************************************************/ import java.io.ByteArrayOutputStream; import java.io.DataInputStream; diff --git a/app/src/main/java/com/foxx/androidcast/network/CastProtoHeader.java b/app/src/main/java/com/foxx/androidcast/network/CastProtoHeader.java index aa9c549..414dc82 100644 --- a/app/src/main/java/com/foxx/androidcast/network/CastProtoHeader.java +++ b/app/src/main/java/com/foxx/androidcast/network/CastProtoHeader.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network; /********************************************************************* * CastProtoHeader.java * Created at: Sat 16 May 2026 13:35:48 +0200 - * Updated at: Sat 16 May 2026 13:35:48 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastProtoHeader * Contributors: - * - Anton Afanasyeu (1 commits, 131 lines) + * - Anton Afanasyeu (2 commits, 138 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 12e42b2de9e3b317ebe8a55eca1d099b524e3fc4d8ae43ef8aa55d4345f9f6f2 + * Digest: SHA256 afb671c1209f1fb7414fca91bf9b5c1ccbe2cac079a4b1725ffc8daf9f96df61 **********************************************************************/ import com.foxx.androidcast.VersionInfo; diff --git a/app/src/main/java/com/foxx/androidcast/network/CastProtocol.java b/app/src/main/java/com/foxx/androidcast/network/CastProtocol.java index 8c44236..e4a656b 100644 --- a/app/src/main/java/com/foxx/androidcast/network/CastProtocol.java +++ b/app/src/main/java/com/foxx/androidcast/network/CastProtocol.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network; /********************************************************************* * CastProtocol.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastProtocol * Contributors: - * - Anton Afanasyeu (9 commits, 521 lines) + * - Anton Afanasyeu (10 commits, 528 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 5cad5f5d7b19c23e11c9d906c8faaad080c4fe1c4979e63534f143ba6450f964 + * Digest: SHA256 656a5843695c1e1219882549e895e14ba560d5f6b366de72827577752b833dc2 **********************************************************************/ import com.foxx.androidcast.CastConfig; import com.foxx.androidcast.CastSettings; diff --git a/app/src/main/java/com/foxx/androidcast/network/CastSession.java b/app/src/main/java/com/foxx/androidcast/network/CastSession.java index 5ba9a0a..ecb77f9 100644 --- a/app/src/main/java/com/foxx/androidcast/network/CastSession.java +++ b/app/src/main/java/com/foxx/androidcast/network/CastSession.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network; /********************************************************************* * CastSession.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastSession * Contributors: - * - Anton Afanasyeu (8 commits, 200 lines) + * - Anton Afanasyeu (9 commits, 207 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 81d0fcee90b930796bd96b7797126ff5bea83230c19284f2b353ff23ebe861b3 + * Digest: SHA256 dbf1f38a83f982eeae65310c6c91e22b86fcee043fdee0b33260a400e8331025 **********************************************************************/ import com.foxx.androidcast.CastSettings; import com.foxx.androidcast.media.CodecNegotiator; diff --git a/app/src/main/java/com/foxx/androidcast/network/CastSessionGate.java b/app/src/main/java/com/foxx/androidcast/network/CastSessionGate.java index 35b9ef3..a097052 100644 --- a/app/src/main/java/com/foxx/androidcast/network/CastSessionGate.java +++ b/app/src/main/java/com/foxx/androidcast/network/CastSessionGate.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network; /********************************************************************* * CastSessionGate.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastSessionGate * Contributors: - * - Anton Afanasyeu (1 commits, 37 lines) + * - Anton Afanasyeu (2 commits, 44 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 d7cbe13ecd00c0eff21bc5fab590cdcd5c0ff61bc196003800d5222a36987d6b + * Digest: SHA256 bffde4e7930b8ad589c9e66476fddf21a5235667811c9379979fba5bac48db5e **********************************************************************/ /** * Binds to the first non-zero session id on a connection and drops stale packets from other casts. diff --git a/app/src/main/java/com/foxx/androidcast/network/CastTransport.java b/app/src/main/java/com/foxx/androidcast/network/CastTransport.java index 1f02212..4461113 100644 --- a/app/src/main/java/com/foxx/androidcast/network/CastTransport.java +++ b/app/src/main/java/com/foxx/androidcast/network/CastTransport.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network; /********************************************************************* * CastTransport.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * interface CastTransport * Contributors: - * - Anton Afanasyeu (4 commits, 48 lines) + * - Anton Afanasyeu (5 commits, 55 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 5f6c3eac36ae5bbdb505ea5887fb12d45d7389e9779aecc325dc0ee5a89efa86 + * Digest: SHA256 cacc0f092505305b2c75a7a0479a1c837a39a05de5ace51d17267d54116262be **********************************************************************/ import com.foxx.androidcast.network.transport.TransportLossStats; diff --git a/app/src/main/java/com/foxx/androidcast/network/CastTransportFactory.java b/app/src/main/java/com/foxx/androidcast/network/CastTransportFactory.java index ab4d633..bb7742e 100644 --- a/app/src/main/java/com/foxx/androidcast/network/CastTransportFactory.java +++ b/app/src/main/java/com/foxx/androidcast/network/CastTransportFactory.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network; /********************************************************************* * CastTransportFactory.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastTransportFactory * Contributors: - * - Anton Afanasyeu (5 commits, 83 lines) + * - Anton Afanasyeu (6 commits, 90 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 7c439b37f91dd94df72bc0f354cd68ef000393f2d6fe68b804e5b5189fd83626 + * Digest: SHA256 87367475c8479ef541f606f782c652a202bedddca55a3275516a147205542471 **********************************************************************/ import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/network/TcpCastTransport.java b/app/src/main/java/com/foxx/androidcast/network/TcpCastTransport.java index 8d63ffe..a4c56b4 100644 --- a/app/src/main/java/com/foxx/androidcast/network/TcpCastTransport.java +++ b/app/src/main/java/com/foxx/androidcast/network/TcpCastTransport.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network; /********************************************************************* * TcpCastTransport.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class TcpCastTransport * Contributors: - * - Anton Afanasyeu (6 commits, 281 lines) + * - Anton Afanasyeu (7 commits, 288 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 18d570b2bd2d08bbcfac95e43e5cf3fd61eb6591e1f539715bea93e104ca5ae9 + * Digest: SHA256 770c47dffaaba48aaf909248ab441601a93ae94870e55d577486fd388cd07966 **********************************************************************/ import java.io.BufferedInputStream; import java.io.BufferedOutputStream; diff --git a/app/src/main/java/com/foxx/androidcast/network/UdpCastTransport.java b/app/src/main/java/com/foxx/androidcast/network/UdpCastTransport.java index 0d268c7..941f802 100644 --- a/app/src/main/java/com/foxx/androidcast/network/UdpCastTransport.java +++ b/app/src/main/java/com/foxx/androidcast/network/UdpCastTransport.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network; /********************************************************************* * UdpCastTransport.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class UdpCastTransport * Contributors: - * - Anton Afanasyeu (8 commits, 596 lines) + * - Anton Afanasyeu (9 commits, 603 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 00e1e8c88544801396c85cc876275d12331452f11f15b297a90f7276cac18095 + * Digest: SHA256 4a5d534472ed2b021d783c8cf74246142994197c4c9c81c829154584fb6e6d9c **********************************************************************/ import android.util.Log; diff --git a/app/src/main/java/com/foxx/androidcast/network/control/NetworkControlAdvice.java b/app/src/main/java/com/foxx/androidcast/network/control/NetworkControlAdvice.java index 468479e..df3d3e3 100644 --- a/app/src/main/java/com/foxx/androidcast/network/control/NetworkControlAdvice.java +++ b/app/src/main/java/com/foxx/androidcast/network/control/NetworkControlAdvice.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.control; /********************************************************************* * NetworkControlAdvice.java * Created at: Fri 15 May 2026 17:47:09 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class NetworkControlAdvice * Contributors: - * - Anton Afanasyeu (2 commits, 17 lines) + * - Anton Afanasyeu (3 commits, 24 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 d370483b41b728cce3dee488c9b7ac305c3c46abf8a2914715b02b4ee438768b + * Digest: SHA256 1be9e2b0c4a12def59e9e8587cdd184f1c62490ebaacff224a30e5266f295c4d **********************************************************************/ import com.foxx.androidcast.CastConfig; diff --git a/app/src/main/java/com/foxx/androidcast/network/control/NetworkControlPlane.java b/app/src/main/java/com/foxx/androidcast/network/control/NetworkControlPlane.java index 2be7634..faa078c 100644 --- a/app/src/main/java/com/foxx/androidcast/network/control/NetworkControlPlane.java +++ b/app/src/main/java/com/foxx/androidcast/network/control/NetworkControlPlane.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.control; /********************************************************************* * NetworkControlPlane.java * Created at: Fri 15 May 2026 17:47:09 +0200 - * Updated at: Fri 15 May 2026 17:47:09 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * interface NetworkControlPlane * Contributors: - * - Anton Afanasyeu (1 commits, 22 lines) + * - Anton Afanasyeu (2 commits, 29 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 c259f63567dfca2cd2bb4d623817347ec502ebc8dc23ca4ffb6f6e640150425c + * Digest: SHA256 5d0720517170cb275496c433afa459fa0fb4648eeaa0effa35ba1b0d8a149388 **********************************************************************/ /** * Pluggable network intelligence: bandwidth estimation, congestion, transport switching. diff --git a/app/src/main/java/com/foxx/androidcast/network/control/NetworkFeedbackManager.java b/app/src/main/java/com/foxx/androidcast/network/control/NetworkFeedbackManager.java index ddf0823..dbf14a1 100644 --- a/app/src/main/java/com/foxx/androidcast/network/control/NetworkFeedbackManager.java +++ b/app/src/main/java/com/foxx/androidcast/network/control/NetworkFeedbackManager.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.control; /********************************************************************* * NetworkFeedbackManager.java * Created at: Fri 15 May 2026 17:47:09 +0200 - * Updated at: Fri 15 May 2026 17:47:09 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class NetworkFeedbackManager * Contributors: - * - Anton Afanasyeu (1 commits, 91 lines) + * - Anton Afanasyeu (2 commits, 98 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 1e092cc8a586f5aea0c30b866f5ded2a565853aaaf4fa6ae424d7b0f481fc030 + * Digest: SHA256 03dc7300be054e07eef44367194228e77c7c25dab3efe96b9e835df5b14ab902 **********************************************************************/ import android.util.Log; diff --git a/app/src/main/java/com/foxx/androidcast/network/control/NetworkStatsSnapshot.java b/app/src/main/java/com/foxx/androidcast/network/control/NetworkStatsSnapshot.java index 5f259b9..8bf5a23 100644 --- a/app/src/main/java/com/foxx/androidcast/network/control/NetworkStatsSnapshot.java +++ b/app/src/main/java/com/foxx/androidcast/network/control/NetworkStatsSnapshot.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.control; /********************************************************************* * NetworkStatsSnapshot.java * Created at: Fri 15 May 2026 17:47:09 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class NetworkStatsSnapshot * Contributors: - * - Anton Afanasyeu (4 commits, 100 lines) + * - Anton Afanasyeu (5 commits, 107 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 c6bb775850299ada94ed1ed4a46bab38a98b2057ca520d41d28e3c66cd87d641 + * Digest: SHA256 f63d6815d874e115f739dd6c42a23c64df6615f4ea267ef5e132af59a78e2a45 **********************************************************************/ /** Point-in-time network metrics exchanged between sender and receiver. */ public class NetworkStatsSnapshot { diff --git a/app/src/main/java/com/foxx/androidcast/network/control/PassThroughNetworkControlPlane.java b/app/src/main/java/com/foxx/androidcast/network/control/PassThroughNetworkControlPlane.java index 42ce951..543a55a 100644 --- a/app/src/main/java/com/foxx/androidcast/network/control/PassThroughNetworkControlPlane.java +++ b/app/src/main/java/com/foxx/androidcast/network/control/PassThroughNetworkControlPlane.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.control; /********************************************************************* * PassThroughNetworkControlPlane.java * Created at: Fri 15 May 2026 17:47:09 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class PassThroughNetworkControlPlane * Contributors: - * - Anton Afanasyeu (6 commits, 136 lines) + * - Anton Afanasyeu (7 commits, 143 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 9342c241e07a9e20bcc01189aa60599b74299eed704b73f276069d284a787a42 + * Digest: SHA256 55fde627b9a8bb3fc5c27b4e3d5f7c79760d4037f477d4a578f3699b6349fb6e **********************************************************************/ import com.foxx.androidcast.CastConfig; diff --git a/app/src/main/java/com/foxx/androidcast/network/quic/CronetEngineProvider.java b/app/src/main/java/com/foxx/androidcast/network/quic/CronetEngineProvider.java index 3b4677f..b70c171 100644 --- a/app/src/main/java/com/foxx/androidcast/network/quic/CronetEngineProvider.java +++ b/app/src/main/java/com/foxx/androidcast/network/quic/CronetEngineProvider.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.quic; /********************************************************************* * CronetEngineProvider.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CronetEngineProvider * Contributors: - * - Anton Afanasyeu (1 commits, 50 lines) + * - Anton Afanasyeu (2 commits, 57 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 f5230a728a1b6f74b43032d303535600f085b851bee1aa3ffdedbd49429c1c59 + * Digest: SHA256 39f9f6c05214d52370267e6cabb02a4b4f64e43894dffaa507ab818017e3e8b6 **********************************************************************/ import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/network/quic/QuicCronetCastTransport.java b/app/src/main/java/com/foxx/androidcast/network/quic/QuicCronetCastTransport.java index e5da96a..85a6b42 100644 --- a/app/src/main/java/com/foxx/androidcast/network/quic/QuicCronetCastTransport.java +++ b/app/src/main/java/com/foxx/androidcast/network/quic/QuicCronetCastTransport.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.quic; /********************************************************************* * QuicCronetCastTransport.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class QuicCronetCastTransport * Contributors: - * - Anton Afanasyeu (2 commits, 143 lines) + * - Anton Afanasyeu (3 commits, 150 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 5467419a77ef3f01fedafc49ecde37906a9e2308fefb0021cf8885e5e78adae6 + * Digest: SHA256 388e37e6d9c73a9e2647d5e792807d03ba046dd4b5f542d2a3bc67fb82c5c5ea **********************************************************************/ import android.content.Context; import android.util.Log; diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/CombinedProtectionEngine.java b/app/src/main/java/com/foxx/androidcast/network/transport/CombinedProtectionEngine.java index a3b7f33..d213e66 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/CombinedProtectionEngine.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/CombinedProtectionEngine.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * CombinedProtectionEngine.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CombinedProtectionEngine * Contributors: - * - Anton Afanasyeu (2 commits, 46 lines) + * - Anton Afanasyeu (3 commits, 53 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 1ad9b755b97b582e842dbb260a45a5c00354f49950f3b356327f21fbafcc6ec8 + * Digest: SHA256 8d2e19bd4e7b93efa54061257dd4a0c09d3ec026e67d46344cd5267ac8d34217 **********************************************************************/ /** FEC 3/4 (default) plus NACK retransmission. */ public final class CombinedProtectionEngine implements StreamProtectionEngine { diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/FecProtectionEngine.java b/app/src/main/java/com/foxx/androidcast/network/transport/FecProtectionEngine.java index e8407a1..dd90ca7 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/FecProtectionEngine.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/FecProtectionEngine.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * FecProtectionEngine.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class FecProtectionEngine * Contributors: - * - Anton Afanasyeu (3 commits, 270 lines) + * - Anton Afanasyeu (4 commits, 277 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 526677234fd414bc5ebec7da1b352eac12c336f85b70f9d3500e22728ff2f2d1 + * Digest: SHA256 8440267db9d075ca98198af006689f0eb1aa6e5babddb197e421b39db055909e **********************************************************************/ import com.foxx.androidcast.network.CastProtoHeader; import com.foxx.androidcast.network.CastProtocol; diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/NackProtectionEngine.java b/app/src/main/java/com/foxx/androidcast/network/transport/NackProtectionEngine.java index 6506842..9c33788 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/NackProtectionEngine.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/NackProtectionEngine.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * NackProtectionEngine.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Mon 18 May 2026 14:25:02 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class NackProtectionEngine * Contributors: - * - Anton Afanasyeu (2 commits, 98 lines) + * - Anton Afanasyeu (3 commits, 105 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 10ca17df4e5cc4388e8cde7e5ee18a95834d0f35b0505376aeaec883c3f6cfde + * Digest: SHA256 2143666c7b09b385a3f29fa6e162b0e1bdbc4014c53ca141e84d780ea63fa03a **********************************************************************/ import com.foxx.androidcast.network.CastProtocol; diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/NackRateLimiter.java b/app/src/main/java/com/foxx/androidcast/network/transport/NackRateLimiter.java index 31b95b9..8c540b2 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/NackRateLimiter.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/NackRateLimiter.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * NackRateLimiter.java * Created at: Mon 18 May 2026 14:25:02 +0200 - * Updated at: Mon 18 May 2026 14:25:02 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class NackRateLimiter * Contributors: - * - Anton Afanasyeu (1 commits, 46 lines) + * - Anton Afanasyeu (2 commits, 53 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 8d2d4b7469b334ba92ad5f5374de828f35373a1cb6db9da3d714f39bd68d64f7 + * Digest: SHA256 fb01ac8cf405797ee3f320822e701f6c0b401a7f75c221b92eb132cd4aaa9b3e **********************************************************************/ import java.util.Iterator; import java.util.Map; diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/ProtectionNegotiationPrompts.java b/app/src/main/java/com/foxx/androidcast/network/transport/ProtectionNegotiationPrompts.java index 5f51fd6..277d65a 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/ProtectionNegotiationPrompts.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/ProtectionNegotiationPrompts.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * ProtectionNegotiationPrompts.java * Created at: Tue 19 May 2026 12:23:39 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class ProtectionNegotiationPrompts * Contributors: - * - Anton Afanasyeu (1 commits, 56 lines) + * - Anton Afanasyeu (2 commits, 63 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 dea8661d88add8f5890ec3972b910a025fb2f08936cc623012df81d1c49fb0f5 + * Digest: SHA256 26526ff9e1f666fd34f2592b5d7379e1e731ce89b10b587b3c2fc362248ef211 **********************************************************************/ import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/RetransmitCache.java b/app/src/main/java/com/foxx/androidcast/network/transport/RetransmitCache.java index ff7c87f..3b82351 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/RetransmitCache.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/RetransmitCache.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * RetransmitCache.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class RetransmitCache * Contributors: - * - Anton Afanasyeu (2 commits, 53 lines) + * - Anton Afanasyeu (3 commits, 60 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 4322b90ca68dc4b86d43cd08fcc716aa784793cc5387f148d715153614aa54ad + * Digest: SHA256 410e0a7afeb307c0221d8866c4cda59e112d4db6ef2771e89028cf686e5976be **********************************************************************/ import java.util.LinkedHashMap; import java.util.Map; diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionCapability.java b/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionCapability.java index 355b917..75e2db5 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionCapability.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionCapability.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * StreamProtectionCapability.java * Created at: Tue 19 May 2026 12:23:39 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class StreamProtectionCapability * Contributors: - * - Anton Afanasyeu (1 commits, 46 lines) + * - Anton Afanasyeu (2 commits, 53 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 111b4c7604a9f3cf31ee5ce22c043c5514639a65319f4f647b1ec3c9ef6be706 + * Digest: SHA256 2964f9d7b3c1de2f07bba4f8974f0694e8e70ca5c826053a8b45113007fb0655 **********************************************************************/ import com.foxx.androidcast.CastSettings; diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionCompat.java b/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionCompat.java index bc7c013..7c577d3 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionCompat.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionCompat.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * StreamProtectionCompat.java * Created at: Mon 18 May 2026 14:25:02 +0200 - * Updated at: Mon 18 May 2026 14:25:02 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class StreamProtectionCompat * Contributors: - * - Anton Afanasyeu (1 commits, 26 lines) + * - Anton Afanasyeu (2 commits, 33 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 f82d2d385ad2e5c1828772f1f65f2c34c31424c9e7bbcb7fa9082790bc5da780 + * Digest: SHA256 49de97502e18546009f074f42933ba0dadb2b8a6d574e5cd73902e69085a68bd **********************************************************************/ import com.foxx.androidcast.network.transport.fec.FecShardWire; import com.foxx.androidcast.network.transport.fec.ProtectionEnvelope; diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionEngine.java b/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionEngine.java index 5ab4092..16fbd1c 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionEngine.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionEngine.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * StreamProtectionEngine.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * interface StreamProtectionEngine * Contributors: - * - Anton Afanasyeu (2 commits, 39 lines) + * - Anton Afanasyeu (3 commits, 46 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 cd65458b03554455c13e8a1840e9f69fdc9aa150c488684b2bad354d2d112224 + * Digest: SHA256 e5fb2347ba725ee16f5078394e2cbed9ac6c73b7f3328a04306d82f1af496e14 **********************************************************************/ /** * FEC / NACK over UDP logical payloads (before ACUD fragmentation). diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionFactory.java b/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionFactory.java index d7f3ddc..0de83ce 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionFactory.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionFactory.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * StreamProtectionFactory.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class StreamProtectionFactory * Contributors: - * - Anton Afanasyeu (2 commits, 65 lines) + * - Anton Afanasyeu (3 commits, 72 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 37d6ee995c84c821bf1b19289e2d2a7ca9bb06b7abaab3a91f77b4c7786021a4 + * Digest: SHA256 d95251aee912c4c9073550c2ffd1db792d73e960ef11cee2143f509e716a8b44 **********************************************************************/ import com.foxx.androidcast.CastSettings; import com.foxx.androidcast.network.UdpCastTransport; diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionMode.java b/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionMode.java index 4a826ac..d9ba603 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionMode.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionMode.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * StreamProtectionMode.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Mon 18 May 2026 14:25:02 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * enum StreamProtectionMode * Contributors: - * - Anton Afanasyeu (3 commits, 38 lines) + * - Anton Afanasyeu (4 commits, 45 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 c9a8f91f998b09cf1b71e3c7278c5c5c2fc7c6ecbea2fb6d635933c062e016bc + * Digest: SHA256 70fb0edd14bcdef8391f5739ab0f54beba0cee3a5e9dc90e7e8e1c0347134b6c **********************************************************************/ /** Active UDP stream protection mode. */ public enum StreamProtectionMode { diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionNegotiation.java b/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionNegotiation.java index e28114e..982c1a8 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionNegotiation.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionNegotiation.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * StreamProtectionNegotiation.java * Created at: Tue 19 May 2026 12:23:39 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class StreamProtectionNegotiation * Contributors: - * - Anton Afanasyeu (1 commits, 45 lines) + * - Anton Afanasyeu (2 commits, 52 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 fc9318ae60374bf7b9f6ec7ebd33d9a1430362e2b88d8e5d2121659b6585295f + * Digest: SHA256 a4955f74abcb34c96613501e0f6eb25d3889e73816c7a324f7edd39be2253d99 **********************************************************************/ import com.foxx.androidcast.CastSettings; diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionNegotiator.java b/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionNegotiator.java index fca357f..25abc08 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionNegotiator.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionNegotiator.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * StreamProtectionNegotiator.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class StreamProtectionNegotiator * Contributors: - * - Anton Afanasyeu (3 commits, 242 lines) + * - Anton Afanasyeu (4 commits, 249 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 27372ce6f48d7eb7df3748e22f0fa9385ac70170b4e4b66122ce27e136984860 + * Digest: SHA256 591201c333c776d898de736e339b1b74d3cbdba88e0230611e3aaf2f128ce08a **********************************************************************/ import com.foxx.androidcast.CastSettings; import com.foxx.androidcast.R; diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionScopes.java b/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionScopes.java index f7d5141..f2f1794 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionScopes.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/StreamProtectionScopes.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * StreamProtectionScopes.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class StreamProtectionScopes * Contributors: - * - Anton Afanasyeu (1 commits, 16 lines) + * - Anton Afanasyeu (2 commits, 23 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 42793583e62578d8b79fe2b63a6fc21964f200a4feb61dd7d6662f655796ec6e + * Digest: SHA256 99d185ecec47f81b9958f1dcf7e4e8244355c57189d3d51f36628354bef0f41a **********************************************************************/ import com.foxx.androidcast.network.CastProtocol; diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/TransportLossStats.java b/app/src/main/java/com/foxx/androidcast/network/transport/TransportLossStats.java index f8cc968..12054ab 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/TransportLossStats.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/TransportLossStats.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * TransportLossStats.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Mon 18 May 2026 14:25:02 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class TransportLossStats * Contributors: - * - Anton Afanasyeu (3 commits, 130 lines) + * - Anton Afanasyeu (4 commits, 137 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 2871b0287670ab7d4afd77ceb9c27e9dd302fbe4a10fd2bd5f445f9fbb1b9968 + * Digest: SHA256 2d267619fa0169158e84e64613d7b891e0ca3e9fcdbb19c6cf747411a1a8ccf9 **********************************************************************/ /** * Per-transport loss / damage counters (UDP datagrams, reassembly, app-layer drops). diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/TransportLossStatsBridge.java b/app/src/main/java/com/foxx/androidcast/network/transport/TransportLossStatsBridge.java index 3075fba..9613964 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/TransportLossStatsBridge.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/TransportLossStatsBridge.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * TransportLossStatsBridge.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class TransportLossStatsBridge * Contributors: - * - Anton Afanasyeu (3 commits, 45 lines) + * - Anton Afanasyeu (4 commits, 52 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 1e1aa06bab315f58f621b247930e9a378815c176604c564f63081b70ee259315 + * Digest: SHA256 a0e2d68b2e6d01631f986b6e85a57a9f134d7a8dd2cc12c3fd6dd25eb99d1189 **********************************************************************/ import com.foxx.androidcast.network.control.NetworkStatsSnapshot; diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/TransportStatsProvider.java b/app/src/main/java/com/foxx/androidcast/network/transport/TransportStatsProvider.java index 551abb9..6220b03 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/TransportStatsProvider.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/TransportStatsProvider.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * TransportStatsProvider.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * interface TransportStatsProvider * Contributors: - * - Anton Afanasyeu (1 commits, 6 lines) + * - Anton Afanasyeu (2 commits, 13 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 84c4d36433f474f2e5ea5f31f2194895f08ecbfc7270c64cc55e3825496b8e0f + * Digest: SHA256 a27f1eb0684304471faf475f8d4dee87b30edb9fbe878cf3731e70676cf738c6 **********************************************************************/ /** Transports that expose {@link TransportLossStats}. */ public interface TransportStatsProvider { diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/fec/FecEncodedGroup.java b/app/src/main/java/com/foxx/androidcast/network/transport/fec/FecEncodedGroup.java index 40a9875..b5fa4ad 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/fec/FecEncodedGroup.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/fec/FecEncodedGroup.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport.fec; /********************************************************************* * FecEncodedGroup.java * Created at: Mon 18 May 2026 14:25:02 +0200 - * Updated at: Mon 18 May 2026 14:25:02 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class FecEncodedGroup * Contributors: - * - Anton Afanasyeu (1 commits, 25 lines) + * - Anton Afanasyeu (2 commits, 32 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 26c542f5247a4b547d6a3bc55f5d6211bb92c8a5aa977680ea21f5b19f53b97f + * Digest: SHA256 cf8e39fe78582c20657f87f2b0121418e45485753750396bd752ca29a4b93a64 **********************************************************************/ /** Reed–Solomon shards ready for per-datagram transmission. */ public final class FecEncodedGroup { diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/fec/FecShardReassembly.java b/app/src/main/java/com/foxx/androidcast/network/transport/fec/FecShardReassembly.java index af73899..d73363c 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/fec/FecShardReassembly.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/fec/FecShardReassembly.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport.fec; /********************************************************************* * FecShardReassembly.java * Created at: Mon 18 May 2026 14:25:02 +0200 - * Updated at: Mon 18 May 2026 14:25:02 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class FecShardReassembly * Contributors: - * - Anton Afanasyeu (1 commits, 86 lines) + * - Anton Afanasyeu (2 commits, 93 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 553d2646d5f0180f58519d94eac7e9fa9537a4ac12ae9a8049a9a722a7f79001 + * Digest: SHA256 029547f18662efca05cb784e7216010b48c90198fc5770d1e6952f5734b39331 **********************************************************************/ import java.util.Arrays; diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/fec/FecShardWire.java b/app/src/main/java/com/foxx/androidcast/network/transport/fec/FecShardWire.java index 42b164a..1bb82ea 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/fec/FecShardWire.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/fec/FecShardWire.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport.fec; /********************************************************************* * FecShardWire.java * Created at: Mon 18 May 2026 14:25:02 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class FecShardWire * Contributors: - * - Anton Afanasyeu (2 commits, 135 lines) + * - Anton Afanasyeu (3 commits, 142 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 a6e8fb37a7d8551159d846d51392109da739e17dd7aa5e7315e11c74eff57565 + * Digest: SHA256 e43675e8fa136c178c00c95e7ad0a569400a6582342223eef64e369e1aa4b719 **********************************************************************/ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/fec/GaloisField.java b/app/src/main/java/com/foxx/androidcast/network/transport/fec/GaloisField.java index baa554b..b835eac 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/fec/GaloisField.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/fec/GaloisField.java @@ -3,11 +3,12 @@ package com.foxx.androidcast.network.transport.fec; /********************************************************************* * GaloisField.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 64 lines) + * - Anton Afanasyeu (2 commits, 70 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 3526aef418e90173731524354d50d9333f8f2de663c19aadf4f555c0d64327f8 + * Digest: SHA256 03db14e672d69bcc8be9a67a3dfdd09799b4f96c95c09c856bedba70e51de212 **********************************************************************/ /** GF(2^8) arithmetic for Reed-Solomon. */ final class GaloisField { diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/fec/ProtectionEnvelope.java b/app/src/main/java/com/foxx/androidcast/network/transport/fec/ProtectionEnvelope.java index ad37c06..264d9c7 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/fec/ProtectionEnvelope.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/fec/ProtectionEnvelope.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport.fec; /********************************************************************* * ProtectionEnvelope.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class ProtectionEnvelope * Contributors: - * - Anton Afanasyeu (1 commits, 151 lines) + * - Anton Afanasyeu (2 commits, 158 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 5c74e0c64d1239e5d5e5f1b1d55c1a6448a420c70ef5eaa2683da43ee218e697 + * Digest: SHA256 c6a05fbd2c4892e6995b46682b4aecf857deb9db651efada97c9cd86445ce2ee **********************************************************************/ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; diff --git a/app/src/main/java/com/foxx/androidcast/network/transport/fec/ReedSolomonFec.java b/app/src/main/java/com/foxx/androidcast/network/transport/fec/ReedSolomonFec.java index 38f8640..b5f272d 100644 --- a/app/src/main/java/com/foxx/androidcast/network/transport/fec/ReedSolomonFec.java +++ b/app/src/main/java/com/foxx/androidcast/network/transport/fec/ReedSolomonFec.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport.fec; /********************************************************************* * ReedSolomonFec.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class ReedSolomonFec * Contributors: - * - Anton Afanasyeu (1 commits, 175 lines) + * - Anton Afanasyeu (2 commits, 182 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 0802b2891a59368244337769d722cfe858b9eaaa576f503d2c2d910cf542cd96 + * Digest: SHA256 f6b72854c1477ec632367c3c6a88aa6592c7a1ff1fc3255c6ebb62c861a06031 **********************************************************************/ import java.util.Arrays; diff --git a/app/src/main/java/com/foxx/androidcast/network/webrtc/WebRtcCastTransport.java b/app/src/main/java/com/foxx/androidcast/network/webrtc/WebRtcCastTransport.java index 4fa0845..c0c2f9f 100644 --- a/app/src/main/java/com/foxx/androidcast/network/webrtc/WebRtcCastTransport.java +++ b/app/src/main/java/com/foxx/androidcast/network/webrtc/WebRtcCastTransport.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.webrtc; /********************************************************************* * WebRtcCastTransport.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * interface WebRtcCastTransport * Contributors: - * - Anton Afanasyeu (1 commits, 62 lines) + * - Anton Afanasyeu (2 commits, 69 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 8108b951dfede7247d7f684e7118ac8e83963d27c59c810f5c894386c33dd05f + * Digest: SHA256 af151a4dd6ea8e576648e3c4861d851eb9e85c04bdb3bdee18e1344af52beede **********************************************************************/ import com.foxx.androidcast.network.CastProtocol; import com.foxx.androidcast.network.CastTransport; diff --git a/app/src/main/java/com/foxx/androidcast/network/webrtc/WebRtcPeerAdapter.java b/app/src/main/java/com/foxx/androidcast/network/webrtc/WebRtcPeerAdapter.java index 9f36871..55157f6 100644 --- a/app/src/main/java/com/foxx/androidcast/network/webrtc/WebRtcPeerAdapter.java +++ b/app/src/main/java/com/foxx/androidcast/network/webrtc/WebRtcPeerAdapter.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.webrtc; /********************************************************************* * WebRtcPeerAdapter.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * interface WebRtcPeerAdapter * Contributors: - * - Anton Afanasyeu (1 commits, 37 lines) + * - Anton Afanasyeu (2 commits, 44 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 148a9946f4c76155c7cbc5dee7253839f18c78cc72046387c146dbd463c7ce74 + * Digest: SHA256 fffc6dd70bc526851d144abc9716bbd2a69849e8d788f6bced7573febcf027c4 **********************************************************************/ /** * Abstraction over future {@code org.webrtc.PeerConnection} or pion peer APIs. diff --git a/app/src/main/java/com/foxx/androidcast/network/webrtc/WebRtcTransportFactory.java b/app/src/main/java/com/foxx/androidcast/network/webrtc/WebRtcTransportFactory.java index a5aa246..8740098 100644 --- a/app/src/main/java/com/foxx/androidcast/network/webrtc/WebRtcTransportFactory.java +++ b/app/src/main/java/com/foxx/androidcast/network/webrtc/WebRtcTransportFactory.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.webrtc; /********************************************************************* * WebRtcTransportFactory.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class WebRtcTransportFactory * Contributors: - * - Anton Afanasyeu (1 commits, 19 lines) + * - Anton Afanasyeu (2 commits, 26 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 fd79fe0ba81323ac4b2d0ea0c45d4a1f69240aaa4bc88052c5831661ea0a5990 + * Digest: SHA256 e493627f2d6a5ebbf641fa5fd3a96d4c4c098dd08a8305a76f132cc2c90f45b4 **********************************************************************/ import com.foxx.androidcast.CastConfig; import com.foxx.androidcast.network.CastTransport; diff --git a/app/src/main/java/com/foxx/androidcast/ota/OtaApkInstaller.java b/app/src/main/java/com/foxx/androidcast/ota/OtaApkInstaller.java index 29bbd00..6a28c68 100644 --- a/app/src/main/java/com/foxx/androidcast/ota/OtaApkInstaller.java +++ b/app/src/main/java/com/foxx/androidcast/ota/OtaApkInstaller.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.ota; /********************************************************************* * OtaApkInstaller.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class OtaApkInstaller * Contributors: - * - Anton Afanasyeu (1 commits, 123 lines) + * - Anton Afanasyeu (2 commits, 143 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 6682b40f72d4e32a56c0085e591f65ba0691f82542540961c5da0aab19d88a88 + * Digest: SHA256 ea6b467b9b8c4ee24c26d349772228aef7595f259e996a280813a56f7cbf1166 **********************************************************************/ import android.content.Context; import android.content.Intent; diff --git a/app/src/main/java/com/foxx/androidcast/ota/OtaBundleInstaller.java b/app/src/main/java/com/foxx/androidcast/ota/OtaBundleInstaller.java index f484d41..a69500d 100644 --- a/app/src/main/java/com/foxx/androidcast/ota/OtaBundleInstaller.java +++ b/app/src/main/java/com/foxx/androidcast/ota/OtaBundleInstaller.java @@ -2,12 +2,14 @@ package com.foxx.androidcast.ota; /********************************************************************* * OtaBundleInstaller.java - * Created at: Wed 20 May 2026 15:15:10 +0200 - * Updated at: Wed 20 May 2026 15:15:10 +0200 by Cursor Agent + * Created at: Wed 20 May 2026 15:17:13 +0200 + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class OtaBundleInstaller * Contributors: + * - Anton Afanasyeu (1 commits, 181 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 5c17ea3c41608a428c736c8a8657c28a4f8f21d0e2f699283138e96b52e6f176 + * Digest: SHA256 050709074c45c65d229157f78c7b52d9d6be9fbfb9af82d4a862d986aa3760c5 **********************************************************************/ import android.content.Context; import android.util.Log; diff --git a/app/src/main/java/com/foxx/androidcast/ota/OtaChannelPointer.java b/app/src/main/java/com/foxx/androidcast/ota/OtaChannelPointer.java index b7f46e9..186cfd6 100644 --- a/app/src/main/java/com/foxx/androidcast/ota/OtaChannelPointer.java +++ b/app/src/main/java/com/foxx/androidcast/ota/OtaChannelPointer.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.ota; /********************************************************************* * OtaChannelPointer.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class OtaChannelPointer * Contributors: - * - Anton Afanasyeu (1 commits, 23 lines) + * - Anton Afanasyeu (2 commits, 30 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 6aed382703256fd3aaa07d4d41e4f2e957e74ee006a2194115ba620227599207 + * Digest: SHA256 e09bb60ad6b267beca91b6e3bf5f9acc792aedd8cc94fcd85d7137baabbe432b **********************************************************************/ import org.json.JSONObject; diff --git a/app/src/main/java/com/foxx/androidcast/ota/OtaJsonFetch.java b/app/src/main/java/com/foxx/androidcast/ota/OtaJsonFetch.java index 84deb8e..50d5a62 100644 --- a/app/src/main/java/com/foxx/androidcast/ota/OtaJsonFetch.java +++ b/app/src/main/java/com/foxx/androidcast/ota/OtaJsonFetch.java @@ -3,11 +3,12 @@ package com.foxx.androidcast.ota; /********************************************************************* * OtaJsonFetch.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 116 lines) + * - Anton Afanasyeu (2 commits, 122 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 fb5df09d6e63f506add8f8c645da557091ed3b03948e1c036ab11b94120a1f48 + * Digest: SHA256 fc9897e4627ffc8405f8deeeefbc17d085cb1b960695ca41929b8c073c36a9fb **********************************************************************/ import org.json.JSONObject; diff --git a/app/src/main/java/com/foxx/androidcast/ota/OtaManifest.java b/app/src/main/java/com/foxx/androidcast/ota/OtaManifest.java index e1c939e..c5e4843 100644 --- a/app/src/main/java/com/foxx/androidcast/ota/OtaManifest.java +++ b/app/src/main/java/com/foxx/androidcast/ota/OtaManifest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.ota; /********************************************************************* * OtaManifest.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class OtaManifest * Contributors: - * - Anton Afanasyeu (1 commits, 128 lines) + * - Anton Afanasyeu (2 commits, 179 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 9876faf3b24922b0737a168c8c7230f52bb1e6e1bb1d1444c59bb3acfa202f2f + * Digest: SHA256 9d252cd4e87fbbb7368a325b3c8a19734691281b4638e6d3b71c23214c096463 **********************************************************************/ import android.text.TextUtils; diff --git a/app/src/main/java/com/foxx/androidcast/ota/OtaMqttFetch.java b/app/src/main/java/com/foxx/androidcast/ota/OtaMqttFetch.java index 22f9d67..617cc3d 100644 --- a/app/src/main/java/com/foxx/androidcast/ota/OtaMqttFetch.java +++ b/app/src/main/java/com/foxx/androidcast/ota/OtaMqttFetch.java @@ -3,11 +3,12 @@ package com.foxx.androidcast.ota; /********************************************************************* * OtaMqttFetch.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 114 lines) + * - Anton Afanasyeu (2 commits, 120 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 cdacc7e68102160a95336578000f9ad828b901812d3d464109cdd4cfea8e9806 + * Digest: SHA256 83b61695b2344fb831a826cb0ef9687578aab90231f5c08416d1806462b09ec6 **********************************************************************/ import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken; import org.eclipse.paho.client.mqttv3.MqttCallback; diff --git a/app/src/main/java/com/foxx/androidcast/ota/OtaRuntimeSettings.java b/app/src/main/java/com/foxx/androidcast/ota/OtaRuntimeSettings.java index 9cbb6bd..d4278f7 100644 --- a/app/src/main/java/com/foxx/androidcast/ota/OtaRuntimeSettings.java +++ b/app/src/main/java/com/foxx/androidcast/ota/OtaRuntimeSettings.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.ota; /********************************************************************* * OtaRuntimeSettings.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class OtaRuntimeSettings * Contributors: - * - Anton Afanasyeu (1 commits, 20 lines) + * - Anton Afanasyeu (2 commits, 27 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 ff20558ef75f3e39b99d453750a4e45bab2bb3a537f746c1a5644643b7c65c69 + * Digest: SHA256 46adf91da6c2173e02da82fed4e9702001ab6eb3319eb7612808087bc9879097 **********************************************************************/ import java.util.ArrayList; import java.util.Collections; diff --git a/app/src/main/java/com/foxx/androidcast/ota/OtaSettingsStore.java b/app/src/main/java/com/foxx/androidcast/ota/OtaSettingsStore.java index d91117d..18e117d 100644 --- a/app/src/main/java/com/foxx/androidcast/ota/OtaSettingsStore.java +++ b/app/src/main/java/com/foxx/androidcast/ota/OtaSettingsStore.java @@ -3,11 +3,12 @@ package com.foxx.androidcast.ota; /********************************************************************* * OtaSettingsStore.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 189 lines) + * - Anton Afanasyeu (2 commits, 195 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 1a090c92a975ab23b7d7a6afdb6ce02cbd42b91420d0749372b37680c5be9129 + * Digest: SHA256 ad00d10986e51e0c3056c351cfba2c39da457a45562cabf09387f6910676dc2e **********************************************************************/ import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/ota/OtaSignBundle.java b/app/src/main/java/com/foxx/androidcast/ota/OtaSignBundle.java index eaaa24e..4a50dd2 100644 --- a/app/src/main/java/com/foxx/androidcast/ota/OtaSignBundle.java +++ b/app/src/main/java/com/foxx/androidcast/ota/OtaSignBundle.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.ota; /********************************************************************* * OtaSignBundle.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class OtaSignBundle * Contributors: - * - Anton Afanasyeu (1 commits, 19 lines) + * - Anton Afanasyeu (2 commits, 26 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 246d10a7e62d5f21162e672887c345186d51f974d5ddee6f234b0f536ec1be1d + * Digest: SHA256 eadf7b0d0c4a5c80e8faaa3519e4e7bc2885e931727eb66d362efb6a9fcbe3ae **********************************************************************/ import org.json.JSONObject; diff --git a/app/src/main/java/com/foxx/androidcast/ota/OtaUpdateChecker.java b/app/src/main/java/com/foxx/androidcast/ota/OtaUpdateChecker.java index 821af87..a6a9c7f 100644 --- a/app/src/main/java/com/foxx/androidcast/ota/OtaUpdateChecker.java +++ b/app/src/main/java/com/foxx/androidcast/ota/OtaUpdateChecker.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.ota; /********************************************************************* * OtaUpdateChecker.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class OtaUpdateChecker * Contributors: - * - Anton Afanasyeu (1 commits, 134 lines) + * - Anton Afanasyeu (2 commits, 170 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 dabb50d5a774f59ee9dcb1bef81e4acd7899c58fb486f180b91927fff5a527eb + * Digest: SHA256 35c0b4dd9db5095245a025fe2ea4971146d322b7ad41e6101b54afe7b4b7246c **********************************************************************/ import android.content.Context; import android.content.pm.PackageInfo; diff --git a/app/src/main/java/com/foxx/androidcast/ota/OtaUpdateCoordinator.java b/app/src/main/java/com/foxx/androidcast/ota/OtaUpdateCoordinator.java index 9148d11..842bf11 100644 --- a/app/src/main/java/com/foxx/androidcast/ota/OtaUpdateCoordinator.java +++ b/app/src/main/java/com/foxx/androidcast/ota/OtaUpdateCoordinator.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.ota; /********************************************************************* * OtaUpdateCoordinator.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class OtaUpdateCoordinator * Contributors: - * - Anton Afanasyeu (1 commits, 128 lines) + * - Anton Afanasyeu (2 commits, 137 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 153fce4c938a190612e24f788ae29927fb969e3a3ed8514acc3dc7f083a957d6 + * Digest: SHA256 04de2b9dd7b10206c7b2bcc26b2362fea30a7050a691b639920ac061c082b4ae **********************************************************************/ import android.app.Activity; import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/ota/OtaUpdateService.java b/app/src/main/java/com/foxx/androidcast/ota/OtaUpdateService.java index ce5098a..adfaf08 100644 --- a/app/src/main/java/com/foxx/androidcast/ota/OtaUpdateService.java +++ b/app/src/main/java/com/foxx/androidcast/ota/OtaUpdateService.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.ota; /********************************************************************* * OtaUpdateService.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class OtaUpdateService * Contributors: - * - Anton Afanasyeu (1 commits, 361 lines) + * - Anton Afanasyeu (2 commits, 372 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 83b6e7e6dea20a90d53d1d30744c02afc7b4692449dbc9b70a197c5c071de814 + * Digest: SHA256 d3fc9f2f38c78893ac5e17c4cc715562d29c10763a11eb64548ba59d4d03dfff **********************************************************************/ import android.app.Notification; import android.app.NotificationChannel; diff --git a/app/src/main/java/com/foxx/androidcast/ota/OtaVersion.java b/app/src/main/java/com/foxx/androidcast/ota/OtaVersion.java index 0386ed4..de83264 100644 --- a/app/src/main/java/com/foxx/androidcast/ota/OtaVersion.java +++ b/app/src/main/java/com/foxx/androidcast/ota/OtaVersion.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.ota; /********************************************************************* * OtaVersion.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class OtaVersion * Contributors: - * - Anton Afanasyeu (1 commits, 49 lines) + * - Anton Afanasyeu (2 commits, 56 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 cb224d32ed84ff6056039bb968b429b1840e4c96fa213686caeebe930dc084e6 + * Digest: SHA256 4a7d39b7a223c2361aad2601f067cf91c9203dd292f64d209a5de4d78bb33d34 **********************************************************************/ import com.foxx.androidcast.BuildConfig; diff --git a/app/src/main/java/com/foxx/androidcast/receiver/AudioDecoder.java b/app/src/main/java/com/foxx/androidcast/receiver/AudioDecoder.java index b750afc..b11d207 100644 --- a/app/src/main/java/com/foxx/androidcast/receiver/AudioDecoder.java +++ b/app/src/main/java/com/foxx/androidcast/receiver/AudioDecoder.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.receiver; /********************************************************************* * AudioDecoder.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class AudioDecoder * Contributors: - * - Anton Afanasyeu (5 commits, 412 lines) + * - Anton Afanasyeu (6 commits, 419 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 f7bf70934a99b2da46a0e9063a8d0695bfccc5b7178308fdb9990e8a3b85002f + * Digest: SHA256 5a735f2a711c2676e71bdb7b3541c08055fee63c37d5f81be669402dfeca1167 **********************************************************************/ import android.content.Context; import android.media.AudioAttributes; diff --git a/app/src/main/java/com/foxx/androidcast/receiver/LibvpxVideoDecoder.java b/app/src/main/java/com/foxx/androidcast/receiver/LibvpxVideoDecoder.java index 32ad0bc..ccdfd3c 100644 --- a/app/src/main/java/com/foxx/androidcast/receiver/LibvpxVideoDecoder.java +++ b/app/src/main/java/com/foxx/androidcast/receiver/LibvpxVideoDecoder.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.receiver; /********************************************************************* * LibvpxVideoDecoder.java * Created at: Mon 18 May 2026 17:05:47 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class LibvpxVideoDecoder * Contributors: - * - Anton Afanasyeu (2 commits, 89 lines) + * - Anton Afanasyeu (3 commits, 96 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 17f03b3cb874bed8aeda4f9e04eca271d2ebaab138722da86f6278c7582d9219 + * Digest: SHA256 51d754efd8877e0817033f023a3a1aa9e3b4b4d316aee7d6981314fb65c485e7 **********************************************************************/ import android.util.Log; import android.view.Surface; diff --git a/app/src/main/java/com/foxx/androidcast/receiver/PlaybackViewState.java b/app/src/main/java/com/foxx/androidcast/receiver/PlaybackViewState.java index 12b549b..38aac15 100644 --- a/app/src/main/java/com/foxx/androidcast/receiver/PlaybackViewState.java +++ b/app/src/main/java/com/foxx/androidcast/receiver/PlaybackViewState.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.receiver; /********************************************************************* * PlaybackViewState.java * Created at: Sat 16 May 2026 13:35:48 +0200 - * Updated at: Sat 16 May 2026 13:35:48 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class PlaybackViewState * Contributors: - * - Anton Afanasyeu (1 commits, 21 lines) + * - Anton Afanasyeu (2 commits, 28 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 ce660967a5947203a6964e7d8e80867e268504c3bb4e7347355985559197efd6 + * Digest: SHA256 9fcecc11dc789abfa9db81d9829d4caa3c8d17f41733d5d36c01e344652004cf **********************************************************************/ /** Zoom/pan state for receiver diagnostics (updated from playback UI). */ public final class PlaybackViewState { diff --git a/app/src/main/java/com/foxx/androidcast/receiver/ReceiverActivity.java b/app/src/main/java/com/foxx/androidcast/receiver/ReceiverActivity.java index 688a5fe..66da7b3 100644 --- a/app/src/main/java/com/foxx/androidcast/receiver/ReceiverActivity.java +++ b/app/src/main/java/com/foxx/androidcast/receiver/ReceiverActivity.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.receiver; /********************************************************************* * ReceiverActivity.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Sun 17 May 2026 18:17:14 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class ReceiverActivity * Contributors: - * - Anton Afanasyeu (5 commits, 156 lines) + * - Anton Afanasyeu (6 commits, 163 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 e964baa1b7ad23be67df455817ed504baa75a1bd159db8ea9ed85d808488fa1e + * Digest: SHA256 5ca140ebc07f2ed3353cce1db093f850230b3ed1657466551f96c7c1b8349f88 **********************************************************************/ import android.content.ComponentName; import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/receiver/ReceiverCastService.java b/app/src/main/java/com/foxx/androidcast/receiver/ReceiverCastService.java index e4c5232..326d7a1 100644 --- a/app/src/main/java/com/foxx/androidcast/receiver/ReceiverCastService.java +++ b/app/src/main/java/com/foxx/androidcast/receiver/ReceiverCastService.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.receiver; /********************************************************************* * ReceiverCastService.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class ReceiverCastService * Contributors: - * - Anton Afanasyeu (17 commits, 1019 lines) + * - Anton Afanasyeu (18 commits, 1026 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 7d81ff830ce741b1f520fb07418af465287df9a6c4849da70fee29b38d802263 + * Digest: SHA256 19d789a6606081796e55d6b81346ec4b3d8b98b288e80ab6e44eae8d98084804 **********************************************************************/ import android.app.NotificationManager; import android.app.Service; diff --git a/app/src/main/java/com/foxx/androidcast/receiver/ReceiverPlaybackActivity.java b/app/src/main/java/com/foxx/androidcast/receiver/ReceiverPlaybackActivity.java index 2e25c01..159da2e 100644 --- a/app/src/main/java/com/foxx/androidcast/receiver/ReceiverPlaybackActivity.java +++ b/app/src/main/java/com/foxx/androidcast/receiver/ReceiverPlaybackActivity.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.receiver; /********************************************************************* * ReceiverPlaybackActivity.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class ReceiverPlaybackActivity * Contributors: - * - Anton Afanasyeu (13 commits, 641 lines) + * - Anton Afanasyeu (14 commits, 648 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 65c6a33bf17574ffe6c011e36cb4755d88f5866489fa959b8dd9482deffb2143 + * Digest: SHA256 38e5f45548413568ec9d715352930b3e934665f48cea81e45fb22d80f47875c0 **********************************************************************/ import android.content.ComponentName; import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/receiver/ReceiverPrefs.java b/app/src/main/java/com/foxx/androidcast/receiver/ReceiverPrefs.java index d0bea34..41dafb9 100644 --- a/app/src/main/java/com/foxx/androidcast/receiver/ReceiverPrefs.java +++ b/app/src/main/java/com/foxx/androidcast/receiver/ReceiverPrefs.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.receiver; /********************************************************************* * ReceiverPrefs.java * Created at: Fri 15 May 2026 17:47:09 +0200 - * Updated at: Fri 15 May 2026 17:47:09 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class ReceiverPrefs * Contributors: - * - Anton Afanasyeu (1 commits, 24 lines) + * - Anton Afanasyeu (2 commits, 31 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 a6c1daf09882bbd25c2aeda5fe2dd93532ee01ce3025bc8ba9e0789f15ddb66f + * Digest: SHA256 bf8d517929f2ce54e581aaaa707310b6844ed26b12e1e2d38522c866cc803e1c **********************************************************************/ import android.content.Context; import android.content.SharedPreferences; diff --git a/app/src/main/java/com/foxx/androidcast/receiver/ReceiverSession.java b/app/src/main/java/com/foxx/androidcast/receiver/ReceiverSession.java index bc7d541..9be72a0 100644 --- a/app/src/main/java/com/foxx/androidcast/receiver/ReceiverSession.java +++ b/app/src/main/java/com/foxx/androidcast/receiver/ReceiverSession.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.receiver; /********************************************************************* * ReceiverSession.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class ReceiverSession * Contributors: - * - Anton Afanasyeu (11 commits, 319 lines) + * - Anton Afanasyeu (12 commits, 326 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 daec1110a015b4809acd32710db9de074af512c46f724f06448c3cc7293d392a + * Digest: SHA256 a0df3c3e1589bdaaa4869da1b6208660f870637a135c06b0946263ca85d095c2 **********************************************************************/ import android.util.Log; diff --git a/app/src/main/java/com/foxx/androidcast/receiver/StreamMetrics.java b/app/src/main/java/com/foxx/androidcast/receiver/StreamMetrics.java index c9caa96..7a6c4f5 100644 --- a/app/src/main/java/com/foxx/androidcast/receiver/StreamMetrics.java +++ b/app/src/main/java/com/foxx/androidcast/receiver/StreamMetrics.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.receiver; /********************************************************************* * StreamMetrics.java * Created at: Fri 15 May 2026 18:17:39 +0200 - * Updated at: Sat 16 May 2026 13:35:48 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class StreamMetrics * Contributors: - * - Anton Afanasyeu (5 commits, 258 lines) + * - Anton Afanasyeu (6 commits, 265 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 9adc31419aaf18c20d39d8155a5bdeb451cbcdc23a01f7681203905d85cffb23 + * Digest: SHA256 d8a6a1d9253073899f2be582d7334435d8b5e69563656098aef7749f038234ab **********************************************************************/ import com.foxx.androidcast.network.control.NetworkStatsSnapshot; diff --git a/app/src/main/java/com/foxx/androidcast/receiver/VideoDecoder.java b/app/src/main/java/com/foxx/androidcast/receiver/VideoDecoder.java index 4c842bd..e312b31 100644 --- a/app/src/main/java/com/foxx/androidcast/receiver/VideoDecoder.java +++ b/app/src/main/java/com/foxx/androidcast/receiver/VideoDecoder.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.receiver; /********************************************************************* * VideoDecoder.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class VideoDecoder * Contributors: - * - Anton Afanasyeu (6 commits, 206 lines) + * - Anton Afanasyeu (7 commits, 213 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 5f5c706795090ba6ba3588024f217cefb7d8f733aec9a8865489d89c638b0f44 + * Digest: SHA256 198572dccc10d66707f67d249a8ba20391fc8967d8d07737bf162b6b96a85ac4 **********************************************************************/ import android.media.MediaCodec; import android.media.MediaFormat; diff --git a/app/src/main/java/com/foxx/androidcast/sender/AudioCapture.java b/app/src/main/java/com/foxx/androidcast/sender/AudioCapture.java index 3c4d051..592d12f 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/AudioCapture.java +++ b/app/src/main/java/com/foxx/androidcast/sender/AudioCapture.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender; /********************************************************************* * AudioCapture.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Sun 17 May 2026 15:45:19 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class AudioCapture * Contributors: - * - Anton Afanasyeu (5 commits, 319 lines) + * - Anton Afanasyeu (6 commits, 326 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 dcd208fc064fb69a33ef9d0f113189357a9c36f4726bd1e112006be56dab4ac5 + * Digest: SHA256 914af98a311d798bfd6d439943292b0be1dd5d2f23b0900997f6c02f7f7167a6 **********************************************************************/ import android.Manifest; import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/sender/AudioEncoder.java b/app/src/main/java/com/foxx/androidcast/sender/AudioEncoder.java index 2aef890..8a261e2 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/AudioEncoder.java +++ b/app/src/main/java/com/foxx/androidcast/sender/AudioEncoder.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender; /********************************************************************* * AudioEncoder.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class AudioEncoder * Contributors: - * - Anton Afanasyeu (6 commits, 177 lines) + * - Anton Afanasyeu (7 commits, 184 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 b4bcd5f56604bfd8f645099bf2725741dea913ae413b21afadf527af6c474bd4 + * Digest: SHA256 36ce52402928a59d3f331eca3c59dfc761e12eda518e258d5b96be48413b1f3f **********************************************************************/ import android.media.MediaCodec; import android.media.MediaCodecInfo; diff --git a/app/src/main/java/com/foxx/androidcast/sender/CastFanoutPump.java b/app/src/main/java/com/foxx/androidcast/sender/CastFanoutPump.java index e6ebe9c..651f406 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/CastFanoutPump.java +++ b/app/src/main/java/com/foxx/androidcast/sender/CastFanoutPump.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender; /********************************************************************* * CastFanoutPump.java * Created at: Sat 16 May 2026 13:35:48 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastFanoutPump * Contributors: - * - Anton Afanasyeu (3 commits, 186 lines) + * - Anton Afanasyeu (4 commits, 193 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 c14a7adbbf46d384d7243a1420b0f8c77faa95567ecd547de459cce4e7026393 + * Digest: SHA256 615e22057e4e8cc6a9c991c10a237fd3bd46e598429c7c1725114f3b8d457abd **********************************************************************/ import android.util.Log; diff --git a/app/src/main/java/com/foxx/androidcast/sender/CastReceiverTarget.java b/app/src/main/java/com/foxx/androidcast/sender/CastReceiverTarget.java index 7fb2301..1bb37a5 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/CastReceiverTarget.java +++ b/app/src/main/java/com/foxx/androidcast/sender/CastReceiverTarget.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender; /********************************************************************* * CastReceiverTarget.java * Created at: Sat 16 May 2026 13:35:48 +0200 - * Updated at: Sat 16 May 2026 13:35:48 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastReceiverTarget * Contributors: - * - Anton Afanasyeu (1 commits, 29 lines) + * - Anton Afanasyeu (2 commits, 36 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 199a71f729016db131a422923ed572bf936e1ece58b9abccdb0de133c64f4999 + * Digest: SHA256 cd2a4275173b4292765948ba688eec345c9224803d3fdfc59f7169bab19f4edb **********************************************************************/ import java.io.Serializable; diff --git a/app/src/main/java/com/foxx/androidcast/sender/CastSendPump.java b/app/src/main/java/com/foxx/androidcast/sender/CastSendPump.java index e9e22ab..78c442a 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/CastSendPump.java +++ b/app/src/main/java/com/foxx/androidcast/sender/CastSendPump.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender; /********************************************************************* * CastSendPump.java * Created at: Fri 15 May 2026 18:37:53 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastSendPump * Contributors: - * - Anton Afanasyeu (6 commits, 188 lines) + * - Anton Afanasyeu (7 commits, 195 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 28e82a800130d851f3d42c2ca733bdd7017a4238c11dfa88855a2bfd6e96918f + * Digest: SHA256 e6147251c99139c388f2f5a1820528544cffd3322eb24b3d1c5c170e71e86a37 **********************************************************************/ import android.util.Log; diff --git a/app/src/main/java/com/foxx/androidcast/sender/CodecCatalog.java b/app/src/main/java/com/foxx/androidcast/sender/CodecCatalog.java index 6f3ded4..f4e4ba2 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/CodecCatalog.java +++ b/app/src/main/java/com/foxx/androidcast/sender/CodecCatalog.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender; /********************************************************************* * CodecCatalog.java * Created at: Fri 15 May 2026 20:37:44 +0200 - * Updated at: Mon 18 May 2026 19:06:56 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CodecCatalog * Contributors: - * - Anton Afanasyeu (5 commits, 288 lines) + * - Anton Afanasyeu (6 commits, 295 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 d8c78d7980e97e5b57e8719bb016a0e72ed6a60cb7b1df1712b30c3349525a16 + * Digest: SHA256 46817d6e28afd269c00e5c8699d553b6938eeedbaca7b5f6ac3ce8f4a8021887 **********************************************************************/ import android.media.MediaCodecInfo; import android.media.MediaCodecList; diff --git a/app/src/main/java/com/foxx/androidcast/sender/DeviceListAdapter.java b/app/src/main/java/com/foxx/androidcast/sender/DeviceListAdapter.java index aabfd1f..7984be7 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/DeviceListAdapter.java +++ b/app/src/main/java/com/foxx/androidcast/sender/DeviceListAdapter.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender; /********************************************************************* * DeviceListAdapter.java * Created at: Fri 15 May 2026 17:47:09 +0200 - * Updated at: Mon 18 May 2026 17:46:19 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class DeviceListAdapter * Contributors: - * - Anton Afanasyeu (4 commits, 123 lines) + * - Anton Afanasyeu (5 commits, 130 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 f2a6ec3b8f64c45f0cb27e7a4574793be08a73a54aa134a0f3927adffb85303e + * Digest: SHA256 a4c5b1e8d95601ce81990177e42d342f86afe8dd704bef1fc4db89cdb5b90670 **********************************************************************/ import android.content.Context; import android.graphics.Typeface; diff --git a/app/src/main/java/com/foxx/androidcast/sender/EncoderKeepalive.java b/app/src/main/java/com/foxx/androidcast/sender/EncoderKeepalive.java index 700d684..8d955cc 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/EncoderKeepalive.java +++ b/app/src/main/java/com/foxx/androidcast/sender/EncoderKeepalive.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender; /********************************************************************* * EncoderKeepalive.java * Created at: Fri 15 May 2026 20:37:44 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class EncoderKeepalive * Contributors: - * - Anton Afanasyeu (3 commits, 55 lines) + * - Anton Afanasyeu (4 commits, 62 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 cac57a14101810b9568aec381154a2b53184d0fc27792375ca21961c3774c76f + * Digest: SHA256 04bcde62a3a1122d433e0fefdd1aa469f841cc89aed8f0ddfd2327814bf58131 **********************************************************************/ import android.os.Handler; import android.os.Looper; diff --git a/app/src/main/java/com/foxx/androidcast/sender/MultiCastCoordinator.java b/app/src/main/java/com/foxx/androidcast/sender/MultiCastCoordinator.java index 5e4ed5f..1a62f33 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/MultiCastCoordinator.java +++ b/app/src/main/java/com/foxx/androidcast/sender/MultiCastCoordinator.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender; /********************************************************************* * MultiCastCoordinator.java * Created at: Sat 16 May 2026 13:35:48 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class MultiCastCoordinator * Contributors: - * - Anton Afanasyeu (7 commits, 264 lines) + * - Anton Afanasyeu (8 commits, 271 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 8cb8c4e79c55618777e7b027e06a4fb1692fffd35686a58a68700e5d25b35806 + * Digest: SHA256 36a73cee00f829a6ec66f4f6ab1d178d6ec37263026bc09f99f86d881f45462e **********************************************************************/ import android.content.Context; import android.util.Log; diff --git a/app/src/main/java/com/foxx/androidcast/sender/ScreenCastService.java b/app/src/main/java/com/foxx/androidcast/sender/ScreenCastService.java index 94c9d5b..506d4b2 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/ScreenCastService.java +++ b/app/src/main/java/com/foxx/androidcast/sender/ScreenCastService.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender; /********************************************************************* * ScreenCastService.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class ScreenCastService * Contributors: - * - Anton Afanasyeu (17 commits, 1124 lines) + * - Anton Afanasyeu (18 commits, 1131 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 2d9a6eb2c484afcce0448f518947d328ad3381759cd34124184652d754cbc82e + * Digest: SHA256 239fafac379dab7a0d380509d4d3a46e1742de7f807dd40a3b231ccb5c48d860 **********************************************************************/ import android.app.Service; import android.content.Intent; diff --git a/app/src/main/java/com/foxx/androidcast/sender/SenderActivity.java b/app/src/main/java/com/foxx/androidcast/sender/SenderActivity.java index 5592af2..50a11f6 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/SenderActivity.java +++ b/app/src/main/java/com/foxx/androidcast/sender/SenderActivity.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender; /********************************************************************* * SenderActivity.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SenderActivity * Contributors: - * - Anton Afanasyeu (10 commits, 523 lines) + * - Anton Afanasyeu (11 commits, 530 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 54d7724bae7604e074c874b2b0e4f579dd4ec6768048616f44d35925ed26bcfb + * Digest: SHA256 082e2d349e90cdbd8693d4c8b6ec2b074963fe63626c33e8305353007871389c **********************************************************************/ import android.app.Activity; import android.content.Intent; diff --git a/app/src/main/java/com/foxx/androidcast/sender/SenderAudioMetrics.java b/app/src/main/java/com/foxx/androidcast/sender/SenderAudioMetrics.java index 5264091..48be395 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/SenderAudioMetrics.java +++ b/app/src/main/java/com/foxx/androidcast/sender/SenderAudioMetrics.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender; /********************************************************************* * SenderAudioMetrics.java * Created at: Sat 16 May 2026 13:35:48 +0200 - * Updated at: Sat 16 May 2026 13:35:48 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SenderAudioMetrics * Contributors: - * - Anton Afanasyeu (1 commits, 61 lines) + * - Anton Afanasyeu (2 commits, 68 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 b55fe36dfceac83d619dde0950f39a7fd6eb36d96185fb4e8dee2ad720c063c0 + * Digest: SHA256 e9fabee1f157bc069f89481a2f5d9bb0b503e7dcf77a8282ebce6974089b1cf8 **********************************************************************/ import com.foxx.androidcast.media.PcmLevelAnalyzer; diff --git a/app/src/main/java/com/foxx/androidcast/sender/SenderCapturePreview.java b/app/src/main/java/com/foxx/androidcast/sender/SenderCapturePreview.java index bf6e159..75fb7bb 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/SenderCapturePreview.java +++ b/app/src/main/java/com/foxx/androidcast/sender/SenderCapturePreview.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender; /********************************************************************* * SenderCapturePreview.java * Created at: Sun 17 May 2026 18:17:14 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SenderCapturePreview * Contributors: - * - Anton Afanasyeu (3 commits, 301 lines) + * - Anton Afanasyeu (4 commits, 308 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 847d3bd64e72df1966e209c76cc86d2116913f9b081e6b0f69aa959fff46ec63 + * Digest: SHA256 f929bdc17ad56e989460b0d6d090ee734db470b5b08d7931d22f5ece19040058 **********************************************************************/ import android.Manifest; import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/sender/SenderPreviewService.java b/app/src/main/java/com/foxx/androidcast/sender/SenderPreviewService.java index 20857e7..7afd53c 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/SenderPreviewService.java +++ b/app/src/main/java/com/foxx/androidcast/sender/SenderPreviewService.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender; /********************************************************************* * SenderPreviewService.java * Created at: Tue 19 May 2026 12:23:39 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SenderPreviewService * Contributors: - * - Anton Afanasyeu (1 commits, 64 lines) + * - Anton Afanasyeu (2 commits, 71 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 7ca6c54ac895e148148828a79ad8de959869d15cd9f1ad1a0eb3db39cad0ae53 + * Digest: SHA256 78df1d1f91b8baa1c9c4cb6344006edd47d13d1380a146ce7f450ca3fe87e913 **********************************************************************/ import android.app.Service; import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/sender/SenderScreenPreview.java b/app/src/main/java/com/foxx/androidcast/sender/SenderScreenPreview.java index 36476d9..7fabe08 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/SenderScreenPreview.java +++ b/app/src/main/java/com/foxx/androidcast/sender/SenderScreenPreview.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender; /********************************************************************* * SenderScreenPreview.java * Created at: Sun 17 May 2026 18:17:14 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SenderScreenPreview * Contributors: - * - Anton Afanasyeu (3 commits, 212 lines) + * - Anton Afanasyeu (4 commits, 219 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 dd9db6f007b623cbeb04bba1896652adfcab6794bb8ded3ca366661022d8e2ac + * Digest: SHA256 b9b6dbedccd033a03ad46b7c964368a50143de6c208d2b14a4dd51ad359e4237 **********************************************************************/ import android.app.Activity; import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/sender/SenderStreamMetrics.java b/app/src/main/java/com/foxx/androidcast/sender/SenderStreamMetrics.java index 7d1cc98..c6f1f0a 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/SenderStreamMetrics.java +++ b/app/src/main/java/com/foxx/androidcast/sender/SenderStreamMetrics.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender; /********************************************************************* * SenderStreamMetrics.java * Created at: Fri 15 May 2026 20:37:44 +0200 - * Updated at: Sat 16 May 2026 13:35:48 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SenderStreamMetrics * Contributors: - * - Anton Afanasyeu (2 commits, 77 lines) + * - Anton Afanasyeu (3 commits, 84 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 dc82118898b4cb47ee92db41e42d9bcf471fcb2eaf33e90f8aac7c85f2fe9d47 + * Digest: SHA256 65d468449f4cd236559457f2519730c3c07688bfe3082a961c081d6bd629d7f0 **********************************************************************/ /** Sender-side encode/send counters for notification diagnostics. */ public final class SenderStreamMetrics { diff --git a/app/src/main/java/com/foxx/androidcast/sender/VideoEncoder.java b/app/src/main/java/com/foxx/androidcast/sender/VideoEncoder.java index d3e1c67..06d507e 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/VideoEncoder.java +++ b/app/src/main/java/com/foxx/androidcast/sender/VideoEncoder.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender; /********************************************************************* * VideoEncoder.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class VideoEncoder * Contributors: - * - Anton Afanasyeu (7 commits, 272 lines) + * - Anton Afanasyeu (8 commits, 279 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 3255bf54ca8deb1dbdb9a12f5af0e6b79fcd9e12bfff29669dafbc7cc98a29d1 + * Digest: SHA256 40dcb27fe239420b524f86cc5cd367356bfa116b23b59ce08ef4d81a71d3dcbb **********************************************************************/ import android.graphics.Bitmap; import android.media.MediaCodec; diff --git a/app/src/main/java/com/foxx/androidcast/sender/calibration/CalibrationCastDriver.java b/app/src/main/java/com/foxx/androidcast/sender/calibration/CalibrationCastDriver.java index 4394f3a..83cf063 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/calibration/CalibrationCastDriver.java +++ b/app/src/main/java/com/foxx/androidcast/sender/calibration/CalibrationCastDriver.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender.calibration; /********************************************************************* * CalibrationCastDriver.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CalibrationCastDriver * Contributors: - * - Anton Afanasyeu (2 commits, 199 lines) + * - Anton Afanasyeu (3 commits, 206 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 cf78c710c75b6b1cea109a2b1c075a32fe6acda8eaafdb6ca8b8b6761bccbdeb + * Digest: SHA256 54293eb993f043396f4f41e4ff26c86120572b482cc5e0d2b02489a8ede8c904 **********************************************************************/ import android.content.Context; import android.graphics.Bitmap; diff --git a/app/src/main/java/com/foxx/androidcast/sender/calibration/CalibrationEglRenderer.java b/app/src/main/java/com/foxx/androidcast/sender/calibration/CalibrationEglRenderer.java index e3cfda0..e95c203 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/calibration/CalibrationEglRenderer.java +++ b/app/src/main/java/com/foxx/androidcast/sender/calibration/CalibrationEglRenderer.java @@ -3,11 +3,12 @@ package com.foxx.androidcast.sender.calibration; /********************************************************************* * CalibrationEglRenderer.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 236 lines) + * - Anton Afanasyeu (2 commits, 242 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 7c5bed16581d90c6ffc993e87b8bf471d9fe2126a6b0d1520c4cda4565979fbe + * Digest: SHA256 c067a19ffda0d221dc66ebe9fa7551bee0519261c9da3a036441d9a6a73712f8 **********************************************************************/ import android.graphics.Bitmap; import android.opengl.EGL14; diff --git a/app/src/main/java/com/foxx/androidcast/sender/calibration/CalibrationSourceDimensions.java b/app/src/main/java/com/foxx/androidcast/sender/calibration/CalibrationSourceDimensions.java index dfd9c11..05cc1df 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/calibration/CalibrationSourceDimensions.java +++ b/app/src/main/java/com/foxx/androidcast/sender/calibration/CalibrationSourceDimensions.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender.calibration; /********************************************************************* * CalibrationSourceDimensions.java * Created at: Sun 17 May 2026 15:45:19 +0200 - * Updated at: Sun 17 May 2026 15:45:19 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CalibrationSourceDimensions * Contributors: - * - Anton Afanasyeu (1 commits, 61 lines) + * - Anton Afanasyeu (2 commits, 68 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 f8ed9ec55e79a6748c89ffe266ccd96ae9f1b5e7d9099a9673037b8e96d485bb + * Digest: SHA256 57257f30c63b96dc5078835ccd9c7cc6992e70ca6181fdfb872fdd17f53f0750 **********************************************************************/ import android.content.Context; import android.graphics.BitmapFactory; diff --git a/app/src/main/java/com/foxx/androidcast/sender/calibration/TvCalibrationGenerator.java b/app/src/main/java/com/foxx/androidcast/sender/calibration/TvCalibrationGenerator.java index 967b401..d6cd60e 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/calibration/TvCalibrationGenerator.java +++ b/app/src/main/java/com/foxx/androidcast/sender/calibration/TvCalibrationGenerator.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender.calibration; /********************************************************************* * TvCalibrationGenerator.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sun 17 May 2026 15:45:19 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class TvCalibrationGenerator * Contributors: - * - Anton Afanasyeu (2 commits, 166 lines) + * - Anton Afanasyeu (3 commits, 173 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 91f187b1a6bced54927ee71071368d295fa76ac1a2be7fbb28e78a028f044b6c + * Digest: SHA256 bed472c91e11a096153068d8bc3fb9d7bf9582ca0f3b66ad6c84cb38b8a12b41 **********************************************************************/ import android.content.Context; import android.graphics.Bitmap; diff --git a/app/src/main/java/com/foxx/androidcast/sender/camera/CameraCastCapture.java b/app/src/main/java/com/foxx/androidcast/sender/camera/CameraCastCapture.java index a043ffd..8d845a5 100644 --- a/app/src/main/java/com/foxx/androidcast/sender/camera/CameraCastCapture.java +++ b/app/src/main/java/com/foxx/androidcast/sender/camera/CameraCastCapture.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender.camera; /********************************************************************* * CameraCastCapture.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sun 17 May 2026 18:17:14 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CameraCastCapture * Contributors: - * - Anton Afanasyeu (2 commits, 160 lines) + * - Anton Afanasyeu (3 commits, 167 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 73eef53b1dc3d45a9ad382cb2f4a48dcdb41e5af06721ba88f03a8543dd149df + * Digest: SHA256 0cea27cf579edb987b0ea25fd6198cc86daf4b86adf48d8080cfb3f141c9613d **********************************************************************/ import android.content.Context; import android.graphics.SurfaceTexture; diff --git a/app/src/main/java/com/foxx/androidcast/settings/AppSettingsJson.java b/app/src/main/java/com/foxx/androidcast/settings/AppSettingsJson.java index 28b46ba..1886171 100644 --- a/app/src/main/java/com/foxx/androidcast/settings/AppSettingsJson.java +++ b/app/src/main/java/com/foxx/androidcast/settings/AppSettingsJson.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.settings; /********************************************************************* * AppSettingsJson.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class AppSettingsJson * Contributors: - * - Anton Afanasyeu (1 commits, 32 lines) + * - Anton Afanasyeu (2 commits, 39 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 f9604e97b5516a98cfe4045f7225257be1a486f8ecb49b3e0fee7804d60e81d9 + * Digest: SHA256 571859bdee05d4143b75e04c77a692cbdef6100f713817daf719d0961324a3f2 **********************************************************************/ import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/stats/SessionEventJournal.java b/app/src/main/java/com/foxx/androidcast/stats/SessionEventJournal.java index 82f934f..dce81b9 100644 --- a/app/src/main/java/com/foxx/androidcast/stats/SessionEventJournal.java +++ b/app/src/main/java/com/foxx/androidcast/stats/SessionEventJournal.java @@ -3,11 +3,12 @@ package com.foxx.androidcast.stats; /********************************************************************* * SessionEventJournal.java * Created at: Tue 19 May 2026 19:43:06 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 79 lines) + * - Anton Afanasyeu (2 commits, 85 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 bdcbdc4ec9eb6ea4e03470d561683d6d1d8f7d71bf3ab72b3fca4488962d0d69 + * Digest: SHA256 19a61174daac64926280ac88abb6511c710478a3354bcb479a0bede0017d4232 **********************************************************************/ import org.json.JSONArray; import org.json.JSONObject; diff --git a/app/src/main/java/com/foxx/androidcast/stats/SessionStatsContext.java b/app/src/main/java/com/foxx/androidcast/stats/SessionStatsContext.java index 47f1cba..876aa09 100644 --- a/app/src/main/java/com/foxx/androidcast/stats/SessionStatsContext.java +++ b/app/src/main/java/com/foxx/androidcast/stats/SessionStatsContext.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.stats; /********************************************************************* * SessionStatsContext.java * Created at: Tue 19 May 2026 19:43:06 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SessionStatsContext * Contributors: - * - Anton Afanasyeu (2 commits, 74 lines) + * - Anton Afanasyeu (3 commits, 81 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 f9a324c0a51439b0e60ae67b3ee95fbd3c30d5c55dd1829bbae0e93082e1880f + * Digest: SHA256 9d291f1bb62281400283aa0db81ccc3f63f918740285af85d2ce31d2e3b22ab9 **********************************************************************/ import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/stats/SessionStatsEventMapper.java b/app/src/main/java/com/foxx/androidcast/stats/SessionStatsEventMapper.java index ed72958..1d92b29 100644 --- a/app/src/main/java/com/foxx/androidcast/stats/SessionStatsEventMapper.java +++ b/app/src/main/java/com/foxx/androidcast/stats/SessionStatsEventMapper.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.stats; /********************************************************************* * SessionStatsEventMapper.java * Created at: Tue 19 May 2026 19:43:06 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SessionStatsEventMapper * Contributors: - * - Anton Afanasyeu (1 commits, 44 lines) + * - Anton Afanasyeu (2 commits, 51 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 0cf9e6cd7052a7d0caf605829d7d9a49cb0d8cec7c4546375064f6f5c33b0630 + * Digest: SHA256 68ccd134a6f5d7b70bf0aeae86a303a50fb5e3666e427c658fb338b55e75881c **********************************************************************/ import com.foxx.androidcast.network.CastProtocol; diff --git a/app/src/main/java/com/foxx/androidcast/stats/SessionStatsRecorder.java b/app/src/main/java/com/foxx/androidcast/stats/SessionStatsRecorder.java index 62bd22d..1302cc2 100644 --- a/app/src/main/java/com/foxx/androidcast/stats/SessionStatsRecorder.java +++ b/app/src/main/java/com/foxx/androidcast/stats/SessionStatsRecorder.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.stats; /********************************************************************* * SessionStatsRecorder.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SessionStatsRecorder * Contributors: - * - Anton Afanasyeu (6 commits, 358 lines) + * - Anton Afanasyeu (7 commits, 365 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 bbaaffebe2258cc874f3863da673a23a51be5d68e3b52217814bb2eb863b1214 + * Digest: SHA256 d65a1d78c0668552fc76ad9d3fa0e16ef1e8fb74940dc1a8cbd5a0f37bfca413 **********************************************************************/ import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/stats/SessionStatsStore.java b/app/src/main/java/com/foxx/androidcast/stats/SessionStatsStore.java index a4665e2..2acbb43 100644 --- a/app/src/main/java/com/foxx/androidcast/stats/SessionStatsStore.java +++ b/app/src/main/java/com/foxx/androidcast/stats/SessionStatsStore.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.stats; /********************************************************************* * SessionStatsStore.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SessionStatsStore * Contributors: - * - Anton Afanasyeu (2 commits, 110 lines) + * - Anton Afanasyeu (3 commits, 117 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 bbe679457e1c206a3e3d61abdf85c260c44a721c1ff36101b274f130d7c7ef94 + * Digest: SHA256 3f5f4cba05d083cd4387620a0e0a54d00452dc208640c084a125abf60d0ad353 **********************************************************************/ import android.content.Context; diff --git a/app/src/main/java/com/foxx/androidcast/stats/ui/ChartTickHelper.java b/app/src/main/java/com/foxx/androidcast/stats/ui/ChartTickHelper.java index 2bad915..3117b86 100644 --- a/app/src/main/java/com/foxx/androidcast/stats/ui/ChartTickHelper.java +++ b/app/src/main/java/com/foxx/androidcast/stats/ui/ChartTickHelper.java @@ -3,11 +3,12 @@ package com.foxx.androidcast.stats.ui; /********************************************************************* * ChartTickHelper.java * Created at: Tue 19 May 2026 19:43:06 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 79 lines) + * - Anton Afanasyeu (2 commits, 85 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 01fff6847633832b6a1eb6e5a40fe2ecc9681ebca9e9a1c7877556b181ad41d0 + * Digest: SHA256 f53b085b914a3ffd3aeaf98331f60e838dae2ff7428627d0bbb7e2788c5b3836 **********************************************************************/ import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/com/foxx/androidcast/stats/ui/SessionBarChartView.java b/app/src/main/java/com/foxx/androidcast/stats/ui/SessionBarChartView.java index d00e614..796b17d 100644 --- a/app/src/main/java/com/foxx/androidcast/stats/ui/SessionBarChartView.java +++ b/app/src/main/java/com/foxx/androidcast/stats/ui/SessionBarChartView.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.stats.ui; /********************************************************************* * SessionBarChartView.java * Created at: Tue 19 May 2026 19:43:06 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SessionBarChartView * Contributors: - * - Anton Afanasyeu (1 commits, 110 lines) + * - Anton Afanasyeu (2 commits, 117 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 376aa816ff1d0e09f5bd63454c1f63a0215b4e2d6c1a7a59b3c60f08be330ecd + * Digest: SHA256 1c4f6cdf1b341bd492b386a2d7ce51da0bcf76a4c8c52843d7fc1eeb8c75abde **********************************************************************/ import android.content.Context; import android.graphics.Canvas; diff --git a/app/src/main/java/com/foxx/androidcast/stats/ui/SessionLineChartView.java b/app/src/main/java/com/foxx/androidcast/stats/ui/SessionLineChartView.java index f6e3405..e1c4dbb 100644 --- a/app/src/main/java/com/foxx/androidcast/stats/ui/SessionLineChartView.java +++ b/app/src/main/java/com/foxx/androidcast/stats/ui/SessionLineChartView.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.stats.ui; /********************************************************************* * SessionLineChartView.java * Created at: Tue 19 May 2026 19:43:06 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SessionLineChartView * Contributors: - * - Anton Afanasyeu (1 commits, 481 lines) + * - Anton Afanasyeu (2 commits, 488 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 78f208cc95a3c55f9c6bc761be1e9dbb9a4fdfb20a71b07bad3059ecf8445cb4 + * Digest: SHA256 1bd2a4d05ae795d17ebc64081ad74db589b56866cb6798a9d6d1347698d4e479 **********************************************************************/ import android.content.Context; import android.graphics.Canvas; diff --git a/app/src/main/java/com/foxx/androidcast/stats/ui/SessionRecord.java b/app/src/main/java/com/foxx/androidcast/stats/ui/SessionRecord.java index decbcbd..656c7d4 100644 --- a/app/src/main/java/com/foxx/androidcast/stats/ui/SessionRecord.java +++ b/app/src/main/java/com/foxx/androidcast/stats/ui/SessionRecord.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.stats.ui; /********************************************************************* * SessionRecord.java * Created at: Tue 19 May 2026 19:43:06 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SessionRecord * Contributors: - * - Anton Afanasyeu (1 commits, 228 lines) + * - Anton Afanasyeu (2 commits, 235 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 0cbd107918e1438f379c78ff86daa383f1994e593c944ed27c389aa7ff945c2d + * Digest: SHA256 851bf289ce0cfb533f555e8101cf087211cae6d9f65f3b76130cb025556afaa0 **********************************************************************/ import org.json.JSONObject; diff --git a/app/src/main/java/com/foxx/androidcast/stats/ui/SessionStatsAnalyzerActivity.java b/app/src/main/java/com/foxx/androidcast/stats/ui/SessionStatsAnalyzerActivity.java index 8098647..79a20ef 100644 --- a/app/src/main/java/com/foxx/androidcast/stats/ui/SessionStatsAnalyzerActivity.java +++ b/app/src/main/java/com/foxx/androidcast/stats/ui/SessionStatsAnalyzerActivity.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.stats.ui; /********************************************************************* * SessionStatsAnalyzerActivity.java * Created at: Tue 19 May 2026 19:43:06 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SessionStatsAnalyzerActivity * Contributors: - * - Anton Afanasyeu (1 commits, 182 lines) + * - Anton Afanasyeu (2 commits, 189 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 6c27d2acb82c3cca5aaabe976d33bb397bb4c43ac2c80545fe2e5a2e85ff9e27 + * Digest: SHA256 cd3ef931583d3213d5aaba08bbc5859ceaba1c5f0bc10c1fff11d4d65b65aed4 **********************************************************************/ import android.content.Intent; import android.net.Uri; diff --git a/app/src/main/java/com/foxx/androidcast/stats/ui/SessionStatsListAdapter.java b/app/src/main/java/com/foxx/androidcast/stats/ui/SessionStatsListAdapter.java index ecf0377..70702cf 100644 --- a/app/src/main/java/com/foxx/androidcast/stats/ui/SessionStatsListAdapter.java +++ b/app/src/main/java/com/foxx/androidcast/stats/ui/SessionStatsListAdapter.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.stats.ui; /********************************************************************* * SessionStatsListAdapter.java * Created at: Tue 19 May 2026 19:43:06 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * interface Listener * Contributors: - * - Anton Afanasyeu (1 commits, 105 lines) + * - Anton Afanasyeu (2 commits, 112 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 303f3eec4fbd9f792a206731f0620e5745c7312176ed522570787c78d6f5e8c7 + * Digest: SHA256 01cfd98fe664b1517cd3a8c05259594d0a6772f2482e042eeeff356b2be353f2 **********************************************************************/ import android.view.LayoutInflater; import android.view.View; diff --git a/app/src/main/java/com/foxx/androidcast/stats/ui/SessionStatsParser.java b/app/src/main/java/com/foxx/androidcast/stats/ui/SessionStatsParser.java index 33e6001..1fe3552 100644 --- a/app/src/main/java/com/foxx/androidcast/stats/ui/SessionStatsParser.java +++ b/app/src/main/java/com/foxx/androidcast/stats/ui/SessionStatsParser.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.stats.ui; /********************************************************************* * SessionStatsParser.java * Created at: Tue 19 May 2026 19:43:06 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SessionStatsParser * Contributors: - * - Anton Afanasyeu (1 commits, 22 lines) + * - Anton Afanasyeu (2 commits, 29 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 6937b2e105160b45ff3a9bb09e2e93de982e5dc89b12cd48e5e120db82761c4f + * Digest: SHA256 0ce567cbbef716b35d3edd48e828089da7b4fffe0ca762e9b18f9dc7e7360fab **********************************************************************/ import org.json.JSONObject; diff --git a/app/src/main/java/com/foxx/androidcast/ui/AspectRatioFrameLayout.java b/app/src/main/java/com/foxx/androidcast/ui/AspectRatioFrameLayout.java index a9f3f53..ab22a6f 100644 --- a/app/src/main/java/com/foxx/androidcast/ui/AspectRatioFrameLayout.java +++ b/app/src/main/java/com/foxx/androidcast/ui/AspectRatioFrameLayout.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.ui; /********************************************************************* * AspectRatioFrameLayout.java * Created at: Fri 15 May 2026 16:49:02 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class AspectRatioFrameLayout * Contributors: - * - Anton Afanasyeu (2 commits, 78 lines) + * - Anton Afanasyeu (3 commits, 85 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 f26d0ffbe6f475f4c9d75deadf5d0759b9031916aec97bc489859ceff2508e46 + * Digest: SHA256 aff69d975c86ce78d354f5c93fdbc7fc120ef82bed50f71c89f9ac9c4837a9d0 **********************************************************************/ import android.content.Context; import android.util.AttributeSet; diff --git a/app/src/main/java/com/foxx/androidcast/ui/PlaybackTextureTransform.java b/app/src/main/java/com/foxx/androidcast/ui/PlaybackTextureTransform.java index 835581b..800a9da 100644 --- a/app/src/main/java/com/foxx/androidcast/ui/PlaybackTextureTransform.java +++ b/app/src/main/java/com/foxx/androidcast/ui/PlaybackTextureTransform.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.ui; /********************************************************************* * PlaybackTextureTransform.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class PlaybackTextureTransform * Contributors: - * - Anton Afanasyeu (1 commits, 41 lines) + * - Anton Afanasyeu (2 commits, 48 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 730a6b0e0b8b09cedec725fc448ae23c954ac71824901459edb3fe25e589d1e3 + * Digest: SHA256 aacbd51ce31e50fcb30b9707ea24f855192575b317348689c2773e176ed3aaec **********************************************************************/ import android.graphics.Matrix; import android.view.TextureView; diff --git a/app/src/main/java/com/foxx/androidcast/ui/SettingsEnumSpinner.java b/app/src/main/java/com/foxx/androidcast/ui/SettingsEnumSpinner.java index 8ab37a5..f5e65ed 100644 --- a/app/src/main/java/com/foxx/androidcast/ui/SettingsEnumSpinner.java +++ b/app/src/main/java/com/foxx/androidcast/ui/SettingsEnumSpinner.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.ui; /********************************************************************* * SettingsEnumSpinner.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Mon 18 May 2026 22:19:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SettingsEnumSpinner * Contributors: - * - Anton Afanasyeu (2 commits, 114 lines) + * - Anton Afanasyeu (3 commits, 121 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 726ac0939215915b4c5f4db8a62d4da985100c8dce988d06955a44e6702a7ef8 + * Digest: SHA256 ac91f40ce7f3db13225aadbea9f25900e0d7037eddd67d4fe3af81d43d06d5eb **********************************************************************/ import android.content.Context; import android.view.View; diff --git a/app/src/main/java/com/foxx/androidcast/ui/SettingsScoredArrayAdapter.java b/app/src/main/java/com/foxx/androidcast/ui/SettingsScoredArrayAdapter.java index af9e2ff..fd298c0 100644 --- a/app/src/main/java/com/foxx/androidcast/ui/SettingsScoredArrayAdapter.java +++ b/app/src/main/java/com/foxx/androidcast/ui/SettingsScoredArrayAdapter.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.ui; /********************************************************************* * SettingsScoredArrayAdapter.java * Created at: Mon 18 May 2026 22:19:39 +0200 - * Updated at: Mon 18 May 2026 22:19:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SettingsScoredArrayAdapter * Contributors: - * - Anton Afanasyeu (1 commits, 70 lines) + * - Anton Afanasyeu (2 commits, 77 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 c31072ae0af01528d4e527249ab0dbdf4e4a8d2b2a43b3cc3ff1631fa4290217 + * Digest: SHA256 fc7006cce093f741045f7b963b6373343de66a7be565ba0e64bff5eca7abd7be **********************************************************************/ import android.content.Context; import android.view.LayoutInflater; diff --git a/app/src/main/java/com/foxx/androidcast/ui/SettingsSpinnerDropdownStyle.java b/app/src/main/java/com/foxx/androidcast/ui/SettingsSpinnerDropdownStyle.java index cb18c7c..5d9642b 100644 --- a/app/src/main/java/com/foxx/androidcast/ui/SettingsSpinnerDropdownStyle.java +++ b/app/src/main/java/com/foxx/androidcast/ui/SettingsSpinnerDropdownStyle.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.ui; /********************************************************************* * SettingsSpinnerDropdownStyle.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SettingsSpinnerDropdownStyle * Contributors: - * - Anton Afanasyeu (1 commits, 62 lines) + * - Anton Afanasyeu (2 commits, 69 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 ea6eaf08187aeb12e6bd56eb40bfe0da56224f75d1487941cf5207359b0b63ab + * Digest: SHA256 895262399af56553532cacac04bef4b10715604ec0521f3d3bda2e1102ea8f33 **********************************************************************/ import android.graphics.Color; import android.graphics.Typeface; diff --git a/app/src/main/java/com/foxx/androidcast/ui/SettingsStringArrayAdapter.java b/app/src/main/java/com/foxx/androidcast/ui/SettingsStringArrayAdapter.java index 87c03ca..b7b53f7 100644 --- a/app/src/main/java/com/foxx/androidcast/ui/SettingsStringArrayAdapter.java +++ b/app/src/main/java/com/foxx/androidcast/ui/SettingsStringArrayAdapter.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.ui; /********************************************************************* * SettingsStringArrayAdapter.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Mon 18 May 2026 22:19:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SettingsStringArrayAdapter * Contributors: - * - Anton Afanasyeu (3 commits, 73 lines) + * - Anton Afanasyeu (4 commits, 80 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 30d18d934f97bea9996aff3f5df54490b70a05a9a970902ab4357d9c63707f37 + * Digest: SHA256 d38f982e34eb051df0f9748ee95bfa1a58e5ab45bf65b9a48573b64b23e2e1fb **********************************************************************/ import android.content.Context; import android.view.LayoutInflater; diff --git a/app/src/main/java/com/foxx/androidcast/ui/ZoomPanContainer.java b/app/src/main/java/com/foxx/androidcast/ui/ZoomPanContainer.java index 31e33a0..8b39d96 100644 --- a/app/src/main/java/com/foxx/androidcast/ui/ZoomPanContainer.java +++ b/app/src/main/java/com/foxx/androidcast/ui/ZoomPanContainer.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.ui; /********************************************************************* * ZoomPanContainer.java * Created at: Sat 16 May 2026 13:35:48 +0200 - * Updated at: Sat 16 May 2026 13:35:48 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class ZoomPanContainer * Contributors: - * - Anton Afanasyeu (1 commits, 134 lines) + * - Anton Afanasyeu (2 commits, 141 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 b2a9eaa46434f9d4971692e0e92b6e892c1060b3f4d737c203af7dcf7d9f0511 + * Digest: SHA256 3523d1adb91e9e2aec52eb364dbdf270f96518c07dcc3f421787da5c3ebb9b3d **********************************************************************/ import android.content.Context; import android.util.AttributeSet; diff --git a/app/src/main/java/com/foxx/androidcast/util/CastBackgroundExecutor.java b/app/src/main/java/com/foxx/androidcast/util/CastBackgroundExecutor.java index 656ee1a..7a9e78a 100644 --- a/app/src/main/java/com/foxx/androidcast/util/CastBackgroundExecutor.java +++ b/app/src/main/java/com/foxx/androidcast/util/CastBackgroundExecutor.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.util; /********************************************************************* * CastBackgroundExecutor.java * Created at: Sun 17 May 2026 15:45:19 +0200 - * Updated at: Sun 17 May 2026 15:45:19 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastBackgroundExecutor * Contributors: - * - Anton Afanasyeu (1 commits, 27 lines) + * - Anton Afanasyeu (2 commits, 34 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 cb0eaf12c274325d0540565b840756d7a4e4cc128f05aab48b692f2488235e6d + * Digest: SHA256 caa7524841be0925f61bfb5624995b82946819e74e66a4930ef8d529ac16f28c **********************************************************************/ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; diff --git a/app/src/test/java/com/foxx/androidcast/CastResolutionTest.java b/app/src/test/java/com/foxx/androidcast/CastResolutionTest.java index 69db36a..2888ed1 100644 --- a/app/src/test/java/com/foxx/androidcast/CastResolutionTest.java +++ b/app/src/test/java/com/foxx/androidcast/CastResolutionTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast; /********************************************************************* * CastResolutionTest.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sun 17 May 2026 15:45:19 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastResolutionTest * Contributors: - * - Anton Afanasyeu (2 commits, 19 lines) + * - Anton Afanasyeu (3 commits, 26 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 54ee2dbb5d0f3ea47ba31f1e0b8d85030a43933ea7ec28cdfd7439d164bbf810 + * Digest: SHA256 6839d31665eec94c6c24a1a54c86dfaaef483d19196fe6b6a754eb7156c09b26 **********************************************************************/ import com.foxx.androidcast.sender.calibration.CalibrationSourceDimensions; diff --git a/app/src/test/java/com/foxx/androidcast/diagnostics/CastMtuSamplerTest.java b/app/src/test/java/com/foxx/androidcast/diagnostics/CastMtuSamplerTest.java index 36b829f..6530a1e 100644 --- a/app/src/test/java/com/foxx/androidcast/diagnostics/CastMtuSamplerTest.java +++ b/app/src/test/java/com/foxx/androidcast/diagnostics/CastMtuSamplerTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.diagnostics; /********************************************************************* * CastMtuSamplerTest.java * Created at: Tue 19 May 2026 12:23:39 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastMtuSamplerTest * Contributors: - * - Anton Afanasyeu (1 commits, 27 lines) + * - Anton Afanasyeu (2 commits, 34 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 6a7e905e3cd593226895fef722f1c1c28ef3a9f12bc7f78d99f27859ff916114 + * Digest: SHA256 8261180ad608ac0071c4b5ecc15bb936ab228df873d37214d5e1c56d7110c95d **********************************************************************/ import static org.junit.Assert.assertEquals; diff --git a/app/src/test/java/com/foxx/androidcast/discovery/DiscoverySelfFilterTest.java b/app/src/test/java/com/foxx/androidcast/discovery/DiscoverySelfFilterTest.java index 2a6ee4a..7e39744 100644 --- a/app/src/test/java/com/foxx/androidcast/discovery/DiscoverySelfFilterTest.java +++ b/app/src/test/java/com/foxx/androidcast/discovery/DiscoverySelfFilterTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.discovery; /********************************************************************* * DiscoverySelfFilterTest.java * Created at: Sun 17 May 2026 15:45:19 +0200 - * Updated at: Sun 17 May 2026 15:45:19 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class DiscoverySelfFilterTest * Contributors: - * - Anton Afanasyeu (1 commits, 21 lines) + * - Anton Afanasyeu (2 commits, 28 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 86e357220fd41740dec4da1e6762f7fb7ff44c60bc39c9ffe57ecd8e09e58716 + * Digest: SHA256 04f54b58680a2d194d167bf2fecb3cf498a7ec9095290606fb2657a95b4efe29 **********************************************************************/ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; diff --git a/app/src/test/java/com/foxx/androidcast/media/EncodedStreamProbeTest.java b/app/src/test/java/com/foxx/androidcast/media/EncodedStreamProbeTest.java index 7e644b9..2e8b4f4 100644 --- a/app/src/test/java/com/foxx/androidcast/media/EncodedStreamProbeTest.java +++ b/app/src/test/java/com/foxx/androidcast/media/EncodedStreamProbeTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media; /********************************************************************* * EncodedStreamProbeTest.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class EncodedStreamProbeTest * Contributors: - * - Anton Afanasyeu (1 commits, 16 lines) + * - Anton Afanasyeu (2 commits, 23 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 d22080bf28df926149e758f4c886e6a917de5a8e0be2dc14c94b4d30bb4c18c1 + * Digest: SHA256 8bce9a96f3cede56853b498439c6e22891c7d01f9419558342f37d515c596f35 **********************************************************************/ import static org.junit.Assert.assertTrue; diff --git a/app/src/test/java/com/foxx/androidcast/media/H264BitstreamHevcTest.java b/app/src/test/java/com/foxx/androidcast/media/H264BitstreamHevcTest.java index d45da50..e16553e 100644 --- a/app/src/test/java/com/foxx/androidcast/media/H264BitstreamHevcTest.java +++ b/app/src/test/java/com/foxx/androidcast/media/H264BitstreamHevcTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media; /********************************************************************* * H264BitstreamHevcTest.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class H264BitstreamHevcTest * Contributors: - * - Anton Afanasyeu (1 commits, 16 lines) + * - Anton Afanasyeu (2 commits, 23 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 d811e0c348d2339390c98a6983952b933da9a592ff9c7b43350b6eb57cf9e682 + * Digest: SHA256 9ef0b0dfebf6389a7977b2a18bce65e5d75c7117601dcf9947b9bd458c1f8b4c **********************************************************************/ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; diff --git a/app/src/test/java/com/foxx/androidcast/media/RgbToNv21Test.java b/app/src/test/java/com/foxx/androidcast/media/RgbToNv21Test.java index 0ac366e..1fc0f9b 100644 --- a/app/src/test/java/com/foxx/androidcast/media/RgbToNv21Test.java +++ b/app/src/test/java/com/foxx/androidcast/media/RgbToNv21Test.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media; /********************************************************************* * RgbToNv21Test.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class RgbToNv21Test * Contributors: - * - Anton Afanasyeu (1 commits, 34 lines) + * - Anton Afanasyeu (2 commits, 41 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 a753d55bdf4c807f92c8491375ac2d0fa827b101cb6196ea1a4d6c781152fb68 + * Digest: SHA256 dbe2a7d672c3395ae8624851aa303331d74a9442b4651131d59fdf7ae6171ee8 **********************************************************************/ import org.junit.Test; diff --git a/app/src/test/java/com/foxx/androidcast/media/RgbToYuv420Test.java b/app/src/test/java/com/foxx/androidcast/media/RgbToYuv420Test.java index c4dd90e..85410b2 100644 --- a/app/src/test/java/com/foxx/androidcast/media/RgbToYuv420Test.java +++ b/app/src/test/java/com/foxx/androidcast/media/RgbToYuv420Test.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.media; /********************************************************************* * RgbToYuv420Test.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class RgbToYuv420Test * Contributors: - * - Anton Afanasyeu (1 commits, 25 lines) + * - Anton Afanasyeu (2 commits, 32 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 4e8d36e3cb5f40640edc6e90d9fc8f9f32bdce23ddb0b2a2d8d293f2936c009b + * Digest: SHA256 1c56cd45207ad3363b04c4357d89a21e37a19a23b018b63bd0fa72e5afcdafcd **********************************************************************/ import org.junit.Test; diff --git a/app/src/test/java/com/foxx/androidcast/network/CastProtoHeaderTest.java b/app/src/test/java/com/foxx/androidcast/network/CastProtoHeaderTest.java index ba73a23..6822b2e 100644 --- a/app/src/test/java/com/foxx/androidcast/network/CastProtoHeaderTest.java +++ b/app/src/test/java/com/foxx/androidcast/network/CastProtoHeaderTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network; /********************************************************************* * CastProtoHeaderTest.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastProtoHeaderTest * Contributors: - * - Anton Afanasyeu (1 commits, 34 lines) + * - Anton Afanasyeu (2 commits, 41 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 4026bd80ef13a3c3ca7e8133976d6428c761c7bc19bb62a3e2ac7346643a39dc + * Digest: SHA256 c02de3b69fdda1b46fe3e877de117e4b0eb656c3388749e483a7b5318f3f87b7 **********************************************************************/ import org.junit.Test; diff --git a/app/src/test/java/com/foxx/androidcast/network/CastSessionGateTest.java b/app/src/test/java/com/foxx/androidcast/network/CastSessionGateTest.java index a7e50f3..84c281a 100644 --- a/app/src/test/java/com/foxx/androidcast/network/CastSessionGateTest.java +++ b/app/src/test/java/com/foxx/androidcast/network/CastSessionGateTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network; /********************************************************************* * CastSessionGateTest.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sat 16 May 2026 18:50:36 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CastSessionGateTest * Contributors: - * - Anton Afanasyeu (1 commits, 49 lines) + * - Anton Afanasyeu (2 commits, 56 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 c32c4ef66b912bca05b5af6cb877189769048259687011cb9aaf34454c75e28c + * Digest: SHA256 7081efd30deeb38512a739c7208dfc5fb9bc1b93def217a779db76c01f68293b **********************************************************************/ import org.junit.Test; diff --git a/app/src/test/java/com/foxx/androidcast/network/UdpCastTransportBackwardCompatTest.java b/app/src/test/java/com/foxx/androidcast/network/UdpCastTransportBackwardCompatTest.java index 07d56dd..53864d0 100644 --- a/app/src/test/java/com/foxx/androidcast/network/UdpCastTransportBackwardCompatTest.java +++ b/app/src/test/java/com/foxx/androidcast/network/UdpCastTransportBackwardCompatTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network; /********************************************************************* * UdpCastTransportBackwardCompatTest.java * Created at: Mon 18 May 2026 14:25:02 +0200 - * Updated at: Mon 18 May 2026 14:25:02 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class UdpCastTransportBackwardCompatTest * Contributors: - * - Anton Afanasyeu (1 commits, 53 lines) + * - Anton Afanasyeu (2 commits, 60 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 22ad9f1020f5bd753fa96b0a5249e92130d50af94311efb93a0d6a1a8c2525bc + * Digest: SHA256 65b83ba338c7bc50f8926e3b4cb8be8c454ff6caf93e1bf0410b06a0a6da31a7 **********************************************************************/ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; diff --git a/app/src/test/java/com/foxx/androidcast/network/UdpCastTransportFecTest.java b/app/src/test/java/com/foxx/androidcast/network/UdpCastTransportFecTest.java index 26858e8..8343cf8 100644 --- a/app/src/test/java/com/foxx/androidcast/network/UdpCastTransportFecTest.java +++ b/app/src/test/java/com/foxx/androidcast/network/UdpCastTransportFecTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network; /********************************************************************* * UdpCastTransportFecTest.java * Created at: Mon 18 May 2026 14:25:02 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class UdpCastTransportFecTest * Contributors: - * - Anton Afanasyeu (2 commits, 117 lines) + * - Anton Afanasyeu (3 commits, 124 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 77c0d7d3585bc42d3b40fe1db3b1b400a0abc8980d4b6d18b54b1a3476a0e820 + * Digest: SHA256 52f01a8ad1607693ac16ed7445a5f17797ab34f23a7a0b307184055ef2f9f0d3 **********************************************************************/ import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertNotNull; diff --git a/app/src/test/java/com/foxx/androidcast/network/transport/FecProtectionEngineShardTest.java b/app/src/test/java/com/foxx/androidcast/network/transport/FecProtectionEngineShardTest.java index 3c53472..a3a19e9 100644 --- a/app/src/test/java/com/foxx/androidcast/network/transport/FecProtectionEngineShardTest.java +++ b/app/src/test/java/com/foxx/androidcast/network/transport/FecProtectionEngineShardTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * FecProtectionEngineShardTest.java * Created at: Mon 18 May 2026 14:25:02 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class FecProtectionEngineShardTest * Contributors: - * - Anton Afanasyeu (2 commits, 56 lines) + * - Anton Afanasyeu (3 commits, 63 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 40f0a42dc09acfffed2a805dab7bc05e624fc7a204dfd0eba33da85e2e309501 + * Digest: SHA256 3bdb27efe68e2c9216ef648a9fe671ccdac8774a6a74d45baabed0bd8b097d9f **********************************************************************/ import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertArrayEquals; diff --git a/app/src/test/java/com/foxx/androidcast/network/transport/NackRateLimiterTest.java b/app/src/test/java/com/foxx/androidcast/network/transport/NackRateLimiterTest.java index 14d3734..d391fd8 100644 --- a/app/src/test/java/com/foxx/androidcast/network/transport/NackRateLimiterTest.java +++ b/app/src/test/java/com/foxx/androidcast/network/transport/NackRateLimiterTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * NackRateLimiterTest.java * Created at: Mon 18 May 2026 14:25:02 +0200 - * Updated at: Mon 18 May 2026 14:25:02 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class NackRateLimiterTest * Contributors: - * - Anton Afanasyeu (1 commits, 25 lines) + * - Anton Afanasyeu (2 commits, 32 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 0d9ea1348bc9d1238d33ec7e6c5ffc04712e2a6ed369e8c8a61d42c49dc6b859 + * Digest: SHA256 74f200b84b1cdf01b8315ca61fd4665a39bef8ae80caf75542d77820f137273c **********************************************************************/ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; diff --git a/app/src/test/java/com/foxx/androidcast/network/transport/StreamProtectionCompatTest.java b/app/src/test/java/com/foxx/androidcast/network/transport/StreamProtectionCompatTest.java index ea540ee..9d5c07b 100644 --- a/app/src/test/java/com/foxx/androidcast/network/transport/StreamProtectionCompatTest.java +++ b/app/src/test/java/com/foxx/androidcast/network/transport/StreamProtectionCompatTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * StreamProtectionCompatTest.java * Created at: Mon 18 May 2026 14:25:02 +0200 - * Updated at: Mon 18 May 2026 14:25:02 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class StreamProtectionCompatTest * Contributors: - * - Anton Afanasyeu (1 commits, 36 lines) + * - Anton Afanasyeu (2 commits, 43 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 0e6469f9b641b0c9e283fb20d72d4ee28b2c69a8cb38943d340984c0ed5c643e + * Digest: SHA256 5c17f919671c3b028feb186a4ac67ca4465d8050766c88c59e83e45b02ff49d1 **********************************************************************/ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; diff --git a/app/src/test/java/com/foxx/androidcast/network/transport/StreamProtectionFactoryTest.java b/app/src/test/java/com/foxx/androidcast/network/transport/StreamProtectionFactoryTest.java index cbae3b1..27ec76b 100644 --- a/app/src/test/java/com/foxx/androidcast/network/transport/StreamProtectionFactoryTest.java +++ b/app/src/test/java/com/foxx/androidcast/network/transport/StreamProtectionFactoryTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * StreamProtectionFactoryTest.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class StreamProtectionFactoryTest * Contributors: - * - Anton Afanasyeu (2 commits, 55 lines) + * - Anton Afanasyeu (3 commits, 62 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 78db7652959223f21a4f351001f4c9240395b75eab254b2dcac152074bc47a49 + * Digest: SHA256 724ce23b0fe144918b7b2f3b0350cada92e61c011bd417e698143db1615d2fd2 **********************************************************************/ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; diff --git a/app/src/test/java/com/foxx/androidcast/network/transport/StreamProtectionNegotiatorTest.java b/app/src/test/java/com/foxx/androidcast/network/transport/StreamProtectionNegotiatorTest.java index cf9fc21..96b04fc 100644 --- a/app/src/test/java/com/foxx/androidcast/network/transport/StreamProtectionNegotiatorTest.java +++ b/app/src/test/java/com/foxx/androidcast/network/transport/StreamProtectionNegotiatorTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport; /********************************************************************* * StreamProtectionNegotiatorTest.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class StreamProtectionNegotiatorTest * Contributors: - * - Anton Afanasyeu (2 commits, 110 lines) + * - Anton Afanasyeu (3 commits, 117 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 5dcc89dce4afdec1de723496f4276fa7e7a35991a4a8a197f1cfe209eb662d29 + * Digest: SHA256 cc4bd7ad0bc870742d3e39bca93ce8e0b8f8ea147fa6c60c06256fa52dfc955e **********************************************************************/ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; diff --git a/app/src/test/java/com/foxx/androidcast/network/transport/fec/FecShardReassemblyTest.java b/app/src/test/java/com/foxx/androidcast/network/transport/fec/FecShardReassemblyTest.java index 5bbff8b..05954fd 100644 --- a/app/src/test/java/com/foxx/androidcast/network/transport/fec/FecShardReassemblyTest.java +++ b/app/src/test/java/com/foxx/androidcast/network/transport/fec/FecShardReassemblyTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport.fec; /********************************************************************* * FecShardReassemblyTest.java * Created at: Mon 18 May 2026 14:25:02 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class FecShardReassemblyTest * Contributors: - * - Anton Afanasyeu (2 commits, 81 lines) + * - Anton Afanasyeu (3 commits, 88 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 2f121c49deb742560b5c3acedc607865788872a84a49aa405836e0bb6d533c3f + * Digest: SHA256 8a2b4ed355ddde76f87acb9d6e990d03711ae10aa1d3d87b86e8d4f02ba1b6fe **********************************************************************/ import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertNotNull; diff --git a/app/src/test/java/com/foxx/androidcast/network/transport/fec/FecShardWireTest.java b/app/src/test/java/com/foxx/androidcast/network/transport/fec/FecShardWireTest.java index 6abf5d5..9351304 100644 --- a/app/src/test/java/com/foxx/androidcast/network/transport/fec/FecShardWireTest.java +++ b/app/src/test/java/com/foxx/androidcast/network/transport/fec/FecShardWireTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport.fec; /********************************************************************* * FecShardWireTest.java * Created at: Mon 18 May 2026 14:25:02 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class FecShardWireTest * Contributors: - * - Anton Afanasyeu (2 commits, 70 lines) + * - Anton Afanasyeu (3 commits, 77 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 b9f547315efda46e7752450d424e96099dc0cb1889fe8228b380527b9229ae28 + * Digest: SHA256 553e2d1952d29aa8573f4dd55b5e83a33bb7283593b6d87247437f8aa69b5f16 **********************************************************************/ import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; diff --git a/app/src/test/java/com/foxx/androidcast/network/transport/fec/ReedSolomonFecTest.java b/app/src/test/java/com/foxx/androidcast/network/transport/fec/ReedSolomonFecTest.java index 4e890f9..56b4862 100644 --- a/app/src/test/java/com/foxx/androidcast/network/transport/fec/ReedSolomonFecTest.java +++ b/app/src/test/java/com/foxx/androidcast/network/transport/fec/ReedSolomonFecTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.network.transport.fec; /********************************************************************* * ReedSolomonFecTest.java * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class ReedSolomonFecTest * Contributors: - * - Anton Afanasyeu (1 commits, 59 lines) + * - Anton Afanasyeu (2 commits, 66 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 5075686696c29640df2abe5e7b9b29df9625e49583c7f4d1cfaba10a37d1d65f + * Digest: SHA256 17746d64c23ac6a37735537ac523e6ec5fa3074a4509f73268156aa7db40d193 **********************************************************************/ import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertFalse; diff --git a/app/src/test/java/com/foxx/androidcast/ota/OtaApkInstallerTest.java b/app/src/test/java/com/foxx/androidcast/ota/OtaApkInstallerTest.java index c3034eb..020a85b 100644 --- a/app/src/test/java/com/foxx/androidcast/ota/OtaApkInstallerTest.java +++ b/app/src/test/java/com/foxx/androidcast/ota/OtaApkInstallerTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.ota; /********************************************************************* * OtaApkInstallerTest.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class OtaApkInstallerTest * Contributors: - * - Anton Afanasyeu (1 commits, 23 lines) + * - Anton Afanasyeu (2 commits, 30 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 928e47db96f21c0724998397acfa34ba00ad5a3373954a4812c2b6347eee9e07 + * Digest: SHA256 b1481b527a3260dc7ca23ab29438b116ee140107b969e3eb279c6dd6122051f8 **********************************************************************/ import static org.junit.Assert.assertEquals; diff --git a/app/src/test/java/com/foxx/androidcast/ota/OtaBundleInstallerTest.java b/app/src/test/java/com/foxx/androidcast/ota/OtaBundleInstallerTest.java index 67b02db..67637db 100644 --- a/app/src/test/java/com/foxx/androidcast/ota/OtaBundleInstallerTest.java +++ b/app/src/test/java/com/foxx/androidcast/ota/OtaBundleInstallerTest.java @@ -2,12 +2,14 @@ package com.foxx.androidcast.ota; /********************************************************************* * OtaBundleInstallerTest.java - * Created at: Wed 20 May 2026 15:15:13 +0200 - * Updated at: Wed 20 May 2026 15:15:13 +0200 by Cursor Agent + * Created at: Wed 20 May 2026 15:17:13 +0200 + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class OtaBundleInstallerTest * Contributors: + * - Anton Afanasyeu (1 commits, 61 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 b443d5cd08659a05999aba622deb4d8b888d37bb832e65120ab9eaddb06f99eb + * Digest: SHA256 265506219a2e79ef3abfc2f82766222437b87f3d3fd6de82862628016250ea12 **********************************************************************/ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; diff --git a/app/src/test/java/com/foxx/androidcast/ota/OtaManifestTest.java b/app/src/test/java/com/foxx/androidcast/ota/OtaManifestTest.java index 7dff862..be0f022 100644 --- a/app/src/test/java/com/foxx/androidcast/ota/OtaManifestTest.java +++ b/app/src/test/java/com/foxx/androidcast/ota/OtaManifestTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.ota; /********************************************************************* * OtaManifestTest.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class OtaManifestTest * Contributors: - * - Anton Afanasyeu (1 commits, 32 lines) + * - Anton Afanasyeu (2 commits, 56 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 556f497b8a8c6e58841755e39a11f9c55b4a99b2fbc418bc373d4b8818d8d285 + * Digest: SHA256 947b22f2fbf6de295f87d5a7d7a3ab16cc04ad70528981f3e459a1738a54f0c7 **********************************************************************/ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; diff --git a/app/src/test/java/com/foxx/androidcast/ota/OtaVersionTest.java b/app/src/test/java/com/foxx/androidcast/ota/OtaVersionTest.java index 1d2cbe6..d61e118 100644 --- a/app/src/test/java/com/foxx/androidcast/ota/OtaVersionTest.java +++ b/app/src/test/java/com/foxx/androidcast/ota/OtaVersionTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.ota; /********************************************************************* * OtaVersionTest.java * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class OtaVersionTest * Contributors: - * - Anton Afanasyeu (1 commits, 26 lines) + * - Anton Afanasyeu (2 commits, 33 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 4417a6f760b4c4a4fc19f8e302c9ff12d8163abde933ac439eb2dae27c10f585 + * Digest: SHA256 85d87330e73f19e38997627ff76ec7af84d0c18f0c3ed67a9833efb1e69b3290 **********************************************************************/ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; diff --git a/app/src/test/java/com/foxx/androidcast/sender/calibration/CalibrationSourceDimensionsTest.java b/app/src/test/java/com/foxx/androidcast/sender/calibration/CalibrationSourceDimensionsTest.java index 78c1282..a0decb3 100644 --- a/app/src/test/java/com/foxx/androidcast/sender/calibration/CalibrationSourceDimensionsTest.java +++ b/app/src/test/java/com/foxx/androidcast/sender/calibration/CalibrationSourceDimensionsTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.sender.calibration; /********************************************************************* * CalibrationSourceDimensionsTest.java * Created at: Sun 17 May 2026 15:45:19 +0200 - * Updated at: Sun 17 May 2026 15:45:19 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class CalibrationSourceDimensionsTest * Contributors: - * - Anton Afanasyeu (1 commits, 24 lines) + * - Anton Afanasyeu (2 commits, 31 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 b9587a4ce230a98f72fba276ef83e5c08ffa57597efefc92350302f271c21dcf + * Digest: SHA256 50aa2b1daf378985c37effa21dd38366008e726420154ed66098e86d1d048d17 **********************************************************************/ import static org.junit.Assert.assertEquals; diff --git a/app/src/test/java/com/foxx/androidcast/stats/SessionStatsEventMapperTest.java b/app/src/test/java/com/foxx/androidcast/stats/SessionStatsEventMapperTest.java index 8b33259..746d3c0 100644 --- a/app/src/test/java/com/foxx/androidcast/stats/SessionStatsEventMapperTest.java +++ b/app/src/test/java/com/foxx/androidcast/stats/SessionStatsEventMapperTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.stats; /********************************************************************* * SessionStatsEventMapperTest.java * Created at: Tue 19 May 2026 19:43:06 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SessionStatsEventMapperTest * Contributors: - * - Anton Afanasyeu (1 commits, 38 lines) + * - Anton Afanasyeu (2 commits, 45 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 8a3ace38f6f02e6827f2db0cffe7f8ef953de3c7a2598a0e38cb279456269484 + * Digest: SHA256 c2421f64b2b6674c82931e9c1982568447fac35fb9c51f090951f2be37b29501 **********************************************************************/ import static org.junit.Assert.assertEquals; diff --git a/app/src/test/java/com/foxx/androidcast/stats/SessionStatsStoreTest.java b/app/src/test/java/com/foxx/androidcast/stats/SessionStatsStoreTest.java index cce22d2..9796b7b 100644 --- a/app/src/test/java/com/foxx/androidcast/stats/SessionStatsStoreTest.java +++ b/app/src/test/java/com/foxx/androidcast/stats/SessionStatsStoreTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.stats; /********************************************************************* * SessionStatsStoreTest.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SessionStatsStoreTest * Contributors: - * - Anton Afanasyeu (2 commits, 70 lines) + * - Anton Afanasyeu (3 commits, 77 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 03c7cec2b65c676e4a743525b069a5ccac78904df58127c470f86b15271a43a8 + * Digest: SHA256 eef9a1af2345924c4aecd68e533fc2e36fa044726f9bac38bac34c620f390e77 **********************************************************************/ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; diff --git a/app/src/test/java/com/foxx/androidcast/ui/PlaybackTextureTransformTest.java b/app/src/test/java/com/foxx/androidcast/ui/PlaybackTextureTransformTest.java index effdc59..abcb96b 100644 --- a/app/src/test/java/com/foxx/androidcast/ui/PlaybackTextureTransformTest.java +++ b/app/src/test/java/com/foxx/androidcast/ui/PlaybackTextureTransformTest.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.ui; /********************************************************************* * PlaybackTextureTransformTest.java * Created at: Sat 16 May 2026 18:50:36 +0200 - * Updated at: Sun 17 May 2026 15:45:19 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class PlaybackTextureTransformTest * Contributors: - * - Anton Afanasyeu (2 commits, 41 lines) + * - Anton Afanasyeu (3 commits, 48 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 bf16dafb719c89d716f5945fb356f35a17a3920000594bf57176fa8c6158018e + * Digest: SHA256 3419ff2e4f168b9cc12f2324e03cf8c922006fd70656f38ee713610dd1426562 **********************************************************************/ import static org.junit.Assert.assertEquals; diff --git a/desktop/session-studio/src/main/java/com/foxx/androidcast/studio/ChartTicks.java b/desktop/session-studio/src/main/java/com/foxx/androidcast/studio/ChartTicks.java index 0932040..0ac9ed5 100644 --- a/desktop/session-studio/src/main/java/com/foxx/androidcast/studio/ChartTicks.java +++ b/desktop/session-studio/src/main/java/com/foxx/androidcast/studio/ChartTicks.java @@ -3,11 +3,12 @@ package com.foxx.androidcast.studio; /********************************************************************* * ChartTicks.java * Created at: Tue 19 May 2026 19:43:06 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 79 lines) + * - Anton Afanasyeu (2 commits, 85 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 3742b3bf96491351681637e8d9208c0827ff8eb75e1cc87421792e73292c05b3 + * Digest: SHA256 d89df04075ef5ccfa62dfa6d80a875cab5ff4ef3892cd22157c246e5128e723d **********************************************************************/ import java.util.ArrayList; import java.util.List; diff --git a/desktop/session-studio/src/main/java/com/foxx/androidcast/studio/SessionChartPane.java b/desktop/session-studio/src/main/java/com/foxx/androidcast/studio/SessionChartPane.java index a459560..ac42693 100644 --- a/desktop/session-studio/src/main/java/com/foxx/androidcast/studio/SessionChartPane.java +++ b/desktop/session-studio/src/main/java/com/foxx/androidcast/studio/SessionChartPane.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.studio; /********************************************************************* * SessionChartPane.java * Created at: Mon 18 May 2026 18:26:28 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SessionChartPane * Contributors: - * - Anton Afanasyeu (2 commits, 437 lines) + * - Anton Afanasyeu (3 commits, 444 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 88e24e0068b1b54ae5bbae7f1f2705c0a5ddcb4a09bf9969c292c1e28acb6165 + * Digest: SHA256 b481c013163b99f872c4174d6b6ad9505f01dfeae596bbb601e448983be17d8a **********************************************************************/ import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; diff --git a/desktop/session-studio/src/main/java/com/foxx/androidcast/studio/SessionDocument.java b/desktop/session-studio/src/main/java/com/foxx/androidcast/studio/SessionDocument.java index 1d4120e..1722f76 100644 --- a/desktop/session-studio/src/main/java/com/foxx/androidcast/studio/SessionDocument.java +++ b/desktop/session-studio/src/main/java/com/foxx/androidcast/studio/SessionDocument.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.studio; /********************************************************************* * SessionDocument.java * Created at: Mon 18 May 2026 18:26:28 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SessionDocument * Contributors: - * - Anton Afanasyeu (2 commits, 94 lines) + * - Anton Afanasyeu (3 commits, 101 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 e6fbb284dfd0b410796567df776d245a25ab6f152a709cc582d557723911f34e + * Digest: SHA256 56deae476a4589f4802783a7f6f20383897b4fc6d04c153734fa13ffdfe519c1 **********************************************************************/ import org.json.JSONArray; import org.json.JSONObject; diff --git a/desktop/session-studio/src/main/java/com/foxx/androidcast/studio/SessionStudioApp.java b/desktop/session-studio/src/main/java/com/foxx/androidcast/studio/SessionStudioApp.java index 438bfe2..6684cee 100644 --- a/desktop/session-studio/src/main/java/com/foxx/androidcast/studio/SessionStudioApp.java +++ b/desktop/session-studio/src/main/java/com/foxx/androidcast/studio/SessionStudioApp.java @@ -3,12 +3,13 @@ package com.foxx.androidcast.studio; /********************************************************************* * SessionStudioApp.java * Created at: Mon 18 May 2026 18:26:28 +0200 - * Updated at: Tue 19 May 2026 19:43:06 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * class SessionStudioApp * Contributors: - * - Anton Afanasyeu (2 commits, 147 lines) + * - Anton Afanasyeu (3 commits, 154 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 7579fea3417e33902e2decdd2da173933e04884e35a6e8ab727b8c263959d5c4 + * Digest: SHA256 92d8059db3ad304cc533ac1c765606f42a06a50f482508fe3d2abbb422292c94 **********************************************************************/ import javafx.application.Application; import javafx.collections.ListChangeListener; diff --git a/examples/crash_reporter/backend/config/config.example.php b/examples/crash_reporter/backend/config/config.example.php index 2958d29..c69eba2 100644 --- a/examples/crash_reporter/backend/config/config.example.php +++ b/examples/crash_reporter/backend/config/config.example.php @@ -1,15 +1,15 @@ + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 19 lines) + * - Anton Afanasyeu (2 commits, 23 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 a68b41e3b977416def464ec6a1aaeba10e660254325672cac891ab6200ba1bea -**********************************************************************/ + * Digest: SHA256 fcd4a89ef4201736923d0e7e1ad88868bba7e39eadb9fcf0ffb9d1ba7efecd12 + */ return [ 'app_name' => 'Android Cast Crashes', // Production: '/app/androidcast_project/crashes' — Local php -S: use '' (empty string) diff --git a/examples/crash_reporter/backend/config/config.php b/examples/crash_reporter/backend/config/config.php index a14b90b..a101ad1 100644 --- a/examples/crash_reporter/backend/config/config.php +++ b/examples/crash_reporter/backend/config/config.php @@ -1,15 +1,15 @@ + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 18 lines) + * - Anton Afanasyeu (2 commits, 22 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 bcfa082fa936d758ce5ee539b5077c187dad629168b8784e2c65bb4cfe29a8a4 -**********************************************************************/ + * Digest: SHA256 8b7149a4cd8a0f7d13ee8a22535c3697e919e35b9fe5bb8a80764769cc6c6853 + */ return [ 'app_name' => 'Android Cast Crashes', 'base_path' => '/app/androidcast_project/crashes', diff --git a/examples/crash_reporter/backend/public/api/upload.php b/examples/crash_reporter/backend/public/api/upload.php index 767151b..763c481 100644 --- a/examples/crash_reporter/backend/public/api/upload.php +++ b/examples/crash_reporter/backend/public/api/upload.php @@ -1,15 +1,15 @@ + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 21 lines) + * - Anton Afanasyeu (2 commits, 25 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 d32979211e6246f5520b0570e2d1d10f5e86eb35fd94ede60634535f2ca143de -**********************************************************************/ + * Digest: SHA256 edbab2563cb9d5ba1c9a6a6272071ac12efa782274c7d1626f088a951033d5a6 + */ declare(strict_types=1); require_once __DIR__ . '/../../src/bootstrap.php'; diff --git a/examples/crash_reporter/backend/public/index.php b/examples/crash_reporter/backend/public/index.php index 170f8d0..81d2cb5 100644 --- a/examples/crash_reporter/backend/public/index.php +++ b/examples/crash_reporter/backend/public/index.php @@ -1,15 +1,15 @@ + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 59 lines) + * - Anton Afanasyeu (2 commits, 63 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 1cc27633c3b71e75c1e2dbc9b23ff2bb241958a8d7b31b5ae1594706182d381e -**********************************************************************/ + * Digest: SHA256 90d9b287d10572f80696355281ba308437d49936dba1d421037afbabc1dc135e + */ declare(strict_types=1); require_once __DIR__ . '/../src/bootstrap.php'; diff --git a/examples/crash_reporter/backend/src/Auth.php b/examples/crash_reporter/backend/src/Auth.php index 55fe935..5a9a7cc 100644 --- a/examples/crash_reporter/backend/src/Auth.php +++ b/examples/crash_reporter/backend/src/Auth.php @@ -1,15 +1,15 @@ + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 52 lines) + * - Anton Afanasyeu (2 commits, 56 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 f1ce3231dfbf323fadc228d391266b298af4cb4eeefcd6cf78d7f4a899da74bf -**********************************************************************/ + * Digest: SHA256 a6e49e8d07788ac2b4ea48f886f9a46ec6f5c1eab5b9723e1554e1fe53765efd + */ declare(strict_types=1); final class Auth { diff --git a/examples/crash_reporter/backend/src/Database.php b/examples/crash_reporter/backend/src/Database.php index 3ce26aa..0a3d349 100644 --- a/examples/crash_reporter/backend/src/Database.php +++ b/examples/crash_reporter/backend/src/Database.php @@ -1,15 +1,15 @@ + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 39 lines) + * - Anton Afanasyeu (2 commits, 43 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 da4b9e05725c9a560a82071c392bdc1f35e06f7315a8cf2122518e6093d08cc8 -**********************************************************************/ + * Digest: SHA256 6e0c3bc4b7a544839aa7961fa9b6adb0da4968c13825a10159d791270a26d4a1 + */ declare(strict_types=1); final class Database { diff --git a/examples/crash_reporter/backend/src/ReportRepository.php b/examples/crash_reporter/backend/src/ReportRepository.php index 52cbd09..c3dd49f 100644 --- a/examples/crash_reporter/backend/src/ReportRepository.php +++ b/examples/crash_reporter/backend/src/ReportRepository.php @@ -1,15 +1,15 @@ + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 57 lines) + * - Anton Afanasyeu (2 commits, 61 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 17a4ce13743f8580baaeb5cf1d7c37715cdc17f1b17c9f598925dda3e1c12294 -**********************************************************************/ + * Digest: SHA256 5da7d17c78a5f2dbddfbabcbf0d2b4f391edb314902c758ce1c0df59c9140bd5 + */ declare(strict_types=1); final class ReportRepository { diff --git a/examples/crash_reporter/backend/src/bootstrap.php b/examples/crash_reporter/backend/src/bootstrap.php index d8a37e2..2f0f29a 100644 --- a/examples/crash_reporter/backend/src/bootstrap.php +++ b/examples/crash_reporter/backend/src/bootstrap.php @@ -1,15 +1,15 @@ + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 41 lines) + * - Anton Afanasyeu (2 commits, 45 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 8fdf942d57489d19dbe5358656cd1a0b1156eda966e3e5d7a180f603ace4243f -**********************************************************************/ + * Digest: SHA256 13f47a5da844f6ab0e4de9a934ec4e3a3892401c5b8b43123aa1539131b1ab48 + */ declare(strict_types=1); $configPath = __DIR__ . '/../config/config.php'; diff --git a/examples/crash_reporter/backend/views/layout.php b/examples/crash_reporter/backend/views/layout.php index 5f1f01d..940e5be 100644 --- a/examples/crash_reporter/backend/views/layout.php +++ b/examples/crash_reporter/backend/views/layout.php @@ -1,14 +1,16 @@ -/* package examples/crash_reporter/backend/views/layout.php */ - -/********************************************************************* + + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 82 lines) + * - Anton Afanasyeu (2 commits, 86 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 1c049b65f48ad5b675ec6c774c1a5ddca713d37e638cf1b930c68e97531d4c4e -**********************************************************************/ + * Digest: SHA256 21e56cd12df6a94df41a1c0d67be530bd01454865ee1f032cef5f8d2e497509a + */ +?> diff --git a/examples/crash_reporter/backend/views/login.php b/examples/crash_reporter/backend/views/login.php index 7853487..c32be1f 100644 --- a/examples/crash_reporter/backend/views/login.php +++ b/examples/crash_reporter/backend/views/login.php @@ -1,14 +1,16 @@ -/* package examples/crash_reporter/backend/views/login.php */ - -/********************************************************************* + + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 23 lines) + * - Anton Afanasyeu (2 commits, 27 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 37ae18b8cc9050f282aa8bf9a040932e7405448f45d6a9c0ba043a262deab8b2 -**********************************************************************/ + * Digest: SHA256 9bef983f4d34cb790922cda355ccf5d14b565b29273d2ebfe48b3173cd2e8f9f + */ +?> diff --git a/examples/crash_reporter/backend/views/report_detail.php b/examples/crash_reporter/backend/views/report_detail.php index d8a0440..4c93a8e 100644 --- a/examples/crash_reporter/backend/views/report_detail.php +++ b/examples/crash_reporter/backend/views/report_detail.php @@ -1,15 +1,15 @@ + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 50 lines) + * - Anton Afanasyeu (2 commits, 54 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 830d53711eef7690d747cb85455201ddbd613807203ff970614e992f1474de81 -**********************************************************************/ + * Digest: SHA256 f1e2aee2d8f36904e3a143c7a60e4812de32a58c94d7792334f7ac9ab12f6f25 + */ $p = $report['payload'] ?? []; $device = $p['device'] ?? []; $app = $p['app'] ?? []; diff --git a/ndk/jni/androidcast_codecs.c b/ndk/jni/androidcast_codecs.c index 82fa6da..35f49c4 100644 --- a/ndk/jni/androidcast_codecs.c +++ b/ndk/jni/androidcast_codecs.c @@ -3,11 +3,12 @@ /********************************************************************* * androidcast_codecs.c * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 11 lines) + * - Anton Afanasyeu (2 commits, 19 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 b9b751d48b4e612c4400e84ff5cb5d6c9e82884ba76c906591bd8fdfc0559771 + * Digest: SHA256 a6e0a5cdb3c06c23f932e9927494a53786a587533964767fab09fce1da5028a8 **********************************************************************/ #include #include diff --git a/ndk/jni/crash_hook.c b/ndk/jni/crash_hook.c index fc7cadb..afa51b1 100644 --- a/ndk/jni/crash_hook.c +++ b/ndk/jni/crash_hook.c @@ -3,11 +3,12 @@ /********************************************************************* * crash_hook.c * Created at: Wed 20 May 2026 14:31:55 +0200 - * Updated at: Wed 20 May 2026 14:31:55 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 122 lines) + * - Anton Afanasyeu (2 commits, 130 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 7541b6c0d3bf233b316e0ca2f66e40a7692054fadb8ff4a965fca8f530d90e1f + * Digest: SHA256 3ae2b4ff82863a890f6b5a592d9dd3d93bd28afbf93817a4ecae9e5c2cf03811 **********************************************************************/ #include #include diff --git a/ndk/jni/libvpx_bridge.c b/ndk/jni/libvpx_bridge.c index 77e361b..6e6da37 100644 --- a/ndk/jni/libvpx_bridge.c +++ b/ndk/jni/libvpx_bridge.c @@ -3,11 +3,12 @@ /********************************************************************* * libvpx_bridge.c * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Tue 19 May 2026 12:23:39 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (5 commits, 424 lines) + * - Anton Afanasyeu (6 commits, 432 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 34be3d873167d9aeb4ec3525d87260fc517ee25b21b1a52870ec330dbc642983 + * Digest: SHA256 3bdffcead822ea7b00582f416ffe18d3f885f8b91ddab3e87752c23dcf326a02 **********************************************************************/ #include #include diff --git a/ndk/jni/opus_bridge.c b/ndk/jni/opus_bridge.c index 97c7769..134d994 100644 --- a/ndk/jni/opus_bridge.c +++ b/ndk/jni/opus_bridge.c @@ -3,11 +3,12 @@ /********************************************************************* * opus_bridge.c * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 13 lines) + * - Anton Afanasyeu (2 commits, 21 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 0ba245379ed3ff43dcec08a0276292e8fe58be0a189b7736e753f7765a393853 + * Digest: SHA256 401e8483138f40becb1bcd3bfb46693c651c44dbc6f5d85cbcc645df93b51bfb **********************************************************************/ #include diff --git a/ndk/jni/speex_bridge.c b/ndk/jni/speex_bridge.c index 7379784..b35eac1 100644 --- a/ndk/jni/speex_bridge.c +++ b/ndk/jni/speex_bridge.c @@ -3,11 +3,12 @@ /********************************************************************* * speex_bridge.c * Created at: Sun 17 May 2026 22:49:49 +0200 - * Updated at: Sun 17 May 2026 22:49:49 +0200 by Anton Afanasyeu + * Updated at: Wed 20 May 2026 15:17:13 +0200 by Anton Afanasyeu + * Commit: 5d8e82d2e60a21fff3138d2a394ee4e8b4c6dcb8 * Contributors: - * - Anton Afanasyeu (1 commits, 13 lines) + * - Anton Afanasyeu (2 commits, 21 lines) * - Cursor Agent (project assistant) - * Digest: SHA256 cb806bd95d66394159981dfd3f23667cbc0cd51fd8f9dbe9f6a390e0a6112095 + * Digest: SHA256 5085e4a255dcad08ac2eb746ad1d1f64408a191f035d9a6ca83dab896b3e9a09 **********************************************************************/ #include diff --git a/scripts/header-pre-commit.py b/scripts/header-pre-commit.py index c47fea2..39883fb 100755 --- a/scripts/header-pre-commit.py +++ b/scripts/header-pre-commit.py @@ -12,6 +12,7 @@ from header_lib import ( apply_header_to_content, has_valid_header, header_needs_identity_refresh, + hook_skip_requested, is_excluded_path, resolve_header_contributor, update_header_timestamps, @@ -48,6 +49,9 @@ def is_new_file(path: Path) -> bool: def main() -> int: + if hook_skip_requested(): + return 0 + errors = [] contributor = resolve_header_contributor() for path in staged_files(): diff --git a/scripts/header_lib.py b/scripts/header_lib.py index 16bb3aa..c46be41 100755 --- a/scripts/header_lib.py +++ b/scripts/header_lib.py @@ -16,6 +16,7 @@ BANNER_START = "/*************************************************************** BANNER_END = "**********************************************************************/" MARKER_CREATED = "Created at:" MARKER_UPDATED = "Updated at:" +MARKER_COMMIT = "Commit:" MARKER_DIGEST = "Digest:" MARKER_CONTRIBUTORS = "Contributors:" MARKER_CLASS = re.compile(r"^\s*\*?\s*(class|interface|enum)\s+(\w+)", re.I) @@ -62,6 +63,7 @@ class FileMeta: last_contributor: str contributors_block: str language: str + commit_sha: str = "" def iter_source_files(root: Path) -> Iterable[Path]: @@ -151,6 +153,45 @@ def format_identity(name: str, email: str = "") -> str: return name +def hook_skip_requested() -> bool: + import os + + return os.environ.get("HEADER_HOOK_SKIP", "").strip() in {"1", "true", "yes"} + + +def git_head_sha() -> str: + return run_git(["rev-parse", "HEAD"], REPO_ROOT) + + +def git_last_commit_sha_for_file(path: Path) -> str: + rel = repo_relative(path) + return run_git(["log", "-1", "--format=%H", "--", rel], REPO_ROOT) + + +def parse_commit_from_header(text: str) -> str: + m = re.search(r"\* Commit:\s*(\S+)", text) + return m.group(1).strip() if m else "" + + +def files_in_git_commit(commit: str = "HEAD") -> list[Path]: + out = run_git( + ["diff-tree", "--no-commit-id", "--name-only", "-r", commit], + REPO_ROOT, + ) + paths: list[Path] = [] + for line in out.splitlines(): + rel = line.strip() + if not rel: + continue + p = REPO_ROOT / rel + if not p.is_file() or p.suffix.lower() not in SOURCE_SUFFIXES: + continue + if is_excluded_path(p): + continue + paths.append(p) + return paths + + def format_git_date(raw: str) -> str: if not raw: return datetime.now().astimezone().strftime("%a %d %b %Y %H:%M:%S %z") @@ -332,18 +373,45 @@ def package_line_for_file(source_text: str, rel_path: str, suffix: str) -> str: return f"/* package {rel_path} */" +def strip_existing_header_php(text: str) -> str: + """Remove before real body.""" + work = text.lstrip("\ufeff") + while True: + changed = False + w = work.lstrip() + if w.startswith(""): + work = w[2:].lstrip("\n") + changed = True + w = work.lstrip() + if w.startswith("/*") or w.startswith("/*****"): + close = w.find("*/") + if close >= 0: + work = w[close + 2 :].lstrip("\n") + changed = True + else: + break + if not changed: + break + return work.lstrip("\n") + + +def php_body_is_markup(body: str) -> bool: + """True when body is HTML/templates after the commented header (needs ?>).""" + s = body.lstrip() + return bool(s) and s[0] == "<" + + def strip_existing_header(text: str, suffix: str) -> tuple[str, str]: """Returns (body without header/package, preserved leading e.g. = 0: - leading = work[: first_nl + 1] - work = work[first_nl + 1 :] - else: - leading = work + "\n" - work = "" lines = work.splitlines(keepends=True) i = 0 @@ -392,6 +460,7 @@ def build_meta(path: Path, body: str, source_text: str = "") -> FileMeta: lang = "java" if suffix in {".java", ".aidl"} else ("php" if suffix == ".php" else "c") class_line = detect_class_line(body, suffix) + commit_sha = parse_commit_from_header(source_text) or git_last_commit_sha_for_file(path) return FileMeta( rel_path=rel, filename=path.name, @@ -402,34 +471,83 @@ def build_meta(path: Path, body: str, source_text: str = "") -> FileMeta: last_contributor=author, contributors_block=contributors_block(rows), language=lang, + commit_sha=commit_sha, ) -def render_header(meta: FileMeta, digest_hex: str | None) -> str: +def _inner_header_lines(meta: FileMeta, *, for_digest: bool) -> list[str]: + """Banner lines shared by PHP and C-style headers.""" lines = [ - meta.package_line, - "", - BANNER_START, f" * {meta.filename}", f" * {MARKER_CREATED} {meta.created_at}", f" * {MARKER_UPDATED} {meta.updated_at} by {meta.last_contributor}", ] + if not for_digest and meta.commit_sha: + lines.append(f" * {MARKER_COMMIT} {meta.commit_sha}") if meta.class_line: lines.append(meta.class_line) lines.append(f" * {MARKER_CONTRIBUTORS}") - lines.append(meta.contributors_block) - if digest_hex: + lines.extend(meta.contributors_block.splitlines()) + return lines + + +def render_php_header(meta: FileMeta, digest_hex: str | None, *, for_digest: bool = False) -> str: + """ + PHP: header is one block comment inside so the engine ignores it. + No nested '/***** ... */' banners (inner */ would break the comment). + """ + inner = [f" * package {meta.rel_path}"] + inner.extend(_inner_header_lines(meta, for_digest=for_digest)) + if digest_hex and not for_digest: + inner.append(f" * {MARKER_DIGEST} SHA256\t{digest_hex}") + return " str: + if suffix == ".php" or meta.language == "php": + return render_php_header(meta, digest_hex, for_digest=for_digest) + lines = [ + meta.package_line, + "", + BANNER_START, + *_inner_header_lines(meta, for_digest=for_digest), + ] + if digest_hex and not for_digest: lines.append(f" * {MARKER_DIGEST} SHA256\t{digest_hex}") lines.append(BANNER_END) lines.append("") return "\n".join(lines) -def compute_digest(prefix: str, body: str) -> str: - payload = prefix + body +def wrap_php_header_and_body(header: str, body: str) -> str: + """ + Pure PHP: then HTML. + """ + body = body.lstrip("\n") + if body.startswith("\n" + body + return header + body + + +def compute_digest(header_prefix: str, body: str) -> str: + """Hash file body + header without Digest/Commit lines.""" + payload = header_prefix + body return hashlib.sha256(payload.encode("utf-8")).hexdigest() +def finalize_header(meta: FileMeta, body: str, suffix: str, leading: str = "") -> str: + prefix_for_digest = render_header(meta, None, suffix, for_digest=True) + digest = compute_digest(prefix_for_digest, body) + prefix = render_header(meta, digest, suffix, for_digest=False) + if suffix == ".php": + return wrap_php_header_and_body(prefix, body) + return leading + prefix + body + + def apply_header_to_content(path: Path, text: str, update_only: bool = False) -> str: suffix = path.suffix.lower() body, leading = strip_existing_header(text, suffix) @@ -440,14 +558,15 @@ def apply_header_to_content(path: Path, text: str, update_only: bool = False) -> if m: meta.created_at = m.group(1).strip() - prefix_without_digest = render_header(meta, None) - digest = compute_digest(prefix_without_digest, body) - prefix = render_header(meta, digest) - return leading + prefix + body + return finalize_header(meta, body, suffix, leading) def has_valid_header(text: str) -> bool: - return MARKER_CREATED in text and BANNER_START in text and BANNER_END in text + if MARKER_CREATED not in text: + return False + if text.lstrip().startswith(" bool: @@ -475,7 +594,8 @@ def header_needs_identity_refresh(text: str, path: Path) -> bool: return False -def update_header_timestamps(text: str, path: Path, contributor: str | None = None) -> str: +def update_header_timestamps( + text: str, path: Path, contributor: str | None = None, *, touch_commit: bool = False) -> str: suffix = path.suffix.lower() body, leading = strip_existing_header(text, suffix) if contributor: @@ -492,8 +612,27 @@ def update_header_timestamps(text: str, path: Path, contributor: str | None = No meta.created_at = created meta.updated_at = updated_line meta.last_contributor = who + if touch_commit: + meta.commit_sha = git_head_sha() + else: + meta.commit_sha = parse_commit_from_header(text) - prefix_without_digest = render_header(meta, None) - digest = compute_digest(prefix_without_digest, body) - prefix = render_header(meta, digest) - return leading + prefix + body + return finalize_header(meta, body, suffix, leading) + + +def update_header_commit(text: str, path: Path, commit_sha: str) -> str: + """Set Commit: line after post-commit; recomputes Digest (Commit excluded from hash).""" + if parse_commit_from_header(text) == commit_sha: + return text + suffix = path.suffix.lower() + body, leading = strip_existing_header(text, suffix) + meta = build_meta(path, body, text) + m_created = re.search(r"\* Created at: (.+)", text) + m_updated = re.search(r"\* Updated at: (.+?) by (.+)$", text, re.MULTILINE) + if m_created: + meta.created_at = m_created.group(1).strip() + if m_updated: + meta.updated_at = m_updated.group(1).strip() + meta.last_contributor = m_updated.group(2).strip() + meta.commit_sha = commit_sha + return finalize_header(meta, body, suffix, leading) diff --git a/scripts/install-git-hooks.sh b/scripts/install-git-hooks.sh index 2662996..9949ae3 100755 --- a/scripts/install-git-hooks.sh +++ b/scripts/install-git-hooks.sh @@ -1,9 +1,11 @@ #!/usr/bin/env bash -# Install repo git hooks (header pre-commit). +# Install repo git hooks (header pre-commit + post-commit). set -euo pipefail ROOT="$(cd "$(dirname "$0")/.." && pwd)" git -C "$ROOT" config core.hooksPath .githooks chmod +x "$ROOT/.githooks/pre-commit" +chmod +x "$ROOT/.githooks/post-commit" chmod +x "$ROOT/scripts/header-pre-commit.py" +chmod +x "$ROOT/scripts/header-post-commit.py" chmod +x "$ROOT/scripts/apply-project-headers.py" -echo "Installed hooks via core.hooksPath=.githooks" +echo "Installed hooks via core.hooksPath=.githooks (pre-commit + post-commit)" diff --git a/scripts/test_header_lib.py b/scripts/test_header_lib.py index 15af3f3..9d0d43f 100755 --- a/scripts/test_header_lib.py +++ b/scripts/test_header_lib.py @@ -8,12 +8,15 @@ from pathlib import Path from header_lib import ( apply_header_to_content, + compute_digest, format_identity, has_valid_header, is_excluded_path, parse_identity, + render_header, resolve_header_contributor, strip_existing_header, + build_meta, ) from pathlib import Path import header_lib @@ -39,15 +42,41 @@ public class Foo { self.assertIn("public class Foo", body) self.assertNotIn("package com.example", body.split("public class")[0]) - def test_strip_php_opener(self) -> None: + def test_php_header_wrapped_in_comment(self) -> None: src = "\n None: + src = "\n\n" + with tempfile.TemporaryDirectory() as tmp: + path = Path(tmp) / "page.php" + path.write_text(src, encoding="utf-8") + out = apply_header_to_content(path, src) + self.assertIn("?>\n None: + with tempfile.TemporaryDirectory() as tmp: + path = Path(tmp) / "X.java" + path.write_text("package p;\npublic class X {}\n", encoding="utf-8") + body, _ = strip_existing_header( + apply_header_to_content(path, path.read_text()), ".java") + meta = build_meta(path, body, path.read_text()) + meta.commit_sha = "aaa" + d1 = compute_digest(render_header(meta, None, ".java", for_digest=True), body) + meta.commit_sha = "bbb" + d2 = compute_digest(render_header(meta, None, ".java", for_digest=True), body) + self.assertEqual(d1, d2) def test_format_identity(self) -> None: self.assertEqual("Ada ", format_identity("Ada", "a@b.c"))