alfaazplus / quranapp Goto Github PK
View Code? Open in Web Editor NEWAn ad-free and privacy-focused app for exploring the Holy Qur’an.
Home Page: https://quran.alfaazplus.com/
License: GNU General Public License v3.0
An ad-free and privacy-focused app for exploring the Holy Qur’an.
Home Page: https://quran.alfaazplus.com/
License: GNU General Public License v3.0
Use Indo-Pak
font and open Al-Fatihah
بِسْمِ اللهِ الرَّحْمٰنِ الرَّحِيْم
should be marked as verse 1 (one)
In Indo-Pak
font, the first verse of surah Al-Fatihah بِسْمِ اللهِ الرَّحْمٰنِ الرَّحِيْم
is not marked with verse 1 (one). which should be marked with verse 1 (one)
230421001
Android 13
Screenshoot:
Having detail of a Surah's verse in notification.
No response
AsSalaamu 'Alaikum,
I recently found your project and it very nice to see a fully open source Qur'an app, baaraka Allaahu feekum.
I'd like to ask you to add word-by-word translations to the app (as well as transliteration) please. That would be a huge improvement to the feature set of the app.
There is a project on github that already gathered the necessary data from 2 websites: https://github.com/hablullah/data-quran/tree/master/word-translation
If you'd prefer to have it in sql format then I do have those on my phone (from another app) and could send them to you. Please let me know if you would prefer those files.
1- Turn off internet wifi/mobile data
2- Open QuranApp (debug) with new audio player
3- Goto manage audio tap on any reciter
App crashes suddenly.
I think the crash is because the host-url or something like that maybe...
It should show no interet connection available like the translation downloader screen.
2023.04.02.1-debug
Android 13 - OneUI 5.1
Here is crash log:
java.net.UnknownHostException: Unable to resolve host "verses.quran.com": No address associated with hostname
at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:156)
at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103)
at java.net.InetAddress.getAllByName(InetAddress.java:1152)
at com.android.okhttp.Dns$1.lookup(Dns.java:41)
at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:178)
at com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:144)
at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:86)
at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:176)
at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:248)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getInputStream(DelegatingHttpsURLConnection.java:211)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:30)
at java.net.URL.openStream(URL.java:1072)
at com.quranapp.android.utils.services.RecitationChapterDownloadService$download$2.invokeSuspend(RecitationChapterDownloadService.kt:181)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Suppressed: java.net.UnknownHostException: Unable to resolve host "verses.quran.com": No address associated with hostname
at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:124)
... 26 more
Suppressed: java.net.UnknownHostException: Unable to resolve host "verses.quran.com": No address associated with hostname
at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:124)
... 26 more
Suppressed: java.net.UnknownHostException: Unable to resolve host "verses.quran.com": No address associated with hostname
... 27 more
Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
at libcore.io.Linux.android_getaddrinfo(Native Method)
at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:133)
at libcore.io.BlockGuardOs.android_getaddrinfo(BlockGuardOs.java:222)
at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:133)
at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:135)
... 26 more
Suppressed: java.net.UnknownHostException: Unable to resolve host "verses.quran.com": No address associated with hostname
at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:124)
... 26 more
Suppressed: java.net.UnknownHostException: Unable to resolve host "verses.quran.com": No address associated with hostname
at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:124)
... 26 more
Suppressed: java.net.UnknownHostException: Unable to resolve host "verses.quran.com": No address associated with hostname
... 27 more
Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
at libcore.io.Linux.android_getaddrinfo(Native Method)
at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:133)
at libcore.io.BlockGuardOs.android_getaddrinfo(BlockGuardOs.java:222)
at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:133)
at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:135)
... 26 more
Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@1c425eb, Dispatchers.Main]
Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
at libcore.io.Linux.android_getaddrinfo(Native Method)
at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:133)
at libcore.io.BlockGuardOs.android_getaddrinfo(BlockGuardOs.java:222)
at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:133)
at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:135)
... 26 more
I need contact with you please WhatsApp or telegram. Please.
No response
I hope Clarify the non free dependancies that used by the app especially on the fdroid description since the community care about this and may stop some from downloading the app.
No response
️ السَّلَاْمُ عَلَیْکُم
Happy Ramazan May Allah accept our prayers and fasting and forgive us our sins and mistakes 🤲
Bro adding the expendable to the list of available translation will be so good for those languages have more than two translated version of the Quran.
It will good if only show the name of language and when user tapped on specific languages the list of translation show up.
any chance this could be added https://raw.githubusercontent.com/galacticwarrior9/IslamBot/master/tafsir/tafsir_jalalayn.txt
No response
When i set language to english it works fine
I had to quickly copy this error before it crashes
java.util.IllegalFormatConversionException: d != java.lang.String
at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4402)
at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2884)
at java.util.Formatter$FormatSpecifier.print(Formatter.java:2838)
at java.util.Formatter.format(Formatter.java:2529)
at java.util.Formatter.format(Formatter.java:2458)
at java.lang.String.format(String.java:2814)
at android.content.res.Resources.getString(Resources.java:530)
at android.content.Context.getString(Context.java:576)
at l5.c.a(ParserUtils.kt:62)
at l5.f.a(QuranDuaParser.kt:83)
at l5.e.run(R8$$SyntheticClass:51)
at java.lang.Thread.run(Thread.java:784)
Changes in settings page:
Layout Style -> Quran View Style
Translations -> Translations View
Reading -> Page View
When opening "Topics in Quran"
The app should open the topics
the app crashes
2023.03.01.1
Android 12
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Typeface.getStyle()' on a null object reference
at x3.d.a(TypefaceSpan2.java:15)
at x3.d.updateMeasureState(TypefaceSpan2.java:1)
at android.text.MeasuredParagraph.applyMetricsAffectingSpan(MeasuredParagraph.java:585)
at android.text.MeasuredParagraph.buildForStaticLayout(MeasuredParagraph.java:427)
at android.text.PrecomputedText.createMeasuredParagraphs(PrecomputedText.java:436)
at android.text.StaticLayout.generate(StaticLayout.java:683)
at android.text.StaticLayout.<init>(StaticLayout.java:591)
at android.text.StaticLayout.<init>(StaticLayout.java:49)
at android.text.StaticLayout$Builder.build(StaticLayout.java:416)
at android.widget.TextView.makeSingleLayout(TextView.java:9305)
at android.widget.TextView.makeNewLayout(TextView.java:9124)
at android.widget.TextView.onMeasure(TextView.java:9508)
at androidx.appcompat.widget.AppCompatTextView.onMeasure(AppCompatTextView.java:17)
at android.view.View.measure(View.java:26196)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7020)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
at android.view.View.measure(View.java:26196)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7020)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:26196)
at androidx.recyclerview.widget.LinearLayoutManager.W0(LinearLayoutManager.java:150)
at androidx.recyclerview.widget.LinearLayoutManager.J0(LinearLayoutManager.java:54)
at androidx.recyclerview.widget.LinearLayoutManager.c0(LinearLayoutManager.java:920)
at androidx.recyclerview.widget.RecyclerView.s(RecyclerView.java:35)
at androidx.recyclerview.widget.RecyclerView.onMeasure(RecyclerView.java:62)
at android.view.View.measure(View.java:26196)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7020)
at androidx.coordinatorlayout.widget.CoordinatorLayout.r(CoordinatorLayout.java:7)
at h2.e.i(HeaderScrollingViewBehavior.java:93)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:400)
at android.view.View.measure(View.java:26196)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7020)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:160)
at android.view.View.measure(View.java:26196)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7020)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
at android.view.View.measure(View.java:26196)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7020)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:26196)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7020)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
at android.view.View.measure(View.java:26196)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7020)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at com.android.internal.policy.DecorView.onMeasure(DecorView.java:829)
at android.view.View.measure(View.java:26196)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:3783)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:2557)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2836)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2272)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8999)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1160)
at android.view.Choreographer.doCallbacks(Choreographer.java:950)
at android.view.Choreographer.doFrame(Choreographer.java:879)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1142)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:210)
at android.os.Looper.loop(Looper.java:299)
at android.app.ActivityThread.main(ActivityThread.java:8309)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1038)
QuranApp caches almost all the resources it fetches. Recitations, chapter information, translations etc. are saved locally when they are fetched for the first time. In this case, the storage might fill up over a period of time. we should provide the users a way to clean up the resources of their desires.
No response
Publish this app on Fdroid and Izzyondroid, We need more devs to contribute, More people are using it.
No response
Assalamu alaykum
the app is great, however it would be nice to have these features as well:
No response
Aslam o alaikum!
I want to contribute in Quran translations. But app crashed when I clone the project on my Android Studio. I setup the firebase and enable all required services from firebase like Realtime Database, Cloud Storage, Authentication and Cloud Firestore but when I run the app I got this error in error log.
Caused by: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.acun.quranicplus.debug. Make sure to call FirebaseApp.initializeApp(Context) first.
Can you please tell me how to fix it?
JazakAllah :-)
.
.
.
Android 9
No response
script for translation conversation from https://tanzil.net/trans/
No response
Bookmark some ayat then try to see it or edit notes the app crashes suddenly, This happens with debug app i tested to see my language Kurdish that have any mistakes or typo also when app lang is set to کوردی the audio(reciter) files cannot be played.
..
..
2023.03.05.2-debug
Android 13 - OneUI 5.1
java.lang.NullPointerException: Attempt to invoke interface method 'int java.lang.CharSequence.length()' on a null object reference
at android.text.SpannableString.<init>(SpannableString.java:34)
at android.text.SpannableString.<init>(SpannableString.java:43)
at com.quranapp.android.adapters.ADPBookmark.prepareTexts(ADPBookmark.java:135)
at com.quranapp.android.adapters.ADPBookmark.access$200(ADPBookmark.java:38)
at com.quranapp.android.adapters.ADPBookmark$VHBookmark.bind(ADPBookmark.java:167)
at com.quranapp.android.adapters.ADPBookmark.onBindViewHolder(ADPBookmark.java:122)
at com.quranapp.android.adapters.ADPBookmark.onBindViewHolder(ADPBookmark.java:38)
at androidx.recyclerview.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:7065)
at androidx.recyclerview.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:7107)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:6012)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6279)
at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6118)
at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6114)
at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2303)
at androidx.recyclerview.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:561)
at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1587)
at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:665)
at androidx.recyclerview.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4134)
at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3851)
at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4404)
at android.view.View.layout(View.java:24969)
at android.view.ViewGroup.layout(ViewGroup.java:6784)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1103)
at android.view.View.layout(View.java:24969)
at android.view.ViewGroup.layout(ViewGroup.java:6784)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:24969)
at android.view.ViewGroup.layout(ViewGroup.java:6784)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
at android.view.View.layout(View.java:24969)
at android.view.ViewGroup.layout(ViewGroup.java:6784)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:24969)
at android.view.ViewGroup.layout(ViewGroup.java:6784)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
at android.view.View.layout(View.java:24969)
at android.view.ViewGroup.layout(ViewGroup.java:6784)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:1427)
at android.view.View.layout(View.java:24969)
at android.view.ViewGroup.layout(ViewGroup.java:6784)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:4917)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4240)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3116)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:10885)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1301)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1309)
at android.view.Choreographer.doCallbacks(Choreographer.java:923)
at android.view.Choreographer.doFrame(Choreographer.java:852)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1283)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8757)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
Hi
Found the app, pretty nice.
My request. Can you introduce jalalain sharief as a transliteration option in english and other languages.
https://m.apkpure.com/al-quran-tafsir-by-word/com.greentech.quran
This app has it so I don't see any reason why quranapp shouldn't.
open any surah on 10th verse
The numbers in Arabic are reversed and number 0 is displayed out of it's circle symbol
version 2023.03.05.1
Android 13
Jazakum Allah alkhair and grant you success for more helpful projects for muslims
Turn off the alarms and reminders permission and the app doesn't open.
The app opens as normal
Crashes instantly
2023.03.05.1
13
I have also found that with this permission enabled that an alarm is shown on my lockscreen at 4am even though this alarm never goes off.
Salamu Alikum Brother
Could you please move the Tafsir & Share an Ayah to the main Quran page next to the Bookmark and Playing buttons.
Also replacing the play button by the select reciters is will be more comfortable because play button is already available in two other places.
السَّلَاْمُ عَلَیْکُم وَ رَحْمَةُ اللّٰهِ وَ بَرَکَاْتُه
Could you please add new option like ( Select Theme, Select Reciter ) when user install the QuranApp for the first time to select the app language manually from available languages.
GOD Bless You For Making This Great and Amazing Quran App Baraka Allah Fik.
This option is very good for those who there device language is English but wants to use the app in it's native language.
Best regards.
The title said it.
No response
Add a slider to change the text size of Tafseer. Make it go upto 150% for better legibility.
Make sure that there is adequate spacing between the words.
Jazakallah u Khair.
No response
Hi, thanks for creating this app.
Please add support the Android 13 "Themed Icons" feature.
It's not my theme or my icon pack, it's a feature from Android 13.
No response
Don't stop the Quran recitation.
Stopped the Quran recitation.
2023.03.01.1
Android 13
No response
Scale up the size of the Arabic text from the current 150% to 200% for better legibility.
Jazakallah u Khair.
No response
please add hindi translation of quran in this app.
No response
This feature would help to easily access frequently read chapters in a separate bar by marking them as such.
It could be a star or a heart for the sake of familiarity.
Please add the Persian (Farsi) translation.
Thanks 🙏
No response
As-salamu alaykum,
First of all thank you for this great app, جَزَاكَ ٱللَّٰهُ خَيْرًا
I used to use another app for listening to Quran and two thing that I miss from it, and these are features that I believe will be useful to others too, are media buttons support and auto-pause when playback device disconnects.
Android apps can utilize the media buttons on headphones, and other devices, to pause/resume and skip/rewind the media. Android also has support for pausing media if the external playback device such as headphones are disconnected/unplugged.
This auto-pause feature is especially useful for wireless earbuds so that when you take your earbuds out from your ear and put it in its charging case, the earbuds are disconnected (bluetooth disconnection) from your phone and that leads to the audio getting automatically paused.
This lack of auto-pause can also be inconvenient sometimes, e.g. if you're in a crowded place and listening on your earbuds then putting them back in their case will switch the audio to the loudspeaker and you have to take out your phone and manually pause it.
I believe that media button support and auto-pause will be a great addition to this app as many people use wireless headphones and they would greatly benefit from this.
Here is a link to Android developer docs for your reference: https://developer.android.com/guide/topics/media-apps/mediabuttons
Regards,
Talal
No response
Hello,
after App translation I would like to provide a German Quran translation also, if desired. Which licenses do I have to consider when using translations?
As mentioned here, all the new codes must be written in Kotlin. We need to perform following actions to make the existing codes more efficient and keep them up to date -
السَّلَاْمُ عَلَیْکُم
Adding new option to the page view mode to show each aya translation when tap on it because the translation is not available in Page View mode right now.
When tap on Aya it shows an additional options in toolbar it will be great if showing the aya translation/meaning in popup window instead that toolbar.
QuranApp contains several audio recitations but these recitation are only arabic. There should be added a way where a translation audio along with an arabic recitation can be played. Currenty, it is possible to add the translation audios but the arabic recitation will not play simultaneously, which probably most users won't want.
No response
Sometime I only read, scrolling up hides audio player and scrolling down shows it. It feel like distraction like an element hides/shows
Two Solutions I have thought
proto1
Can we add audios for whole quran from this very famous reciter, Qari Abdulrhman Mosad.
Problem: There isn't complete Quran recitation available from this Qari on internet.
Solution: We can train an AI model on existing audios available and then let that model to convert all Quran text to his amazing voice and then we can add it to this app.
I can train such model but i dont have enough resources / GPUs.
What do you guys think? Are there any ethical implications if we are using his AI generated voice without his consent?
I've been thinking about this for a long time and I think this is the best place to start. Hence, i wrote down this long post.
May Allah bless us all in this world and world hereafter. Aameen.
Ramadan Mubarak!
Hello, Ramadan Mubarak
Please fix verse number:
9, 10, 11, 12, 13
9, 1, 11, 21, 31
2023.03.21.1
Android 13
No response
This might be a small nitpick but I have the app installed and have two notifications, one in the morning and evening.
Both are audible.
The "ayat of the day".
Can we have silent notifications?
It should remember page position
Directed to 1st page of Chapter
2023.04.02.1
Android 13
If you can add interpretation in each verse and thanks for your hard work brother and Ramadan Mubarak
No response
1.Open QuranApp.
Go to settings.
Select Reciter.
And then the issue occurs.
When you click on the reciter it should expand to a list of reciters.
Clicking on the select reciter shows the loading bar for a while then shows no recitations available.
2023.04.02.1
Android 13
Shows the same behaviour for Tafseer as well.
In arabic 0 (zero) is represented by dot(.)
zero should be inside circle
2023.04.02.1
Android 13
It happen with 10,20,30 and so on
When change language to arabic it crashes here is the crash log
[Device Model]: POCO F1
[Display]: TKQ1.220829.002 test-keys
[Android Version]: 13
[Android API Level]: 33
[System Locale]: en_US
[Process ID]: 25927
[CPU ABI]: none
[Package Name]: com.quranapp.android
[Version Name]: 2023.04.02.1
[Version Code]: 230402001
[Error Type]: JVM
[Crash Time]: 2023-04-07T05:09:40.999
[Stack Trace]:
java.util.IllegalFormatConversionException: d != java.lang.String
at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4408)
at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2890)
at java.util.Formatter$FormatSpecifier.print(Formatter.java:2844)
at java.util.Formatter.format(Formatter.java:2535)
at java.util.Formatter.format(Formatter.java:2464)
at java.lang.String.format(String.java:3644)
at android.content.res.Resources.getString(Resources.java:590)
at android.content.Context.getString(Context.java:788)
at l5.c.a(ParserUtils.kt:62)
at l5.f.a(QuranDuaParser.kt:83)
at l5.e.run(R8$$SyntheticClass:51)
at java.lang.Thread.run(Thread.java:1012)
The app force closes
.
2023.04.02.1
13
No response
The only way now to play is be starting from the beginning of سورة which is not convenient, it would be great if you add the ability to play a specific verse.
And thank you for the great app.
ربنا يجزيكم خير
No response
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.