Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Advance search - Do not Merge #833

Open
wants to merge 1,588 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1588 commits
Select commit Hold shift + click to select a range
5ba6c51
Initial support for Shemerly pages
ahmedre Jul 5, 2016
6717402
Update build tools version for travis (#666)
ahmedre Jul 5, 2016
d1a7c4e
Update strings.xml for Indonesian language (#669)
habibr Jul 21, 2016
90f119e
Cleaning up strings.xml
habibr Jul 22, 2016
3133b9a
Merge branch 'habibr-habibr-patch-1'
ahmedre Jul 23, 2016
2b7ce96
Updated my username (#677)
ajsb85 Aug 20, 2016
996d82b
Update android plugin and gradle versions
ahmedre Sep 1, 2016
4431d8c
Attempt to make the db directory before writing
ahmedre Sep 1, 2016
58e2ecf
Headers on translation list shouldn't be clickable
ahmedre Sep 1, 2016
56a7b4b
Minor improvements to translation list ui
ahmedre Sep 1, 2016
6d90aa4
Use 2.2.0-beta3 gradle plugin for Instant Run
ahmedre Sep 1, 2016
01f1caa
Build against Nougat
ahmedre Sep 1, 2016
985e1fb
Bump build tools version
ahmedre Sep 1, 2016
6924726
Update travis for Android N
ahmedre Sep 1, 2016
6bcffd2
Fix travis (#680)
ahmedre Sep 1, 2016
a008e67
Rename SpinnerCompat to QuranSpinner
ahmedre Sep 1, 2016
28095b7
Update code styles for Quran
ahmedre Sep 2, 2016
f900472
Better support for multi-window mode on Android N
ahmedre Sep 2, 2016
94cd6b9
Remove calls to setLoading since it does nothing
ahmedre Sep 2, 2016
828e744
Re-format xml for PagerActivity
ahmedre Sep 2, 2016
5a7ae75
Replace NAVIGATION_MODE_LIST with Spinner
ahmedre Sep 2, 2016
76ffff8
Update android plugin to rc1
ahmedre Sep 3, 2016
f580928
Fix gradient for tablet landscape with two pages
ahmedre Sep 4, 2016
15c8bed
Manually draw borders in QuranPageLayout
ahmedre Sep 4, 2016
b965669
Update FragmentStatePagerAdapter
ahmedre Sep 5, 2016
d3541c3
Fix indentation on QuranPagerAdapter
ahmedre Sep 5, 2016
5a03036
Remove old fragment types on orientation change
ahmedre Sep 6, 2016
4993ff3
Greatly improve tablet orientation change
ahmedre Sep 6, 2016
a204370
Don't delay removing window background on tablet
ahmedre Sep 6, 2016
3a37651
Fix wrong page number saved on tablet landscape
ahmedre Sep 8, 2016
8f941a4
Make header footer height local for now
ahmedre Sep 15, 2016
93508e6
Fix seekbar indentation
ahmedre Sep 15, 2016
14869ba
Make seekbar preference consistent with prefs
ahmedre Sep 15, 2016
034a89e
Reformat AndroidManifest
ahmedre Sep 16, 2016
2af353d
Support chromebooks without a touchscreen
ahmedre Sep 16, 2016
9f91631
Improve header and footer text display
ahmedre Sep 16, 2016
cf41f78
Set page padding early on
ahmedre Sep 16, 2016
b94f1b6
Separate header font size from height
ahmedre Sep 17, 2016
14ed90a
Update support lib to 24.2.1
ahmedre Sep 17, 2016
f30eb1d
Bump version to 2.7.2
ahmedre Sep 17, 2016
b92e508
Fix a crash on tablets due to null context
ahmedre Sep 19, 2016
415569b
Viewing new rub3 permenantly instead of just poping it up (#687)
Oct 4, 2016
f70a60f
Update to Android plugin 2.2.0
ahmedre Oct 4, 2016
3434a3f
Cleanup nonexistent/untranslatable strings (#690)
ozbek Oct 6, 2016
0108af8
Build against Android Nougat MR1
ahmedre Nov 15, 2016
65f7c37
Fix indentation of some xml files
ahmedre Nov 15, 2016
7e85df8
Add an import option to settings
ahmedre Nov 15, 2016
55642dc
Update sdk and build tools for Travis
ahmedre Nov 15, 2016
1429289
Update sdk and build tools for Travis (#703)
ahmedre Nov 15, 2016
03e0313
Make certain headers not clickable and cleanup
ahmedre Nov 20, 2016
54ea278
Minor code cleanup for bookmarks
ahmedre Nov 20, 2016
a6f6f36
Cleanup and some lint fixes
ahmedre Nov 21, 2016
a7fd642
More lint fixes
ahmedre Nov 21, 2016
2261605
Fix explicit LTR hardcodes for lint
ahmedre Nov 21, 2016
376360f
Fix QuranSpinner dropdown width
ahmedre Nov 21, 2016
b721c07
editorconfig
hafah Nov 21, 2016
e90bfa3
[f] .editorconfig to use spaces on all files
hafah Nov 22, 2016
ec85297
Fix more lint warnings (strings, ax, images, etc)
ahmedre Nov 23, 2016
e8d1f26
Indentation and hungarian notation
ahmedre Nov 23, 2016
7dfaf10
Re-enable lint for ci and release
ahmedre Nov 23, 2016
8316798
Cleanup README
ahmedre Nov 23, 2016
0e39439
Merge pull request #706 from hafah/patch-1
ahmedre Nov 23, 2016
694d81f
License code under GPLv3
ahmedre Nov 24, 2016
3f27a74
Support continuous indentation in editorconfig
ahmedre Nov 25, 2016
c389dd8
Make @VisibleForTesting be "otherwise private"
ahmedre Nov 26, 2016
9133548
Minor code cleanup
ahmedre Nov 26, 2016
45c3f56
Split the setting advanced options into a new preferences screen
Nov 27, 2016
d4ab0e6
Implement recent pages
ahmedre Nov 28, 2016
4bb1a29
Remove RxPreferences
ahmedre Nov 28, 2016
18b7820
Use recent pages size to correctly get quantity string
ozbek Nov 28, 2016
11a6213
Split advanced setting options into a new activity with new fragment …
Nov 28, 2016
3ed03af
Merge branch 'master' of https://github.com/quran/quran_android
Nov 28, 2016
10d8732
Use same text as in the menu to jump last page
ozbek Nov 28, 2016
cff725e
Merge pull request #713 from ozbek/master
ahmedre Nov 29, 2016
7a2b5c3
Merge pull request #715 from ozbek/i18n
ahmedre Nov 29, 2016
be1f836
Do all of the comments on the the previous pull request
Nov 29, 2016
cb566e1
Merge pull request #714 from mhussien86/master
ahmedre Nov 30, 2016
9ab16a4
Add translation for "Recent pages" (#716)
ozbek Nov 30, 2016
5f5be49
Clean up last pull request and solve arabic values issue in advanced …
mhussien86 Nov 30, 2016
d698172
Avoid an extra delete when it's not needed
ahmedre Nov 30, 2016
c5f41da
Improve Recent pages implementation
ahmedre Dec 4, 2016
fd54461
Fix broken unit test (#720)
ahmedre Dec 4, 2016
d63eb85
RxJava2 (#724)
ahmedre Dec 7, 2016
921861e
Show translation info even if translator has no localized name (#726)
ozbek Dec 7, 2016
1623625
Fix bugs with recent pages (#727)
ahmedre Dec 7, 2016
cc1a0bd
Update libraries
Dec 7, 2016
9e676be
Use the gradle plugin's annotation processing
Dec 7, 2016
a02ed53
Uzbek: correct "Found in sura" grammar (#728)
ozbek Dec 9, 2016
2a5be81
Use Retrolambda (#729)
ahmedre Dec 9, 2016
8470d98
Upgrade gradle to 2.2.3 and update README
ahmedre Dec 9, 2016
1cf56b7
Settings: remove advanced options category, move volume key navigatio…
ozbek Dec 11, 2016
15fc948
Fix crash when a translation is added/removed (#732)
ozbek Dec 12, 2016
06a5fb8
Save translator's localized name in db (#730)
ozbek Dec 12, 2016
64ce460
Add gradle.properties to git ignore list (#733)
ozbek Dec 12, 2016
327ec36
Failing tests should show stack trace
Dec 12, 2016
3432fde
Minor test cleanup
ahmedre Dec 12, 2016
a5187d5
Support shortcuts on 7.1 and certain launchers
ahmedre Dec 12, 2016
95f5394
Fix lint issues with java 8
ahmedre Dec 12, 2016
66a02e1
Revert create table statement back to static field (#734)
ozbek Dec 13, 2016
33c0d24
Update gradle version to 3.2
ahmedre Dec 13, 2016
6cb3274
Minor cleanup and tweaks for tests
ahmedre Dec 13, 2016
e169fe8
Refactoring for Dagger Application modules
ahmedre Dec 13, 2016
ca35a1a
Support Stetho network interceptor for debug
ahmedre Dec 13, 2016
d84fadf
Fix regression in Audio manager
ahmedre Dec 14, 2016
2987bbf
Enable installing debug build along with release version (#737)
ozbek Dec 15, 2016
9dafc94
Remember the last reading mode (#736)
ozbek Dec 15, 2016
24ceb11
Fix flakey recent page model test
ahmedre Dec 15, 2016
4b5ea3f
Fix flakey TagBookmarkPresenter tests
ahmedre Dec 15, 2016
f26a5c1
Update support library to 25.1.0
ahmedre Dec 15, 2016
c77f05f
Fix force close in non-Madani build types (#739)
ozbek Dec 18, 2016
1c626bb
Make BookmarkPresenterTest more stable
ahmedre Dec 18, 2016
526e1ca
Russian: add missing UI translations (#740)
ozbek Dec 18, 2016
b69d578
Turkish add/improve UI translations (#741)
ozbek Dec 18, 2016
704906a
Minor code cleanup
ahmedre Dec 18, 2016
173de03
Fix search menu in bookmarks tab (#742)
ozbek Dec 19, 2016
62ce52d
Remove unnecessary arg in AudioUtils.getQariUrl() (#744)
ozbek Dec 21, 2016
a93b2d9
Check if local copy is available prior to streaming from remote serve…
ozbek Dec 21, 2016
d75b62d
Use static provides methods
ahmedre Dec 22, 2016
693aaa9
Implement initial TranslationPresenter
ahmedre Dec 23, 2016
60eecf6
Minor cleanup on Tablet and QuranPage fragments
ahmedre Dec 23, 2016
641be8c
Use TranslationPresenter in inline translation
ahmedre Dec 23, 2016
3e7f665
Support page number for TranslationPresenter
ahmedre Dec 23, 2016
7b479c0
Use TranslationPresenter in TabletFragment
ahmedre Dec 23, 2016
64dc4a9
Clean up of Hungarian notation in some classes
ahmedre Dec 23, 2016
0faccc1
Split image response callback into an interface
ahmedre Dec 24, 2016
09e7550
Add a provider for providing and caching ayahinfo
ahmedre Dec 24, 2016
ba3ce63
Share some common code between phone and tablet
ahmedre Dec 25, 2016
06b3f93
Share more code between Quran and Tablet
ahmedre Dec 26, 2016
095bb02
Change the order or page load operations
ahmedre Dec 26, 2016
dc22989
Move touch logic into AyahTrackerPresenter
ahmedre Dec 26, 2016
98af861
Show retry button for tablet in landscape
ahmedre Dec 27, 2016
959559b
Move page downloading code into QuranPagePresenter
ahmedre Dec 27, 2016
0001768
Only try to re-download images if download failed
ahmedre Dec 27, 2016
5845ad8
Improve handling of Arabic database
ahmedre Dec 27, 2016
5a19d8b
Minor improvements to error state in tablet mode
ahmedre Dec 27, 2016
cfebff1
Replace page loading with RxJava
ahmedre Dec 27, 2016
acfa46c
Fix overlay text not showing up
ahmedre Dec 27, 2016
07e8cc9
Improve dependency injection structure
ahmedre Dec 27, 2016
df5419d
Make QuranPagePresenter injectable
ahmedre Dec 27, 2016
0721833
More DI related cleanup
ahmedre Dec 27, 2016
9e31ccc
More efficient providing of application context
ahmedre Dec 27, 2016
fa01026
Support multiple pages in TranslationPresenter
ahmedre Dec 28, 2016
2f36074
Let TranslationModel be ActivityScope
ahmedre Dec 28, 2016
e372348
Only read intent if not saved instance state (#747)
ahmedre Dec 29, 2016
2b4883e
Switch Translation Manager to RecyclerView (#745)
hosainnet Dec 30, 2016
97a52de
709 Refactor translation manager (#749)
hosainnet Dec 30, 2016
d25aa60
Introduce functional tests (#756)
hosainnet Jan 9, 2017
819b3f5
Use RecyclerView for translations
ahmedre Dec 31, 2016
80058d8
Rename old TranslationView and clean it up
ahmedre Dec 31, 2016
0d8f256
Fix indentation of colors
ahmedre Dec 31, 2016
96dd6fe
Quran.com inspired ui for translation view
ahmedre Dec 31, 2016
f2ad855
Improve ui for translations
ahmedre Dec 31, 2016
2c3eae1
Inefficient fix for tablet translation mode
ahmedre Dec 31, 2016
f7b2fda
Use the correct nullable annotation
ahmedre Dec 31, 2016
ed144a6
Hide divider for the last ayah of a sura and page
ahmedre Jan 1, 2017
120efe5
Replace ayah number view with a custom view
ahmedre Jan 1, 2017
6a559c1
Improve TranslationPresenter
ahmedre Jan 1, 2017
e756c33
Make translations list database classes singletons
ahmedre Jan 1, 2017
cf7dc69
Cache translations in TranslationsDBAdapter
ahmedre Jan 1, 2017
8dfdd6c
Make arabic and translation text selectable
ahmedre Jan 1, 2017
0277772
Fix translation manager presenter test
ahmedre Jan 1, 2017
f02b3ea
Use custom view for divider
ahmedre Jan 1, 2017
0a6572f
Update dark mode divider based on text brightness
ahmedre Jan 1, 2017
73b6877
Use a darker sura header in night mode
ahmedre Jan 1, 2017
e566aee
Remove textIsSelectable for now
ahmedre Jan 1, 2017
a740d16
Indentation and add a comment
ahmedre Jan 1, 2017
5499c21
Highlight the currently playing ayah
ahmedre Jan 2, 2017
50c7508
Scroll the RecyclerView when an ayah is selected
ahmedre Jan 2, 2017
0295a5a
Ayah number: use same text brightness as the translation text in nigh…
ozbek Jan 2, 2017
3a1b303
Use slightly smaller ayah number size
ahmedre Jan 2, 2017
7118126
Make updating highlights more efficient
ahmedre Jan 2, 2017
0e83811
Fix text selection
ahmedre Jan 3, 2017
2812d13
Support multiple translations
ahmedre Jan 6, 2017
a37f122
Fix translation name
ahmedre Jan 6, 2017
a8d8f6e
Add a test for the case with no Arabic and no data
ahmedre Jan 7, 2017
faa1ad9
Minor cleanup
ahmedre Jan 8, 2017
be9b419
Support multiple translations
ahmedre Jan 9, 2017
402fdc8
Don't use translation as spinner title
ahmedre Jan 9, 2017
4868a82
Fix build error (#761)
ozbek Jan 9, 2017
0d1755a
change "Help wanted label" to "PRs Welcome" label (#762)
Jan 9, 2017
0bfca2a
Update toolbar in translation view (#763)
ozbek Jan 10, 2017
9a5dbf6
Setup Travis CI (#764)
hosainnet Jan 11, 2017
7d74fb6
Remove QuranAyah (#767)
ahmedre Jan 13, 2017
a42bf27
Invalidate NumberFormat when Locale changes
ahmedre Jan 13, 2017
2fe1fea
Minor updates to README
ahmedre Jan 13, 2017
8b4747d
Move SuraAyahIterator into its own class
ahmedre Jan 13, 2017
d7bd1d9
Fix indentation on build.gradle
ahmedre Jan 14, 2017
6f3d61d
Update build tools and various dependencies
ahmedre Jan 14, 2017
2914fed
Ask Travis to use build tools 25.0.2 (#768)
ahmedre Jan 14, 2017
a816cea
#589 - Added swipe-to-refresh in the translation manager view (#769)
hosainnet Jan 16, 2017
2afab3d
small typo for page_description (#770)
habibr Jan 16, 2017
44469b5
Update bookmarks & tags contextual action bar translation (#771)
habibr Jan 16, 2017
1703cc5
Create booleans.xml (#774)
habibr Jan 17, 2017
fa5c60b
#758 - Added ripple effect on translation rows (#775)
hosainnet Jan 17, 2017
d2805e9
Create sura_names.xml for Indonesian (#772)
habibr Jan 17, 2017
4e3265f
Add .nomedia file to audio folder (#776)
ozbek Jan 19, 2017
ac55668
Cleanup QuranFileUtils (#777)
ozbek Jan 20, 2017
6515cd4
Fix recent pages string in Arabic
ahmedre Jan 27, 2017
aead639
Show translation even if arabic db doesn't exist
ahmedre Jan 27, 2017
7cf2fb6
Update crashlytics version
ahmedre Jan 27, 2017
738cfdb
Fix the exporting of data for debug build
ahmedre Jan 27, 2017
cfdcf33
Variable naming and lambdas for advanced settings
ahmedre Jan 27, 2017
eaba5c0
Fix exporting bookmarks often not working
ahmedre Jan 27, 2017
16d99ba
Use `external-files-path` instead of `external-path` (#780)
ozbek Jan 27, 2017
0a52e65
Fix a crash when removing advanced preferences
ahmedre Jan 28, 2017
93ec669
Replace missing Arabic string
ahmedre Jan 28, 2017
f9bd854
Bump version to 2.7.3
ahmedre Jan 28, 2017
c31d6ab
Fix an NPE on long press in landscape
ahmedre Jan 28, 2017
1d61ac8
Fix a strange verify related crash on 4.0.x
ahmedre Jan 28, 2017
a002a60
Fix a crash when tapping on translation header
ahmedre Jan 28, 2017
34f43e8
Fix a few other crashes
ahmedre Jan 28, 2017
3664aa6
Bump versions to 2.7.3-p1 and 1.0.6
ahmedre Jan 28, 2017
a8f2b2d
Fix an off by one crash when there is a -1 page
ahmedre Jan 28, 2017
72d3613
Fix a NPE when haveAllFiles is called with null
ahmedre Jan 28, 2017
6c4d2fd
Don't corrupt when gapless database is corrupt
ahmedre Jan 28, 2017
187ecf9
Fix NPE when updating tags with no selection
ahmedre Jan 28, 2017
df7b489
Fix NPE when deleting data directory
ahmedre Jan 28, 2017
86bd9a4
Fix a crash when checking available space
ahmedre Jan 28, 2017
f0adcd0
Fix switching ayahs when selected ayah is null
ahmedre Jan 28, 2017
19bc477
Fix a class cast exception
ahmedre Jan 28, 2017
cf2f734
Protect against null bookmarks or tags
ahmedre Jan 28, 2017
8d0d6a1
Protect against a crash when toggling bookmark
ahmedre Jan 28, 2017
7fdac92
Fix copying and sharing being broken
ahmedre Jan 29, 2017
7581262
Option to minimize the recents list
ahmedre Jan 29, 2017
45acd51
Bump version to 2.7.4 (1.0.7 for qaloon/naskh)
ahmedre Jan 29, 2017
ef87027
Gracefully handle broken translation dbs
ahmedre Jan 30, 2017
6ca4c4a
More explicit initialization of Crashlytics
ahmedre Jan 30, 2017
b3ed33c
Add Sura Names in German
ahmedre Feb 1, 2017
124a771
German translation updates from br Abdul-Raqeeb
ahmedre Feb 3, 2017
31ed526
Fix repeated translation
ahmedre Feb 8, 2017
ab0f855
Fix Arabic typos in About
ahmedre Feb 8, 2017
02c953d
Fix play button not working
ahmedre Feb 8, 2017
cdce299
Avoid trying to get the sura for page 0
ahmedre Feb 8, 2017
050f730
Temporarily disable translated names for German
ahmedre Feb 8, 2017
4f9a28d
Bump version to 2.7.4-p1 / 1.0.7-p1
ahmedre Feb 10, 2017
7c77aca
GitHub username changed (#813)
Ahmed9914 Feb 28, 2017
26112fe
Correcting a small type in surah name (#815)
habibr Mar 15, 2017
ac14e36
Add "More Translations" to spinner (#802)
uzairmad Mar 19, 2017
37ec98d
Jump to surah and ayah by allowing user to type (issue #799) (#805)
fikr4n Mar 19, 2017
debc6d4
test
humanities Mar 19, 2017
441e8e9
test 3
nyitgroup Mar 20, 2017
1012c02
Revert "test"
nyitgroup Mar 20, 2017
6774d91
Fix issue #814
nyitgroup Mar 20, 2017
52bbbba
Fix Arabic about strings
nyitgroup Mar 20, 2017
d99f2f7
Remove duplicate call to `showTranslationsUpgradeDialog()` (#821)
ozbek Mar 20, 2017
2d67f2e
Jump to ayah by typing text: rename variables (#822)
fikr4n Mar 20, 2017
d026351
Update build tools (Android Studio 2.3) (#823)
ozbek Mar 20, 2017
839f8a5
Initial flavor for Warsh
ahmedre Mar 20, 2017
e78a23b
Merge remote-tracking branch 'remotes/origin/master' into AdvanceSearch
nyitgroup Mar 27, 2017
784f664
Advance search
nyitgroup Mar 27, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 11 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2
continuation_indent_size = 4
charset = utf-8
18 changes: 17 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,22 @@
.classpath
.project
.settings
bin
gen
out
.DS_Store
local.properties
target
gen-external-apklibs
*.iml
.idea
classes
ApiKeys.java
.gradle
gradle.properties
app/src/beta
app/src/release
app/seed.txt
build/
*/crashlytics.properties
crashlytics-build.properties
com_crashlytics_export_strings.xml
25 changes: 25 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
language: android

jdk:
- oraclejdk8

android:
components:
- tools
- platform-tools
- build-tools-25.0.2
- android-25
- android-22 # required for emulator below
- extra-android-m2repository
- sys-img-armeabi-v7a-android-22

before_script:
# Create and start emulator
- echo no | android create avd --force -n test -t android-22 --abi armeabi-v7a
- emulator -avd test -no-skin -no-audio -no-window &
- android-wait-for-emulator
- adb shell input keyevent 82 &

script:
- ./gradlew clean testMadaniRelease -PdisableCrashlytics
- ./gradlew clean connectedMadaniDebugAndroidTest -PdisableCrashlytics
44 changes: 0 additions & 44 deletions AndroidManifest.xml

This file was deleted.

46 changes: 46 additions & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
quran android contributors
==========================

### code

* [Ahmed El-Helw](https://twitter.com/ahmedre)
* [Asim Mohiuddin](https://github.com/asimmohiuddin) - images, gapless audio
and work on the Naskh version
* [g360230](https://github.com/g360230) - images and work on the Qaloon
version
* [Shuhrat Dehkanov](http://github.com/ozbek)
* [Ahmed Farra](http://github.com/afarra)
* [Hussein Maher](http://twitter.com/husseinmaher)
* [Wael Nafee](http://twitter.com/wnafee)
* [Ahmed Fouad](http://twitter.com/fo2ad)
* [Mahmoud Hossam](http://github.com/mahmoudhossam)
* [Rehab Mohamed](http://twitter.com/hams_rrr)
* [Ahmed Essam](http://twitter.com/neo_4583)
* [Hosain Al Ahmad](https://github.com/hosainnet)
* [Ahmed Abdelaal](https://github.com/Ahmed9914)

### ui and design
* [Somaia Gabr](http://twitter.com/somaiagabr).

### translators

* Farsi for version 2.0 by [M. Jafar Nakar](https://github.com/mjnanakar).
* Farsi for version 1.6 by [khajavi](http://github.com/khajavi).
* Turkish by Mehmed Mahmudoglu.
* Turkish updates by [Shuhrat Dehkanov](http://github.com/ozbek).
* Russian by Rinat [Ринат Валеев](https://github.com/Valey).
* Kurdish by [Goran Gharib Karim](https://github.com/GorranKurd).
* French by Yasser [yasserkad](http://github.com/yasserkad).
* French updates by [Abdullah ibn Nadjo](https://github.com/abdullahibnnadjo).
* German by [Armin Supuk](http://github.com/ArminSupuk).
* Chinese by [Bo Li](http://twitter.com/liboat).
* Uyghur by Abduqadir Abliz [Sahran](http://github.com/Sahran).
* Indonesian by [Saiful Khaliq](http://twitter.com/saifious).
* Malaysian by [Ahmad Syazwan](https://github.com/asyazwan).
* Spanish by [Alexander J. Salas B.](https://github.com/ajsb85).
* Uzbek by [Shuhrat Dehkanov](https://github.com/ozbek").


### and many more
* everyone we missed from the above lists - may Allah reward you!
* everyone who notified us about any bugs, made du3a for us, or that shared the app with family and friends.
Loading