Telon
June 23, 2025 · View on GitHub
A native Android application for audio recording and calling functionality, built with Kotlin and Android SDK.
Features
- Audio Recording: High-quality audio recording with configurable format
- Real-time Status: Live recording status updates
- Permission Management: Proper handling of audio recording permissions
- Modern UI: Clean Material Design interface
Requirements
- Android SDK 29+ (API level 29)
- Kotlin 1.8+
- Android Studio Arctic Fox or later
- Java 11
Installation
- Clone the repository:
git clone <repository-url>
cd Telon
-
Open the project in Android Studio
-
Sync Gradle files and build the project
-
Run the application on an Android device or emulator
Usage
Audio Recording
- Launch the application
- Grant microphone permissions when prompted
- Use the "Start Recording" button to begin audio capture
- Use the "Stop Recording" button to end recording
- Monitor the recording status in real-time
Audio Format
The application uses the following audio configuration:
- Sample Rate: 48kHz
- Encoding: PCM 16-bit
- Channels: Stereo
- Buffer Size: 2x minimum buffer size for optimal performance
Project Structure
app/
├── src/main/
│ ├── java/net/nativemind/telon/
│ │ ├── MainActivity.kt # Main activity with UI controls
│ │ ├── Recording.kt # Audio recording utilities
│ │ └── PermissionRequest.kt # Permission handling
│ ├── res/
│ │ ├── layout/ # UI layouts
│ │ └── values/ # String resources
│ └── AndroidManifest.xml
└── build.gradle.kts # Build configuration
Key Components
MainActivity
- Handles UI interactions
- Manages audio recorder lifecycle
- Updates recording status display
Recording
- Provides audio format configuration
- Initializes AudioRecord instances
- Manages recording state and status updates
PermissionRequest
- Handles runtime permission requests
- Manages microphone access permissions
Development
Building
./gradlew build
Running Tests
./gradlew test # Unit tests
./gradlew connectedAndroidTest # Instrumented tests
Clean Build
./gradlew clean build
Dependencies
- AndroidX Core KTX: Kotlin extensions for Android
- AndroidX AppCompat: Backward compatibility support
- Material Design: Modern UI components
- JUnit: Unit testing framework
- Espresso: UI testing framework
TODO
- Implement audio file recording functionality
- Add calling features
- Improve permission handling for better user experience
- Add audio playback capabilities
- Implement background recording service
- Add audio format selection options
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Submit a pull request
License
[Add your license information here]
Support
For issues and questions, please create an issue in the repository.