A complete operational handover dossier capturing the entire day's progress: dual-app refactoring, Firebase Crashlytics & Analytics integration, headless compilation, release signing, web publishing, and the exact step-by-step test plan for tomorrow morning.
qemu-binfmt and symlinked the toolchain to /home/waheed/Android/Sdk.
/home/waheed/WhatsappRecorder/VoipCallRecorder/:
com.whatsappcalls.* to:
com.puliyal.voiprecorder
com.puliyal.voiprecorder.helper
build.gradle.kts, AndroidManifest.xml, IPC intent broadcast filters, and FileProvider authorities.
/home/waheed/Shazana/uploads/google-services.json (Project: whatsapp-puliyal-rec). Constructed unified multi-client configurations for both package IDs, integrated the Google Services Gradle plugin (4.4.2) and Firebase Crashlytics plugin (3.0.2), added Firebase BoM 33.5.1, and enabled crash telemetry in both Application classes.
apksigner and verified 4-byte byte alignment via zipalign.
VoipCallRecorder.html matching the whatsapp.puliyal.com theme, configured bidirectional navigation with index.html, deployed signed Release and Debug APKs to /home/waheed/whatsapp-site/downloads/, computed SHA-256 hashes, and verified HTTP/2 200 delivery over Nginx.
All four binaries are live on the server with chmod 644 permissions and ready for direct installation:
| Artifact | Package Name | Size | Signing Status | SHA-256 Checksum | Direct Download |
|---|---|---|---|---|---|
| SquareCircle-1.0.4.apk SquareCircle Main App (v1.0.4) |
com.puliyal.voiprecorder |
7.0 MB | v2+v3 Signed | Build 5 · Status Inset + +37.5dB Wide-Range AGC |
Download |
| SquareCircle-Helper-1.0.4.apk SquareCircle Helper Engine (v1.0.4) |
com.puliyal.voiprecorder.helper |
6.7 MB | v2+v3 Signed | Build 5 · Raw MIC Priority + Up to 75x Remote Boost |
Download |
| AgentMobile.apk Agent Mobile Push Receiver (v1.0.0) |
com.puliyal.agentmobile |
5.1 MB | v2+v3 Signed | Build 1 · Instant SSE Push & Actionable Link Notifications |
Download |
| ScreenshotUploader.apk File & Screenshot Uploader (v1.1.0) |
com.puliyal.screenshotupload |
5.5 MB | v2+v3 Signed | Build 2 · Universal (*/*) File & Media Upload |
Download |
| VoipCallRecorder-1.0.0.apk Main App (v1.0.0 Legacy) |
com.puliyal.voiprecorder |
7.0 MB | v2+v3 Signed | Legacy v1.0.0 redirect |
Download |
| VoipCallRecorder-Helper-1.0.0.apk Companion Engine (v1.0.0 Legacy) |
com.puliyal.voiprecorder.helper |
6.7 MB | v2+v3 Signed | Legacy v1.0.0 redirect |
Download |
| VoipCallRecorder-1.0.0-debug.apk Main App (Debug) |
com.puliyal.voiprecorder |
8.8 MB | Debug Key | 45b3c192f4ea85198e1ca6429b81117d9eea13d825cb2b632e32d6f5340884c4 |
Download |
| VoipCallRecorder-Helper-1.0.0-debug.apk Companion Engine (Debug) |
com.puliyal.voiprecorder.helper |
8.4 MB | Debug Key | 2ff1fc122965906e45a4d0b8accfd59a8a648e9dfdd121f91a1b08142ea0be98 |
Download |
/home/waheed/WhatsappRecorder/ ├── VoipCallRecorder/ │ ├── VoipCallRecorder-Main/ # Main User Interface & Playback App │ │ ├── app/src/main/java/com/puliyal/voiprecorder/ │ │ │ ├── VoipRecorderApp.kt # Firebase Crashlytics initialization │ │ │ ├── MainActivity.kt # Recordings library & helper onboarding status │ │ │ ├── AudioPlayerActivity.kt # In-app playback with waveform seeking │ │ │ ├── db/ # Room Database & RecordingDao │ │ │ ├── overlay/FloatingWidgetService.kt # In-call "● REC" floating indicator │ │ │ └── ipc/MainAppIpcReceiver.kt # Ingests M4A files relayed by the helper │ │ ├── app/google-services.json # Firebase project configuration │ │ └── build.gradle.kts # AGP 8.5.2 + Firebase plugins │ │ │ ├── VoipCallRecorder-Helper/ # Sideloaded Background Capture Engine │ │ ├── app/src/main/java/com/puliyal/voiprecorder/helper/ │ │ │ ├── HelperApp.kt # Firebase Crashlytics initialization │ │ │ ├── HelperStatusActivity.kt # Permissions wizard & battery whitelist button │ │ │ ├── service/WhatsAppAccessibilityService.kt # Window event detection │ │ │ ├── service/HelperRecordingService.kt # Foreground service management │ │ │ ├── audio/AudioCaptureEngine.kt # AudioRecord mic capture + gain boost │ │ │ ├── audio/PcmAacEncoder.kt # MediaCodec real-time AAC/M4A muxer │ │ │ └── ipc/HelperIpcDispatcher.kt # Broadcasts recording intent to Main app │ │ ├── app/google-services.json # Firebase project configuration │ │ └── build.gradle.kts # AGP 8.5.2 + Firebase plugins │ │ │ └── keystore/ │ └── voiprecorder.jks # RSA 2048-bit release keystore (valid to 2054) │ └── VoiceVaultApp/ # Standalone in-person voice recording app /home/waheed/whatsapp-site/ # Public Nginx Web Document Root ├── index.html # VoiceVault analysis & navigation hub ├── VoipCallRecorder.html # Main VoIP Suite technical dossier & downloads ├── AndroidStudio.html # Server headless build environment report ├── resume.html # This master session checkpoint & tomorrow guide └── downloads/ # Public binary download repository
| Property | Value |
|---|---|
| Path | /home/waheed/WhatsappRecorder/VoipCallRecorder/keystore/voiprecorder.jks |
| Alias | voiprecorder |
| Storepass / Keypass | voiprecorder123 |
| Validity | Wed Oct 21 17:51:18 UTC 2026 → Sun Mar 08 17:51:18 UTC 2054 |
| SHA-1 Fingerprint | 4A:BE:82:41:1F:20:7C:45:E9:D8:AA:8D:C8:86:79:A2:F6:89:0D:09 |
| SHA-256 Fingerprint | FB:9C:06:26:C6:6B:BA:1D:B7:BA:6F:8E:36:0F:CA:4A:84:FE:4B:D5:10:FE:7A:6C:11:5D:E0:94:83:AE:AB:FD |
| Property | Value |
|---|---|
| Project ID | whatsapp-puliyal-rec |
| Project Number | 70356635670 |
| Storage Bucket | whatsapp-puliyal-rec.firebasestorage.app |
| Client 1 (Main App) | com.puliyal.voiprecorder (App ID: 1:70356635670:android:f507f193d4ca1b2b426537) |
| Client 2 (Helper Engine) | com.puliyal.voiprecorder.helper (App ID: 1:70356635670:android:f507f193d4ca1b2b426538) |
If you modify any code tomorrow, here are the exact terminal commands to rebuild and sign both APKs:
# 1. Set environment variables export ANDROID_HOME=/home/waheed/Android/Sdk export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-arm64 export PATH=$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$PATH # 2. Build Main App cd /home/waheed/WhatsappRecorder/VoipCallRecorder/VoipCallRecorder-Main ./gradlew assembleRelease assembleDebug # 3. Build Companion Helper cd /home/waheed/WhatsappRecorder/VoipCallRecorder/VoipCallRecorder-Helper ./gradlew assembleRelease assembleDebug # 4. Sign both Release APKs /home/waheed/Android/Sdk/build-tools/36.0.0/apksigner sign \ --ks /home/waheed/WhatsappRecorder/VoipCallRecorder/keystore/voiprecorder.jks \ --ks-key-alias voiprecorder \ --ks-pass pass:voiprecorder123 \ --key-pass pass:voiprecorder123 \ --v1-signing-enabled true --v2-signing-enabled true --v3-signing-enabled true \ --out /home/waheed/whatsapp-site/downloads/VoipCallRecorder-1.0.0.apk \ /home/waheed/WhatsappRecorder/VoipCallRecorder/VoipCallRecorder-Main/app/build/outputs/apk/release/app-release-unsigned.apk /home/waheed/Android/Sdk/build-tools/36.0.0/apksigner sign \ --ks /home/waheed/WhatsappRecorder/VoipCallRecorder/keystore/voiprecorder.jks \ --ks-key-alias voiprecorder \ --ks-pass pass:voiprecorder123 \ --key-pass pass:voiprecorder123 \ --v1-signing-enabled true --v2-signing-enabled true --v3-signing-enabled true \ --out /home/waheed/whatsapp-site/downloads/VoipCallRecorder-Helper-1.0.0.apk \ /home/waheed/WhatsappRecorder/VoipCallRecorder/VoipCallRecorder-Helper/app/build/outputs/apk/release/app-release-unsigned.apk # 5. Copy debug APKs and fix permissions cp /home/waheed/WhatsappRecorder/VoipCallRecorder/VoipCallRecorder-Main/app/build/outputs/apk/debug/app-debug.apk /home/waheed/whatsapp-site/downloads/VoipCallRecorder-1.0.0-debug.apk cp /home/waheed/WhatsappRecorder/VoipCallRecorder/VoipCallRecorder-Helper/app/build/outputs/apk/debug/app-debug.apk /home/waheed/whatsapp-site/downloads/VoipCallRecorder-Helper-1.0.0-debug.apk chmod 644 /home/waheed/whatsapp-site/downloads/VoipCallRecorder*
When resuming tomorrow, follow this structured physical testing protocol:
VoipCallRecorder-1.0.0.apk (Main App)
VoipCallRecorder-Helper-1.0.0.apk (Companion Helper)
whatsapp-puliyal-rec → Check Crashlytics and Analytics stream to confirm real-time heartbeat and app session telemetry.