Repository navigation
Releases: Aarjupatel9/Device-Inspector
Release list
2.0.0
Release v2.0.0 - The Security Overhaul
This is a major feature release that transforms Device Inspector into a powerful security analysis toolkit for technical users, researchers, and cybersecurity professionals. The app has been re-architected for performance and includes a brand new, comprehensive Security Center.
β¨ NEW: The Security Center
The "Security" tab has been completely rebuilt into a central hub for all security-related analysis. It is now the default screen when you open the app, providing immediate access to these powerful new tools:
1. Dangerous Permissions Audit
- Scans all user-installed applications and lists every app that has been granted a "dangerous" permission (e.g.,
READ_CONTACTS,CAMERA,ACCESS_FINE_LOCATION). - Provides an expandable view to see exactly which high-risk permissions each app has.
- Includes a "Manage" button to go directly to the app's system settings to revoke permissions.
- The list automatically refreshes after you return from the settings screen.
2. Special Access Monitor
- A dedicated screen to monitor apps with high-level privileges that are often abused by malware.
- Device Administrators: Lists all apps with device admin rights.
- Accessibility Services: Lists all active accessibility services that can read screen content.
- Display Over Other Apps: Lists all apps that can draw overlays on top of other applications.
- Highlights Undeclared Permissions: The UI uses a red warning to highlight apps that have been granted these special permissions without declaring them in their manifest, a common tactic of deceptive apps.
- Includes a "Manage" button to go directly to the relevant system settings page.
3. App Components Inspector
- Provides a complete, searchable list of all installed applications.
- Tapping an app opens a detailed view of its internal structure, parsed directly from its manifest.
- Tabbed Interface:
- Manifest: A detailed summary including version info, install/update dates, SDK levels, and a list of all application flags (e.g.,
DEBUGGABLE,ALLOW_BACKUP). - Permissions: A full list of all permissions declared in the app's manifest.
- Activities, Services, Receivers, & Providers: Separate tabs listing every component declared by the application.
- Manifest: A detailed summary including version info, install/update dates, SDK levels, and a list of all application flags (e.g.,
4. Network Monitor with Session Recording
- A powerful tool to monitor network traffic in real-time using an on-device VPN service.
- Session Recording: Start and stop recording sessions to capture all network activity over a period of time.
- Real-time View: See a live feed of the 100 most recent network packets, with a "Clear" button to reset the view without stopping the session.
- Session Management: View a list of all past recording sessions, with options to expand, delete, or export individual sessions.
- JSON Export: Export any recorded session to a detailed
.jsonfile for offline analysis.
5. New "About" Screen
- A professional "About" screen has been added, accessible from the top app bar.
- Includes app version, a description of its purpose, and developer credits.
π Performance & UX Improvements
- Major Performance Overhaul: The entire app's data loading has been re-architected. All data is now fetched in the background on app start, eliminating UI freezes ("jank") when switching between the main tabs.
- Filter Performance: The "App Usage" screen no longer freezes when switching between the "7 Days," "24 Hours," and "Today" filters. Sorting is now handled on a background thread.
- UI Consistency: The top app bar now consistently displays "Device Inspector" as the title. Back buttons have been added to all sub-screens for easier navigation.
π Bug Fixes
- Fixed Crash on Fresh Install: A critical race-condition bug that caused the app to crash after granting permissions for the first time has been fixed.
- Corrected "Today" Chart: The timeline chart in the "Today" view of the App Usage screen now correctly scales and positions usage bars relative to the full 24-hour day.
- Fixed Sorting Logic: The app list in the "App Usage" screen now correctly re-sorts to show the most-used app at the top for the selected time filter.
- Improved Special Access Detection: The logic for detecting apps with "Display Over Other Apps" permission has been made more robust to correctly identify all apps, including core system components and disabled apps.
- Fixed Permission Refresh: The "Hidden Apps" and "Dangerous Permissions" lists now correctly refresh after a user uninstalls or modifies an app via the system settings.
1.1.0
Release v1.1.0 - Performance & Stability Update
This is a maintenance release focused on improving the overall performance, stability, and user experience of Device Inspector. Key issues related to UI freezes and fresh-install crashes have been addressed.
π Key Improvements
1. Major Performance Overhaul
The entire application architecture has been refactored to prevent UI freezes ("jank") when navigating the app.
- Instant Tab Switching: Previously, the UI would freeze for a fraction of a second when switching between the main sections (Usage, History, Security, Device Info). This was because each screen was loading its data on the main thread.
- Fix: Data loading for all screens is now handled centrally when the app is first launched and is performed on background threads. This ensures that switching between tabs is always smooth and instantaneous.
2. Sub-Tab Performance Fix
- Smooth Filtering: A similar UI freeze occurred in the "App Usage" section when switching between the "7 Days," "24 Hours," and "Today" filters. This was caused by the app list being re-sorted on the main thread.
- Fix: The sorting logic is now executed on a background thread, displaying a brief loading indicator instead of freezing the UI.
π Bug Fixes
1. Crash on Fresh Install Fixed
- Issue: The application would crash immediately after a user granted the "Usage Access" permission on a fresh install. This was caused by a race condition where the app tried to fetch data before the system had fully registered the new permission.
- Fix: The data-fetching functions have been made more robust with
try-catchblocks. The app will now safely handle the momentary lack of permission and prevent any crashes, leading to a much smoother first-time user experience.
2. "Today" Chart Timeline Corrected
- Issue: In the "App Usage" section, the timeline chart for the "Today" view was not correctly scaling the usage bars. It was positioning them relative to the current time instead of the full 24-hour day represented by the labels.
- Fix: The scaling logic for the timeline chart has been corrected. Usage bars now accurately align with the 0-24 hour labels, correctly visualizing when the usage occurred during the day.
1.0.0
Device Inspector
A powerful and modern Android utility application designed to give you a comprehensive overview of your device's usage, history, hardware, and security.
π Introduction
Device Inspector is a native Android application built with the latest technologies to provide users with deep insights into their device's activity and specifications. Whether you want to monitor your digital habits, track down suspicious apps, or simply view detailed hardware information, this app provides a clean and intuitive interface to do it all.
β¨ Key Features
The application is organized into four main sections, each providing a unique set of tools:
1. π App Usage Analysis
- Multiple Time Filters: View application screen time over the last 7 days, the last 24 hours, or just today.
- Dynamic Sorting: The list automatically re-sorts to show the most-used apps at the top for the selected time period.
- Interactive Charts:
- 7-Day View: A clean bar chart visualizes daily usage for the past week, complete with a dynamic Y-axis and grid lines for readability.
- 24-Hour & Today Views: A sleek timeline chart visualizes usage sessions throughout the day, with responsive labels that adapt to your screen size.
2. π App Launch History
- Detailed Event Log: See a reverse-chronological list of every time an application was opened.
- Flexible Filtering: Filter the history to show events from the last 4 hours, 24 hours, or 48 hours.
- Expanded Details: Tap on any event to see more information, including the app's full package name and the specific activity that was launched.
3. π‘οΈ Hidden App Detector
- Find Suspicious Apps: The app scans all user-installed applications and identifies those that do not have a launcher icon, which can sometimes indicate a malicious or hidden app.
- Detailed Information: For each hidden app found, you can view its package name, when it was last used, and how it was installed (e.g., from the Google Play Store or sideloaded).
- Direct Action: A "Details / Uninstall" button takes you directly to the app's system settings page, where you can safely disable or uninstall it.
- Automatic Refresh: The list automatically refreshes after you return from the settings screen, so you can immediately see if the app was successfully removed.
4. π± Device Information
- Organized Categories: All information is presented in clean, expandable cards for Hardware, Software, Memory & Storage, and Display.
- Comprehensive Details:
- Hardware: Model, manufacturer, CPU ABI, and more.
- Software: Android version, API level, kernel version, and security patch date.
- Memory: Total and available RAM.
- Storage: Total and available internal storage.
- Display: Screen resolution, pixel density (DPI), and refresh rate.
- Asynchronous Loading: All device information is loaded on a background thread to ensure the UI remains smooth and responsive.
π Permissions Required
Device Inspector requires two special permissions to function correctly. The app is designed to be transparent and will guide you to the appropriate settings screen to grant them.
PACKAGE_USAGE_STATS(Usage Access): This permission is required to access theUsageStatsManagerAPI. It allows the app to read your application usage history and screen time to power the "App Usage" and "History" tabs.QUERY_ALL_PACKAGES(Query All Packages): On Android 11 (API 30) and higher, this permission is needed to see all the apps installed on your device. This is essential for the "Hidden App Detector" to be able to find apps that don't have a launcher icon.
π οΈ Built With
- Kotlin: The official, modern language for Android development.
- Jetpack Compose: Android's modern, declarative UI toolkit.
- Material 3: The latest version of Google's design system.
- Coroutines: For managing background threads and ensuring the UI is always responsive.
- Android Architecture Components: For robust and maintainable app architecture.