1
0
mirror of git://f0xx.org/android_cast synced 2026-07-29 02:18:40 +03:00

contrib header changes

This commit is contained in:
Anton Afanasyeu
2026-05-20 15:17:13 +02:00
parent d420c3e94a
commit 5d8e82d2e6
249 changed files with 3597 additions and 22 deletions

4
.githooks/pre-commit Executable file
View File

@@ -0,0 +1,4 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT="$(git rev-parse --show-toplevel)"
exec python3 "$ROOT/scripts/header-pre-commit.py"

4
.gitignore vendored
View File

@@ -15,4 +15,8 @@ bin
lib
include
.log_capture
log_capture
debug-capture
__pycache__
desktop/session-studio/build/
build/

50
HEADER.txt Normal file
View File

@@ -0,0 +1,50 @@
Project source file header template
===================================
Place this block at the top of each source unit (after optional shebang / <?php).
Run `python3 scripts/apply-project-headers.py` to (re)apply across the tree.
Install git hooks: `./scripts/install-git-hooks.sh`
Excluded paths: `third-party/` and build/vendor dirs are never modified.
Pre-commit contributor (email auto-filled from git when missing):
export HEADER_CONTRIBUTOR="Your Name" # adds git user.email
export HEADER_CONTRIBUTOR="Name <you@mail>" # used as-is
export HEADER_CONTRIBUTOR_EMAIL="you@mail" # optional override
Placeholders
------------
__PACKAGE_NAME_PLACEHOLDER__
Java/AIDL: `package com.example.foo;`
C/C++/PHP: `/* package path/relative/to/repo/file.ext */`
__FILENAME_PLACEHOLDER__ Short filename only (e.g. MainActivity.java)
__DATE_PLACEHOLDER__ First commit time (human-readable + timezone)
__UPDATE_DATE_PLACEHOLDER__ Last change time; pre-commit refreshes on staged edits
__CONTRIBUTOR__ `Name <email>` when known (git log/config); else `Name`
__CLASS_NAME_PLACEHOLDER__ ` * class Foo` / interface / enum — omitted if none
__CONTRIBUTORS_LIST_PLACEHOLDER__
Sorted by commits, then blamed lines; `Name <email>` from git / @author tags
Includes Cursor Agent (project assistant, no email)
__DIGEST__ `Digest: SHA256\t<hex>` of file without this line; omitted if N/A
Example (Java)
--------------
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 <a.afanasieff@gmail.com>
* class MainActivity
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (29 commits, 120 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 abc123...
**********************************************************************/

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* interface ICastReceiverService
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (2 commits, 14 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 88566955bdbfa52d22a0c96b775ac5faf26e11d351914146475c3f8eb346a463
**********************************************************************/
import com.foxx.androidcast.ICastStatusCallback;
import android.view.Surface;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* interface ICastSenderService
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 11 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 d21d4abd6566c2426c9b3576ae9182945600ed96bc3fcee9f8671f8500e5e92a
**********************************************************************/
import com.foxx.androidcast.ICastStatusCallback;
interface ICastSenderService {

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* interface ICastStatusCallback
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (3 commits, 10 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 69ff616c65c49755706cd64afa54adf44361b35e922040e0ae26c407cb0d80a3
**********************************************************************/
interface ICastStatusCallback {
void onStatus(String status);
void onAuthenticated(String senderName);

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class AndroidCastApplication
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (5 commits, 27 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 a776bd2da0db2d4424d2c82b29f4064e8b92057bb4a2cc244fd06a9bd691f074
**********************************************************************/
import android.app.Application;
import android.content.Context;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class AppPreferences
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (9 commits, 342 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 de97a9c6873e1016c993666f53e2a9d3ff32efd3bb320a1551a723fb52c017de
**********************************************************************/
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Build;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastActiveState
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (2 commits, 27 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 162f2f231fa3493dced21a6251e718ee20d457ed8b60b9a4d1b6f5b62ed3c19a
**********************************************************************/
import java.util.concurrent.atomic.AtomicBoolean;
/** Process-wide cast session flags for UI back-key handling. */

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastActivityTracker
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 28 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 666c3a5e9fc163616e6f43876c422dec735c496df4abf24a8f97ec526e8e27ec
**********************************************************************/
import android.app.Activity;
import android.content.Context;
import android.content.Intent;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastConfig
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (10 commits, 73 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 2d04955cd4438be616e4f551cbc7e148d0bc652469af48e4ecd027c49d4cf5b0
**********************************************************************/
/** Shared constants for the LAN cast POC. */
public final class CastConfig {
public static final int DISCOVERY_PORT = 41234;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastLocaleHelper
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 79 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 d81acbee4562d0a5b236d0d04a9f98718684a43114f4aae298c68794e87ce4c9
**********************************************************************/
import android.content.Context;
import android.content.res.Configuration;
import android.os.Build;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastNotifications
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (2 commits, 61 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 608d748fe3cfc2a1f998235071603f746a55708f0eebb5eacb5612ae2c0f26ab
**********************************************************************/
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastResolution
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (5 commits, 80 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 258d94f85dcb71db5f559485e4e9bce64ad07521ed0e811486385f2b43357daf
**********************************************************************/
import android.content.Context;
import android.util.DisplayMetrics;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastSettings
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (8 commits, 286 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 b3ffcc1bc5f0661330560c154e22c8012ceb49dac84e1fbb200dcafb3a34b91b
**********************************************************************/
import java.io.Serializable;
/** User-selected cast parameters (passed sender → service → receiver via protocol). */

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastSettingsActivity
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 66 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 fe2993f5af3fe9225b29bbd697b1db76b184436209946aaa71411c218b609ccc
**********************************************************************/
import android.os.Bundle;
import android.widget.CheckBox;
import android.widget.EditText;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastSettingsBinder
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (7 commits, 643 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 8d36d0b6baf281da92e6e3e170659a029668ce0147054664e38af527937878ac
**********************************************************************/
import android.os.Build;
import android.view.View;
import android.widget.AdapterView;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastSettingsFragment
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (5 commits, 220 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 bdb83325aaa0a2935a62b957ba60b887758b8f74dd2c26e764932e03c03d43ea
**********************************************************************/
import android.content.Intent;
import android.os.Bundle;
import android.os.SystemClock;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastThemeHelper
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 57 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 cbd287ffcbfc3e18a0338a9c283c0539353f49eb8b0c45dc9c5179dc5be15b98
**********************************************************************/
import android.app.Activity;
import android.content.Context;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastTrayNotifier
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (2 commits, 149 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 4496d64128580bad13998e7edb8952d30711c276a289f9ed0444abf5d76b2de1
**********************************************************************/
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastTuningEngine
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 173 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 af2a1d1fde9538e312542d79d3b83d504a770bfe20af852f9c3c6124a13b0dc7
**********************************************************************/
import com.foxx.androidcast.network.control.NetworkStatsSnapshot;
/** Resolves AUTO presets into concrete encoder/network/capture parameters. */

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class DeveloperSettingsActivity
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (6 commits, 122 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 b4348356125b69d00896848a2442c06bb4f0b39806d4f4ada56aee212820c32a
**********************************************************************/
import android.content.Context;
import android.os.Bundle;
import android.widget.Button;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class DeviceInfo
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 128 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 51194b9f608a719dc9bd302ce6a44971c17897388ff50e14c3c0ea9bb31b3b1c
**********************************************************************/
import android.content.Context;
import android.content.SharedPreferences;
import android.media.MediaDrm;

View File

@@ -1,5 +1,14 @@
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 <a.afanasieff@gmail.com>
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (2 commits, 121 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 3ddccb5d9ed03e2efea6cd7cfa2737b0b2023641d342d79a17fb904c4c897624
**********************************************************************/
import android.content.Context;
import android.os.Bundle;
import android.view.KeyEvent;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class IntentExtras
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (2 commits, 44 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 dee5835845935935951d0c5e1424234e16f63fe76ed0d320c2d066e79eb65fcd
**********************************************************************/
import android.content.Intent;
import android.os.Build;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class LicensesActivity
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 43 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 935ebef063f54f3a589ddea64d016e1601ec97d100901a17fea11c4024c1547c
**********************************************************************/
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class MainActivity
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (6 commits, 90 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 07ddc304d47be2b05e4a33a0f201ede2b8d7b8c7feeebba7004aa50d785d915f
**********************************************************************/
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class PermissionHelper
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (4 commits, 164 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 3e4ac2f4543e9b30fbf2cacc4e385bd9bf1b0436c7aa5ce70ffad0f711fe8df6
**********************************************************************/
import android.Manifest;
import android.app.Activity;
import android.content.Intent;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class PictureInPictureHelper
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (2 commits, 102 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 7de718c4dd2dd61c0ea66e0dd9a3f99308cf3275ec1a4a3aa2f6b3bc098f8016
**********************************************************************/
import android.app.Activity;
import android.app.AppOpsManager;
import android.content.Context;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class PinAuth
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 38 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 6165c61a6b2ae58fcef2241e57c6c32d9dea0715aca626d73501b3cf7696b313
**********************************************************************/
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class PlatformCastSupport
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (4 commits, 96 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 18bee330f23fac4e0ab8cf362cb1d0c08e2422f7db5e83dd1bbaa791ae479078
**********************************************************************/
import android.os.Build;
import android.widget.CheckBox;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class SettingsUi
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (6 commits, 282 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 170c93a27eff81654fef9cd2fffb0ac678d584d64a35c6df1cce1f5769fc48f6
**********************************************************************/
import android.os.Build;
import android.view.View;
import android.widget.AdapterView;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class TrayForegroundService
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 41 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 78ba745ee42c91e2edb1b39bf37ead35964c923891fd08bfd41dd5f6c20e5eac
**********************************************************************/
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class TrayNotificationReceiver
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 19 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 ae374cd478aa070476f2296bd91659d4d32bac8a573289642b2303b0ff171ebc
**********************************************************************/
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class VersionInfo
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (2 commits, 33 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 17e6e61e27b385278659cf7b738998dfedc8d060bfdc129d04596c835568e956
**********************************************************************/
/**
* Application and protocol version strings (CI may replace via script).
* App and proto versions are independent.

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class VersionUtils
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 64 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 2502541cc912d4de15fd395fb0495d531d62e9cb4dcc401ad85dd76d2fac262d
**********************************************************************/
import java.util.Locale;
/**

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CrashNativeBridge
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 40 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 8b514f3041afb7bb14f77af82b2889117ee0eb16a618ccfe7bdd18dc6a7ae8fa
**********************************************************************/
import android.content.Context;
import android.util.Log;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CrashReportBuilder
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 179 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 8c08460e946b2b0f241fa574e1623ea3dbe5e23203a5576c954328960519f8ff
**********************************************************************/
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CrashReportStore
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 89 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 0f29c399caba47f470e63fc70d59e19d957d8ea8aadfe3adf9612b5af1cd4816
**********************************************************************/
import org.json.JSONObject;
import java.io.File;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CrashReporter
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 82 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 77cf02ef84a200c618c0a1576253448c4cf374f47db5da012241abcc9861d1b7
**********************************************************************/
import android.content.Context;
import android.content.Intent;
import android.util.Log;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CrashSettings
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 22 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 c0a455050fa42bf06395749696f325a5015d8438b996eff7ec04ffc53850f8c9
**********************************************************************/
/** Crash reporter tuning from {@code settings.json} → {@code crash} (overrides app defaults). */
public final class CrashSettings {
public static final String DEFAULT_UPLOAD_URL =

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CrashSettingsStore
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 79 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 977d059666e7184ea8ac019d10203af0fe288588e80559cb264ec1bb23251023
**********************************************************************/
import android.content.Context;
import com.foxx.androidcast.AppPreferences;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CrashUploadClient
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 57 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 3b0a5fc13acd6488bbcdbda7ec4f0b176edd5750dc23bc00256ddfe4d613ad88
**********************************************************************/
import org.json.JSONObject;
import java.io.BufferedInputStream;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CrashWatcherService
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 132 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 d811f87bda10c67fb95758bf34a2aaea11f4fbcda05e2c9ef5726197440fd6c6
**********************************************************************/
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.Service;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastDiagnosticsFormatter
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (4 commits, 509 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 d5850de480c00191a4ea05d188b27fc693b6b1610b446b5bda642454e2acb7ae
**********************************************************************/
import com.foxx.androidcast.CastSettings;
import com.foxx.androidcast.CastTuningEngine;
import com.foxx.androidcast.media.CodecNegotiator;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastDiagnosticsLabels
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (5 commits, 152 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 8877b68658b27f96dd1b92b051d6691dd492b73b127cb904caae8995e4ca3cba
**********************************************************************/
import com.foxx.androidcast.CastSettings;
/** Human-readable names for diagnostics (no bare AUTO enum tokens). */

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastDiagnosticsScorer
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 62 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 65a8b453e9956d593194c1b9ce7b9145b17a44a34b22dfd030cff519638ded89
**********************************************************************/
/** Heuristic stream quality score (0100) from live metrics. */
public final class CastDiagnosticsScorer {
private CastDiagnosticsScorer() {}

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastMtuSampler
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 67 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 9ca4cc1e6c4330b5d335bb920e119ececcd5f9ae0521fc2c0d00c382e3f7e326
**********************************************************************/
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.LinkProperties;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CpuLoadSampler
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 234 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 58f78e53a4368c038af0ba3f933673c17d480209bcd6f33c6aa9a4b50f31a8e5
**********************************************************************/
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class DiscoveryManager
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (9 commits, 529 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 44b76dadc2e6a93d55274c415d54586eda5e2f849c072b4e250a3c4dea59da16
**********************************************************************/
import android.content.Context;
import android.net.wifi.WifiManager;
import android.os.Handler;

View File

@@ -1,5 +1,14 @@
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 <a.afanasieff@gmail.com>
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 67 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 5220f398b12a33174a87393c848043015ef45df227353d6b404467974d065fc0
**********************************************************************/
import android.content.Context;
import com.foxx.androidcast.DeviceInfo;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class NsdCastDiscovery
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 196 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 eaebdda82fa3894060a4a684e6399a34edf3c14ee7a74000cc16ddb27f7efbef
**********************************************************************/
import android.content.Context;
import android.net.nsd.NsdManager;
import android.net.nsd.NsdServiceInfo;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class PinnedReceiversStore
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 90 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 46e9c6c377c386c360272b3d5833f79b3f7ad54fefa021da09f196770ad7fc90
**********************************************************************/
import android.content.Context;
import android.content.SharedPreferences;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class ReceiverCompatibility
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 45 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 2f005cfe8f7472e444cb8e25992052a001defa7cb500bd9ebdec3ecc62b2da71
**********************************************************************/
import com.foxx.androidcast.CastSettings;
import com.foxx.androidcast.VersionInfo;
import com.foxx.androidcast.network.CastCodecFlags;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class AacAdtsHelper
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 60 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 e5e7c2f68f4a40d97ebd510d0d791a2b2344e4a5587b54fd15bc3e17a7c39387
**********************************************************************/
/** Prepends ADTS sync word so AAC decoders accept encoder access units. */
public final class AacAdtsHelper {
private AacAdtsHelper() {}

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CodecNegotiator
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (6 commits, 118 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 ef7857e703bcb3f17da0a85b2f2a999f3080e0d71069e7767f5381a8eefc40e1
**********************************************************************/
import android.media.MediaFormat;
import android.util.Log;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CodecPriorityCatalog
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (2 commits, 535 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 fb5119a429e47b212225e8669680d1cb59e7ca722481569cd3daca701e0a2527
**********************************************************************/
import android.content.Context;
import android.media.MediaFormat;
import android.util.Log;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* enum CodecPriorityId
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 96 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 7322d377d22e974d10c300f08bf916f0dba2d6ce765d2b7a9442b264039ebdc1
**********************************************************************/
import android.media.MediaFormat;
import com.foxx.androidcast.CastSettings;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* enum CodecTier
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 14 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 b78ccd5fefc1ce1edb8acda3c77187d844034dc723ea3823f1dcdc04d1c00bf0
**********************************************************************/
/** Base tier added before per-codec component scores (lower total = higher priority). */
public enum CodecTier {
HARDWARE(0),

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class EncodedStreamProbe
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 32 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 14fefd1f2dc0f70d68bb9620a28ddae7561de4826feda15589f77b9728a6c177
**********************************************************************/
import android.media.MediaFormat;
/** Inspects encoded bitstream headers for diagnostics. */

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class H264Bitstream
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (2 commits, 59 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 34f35ea8e68be7b3b7b1a5bdcb872f771bd66acc024c77c87eec1049e586108a
**********************************************************************/
import java.io.ByteArrayOutputStream;
/**

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class H264SpsParser
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 170 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 e3d6068aa10b99580c4cf7d32bab017f5bb0396d973af2c9835479759126be26
**********************************************************************/
import android.util.Log;
/** Extracts coded picture size from H.264 SPS (csd-0 / Annex-B). */

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class PcmLevelAnalyzer
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 67 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 ddde6fc40ce49037fd4909f8732acd8db1344ff0d5127b8a30f4317950058f9d
**********************************************************************/
/** Peak/RMS analysis for 16-bit little-endian PCM. */
public final class PcmLevelAnalyzer {
/** ~-46 dBFS; below this counts as silence. */

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class RgbToNv21
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 52 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 0c252db38e3dc88ff060adaad16ea98d3ad987dacbdc29866b0450fa64c4a91c
**********************************************************************/
import android.graphics.Bitmap;
/** ARGB bitmap to NV21 for YUV420 encoder input. */

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class RgbToYuv420
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (3 commits, 152 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 83090016677ef209cbf10ed4622d5ea91ea6826bdb4cec87abda4fff38ab91fc
**********************************************************************/
import android.graphics.Bitmap;
import android.media.Image;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class StreamDimensionResolver
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 42 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 4e251b5f6e24e7f1d25e011c50900ac71f646bc390f8fd807d59ede90c87f9d0
**********************************************************************/
/**
* Resolves display dimensions using STREAM_CONFIG and SPS (csd-0).
* SPS confirms coded size; config reflects sender VirtualDisplay (preferred for rotation).

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* enum AudioCodecBackend
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 16 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 a3e8cbaafae40d12639d3afb5fc1612a6f7459ce87813ab32db79fb1295b160f
**********************************************************************/
/** Implementation backing negotiated / configured audio. */
public enum AudioCodecBackend {
MEDIA_CODEC_AAC("MediaCodec AAC-LC"),

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class AudioCodecFactory
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 18 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 cabd8206db44b5aa04bcb29685d606b9fd1887da3f806cacde70f6ab50d8627e
**********************************************************************/
import com.foxx.androidcast.CastSettings;
import com.foxx.androidcast.sender.AudioEncoder;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* interface AudioEncoderSink
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 21 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 90599f0653960bf2abd5acaad53ed356c93791addf4f2b2016d1b4ab2aaaecf7
**********************************************************************/
import java.io.IOException;
/** Audio encoder pipeline (AAC via MediaCodec today; Speex/Opus later). */

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CodecSessionRegistry
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 69 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 140617f123313015f483828dd18977bba84a49f7b7d12bbee24873908a550b9f
**********************************************************************/
import com.foxx.androidcast.CastSettings;
/** Active codec backends for diagnostics overlay (receiver reads sender prefs + local decode). */

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class LibvpxCapableVideoDecoder
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 52 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 3a4aa27b931e77bf7ec67651b47aea2e03d7f40320cd9bae0aff1ff9e59fd756
**********************************************************************/
import android.util.Log;
import android.view.Surface;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class LibvpxVideoEncoderSink
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (3 commits, 237 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 816c190473ca485c66ac20fd3dce407934aa59fb8a8d378d26b0e3cfaa93a451
**********************************************************************/
import android.graphics.Bitmap;
import android.graphics.PixelFormat;
import android.media.Image;

View File

@@ -1,5 +1,14 @@
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 <a.afanasieff@gmail.com>
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 42 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 dfd84edfe75353b1a4ad6338fe2b6e2b00d822cba052de699bc363051f070886
**********************************************************************/
import com.foxx.androidcast.CastSettings;
import com.foxx.androidcast.sender.AudioEncoder;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class PassthroughCodecPolicy
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (3 commits, 147 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 c1cb0e5c2fc9cefd76d673abfdc4f2740b4d7397e7de7956a340d4896e72daf1
**********************************************************************/
import android.media.MediaFormat;
import com.foxx.androidcast.CastSettings;

View File

@@ -1,5 +1,14 @@
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 <a.afanasieff@gmail.com>
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 65 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 acc514297e421faa55c42985081ef95f236ec0ad67cc3c066fa6fa583d6765f1
**********************************************************************/
import android.graphics.Bitmap;
import android.view.Surface;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* enum VideoCodecBackend
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (2 commits, 16 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 8b186ea93d80070f21a253710cfff90640a9d81db3ebd09baf1c9bc402f4b19f
**********************************************************************/
/** Implementation backing a negotiated video MIME. */
public enum VideoCodecBackend {
MEDIA_CODEC_HW("MediaCodec (HW)"),

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class VideoCodecFactory
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (2 commits, 27 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 b8fe0383fede0eeebec3168b5808277136a800057cee232d1ae7b7f1695141c4
**********************************************************************/
import com.foxx.androidcast.CastSettings;
import com.foxx.androidcast.media.codec.jni.NativeCodecBridge;
import com.foxx.androidcast.sender.VideoEncoder;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class VideoDecoderFactory
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (2 commits, 16 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 1df40e44f12bbaad052b116851044728e7d85264bdda9f636b0bbab159ef7f7a
**********************************************************************/
import com.foxx.androidcast.media.codec.jni.NativeCodecBridge;
import com.foxx.androidcast.receiver.VideoDecoder;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* interface VideoDecoderSink
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 24 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 f3e3d03ad0a9f7bc960028bb4a6a87fad99f48da3b75e6087981956e5f93dab0
**********************************************************************/
import android.view.Surface;
import java.io.IOException;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* interface VideoEncoderSink
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 34 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 6b6feb3a9dc99f90c29e54305c32de6f5e0e8dd45ad7d5a3f6039567642d242c
**********************************************************************/
import android.graphics.Bitmap;
import android.view.Surface;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class NativeCodecBridge
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (3 commits, 117 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 85eb4903f054caa9cccbd87793a63c40b661700f8e6b5fedb825f04744d3153b
**********************************************************************/
import android.util.Log;
import android.view.Surface;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class VpxEncodedFrame
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 12 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 14d48bc528324744dc8ff64c1543740826d3b9f123266d2dc9a50969aae37be6
**********************************************************************/
/** One compressed VP8/VP9 frame from libvpx. */
public final class VpxEncodedFrame {
public final byte[] data;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastCodecFlags
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 53 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 0d19da4f9bc8d1dec18092777bc476af51763ff27d167a19ca1b62cd5be30458
**********************************************************************/
import android.media.MediaFormat;
import com.foxx.androidcast.sender.CodecCatalog;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastFramingContext
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 26 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 e372ad99b992ebc59f48f302ec64f200ef44037d138bcb930d1f1e40950ecd84
**********************************************************************/
/** Per-session values written into {@link CastProtoHeader}. */
public final class CastFramingContext {
public final int sessionId;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastPacketFramer
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (2 commits, 112 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 b3754ac188b79a099a1ec75b069c1c0ee246749a16df31cb0a1f03dc26bbc285
**********************************************************************/
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastProtoHeader
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 131 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 12e42b2de9e3b317ebe8a55eca1d099b524e3fc4d8ae43ef8aa55d4345f9f6f2
**********************************************************************/
import com.foxx.androidcast.VersionInfo;
import java.nio.ByteBuffer;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastProtocol
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (9 commits, 521 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 5cad5f5d7b19c23e11c9d906c8faaad080c4fe1c4979e63534f143ba6450f964
**********************************************************************/
import com.foxx.androidcast.CastConfig;
import com.foxx.androidcast.CastSettings;
import com.foxx.androidcast.network.control.NetworkControlAdvice;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastSession
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (8 commits, 200 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 81d0fcee90b930796bd96b7797126ff5bea83230c19284f2b353ff23ebe861b3
**********************************************************************/
import com.foxx.androidcast.CastSettings;
import com.foxx.androidcast.media.CodecNegotiator;
import com.foxx.androidcast.media.CodecPriorityCatalog;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastSessionGate
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 37 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 d7cbe13ecd00c0eff21bc5fab590cdcd5c0ff61bc196003800d5222a36987d6b
**********************************************************************/
/**
* Binds to the first non-zero session id on a connection and drops stale packets from other casts.
*/

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* interface CastTransport
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (4 commits, 48 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 5f6c3eac36ae5bbdb505ea5887fb12d45d7389e9779aecc325dc0ee5a89efa86
**********************************************************************/
import com.foxx.androidcast.network.transport.TransportLossStats;
import java.io.Closeable;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CastTransportFactory
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (5 commits, 83 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 7c439b37f91dd94df72bc0f354cd68ef000393f2d6fe68b804e5b5189fd83626
**********************************************************************/
import android.content.Context;
import com.foxx.androidcast.CastConfig;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class TcpCastTransport
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (6 commits, 281 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 18d570b2bd2d08bbcfac95e43e5cf3fd61eb6591e1f539715bea93e104ca5ae9
**********************************************************************/
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class UdpCastTransport
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (8 commits, 596 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 00e1e8c88544801396c85cc876275d12331452f11f15b297a90f7276cac18095
**********************************************************************/
import android.util.Log;
import com.foxx.androidcast.CastConfig;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class NetworkControlAdvice
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (2 commits, 17 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 d370483b41b728cce3dee488c9b7ac305c3c46abf8a2914715b02b4ee438768b
**********************************************************************/
import com.foxx.androidcast.CastConfig;
/** Actionable guidance produced by the network control plane (may be no-op). */

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* interface NetworkControlPlane
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 22 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 c259f63567dfca2cd2bb4d623817347ec502ebc8dc23ca4ffb6f6e640150425c
**********************************************************************/
/**
* Pluggable network intelligence: bandwidth estimation, congestion, transport switching.
* Replace {@link PassThroughNetworkControlPlane} with a real implementation when ready.

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class NetworkFeedbackManager
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 91 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 1e092cc8a586f5aea0c30b866f5ded2a565853aaaf4fa6ae424d7b0f481fc030
**********************************************************************/
import android.util.Log;
import com.foxx.androidcast.network.CastProtocol;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class NetworkStatsSnapshot
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (4 commits, 100 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 c6bb775850299ada94ed1ed4a46bab38a98b2057ca520d41d28e3c66cd87d641
**********************************************************************/
/** Point-in-time network metrics exchanged between sender and receiver. */
public class NetworkStatsSnapshot {
public long sequence;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class PassThroughNetworkControlPlane
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (6 commits, 136 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 9342c241e07a9e20bcc01189aa60599b74299eed704b73f276069d284a787a42
**********************************************************************/
import com.foxx.androidcast.CastConfig;
/**

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class CronetEngineProvider
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (1 commits, 50 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 f5230a728a1b6f74b43032d303535600f085b851bee1aa3ffdedbd49429c1c59
**********************************************************************/
import android.content.Context;
import com.google.android.gms.net.CronetProviderInstaller;

View File

@@ -1,5 +1,15 @@
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 <a.afanasieff@gmail.com>
* class QuicCronetCastTransport
* Contributors:
* - Anton Afanasyeu <a.afanasieff@gmail.com> (2 commits, 143 lines)
* - Cursor Agent (project assistant)
* Digest: SHA256 5467419a77ef3f01fedafc49ecde37906a9e2308fefb0021cf8885e5e78adae6
**********************************************************************/
import android.content.Context;
import android.util.Log;

Some files were not shown because too many files have changed in this diff Show More