├── app ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── mipmap-mdpi │ │ │ │ ├── splash.png │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-hdpi │ │ │ │ ├── ic_check_white_24dp.png │ │ │ │ ├── ic_info_white_24dp.png │ │ │ │ ├── ic_list_white_24dp.png │ │ │ │ ├── ic_pause_white_24dp.png │ │ │ │ ├── ic_compare_white_24dp.png │ │ │ │ ├── ic_language_white_24dp.png │ │ │ │ ├── ic_settings_white_24dp.png │ │ │ │ ├── ic_color_lens_white_24dp.png │ │ │ │ ├── ic_play_arrow_white_24dp.png │ │ │ │ └── ic_settings_backup_restore_white_24dp.png │ │ │ ├── drawable-mdpi │ │ │ │ ├── ic_check_white_24dp.png │ │ │ │ ├── ic_info_white_24dp.png │ │ │ │ ├── ic_list_white_24dp.png │ │ │ │ ├── ic_pause_white_24dp.png │ │ │ │ ├── ic_compare_white_24dp.png │ │ │ │ ├── ic_language_white_24dp.png │ │ │ │ ├── ic_settings_white_24dp.png │ │ │ │ ├── ic_color_lens_white_24dp.png │ │ │ │ ├── ic_play_arrow_white_24dp.png │ │ │ │ └── ic_settings_backup_restore_white_24dp.png │ │ │ ├── drawable-xhdpi │ │ │ │ ├── ic_check_white_24dp.png │ │ │ │ ├── ic_info_white_24dp.png │ │ │ │ ├── ic_list_white_24dp.png │ │ │ │ ├── ic_pause_white_24dp.png │ │ │ │ ├── ic_compare_white_24dp.png │ │ │ │ ├── ic_color_lens_white_24dp.png │ │ │ │ ├── ic_language_white_24dp.png │ │ │ │ ├── ic_play_arrow_white_24dp.png │ │ │ │ ├── ic_settings_white_24dp.png │ │ │ │ └── ic_settings_backup_restore_white_24dp.png │ │ │ ├── drawable-xxhdpi │ │ │ │ ├── ic_info_white_24dp.png │ │ │ │ ├── ic_list_white_24dp.png │ │ │ │ ├── ic_check_white_24dp.png │ │ │ │ ├── ic_pause_white_24dp.png │ │ │ │ ├── ic_compare_white_24dp.png │ │ │ │ ├── ic_language_white_24dp.png │ │ │ │ ├── ic_settings_white_24dp.png │ │ │ │ ├── ic_color_lens_white_24dp.png │ │ │ │ ├── ic_play_arrow_white_24dp.png │ │ │ │ └── ic_settings_backup_restore_white_24dp.png │ │ │ ├── drawable-xxxhdpi │ │ │ │ ├── ic_check_white_24dp.png │ │ │ │ ├── ic_info_white_24dp.png │ │ │ │ ├── ic_list_white_24dp.png │ │ │ │ ├── ic_pause_white_24dp.png │ │ │ │ ├── ic_compare_white_24dp.png │ │ │ │ ├── ic_language_white_24dp.png │ │ │ │ ├── ic_settings_white_24dp.png │ │ │ │ ├── ic_color_lens_white_24dp.png │ │ │ │ ├── ic_play_arrow_white_24dp.png │ │ │ │ └── ic_settings_backup_restore_white_24dp.png │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ ├── layout │ │ │ │ ├── log_item.xml │ │ │ │ ├── fragment_log.xml │ │ │ │ ├── activity_app_about.xml │ │ │ │ ├── activity_main.xml │ │ │ │ ├── nav_header.xml │ │ │ │ ├── fragment_sort.xml │ │ │ │ ├── fragment_multi_sort.xml │ │ │ │ ├── fragment_control.xml │ │ │ │ ├── content_main.xml │ │ │ │ ├── control_panel.xml │ │ │ │ └── content_app_about.xml │ │ │ ├── values │ │ │ │ ├── dimens.xml │ │ │ │ ├── do_not_translate.xml │ │ │ │ ├── key_pref.xml │ │ │ │ ├── colors.xml │ │ │ │ ├── styles.xml │ │ │ │ └── strings.xml │ │ │ ├── xml │ │ │ │ └── setting.xml │ │ │ ├── menu │ │ │ │ └── menu_drawer.xml │ │ │ └── values-vi │ │ │ │ └── strings.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── duy │ │ │ │ └── algorithm │ │ │ │ ├── SortCompletionListener.java │ │ │ │ ├── algorithms │ │ │ │ ├── IDataHandler.java │ │ │ │ ├── algo │ │ │ │ │ ├── SelectionSortThread.java │ │ │ │ │ ├── ShellSortThread.java │ │ │ │ │ ├── QuickSortThread.java │ │ │ │ │ ├── CountingSortThread.java │ │ │ │ │ ├── MergeSortThread.java │ │ │ │ │ ├── InsertionSortThread.java │ │ │ │ │ ├── BogoSortThread.java │ │ │ │ │ ├── BubbleSortThread.java │ │ │ │ │ └── CocktailShakerSortThread.java │ │ │ │ ├── SortAlgorithmThread.java │ │ │ │ └── AlgorithmThread.java │ │ │ │ ├── SettingsActivity.java │ │ │ │ ├── customview │ │ │ │ ├── EditTextInputArray.java │ │ │ │ ├── LogView.java │ │ │ │ └── SortView.java │ │ │ │ ├── userinterface │ │ │ │ └── ThemeEngine.java │ │ │ │ ├── AppAboutActivity.java │ │ │ │ ├── notify │ │ │ │ └── RateManager.java │ │ │ │ ├── utils │ │ │ │ └── ArrayUtils.java │ │ │ │ ├── AbstractSortAlgorithmFragment.java │ │ │ │ ├── MainActivity.java │ │ │ │ ├── AbstractAppCompatActivity.java │ │ │ │ ├── SortAlgorithmFragment.java │ │ │ │ └── SortSpeedTestFragmentSort.java │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── duy │ │ │ └── algorithm │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── duy │ │ └── algorithm │ │ └── ExampleInstrumentedTest.java ├── build.gradle └── proguard-rules.pro ├── settings.gradle ├── .idea ├── copyright │ └── profiles_settings.xml ├── modules.xml ├── runConfigurations.xml ├── gradle.xml ├── compiler.xml └── misc.xml ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── screenshot ├── Screenshot_20170205-132701_framed.png ├── Screenshot_20170205-132705_framed.png ├── Screenshot_20170205-132709_framed.png ├── Screenshot_20170205-132717_framed.png ├── Screenshot_20170205-132727_framed.png ├── Screenshot_20170205-132741_framed.png └── Screenshot_20170205-132753_framed.png ├── gradle.properties ├── README.md ├── gradlew.bat ├── .gitignore ├── gradlew └── LICENCE /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/mipmap-mdpi/splash.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /screenshot/Screenshot_20170205-132701_framed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/screenshot/Screenshot_20170205-132701_framed.png -------------------------------------------------------------------------------- /screenshot/Screenshot_20170205-132705_framed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/screenshot/Screenshot_20170205-132705_framed.png -------------------------------------------------------------------------------- /screenshot/Screenshot_20170205-132709_framed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/screenshot/Screenshot_20170205-132709_framed.png -------------------------------------------------------------------------------- /screenshot/Screenshot_20170205-132717_framed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/screenshot/Screenshot_20170205-132717_framed.png -------------------------------------------------------------------------------- /screenshot/Screenshot_20170205-132727_framed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/screenshot/Screenshot_20170205-132727_framed.png -------------------------------------------------------------------------------- /screenshot/Screenshot_20170205-132741_framed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/screenshot/Screenshot_20170205-132741_framed.png -------------------------------------------------------------------------------- /screenshot/Screenshot_20170205-132753_framed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/screenshot/Screenshot_20170205-132753_framed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_check_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-hdpi/ic_check_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_info_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-hdpi/ic_info_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_list_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-hdpi/ic_list_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_pause_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-hdpi/ic_pause_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_check_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-mdpi/ic_check_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_info_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-mdpi/ic_info_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_list_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-mdpi/ic_list_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_pause_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-mdpi/ic_pause_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_check_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xhdpi/ic_check_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_info_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xhdpi/ic_info_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_list_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xhdpi/ic_list_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_pause_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xhdpi/ic_pause_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_info_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xxhdpi/ic_info_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_list_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xxhdpi/ic_list_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_compare_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-hdpi/ic_compare_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_language_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-hdpi/ic_language_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_settings_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-hdpi/ic_settings_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_compare_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-mdpi/ic_compare_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_language_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-mdpi/ic_language_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_settings_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-mdpi/ic_settings_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_compare_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xhdpi/ic_compare_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_check_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xxhdpi/ic_check_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_pause_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xxhdpi/ic_pause_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_check_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xxxhdpi/ic_check_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_info_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xxxhdpi/ic_info_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_list_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xxxhdpi/ic_list_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_pause_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xxxhdpi/ic_pause_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_color_lens_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-hdpi/ic_color_lens_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_play_arrow_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-hdpi/ic_play_arrow_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_color_lens_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-mdpi/ic_color_lens_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_play_arrow_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-mdpi/ic_play_arrow_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_color_lens_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xhdpi/ic_color_lens_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_language_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xhdpi/ic_language_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_play_arrow_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xhdpi/ic_play_arrow_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_settings_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xhdpi/ic_settings_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_compare_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xxhdpi/ic_compare_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_language_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xxhdpi/ic_language_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_settings_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xxhdpi/ic_settings_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_compare_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xxxhdpi/ic_compare_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_language_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xxxhdpi/ic_language_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_settings_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xxxhdpi/ic_settings_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_color_lens_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xxhdpi/ic_color_lens_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_play_arrow_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xxhdpi/ic_play_arrow_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_color_lens_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xxxhdpi/ic_color_lens_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_play_arrow_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xxxhdpi/ic_play_arrow_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_settings_backup_restore_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-hdpi/ic_settings_backup_restore_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_settings_backup_restore_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-mdpi/ic_settings_backup_restore_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_settings_backup_restore_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xhdpi/ic_settings_backup_restore_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_settings_backup_restore_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xxhdpi/ic_settings_backup_restore_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_settings_backup_restore_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tranleduy2000/sortalgorithm/HEAD/app/src/main/res/drawable-xxxhdpi/ic_settings_backup_restore_white_24dp.png -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Mar 04 20:28:27 ICT 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/layout/log_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 124dp 7 | 56dp 8 | 56dp 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values/do_not_translate.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Light 5 | Dark 6 | 7 | 8 | @string/theme_light 9 | @string/theme_dark 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/test/java/com/duy/algorithm/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.duy.algorithm; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.assertEquals; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 18 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | org.gradle.jvmargs=-Xmx1836m 13 | 14 | # When configured, Gradle will run in incubating parallel mode. 15 | # This option should only be used with decoupled projects. More details, visit 16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 17 | # org.gradle.parallel=true 18 | -------------------------------------------------------------------------------- /app/src/main/java/com/duy/algorithm/SortCompletionListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Naman Dwivedi 3 | * 4 | * Licensed under the GNU General Public License v3 5 | * 6 | * This is free software: you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 9 | * 10 | * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU General Public License for more details. 13 | */ 14 | 15 | package com.duy.algorithm; 16 | 17 | public interface SortCompletionListener { 18 | 19 | void onSortCompleted(); 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/res/values/key_pref.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | pref_theme 4 | 5 | @string/theme_dark 6 | 7 | pref_lang_key 8 | default_lang 9 | 10 | 11 | @string/default_ 12 | Tiếng Việt 13 | English 14 | 15 | 16 | 17 | default_lang 18 | vi 19 | en 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_log.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 15 | 16 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_app_about.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/java/com/duy/algorithm/algorithms/IDataHandler.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Naman Dwivedi 3 | * 4 | * Licensed under the GNU General Public License v3 5 | * 6 | * This is free software: you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 9 | * 10 | * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU General Public License for more details. 13 | */ 14 | 15 | package com.duy.algorithm.algorithms; 16 | 17 | public interface IDataHandler { 18 | 19 | void onDataReceived(Object data); 20 | 21 | void onMessageReceived(String message); 22 | } 23 | 24 | -------------------------------------------------------------------------------- /app/src/androidTest/java/com/duy/algorithm/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.duy.algorithm; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.assertEquals; 11 | 12 | /** 13 | * Instrumentation test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest { 19 | @Test 20 | public void useAppContext() throws Exception { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("com.duy.algorithm", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /app/src/main/res/xml/setting.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 12 | 13 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | 14 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /app/src/main/java/com/duy/algorithm/SettingsActivity.java: -------------------------------------------------------------------------------- 1 | package com.duy.algorithm; 2 | 3 | 4 | import android.os.Bundle; 5 | import android.preference.PreferenceActivity; 6 | import android.preference.PreferenceFragment; 7 | 8 | /** 9 | * Setting for calcualtor 10 | *

11 | * Include precision of calculate. Font, theme, style. Dev mode, trace mode. 12 | */ 13 | public class SettingsActivity extends PreferenceActivity { 14 | @Override 15 | protected void onCreate(Bundle savedInstanceState) { 16 | super.onCreate(savedInstanceState); 17 | setTitle(R.string.setting); 18 | getFragmentManager().beginTransaction().replace(android.R.id.content, new MyPreferenceFragment()).commit(); 19 | } 20 | 21 | @Override 22 | protected void onResume() { 23 | super.onResume(); 24 | } 25 | 26 | public static class MyPreferenceFragment extends PreferenceFragment { 27 | @Override 28 | public void onCreate(final Bundle savedInstanceState) { 29 | super.onCreate(savedInstanceState); 30 | addPreferencesFromResource(R.xml.setting); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #ff9800 4 | 5 | #000000 6 | #ffffff 7 | 8 | #ffea00 9 | #ffea00 10 | 11 | #304ffe 12 | #304ffe 13 | 14 | #4CAF50 15 | #4CAF50 16 | 17 | #E91E63 18 | #E91E63 19 | 20 | #4CAF50 21 | #4CAF50 22 | 23 | #d50000 24 | #ef5350 25 | #d50000 26 | #ef5350 27 | 28 | #673ab7 29 | 30 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 25 5 | buildToolsVersion "25.0.2" 6 | defaultConfig { 7 | applicationId "com.duy.sortalgorithm.free" 8 | minSdkVersion 14 9 | targetSdkVersion 25 10 | versionCode 4 11 | versionName "1.3" 12 | } 13 | buildTypes { 14 | release { 15 | minifyEnabled true 16 | shrinkResources true 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 18 | } 19 | debug { 20 | minifyEnabled false 21 | applicationIdSuffix ".debug" 22 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 23 | } 24 | } 25 | } 26 | 27 | dependencies { 28 | compile fileTree(dir: 'libs', include: ['*.jar']) 29 | compile 'com.android.support:appcompat-v7:25.1.1' 30 | compile 'com.android.support:design:25.1.1' 31 | compile 'com.sothree.slidinguppanel:library:3.3.1' 32 | compile 'com.android.support:cardview-v7:25.1.1' 33 | compile 'io.github.kobakei:ratethisapp:1.1.1' 34 | compile 'com.github.jorgecastilloprz:fabprogresscircle:1.01@aar' 35 | } 36 | -------------------------------------------------------------------------------- /app/src/main/java/com/duy/algorithm/customview/EditTextInputArray.java: -------------------------------------------------------------------------------- 1 | package com.duy.algorithm.customview; 2 | 3 | import android.content.Context; 4 | import android.support.v7.widget.AppCompatEditText; 5 | import android.text.InputType; 6 | import android.text.method.NumberKeyListener; 7 | import android.util.AttributeSet; 8 | 9 | /** 10 | * Created by DUy on 03-Feb-17. 11 | */ 12 | 13 | public class EditTextInputArray extends AppCompatEditText { 14 | 15 | public EditTextInputArray(Context context) { 16 | super(context); 17 | init(context); 18 | } 19 | 20 | public EditTextInputArray(Context context, AttributeSet attrs) { 21 | super(context, attrs); 22 | init(context); 23 | 24 | } 25 | 26 | public EditTextInputArray(Context context, AttributeSet attrs, int defStyleAttr) { 27 | super(context, attrs, defStyleAttr); 28 | init(context); 29 | 30 | } 31 | 32 | private void init(Context context) { 33 | setKeyListener(new NumberKeyListener() { 34 | @Override 35 | protected char[] getAcceptedChars() { 36 | return "1234567890,".toCharArray(); 37 | } 38 | 39 | @Override 40 | public int getInputType() { 41 | return InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS; 42 | } 43 | }); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /app/src/main/java/com/duy/algorithm/userinterface/ThemeEngine.java: -------------------------------------------------------------------------------- 1 | package com.duy.algorithm.userinterface; 2 | 3 | import android.content.Context; 4 | import android.content.res.Resources; 5 | 6 | import com.duy.algorithm.R; 7 | 8 | 9 | /** 10 | * Created by Duy on 3/7/2016 11 | */ 12 | public class ThemeEngine { 13 | public static final String NULL = ""; 14 | public static final int THEME_NOT_FOUND = -1; 15 | private final int mLightTheme; 16 | private final int mDarkTheme; 17 | private Resources mResources; 18 | 19 | public ThemeEngine(Context applicationContext) { 20 | this.mResources = applicationContext.getResources(); 21 | 22 | mLightTheme = R.style.AppTheme_Light_NoActionBar; 23 | mDarkTheme = R.style.AppTheme_Dark_NoActionBar; 24 | 25 | } 26 | 27 | /** 28 | * get theme from mResult 29 | * 30 | * @param name 31 | * @return 32 | */ 33 | public int getTheme(String name) { 34 | name = name.trim(); 35 | if (name.equals(NULL)) { 36 | return THEME_NOT_FOUND; 37 | } 38 | if (name.equals(mResources.getString(R.string.theme_light))) { 39 | return mLightTheme; 40 | } else if (name.equals(mResources.getString(R.string.theme_dark))) { 41 | return mDarkTheme; 42 | } 43 | return mLightTheme; 44 | } 45 | } 46 | 47 | -------------------------------------------------------------------------------- /app/src/main/res/layout/nav_header.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | 13 | 19 | 20 |