mirror of
git://f0xx.org/android_cast
synced 2026-07-29 02:18:40 +03:00
contrib header changes
This commit is contained in:
4
.githooks/pre-commit
Executable file
4
.githooks/pre-commit
Executable 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
4
.gitignore
vendored
@@ -15,4 +15,8 @@ bin
|
||||
lib
|
||||
include
|
||||
.log_capture
|
||||
log_capture
|
||||
debug-capture
|
||||
__pycache__
|
||||
desktop/session-studio/build/
|
||||
build/
|
||||
|
||||
50
HEADER.txt
Normal file
50
HEADER.txt
Normal 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...
|
||||
**********************************************************************/
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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. */
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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). */
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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. */
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 =
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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). */
|
||||
|
||||
@@ -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 (0–100) from live metrics. */
|
||||
public final class CastDiagnosticsScorer {
|
||||
private CastDiagnosticsScorer() {}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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() {}
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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. */
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
@@ -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). */
|
||||
|
||||
@@ -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. */
|
||||
|
||||
@@ -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. */
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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).
|
||||
|
||||
@@ -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"),
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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). */
|
||||
|
||||
@@ -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). */
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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)"),
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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.
|
||||
*/
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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). */
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user