
Muslim Companion (رفيق المسلم)

Muslim Companion (رفيق المسلم) is a comprehensive, feature-rich, high-performance, and beautifully designed Android Islamic application built using Modern Android Development (MAD) best practices. It helps Muslims worldwide manage daily prayers, read and listen to the Holy Quran, track authentic Azkar & Duas, count dhikr, and determine the Qibla direction.
🕊️ Noble Dedication & 100% Ad-Free Commitment
هذا البرنامج لوجه الله تعالى ومجاني 100% بدون أي إعلانات أو اشتراكات، صُنع كصدقة جارية رحمةً على روح والدتي وعلى جميع أموات المسلمين. نسألكم الدعاء لهم بالرحمة والمغفرة.
Muslim Companion is 100% free and completely ad-free. Dedicated as an ongoing charity (Sadaqah Jariyah) for the sake of Allah in loving memory of the developer’s mother and all deceased Muslims. Please remember them in your prayers.
🔒 Privacy, Licensing & Legal Transparency
- Zero Ads & Zero Trackers: Contains no third-party advertisements, analytics trackers, or user data selling.
- Offline First: All reading bookmarks, Khatmah progress, and Azkar counters are stored securely on the local device.
- Audio Recitations & Open-Access Licensing:
- All Quranic recitation audio files streamed and downloaded within the app are sourced directly from open-access public domain Islamic content delivery networks (QuranicAudio.com by the non-profit Quran.com foundation).
- Recitations by renowned reciters (Sheikh Mishary Rashid Alafasy, Sheikh Abdul Basit, Sheikh Al-Husary, Sheikh Al-Minshawi) are provided free for the worldwide Muslim community and strictly for non-commercial educational and spiritual use.
- The application is 100% free with no paywalls, subscriptions, or monetization.
- Official Privacy Policy: PRIVACY_POLICY.md
- Publishing & Release Guide: PLAY_STORE_PUBLISHING_GUIDE.md
✨ What’s New in v1.7.4 (Google Play Production Release)
- 🎧 High-Speed Quran Recitation Engine (تحسين محرك التلاوة القرآنية):
- Guaranteed verse-level audio CDN routing for 4 world-renowned reciters (Mishary Alafasy, Abdul Basit, Al-Husary, Al-Minshawi).
- Added cross-protocol redirect support and audio focus handling to AndroidX Media3 ExoPlayer.
- Responsive tap playback and automatic verse advancement with progress tracking.
- 🛠️ Quality Audit & Zero-Lint Architecture:
- Complete Android Lint pass with 0 errors.
- Extracted splash screen compatibility styling to
values-v31/themes.xml.
- Added
android.permission.VIBRATE to manifest for custom Dhikr sequences.
- Fully tested on Android 15 (Target SDK 37) and verified on Pixel emulator.
✨ What’s New in v1.7.3
- 📢 Multiple Authentic Adhan Voices (أصوات الأذان المتعددة):
- Choose between 4 world-renowned authentic Adhan recitations:
- Sheikh Mishary Rashid Alafasy (مشاري العفاسي)
- Makkah Al-Mukarramah - Sheikh Ali Mulla (أذان مكة المكرمة - الشيخ علي ملا)
- Al-Madinah Al-Munawwarah (أذان المدينة المنورة - الحرم النبوي)
- Egypt / Sheikh Abdul Basit (أذان مصر - الشيخ عبد الباسط عبد الصمد)
- Interactive Audio Preview: Audition and test each Adhan voice sample with play/pause controls directly within the selection dialog before saving.
- Room Database Migration v30: Smooth schema migration preserving all user preferences with zero data loss.
- 🛡️ Authentic Protection Duas (“Dua For Protection” / دعاء التحصين من العين والحسد):
- Added dedicated protection category (
hasad_protection_dua.json) with authentic Prophetic supplications against harm, envy, and the evil eye with targeted counts and references.
- 🎨 Refined Dark Mode Contrast & UI Legibility:
- Prayer Times Header: Rich emerald teal gradient background with crisp, high-contrast white text for live countdown and Hijri/Gregorian dates.
- Active Prayer Card: Highlighted upcoming prayer with deep teal card and glowing mint border at full opacity for effortless reading.
- Quran Settings Reciter Downloads: Upgraded download cloud icons to luminous theme-aware accents, ensuring crystal-clear visibility in dark mode.
- 👤 Profile Statistics Card Alignment:
- Standardized badge stat card value and label, ensuring uniform card heights and preventing text wrapping across all device sizes.
- ⚡ Performance & Bitmap Downsampling:
- Implemented
BitmapFactory.Options.inSampleSize calculation for profile images, reducing avatar memory footprint by >95% and resolving Google Play pre-launch memory optimization advisories.
- 📱 “Noor Divine” Home Screen Widget Redesign:
- Prayer Times & Weather Hub: Premium deep navy (
#1A2634) and metallic gold (#F2CA50) aesthetic with dual Hijri/Gregorian date headers, live weather, next prayer hero card, large countdown, and 5-prayer timeline chips with active highlight.
- Quran Audio Player Widget: Reimagined media player widget with tactile gold play/pause button and styled previous/next ayah controls.
- 🤲 Comprehensive Authentic Azkar & Duas Update:
- Fully verified and enriched Hisn Al-Muslim database including Distress Duas (أدعية تفريج الكرب), After-Prayer Azkar (أذكار بعد الصلاة), Sleep Azkar (أذكار النوم), Wakeup Azkar (أذكار الاستيقاظ), and Sick Duas (دعاء للمريض) with authentic references (Sahih Bukhari, Sahih Muslim, Sunan Abi Dawud, At-Tirmidhi).
- 🌟 Rate App in Profile: One-tap rating shortcut in Profile menu directly launching the Google Play Store page (
com.companion.muslim.app).
- ⏭️ End-of-Surah “Next Surah” Navigation Button:
- Interactive card appended at the end of every Surah in the Quran Reader with next Surah details, metadata, and smooth transition.
- Celebratory “End of the Holy Quran” (ختام القرآن الكريم) completion card on Surah 114.
- 🔍 Top App Bar Search Action in Quran List:
- Placed search icon (
Lucide.Search) neatly in the top header beside settings, removing the permanent search bar for a cleaner, full-height reading interface.
- Smooth animated expand/collapse search bar with clear button.
- 📖 Quran Juz’ (الأجزاء), Hizb (الأحزاب), & Rub’ (أرباع القرآن) Indicators & Navigation:
- Surahs vs. Juz’ Tabs: Browse all 30 Juz’ with starting and ending Surah/Ayah coordinates, opening directly to the start of any Juz.
- In-Reader Decorative Banners (
QuranDivisionBanner): Elegant Islamic ornaments marking the start of each Juz (۞ الجزء ۞), Hizb (۞ الحزب ۞), and quarter (ربع / نصف / ثلاثة أرباع).
- Dynamic Reader Header: Real-time subtitle tracking the reader’s current Surah, Juz, and Hizb.
- ۩ Authentic Sujud al-Tilawah (سجدات التلاوة) & Du’a Modal:
- Distinctive gold badges (
۩ سجدة تلاوة) displayed on all 15 Sajdah verses across the Quran.
- Interactive bottom sheet displaying authentic Prophetic supplications for Sajdah with one-tap clipboard copy.
- 🔤 Dynamic App-Wide Font Size Scaling:
- Real-time typography scaling (Small / Medium / Large) applied instantly across all app screens, Azkar cards, and UI components via Compose
Density.fontScale.
- 📿 Custom Dhikr Chains (“سلاسل الأذكار المخصصة”): Build, customize, and save personal sequences of Dhikr with target counts and full-screen Tasbih flow.
- ☀️ 100% Offline Astronomical Solar Geometry Calculation Engine: High-precision astronomical algorithms calculate all 5 daily prayer times without requiring an internet connection across 14 recognized calculation authorities.
Key Features
📖 Quran Surah Reader & Recitation
- Offline-First Structure & Divisions: Comprehensive offline data model for all 30 Juz’, 60 Hizbs, 240 Quarters, and 15 Sujud al-Tilawah positions.
- Juz’ & Surah Navigation: Switch between Surahs and Juz’ tabs with real-time search and instant jumping.
- Sajdah al-Tilawah Annotations: Interactive Sajdah pill badges with authentic prophetic supplications.
- Offline-First Scripture Storage: Integrated Room SQLite database pre-bundled with 6,236 Ayahs of authentic Uthmani Arabic scripture.
- Dual Script & Translations: Parallel rendering of Arabic text and English translations from Quran.com.
- Offline & Gapless Audio Recitation: Integrated with AndroidX Media3 (ExoPlayer) and
MediaSessionService supporting major reciters:
- Sheikh Mishary Rashid Alafasy (مشاري العفاسي)
- Sheikh Abdul Basit Abdul Samad (عبد الباسط عبد الصمد)
- Sheikh Mahmoud Khalil Al-Husary (محمود خليل الحصري)
- Sheikh Muhammad Siddiq Al-Minshawi (محمد صديق المنشاوي)
- Full Offline Audio Downloader: Download entire Surahs for seamless playback with screen locked or app backgrounded.
- Reading Progress & Khatmah: Bookmarks, reading history tracking, and Khatmah completion counter.
⏰ Accurate Prayer Times, Adhan & Qibla
- Precise Location-Based Times: Calculates Fajr, Sunrise, Dhuhr, Asr, Sunset, Maghrib, and Isha.
- Major Calculation Methods: Egyptian General Authority, Umm Al-Qura, Muslim World League, ISNA, University of Karachi, Kuwait, Qatar, France, Turkey, Singapore, Russia, and more.
- 100% Offline Fallback: Pure Kotlin solar declination equations compute exact prayer schedules offline anywhere in the world.
- Adhan Notifications: Accurate background prayer reminders via
SCHEDULE_EXACT_ALARM with configurable sounds (Full Adhan, First Adhan, Subtle tone, or Silent).
- Qibla Compass: Real-time, sensor-driven Qibla compass pointing directly to the Kaaba in Makkah with pre-allocated sensor buffers to eliminate battery drain.
- Nearby Mosque Finder: One-tap navigation to nearby mosques via Google Maps.
🤲 Fortress of the Muslim (Hisn Al-Muslim) & Azkar
- Daily Remembrance: Complete morning, evening, post-prayer (أذكار بعد الصلاة), wakeup, and sleep supplications.
- Dynamic Category Progress: Real-time increment tracking per dhikr persisted in Room database.
- Horizontal Pager Flow: Interactive swipe cards with auto-advance and haptic feedback upon completion.
- AI-Powered Azkar Assistant: Search authentic prophetic supplications for travel, distress, forgiveness, and daily situations.
📿 Digital Tasbih & Custom Dhikr Chains
- Customizable Phrases: Select between SubhanAllah, Alhamdulillah, Allahu Akbar, Astaghfirullah, and custom phrases.
- Custom Dhikr Chains (“سلاسل الأذكار”): Create custom routines with target counts, reordering, and step progression.
- Target Tracking & Auto-Advance: Set custom targets with tactile vibration feedback on each increment.
✨ 99 Names of Allah (أسماء الله الحسنى) & Quranic Duas
- Asma Ul-Husna: Interactive catalog with Arabic calligraphy, transliterations, and spiritual meanings.
- Quranic Duas: Curated selection of authentic supplications directly from the Holy Quran.
- Next Prayer & Weather Widget: Live prayer countdown and current weather status right on the Android home screen.
- Quran Audio Player Widget: Quick playback controls (play/pause/skip) with cold-start audio restoration.
Screenshots
| 🏠 Home Screen |
📖 Quran Surah List |
📖 Quran Reader |
 |
 |
 |
| 📿 Daily Azkar |
📿 Azkar Flow |
🕋 Prayer Times |
 |
 |
 |
| 🕋 Qibla Compass |
📿 Digital Tasbih |
⚙️ Profile / Settings |
 |
 |
 |
| ✨ 99 Names of Allah |
📖 Quranic Supplications |
🎵 Home Screen Player Widget |
 |
 |
 |
| 🔔 Notification Center |
⚙️ Notification Settings |
 |
 |
Technical Stack & Architecture
- UI Framework: 100% Jetpack Compose with Material Design 3 guidelines.
- Language: Kotlin utilizing Coroutines and Kotlin Flow for thread-safe asynchronous operations.
- Architecture: Clean Architecture pattern:
- Data Layer: Room SQLite database (v30), Retrofit API endpoints, centralized
LocationRepository, pure Kotlin OfflinePrayerCalculator, and repository implementations.
- Domain Layer: Business models, use cases, and repository abstractions.
- Presentation Layer: Unidirectional Data Flow (UDF) with Compose and ViewModels.
- Dependency Injection: Hilt (Dagger) with
@HiltWorker for WorkManager background syncing.
- Audio Engine: AndroidX Media3 (ExoPlayer) +
MediaSessionService.
- Target SDK: Android 15 (
targetSdk = 37), compileSdk = 37, minSdk = 26.
- Release Optimization: R8 minification and resource shrinking with hardened ProGuard rules.
Installation & Building
📲 Directly Installing the Pre-built APK
- Download the pre-built APK from the APK folder or GitHub Releases:
Muslim-Companion-1.7.4.apk.
- Transfer to your Android device and install.
💻 Building from Source (Developers)
- Clone the Repository:
git clone https://github.com/SHABO-EGYPT/Muslim-Companion.git
cd Muslim-Companion
- Build Debug APK:
.\gradlew.bat assembleDebug
- Build Google Play Release Bundle (.aab):
.\gradlew.bat bundleRelease
The generated production bundle will be located at:
app/build/outputs/bundle/release/app-release.aab