Skip to content

Amey-Thakur/ANDROID-STUDIO-FLASHLIGHT

Repository files navigation

Android Studio Flashlight

License: MIT Status Technology Developed by Amey Thakur and Mega Satish

A specialized utility leveraging the Android Camera2 API for precise hardware LED control, featuring a toggle-based interface and industrial-grade torch functionality.

Source Code  ·  Technical Specification  ·  Video Demo  ·  Download APK


Video Demo

Authors  ·  Overview  ·  Features  ·  Structure  ·  Results  ·  Quick Start  ·  Usage Guidelines  ·  License  ·  About  ·  Acknowledgments


Important

🤝🏻 Special Acknowledgement

Special thanks to Mega Satish for her meaningful contributions, guidance, and support that helped shape this work.


Overview

Android Studio Flashlight is a specialized utility designed to interface directly with the device's hardware LED via the Android Camera2 API. By translating high-level UI events into deterministic hardware state changes, this repository provides a foundational study into mobile device control and hardware permission management.

The project serves as a technical exploration of Android Hardware Interaction, implementation of low-latency state toggles, and robust error handling for shared hardware assets.

Hardware Heuristics

The LED control engine is governed by strict computational design patterns ensuring fidelity and responsiveness:

  • Camera2 API Integration: Utilizes the modern CameraManager service for deterministic control over the torch mode on devices running API 23 and above.
  • Deterministic Toggling: Implements a robust state manager that synchronizes visual UI indicators with literal hardware state to prevent operational desync.
  • Zero-Latency Interface: Event handling is optimized for immediate haptic and visual confirmation, critical for utility-based mobile applications.

Tip

Hardware Precision Integration

We have engineered a Hardware-Aware Controller that calibrates LED activation across multiple API versions. The visual language focuses on the minimalist "Utility Core" aesthetic, ensuring maximum focus on the interactive light trajectory.


Features

Feature Description
LED Engine Core Robust implementation of the Android Camera2 API for low-level hardware control.
Real-Time Toggle High-performance switch mechanism with synchronized visual and hardware state.
Academic Clarity In-depth and detailed comments integrated throughout the codebase for transparent logic study.
Adaptive Logic Conditional API version checks ensuring compatibility across diverse Android hardware.
Minimalist Design Clean XML-based UI optimized for fast interaction and minimal system resource consumption.
Social Persistence Interactive Footer Integration bridging the utility to the source repository.

Note

Interactive Polish: The Photonic Singularity

We have engineered a Hardware-Driven State Manager that calibrates LED output across multiple vectors to simulate high-precision photonic transfer. The visual language focuses on the minimalist "Digital Lens" aesthetic, ensuring maximum focus on the interactive light trajectory.

Tech Stack

  • Languages: Java (JDK 11+)
  • Logic: Camera2 API (Hardware LED Control & Manager Services)
  • Frameworks: Android AppCompat & Hardware Support Libraries
  • UI System: Premium Utility Design (Custom XML Layouts & Drawables)
  • Build System: Gradle (Dependency & Artifact Management)
  • Deployment: Local APK Installation

Project Structure

ANDROID-STUDIO-FLASHLIGHT/
│
├── docs/                            # Technical Documentation
│   └── SPECIFICATION.md             # Architecture & Design Specification
│
├── Mega/                            # Attribution Assets
│   ├── Filly.jpg                    # Companion (Filly)
│   └── Mega.png                     # Profile Image (Mega Satish)
│
├── screenshots/                     # Project Visualization Gallery
│   ├── Switch Off.jpg               # Primary Application Interface (Inactive)
│   └── Switch On.jpg                # Real-time Hardware LED Activation (Active)
│
├── Source Code/                     # Primary Application Layer
│   └── Flashlight/                  # Android Studio Project Root
│       ├── app/                     # Main Application Module
│       ├── gradle/                  # Build Configuration
│       └── build.gradle             # Build Logic
│
├── Flashlight.apk                   # Pre-compiled Executable
├── SECURITY.md                      # Security Protocols
├── CITATION.cff                     # Academic Citation Manifest
├── codemeta.json                    # Metadata Standard
├── LICENSE                          # MIT License
└── README.md                        # Project Entrance

Results

1. Switch Off 2. Switch On
Clean and responsive UI design. Real-time hardware LED activation.

Quick Start

1. Prerequisites

Warning

APK Execution Security

When installing the pre-compiled Flashlight.apk on a physical Android device, you may encounter a "Blocked by Play Protect" or "Unknown Apps" warning. This is expected for scholarship-based, self-signed APKs. To proceed with the installation, select "Install anyway" or enable "Allow from this source" in your device's security settings.

2. Installation & Setup

Step 1: Clone the Repository

Open your terminal and clone the repository:

git clone https://github.com/Amey-Thakur/ANDROID-STUDIO-FLASHLIGHT.git
cd ANDROID-STUDIO-FLASHLIGHT

Step 2: Open in Android Studio

  1. Launch Android Studio.
  2. Select Open and navigate to the Source Code/Flashlight directory.
  3. Wait for the Gradle synchronization to complete.

3. Build & Execution

Step 1: Generate Debug APK

  1. Click on Build -> Build Bundle(s)/APK(s) -> Build APK.
  2. Monitor the Event Log for completion.

Step 2: Locate Artifact

  1. Click on Locate in the event log notification.
  2. The generated app-debug.apk will be available in the app/build/outputs/apk/debug/ directory.

Tip

Precision-Engineered Flashlight Deployment

Experience the deterministic hardware LED control and responsive toggle interface directly on your Android device by installing the optimized production build. This standalone APK enables immediate interaction with the Camera2 API and low-latency state logic without the need for a full Gradle build environment.

Download Flashlight.apk


Usage Guidelines

This repository is openly shared to support learning and knowledge exchange across the academic community.

For Students
Use this project as reference material for understanding Android Hardware Interaction, Camera2 API usage, and responsive UI design. The source code is available for study to facilitate self-paced learning and exploration of mobile hardware architecture.

For Educators
This project may serve as a practical lab example or supplementary teaching resource for Mobile Application Development, Hardware-Software Interfacing, and Java Programming courses. Attribution is appreciated when utilizing content.

For Researchers
The documentation and architectural approach may provide insights into academic project structuring, scholarly software documentation, and mobile hardware abstraction heuristics.


License

This repository and all its creative and technical assets are made available under the MIT License. See the LICENSE file for complete terms.

Note

Summary: You are free to share and adapt this content for any purpose, even commercially, as long as you provide appropriate attribution to the original authors.

Copyright © 2022 Amey Thakur & Mega Satish


About This Repository

Created & Maintained by: Amey Thakur & Mega Satish

This project features Android Studio Flashlight, a personal learning project developed to master Java-based mobile hardware interaction and Android Studio development. It represents a technical study of the Camera2 API, hardware permission management, and low-latency state logic in a mobile environment.

Connect: GitHub  ·  LinkedIn  ·  ORCID

Acknowledgments

Grateful acknowledgment to Mega Satish for her exceptional collaboration and scholarly partnership during the development of this personal learning project we undertook to master Android Studio development. Her constant support, technical clarity, and dedication to software quality were instrumental in achieving the system's functional objectives. Learning alongside her was a transformative experience; her thoughtful approach to problem-solving and steady encouragement turned complex requirements into meaningful learning moments. This work reflects the growth and insights gained from our side-by-side academic journey. Thank you, Mega, for everything you shared and taught along the way.

Special thanks to the mentors and peers whose encouragement, discussions, and support contributed meaningfully to this learning experience.


↑ Back to Top

Authors  ·  Overview  ·  Features  ·  Structure  ·  Results  ·  Quick Start  ·  Usage Guidelines  ·  License  ·  About  ·  Acknowledgments


🔦 Android Studio Flashlight


Computer Engineering (B.E.) - University of Mumbai

Semester-wise curriculum, laboratories, projects, and academic notes.