├── app ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ ├── strings.xml │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── layout │ │ │ │ └── activity_main.xml │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ └── drawable │ │ │ │ └── ic_launcher_background.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── shaygan │ │ │ └── datepicker │ │ │ └── MainActivity.java │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── shaygan │ │ │ └── datepicker │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── shaygan │ │ └── datepicker │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro └── build.gradle ├── datepickerpersian ├── .gitignore ├── src │ ├── main │ │ ├── assets │ │ │ └── bsans.ttf │ │ ├── AndroidManifest.xml │ │ ├── res │ │ │ ├── drawable │ │ │ │ ├── shadow_top.xml │ │ │ │ ├── dialog_rounded_bg.xml │ │ │ │ ├── selector_pickerview_btn.xml │ │ │ │ ├── ic_mult.xml │ │ │ │ └── ic_tick.xml │ │ │ ├── values │ │ │ │ ├── dimens.xml │ │ │ │ ├── attrs.xml │ │ │ │ ├── styles.xml │ │ │ │ ├── strings.xml │ │ │ │ └── colors.xml │ │ │ └── layout │ │ │ │ ├── model_day.xml │ │ │ │ ├── custom_tab_item.xml │ │ │ │ ├── item_picker.xml │ │ │ │ ├── fragment_date_picker.xml │ │ │ │ ├── layout_persian_date_picker.xml │ │ │ │ └── layout_persian_dare_range_picker.xml │ │ └── java │ │ │ └── com │ │ │ └── waspar │ │ │ └── persiandatepicker │ │ │ ├── SetCurrentItem.java │ │ │ ├── util │ │ │ ├── InitDate.java │ │ │ └── ShamsiDate.java │ │ │ ├── wheel │ │ │ ├── LoopRunnable.java │ │ │ ├── MessageHandler.java │ │ │ ├── LoopViewGestureListener.java │ │ │ ├── TimerWheel.java │ │ │ ├── WheelOptions.java │ │ │ ├── LoopTimerTask.java │ │ │ ├── WheelPickerView.java │ │ │ └── LoopView.java │ │ │ ├── adapter │ │ │ ├── TabAdapterDatePicker.java │ │ │ └── TabAdapterDateRangePicker.java │ │ │ ├── fragment │ │ │ ├── DateFragment.java │ │ │ ├── FromDateFragment.java │ │ │ └── TillDateFragment.java │ │ │ ├── PersianDatePicker.java │ │ │ └── PersianDateRangePicker.java │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── waspar │ │ │ └── persiandatepicker │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── waspar │ │ └── persiandatepicker │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro └── build.gradle ├── settings.gradle ├── capture.gif ├── .idea ├── caches │ ├── gradle_models.ser │ └── build_file_checksums.ser ├── encodings.xml ├── vcs.xml ├── runConfigurations.xml ├── gradle.xml ├── assetWizardSettings.xml ├── misc.xml └── codeStyles │ └── Project.xml ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── gradle.properties ├── gradlew.bat ├── README.md └── gradlew /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /datepickerpersian/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':datepickerpersian' 2 | -------------------------------------------------------------------------------- /capture.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Far5had70/PersianDateRangePicker/HEAD/capture.gif -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | DatePicker 3 | 4 | -------------------------------------------------------------------------------- /.idea/caches/gradle_models.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Far5had70/PersianDateRangePicker/HEAD/.idea/caches/gradle_models.ser -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Far5had70/PersianDateRangePicker/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /.idea/caches/build_file_checksums.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Far5had70/PersianDateRangePicker/HEAD/.idea/caches/build_file_checksums.ser -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Far5had70/PersianDateRangePicker/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Far5had70/PersianDateRangePicker/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Far5had70/PersianDateRangePicker/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /datepickerpersian/src/main/assets/bsans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Far5had70/PersianDateRangePicker/HEAD/datepickerpersian/src/main/assets/bsans.ttf -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Far5had70/PersianDateRangePicker/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Far5had70/PersianDateRangePicker/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Far5had70/PersianDateRangePicker/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Far5had70/PersianDateRangePicker/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Far5had70/PersianDateRangePicker/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Far5had70/PersianDateRangePicker/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /datepickerpersian/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Far5had70/PersianDateRangePicker/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/libraries 5 | /.idea/modules.xml 6 | /.idea/workspace.xml 7 | .DS_Store 8 | /build 9 | /captures 10 | .externalNativeBuild 11 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /datepickerpersian/src/main/res/drawable/shadow_top.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | -------------------------------------------------------------------------------- /datepickerpersian/src/main/java/com/waspar/persiandatepicker/SetCurrentItem.java: -------------------------------------------------------------------------------- 1 | package com.waspar.persiandatepicker; 2 | 3 | public class SetCurrentItem { 4 | public static int To = 0; 5 | public static int From = 1; 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /datepickerpersian/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Sep 22 12:58:05 IRST 2018 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-5.1.1-all.zip 7 | -------------------------------------------------------------------------------- /datepickerpersian/src/main/res/drawable/dialog_rounded_bg.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /datepickerpersian/src/main/res/drawable/selector_pickerview_btn.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /datepickerpersian/src/main/res/layout/model_day.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | -------------------------------------------------------------------------------- /datepickerpersian/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /datepickerpersian/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /datepickerpersian/src/main/res/layout/custom_tab_item.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /datepickerpersian/src/main/res/drawable/ic_mult.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/test/java/com/shaygan/datepicker/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.shaygan.datepicker; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 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() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /datepickerpersian/src/test/java/com/waspar/persiandatepicker/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.waspar.persiandatepicker; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 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() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /datepickerpersian/src/main/res/drawable/ic_tick.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /datepickerpersian/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Date Picker Persian 3 | cancel 4 | submit 5 | y 6 | m 7 | day 8 | h 9 | m 10 | s 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /datepickerpersian/src/main/java/com/waspar/persiandatepicker/util/InitDate.java: -------------------------------------------------------------------------------- 1 | package com.waspar.persiandatepicker.util; 2 | 3 | public class InitDate { 4 | 5 | public static String inputPersianDate(int Day , int Month , int Year){ 6 | 7 | String month; 8 | String day; 9 | 10 | if (Month <= 9) { 11 | month = "0" + Month; 12 | } else { 13 | month = String.valueOf(Month); 14 | } 15 | 16 | if (Day <= 9) { 17 | day = "0" + Day; 18 | } else { 19 | day = String.valueOf(Day); 20 | } 21 | return Year + "/" + month + "/" + day; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1536m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /datepickerpersian/src/main/res/layout/item_picker.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | 14 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /datepickerpersian/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /app/src/androidTest/java/com/shaygan/datepicker/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.shaygan.datepicker; 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.*; 11 | 12 | /** 13 | * Instrumented 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() { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("com.shaygan.datepicker", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /datepickerpersian/src/androidTest/java/com/waspar/persiandatepicker/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.waspar.persiandatepicker; 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.*; 11 | 12 | /** 13 | * Instrumented 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() { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("com.waspar.persiandatepicker.test", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /datepickerpersian/src/main/java/com/waspar/persiandatepicker/wheel/LoopRunnable.java: -------------------------------------------------------------------------------- 1 | // Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. 2 | // Jad home page: http://www.geocities.com/kpdus/jad.html 3 | // Decompiler options: braces fieldsfirst space lnc 4 | 5 | package com.waspar.persiandatepicker.wheel; 6 | 7 | /** 8 | * Referenced classes of package com.qingchifan.view: 9 | * LoopView, LoopListener 10 | */ 11 | public class LoopRunnable implements Runnable { 12 | 13 | public interface LoopListener { 14 | void onItemSelect(int item); 15 | } 16 | 17 | private final LoopView mLoopView; 18 | 19 | LoopRunnable(LoopView loopview) { 20 | super(); 21 | mLoopView = loopview; 22 | } 23 | 24 | public final void run() { 25 | LoopListener listener = mLoopView.loopListener; 26 | int i = LoopView.getSelectItem(mLoopView); 27 | listener.onItemSelect(i); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | 23 | -------------------------------------------------------------------------------- /datepickerpersian/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | #057dff 7 | #c2daf5 8 | #f5f5f5 9 | #000000 10 | #a8a8a8 11 | #2a2a2a 12 | #d5d5d5 13 | #60000000 14 | #1eed17 15 | #91d198 16 | #ffffff 17 | #c3ffffff 18 | #FF58AE61 19 | 20 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 27 5 | defaultConfig { 6 | applicationId "com.shaygan.datepicker" 7 | minSdkVersion 16 8 | targetSdkVersion 27 9 | versionCode 1 10 | versionName "1.0" 11 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 12 | } 13 | buildTypes { 14 | release { 15 | minifyEnabled false 16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 17 | } 18 | } 19 | } 20 | 21 | dependencies { 22 | implementation project(':datepickerpersian') 23 | implementation fileTree(dir: 'libs', include: ['*.jar']) 24 | implementation 'com.android.support:appcompat-v7:27.1.1' 25 | implementation 'com.android.support.constraint:constraint-layout:1.1.3' 26 | testImplementation 'junit:junit:4.12' 27 | androidTestImplementation 'com.android.support.test:runner:1.0.2' 28 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' 29 | } 30 | -------------------------------------------------------------------------------- /datepickerpersian/src/main/java/com/waspar/persiandatepicker/adapter/TabAdapterDatePicker.java: -------------------------------------------------------------------------------- 1 | package com.waspar.persiandatepicker.adapter; 2 | 3 | import android.support.v4.app.Fragment; 4 | import android.support.v4.app.FragmentManager; 5 | import android.support.v4.app.FragmentPagerAdapter; 6 | 7 | import com.waspar.persiandatepicker.fragment.DateFragment; 8 | import com.waspar.persiandatepicker.fragment.FromDateFragment; 9 | import com.waspar.persiandatepicker.fragment.TillDateFragment; 10 | 11 | public class TabAdapterDatePicker extends FragmentPagerAdapter { 12 | 13 | private int numOfTabs; 14 | 15 | public TabAdapterDatePicker(FragmentManager fm, int numOfTabs) { 16 | super(fm); 17 | this.numOfTabs = numOfTabs; 18 | } 19 | 20 | @Override 21 | public Fragment getItem(int position) { 22 | switch (position) { 23 | case 0: 24 | return new DateFragment(); 25 | default: 26 | return null; 27 | } 28 | } 29 | 30 | @Override 31 | public int getCount() { 32 | return numOfTabs; 33 | } 34 | } 35 | 36 | -------------------------------------------------------------------------------- /datepickerpersian/src/main/java/com/waspar/persiandatepicker/wheel/MessageHandler.java: -------------------------------------------------------------------------------- 1 | // Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. 2 | // Jad home page: http://www.geocities.com/kpdus/jad.html 3 | // Decompiler options: braces fieldsfirst space lnc 4 | 5 | package com.waspar.persiandatepicker.wheel; 6 | 7 | import android.os.Handler; 8 | import android.os.Message; 9 | 10 | /** 11 | * Referenced classes of package com.qingchifan.view: 12 | * LoopView 13 | */ 14 | public class MessageHandler extends Handler { 15 | 16 | private final LoopView a; 17 | 18 | MessageHandler(LoopView loopview) { 19 | super(); 20 | a = loopview; 21 | } 22 | 23 | public final void handleMessage(Message paramMessage) { 24 | if (paramMessage.what == 1000) 25 | this.a.invalidate(); 26 | while (true) { 27 | if (paramMessage.what == 2000) 28 | LoopView.b(a); 29 | else if (paramMessage.what == 3000) 30 | this.a.c(); 31 | super.handleMessage(paramMessage); 32 | return; 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /datepickerpersian/src/main/java/com/waspar/persiandatepicker/wheel/LoopViewGestureListener.java: -------------------------------------------------------------------------------- 1 | // Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. 2 | // Jad home page: http://www.geocities.com/kpdus/jad.html 3 | // Decompiler options: braces fieldsfirst space lnc 4 | 5 | package com.waspar.persiandatepicker.wheel; 6 | 7 | import android.view.MotionEvent; 8 | 9 | // 10 | 11 | /** 12 | * Referenced classes of package com.qingchifan.view: 13 | * LoopView 14 | */ 15 | public class LoopViewGestureListener extends android.view.GestureDetector.SimpleOnGestureListener { 16 | 17 | private final LoopView loopView; 18 | 19 | LoopViewGestureListener(LoopView loopview) { 20 | super(); 21 | loopView = loopview; 22 | } 23 | 24 | public final boolean onDown(MotionEvent motionevent) { 25 | if (loopView.timer != null) { 26 | loopView.timer.cancel(); 27 | } 28 | return true; 29 | } 30 | 31 | public final boolean onFling(MotionEvent motionevent, MotionEvent motionevent1, float f, float f1) { 32 | loopView.b(f1); 33 | return true; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /datepickerpersian/src/main/java/com/waspar/persiandatepicker/adapter/TabAdapterDateRangePicker.java: -------------------------------------------------------------------------------- 1 | package com.waspar.persiandatepicker.adapter; 2 | 3 | import android.support.v4.app.Fragment; 4 | import android.support.v4.app.FragmentManager; 5 | import android.support.v4.app.FragmentPagerAdapter; 6 | 7 | import com.waspar.persiandatepicker.fragment.FromDateFragment; 8 | import com.waspar.persiandatepicker.fragment.TillDateFragment; 9 | 10 | public class TabAdapterDateRangePicker extends FragmentPagerAdapter { 11 | 12 | private int numOfTabs; 13 | 14 | public TabAdapterDateRangePicker(FragmentManager fm, int numOfTabs) { 15 | super(fm); 16 | this.numOfTabs = numOfTabs; 17 | } 18 | 19 | @Override 20 | public Fragment getItem(int position) { 21 | switch (position) { 22 | case 0: 23 | return new TillDateFragment(); 24 | case 1: 25 | return new FromDateFragment(); 26 | default: 27 | return null; 28 | } 29 | } 30 | 31 | @Override 32 | public int getCount() { 33 | return numOfTabs; 34 | } 35 | } 36 | 37 | -------------------------------------------------------------------------------- /.idea/assetWizardSettings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 31 | 32 | -------------------------------------------------------------------------------- /datepickerpersian/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 27 5 | 6 | 7 | 8 | defaultConfig { 9 | minSdkVersion 16 10 | targetSdkVersion 27 11 | versionCode 1 12 | versionName "1.0" 13 | 14 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 15 | 16 | } 17 | 18 | buildTypes { 19 | release { 20 | minifyEnabled false 21 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 22 | } 23 | } 24 | 25 | } 26 | 27 | dependencies { 28 | implementation fileTree(dir: 'libs', include: ['*.jar']) 29 | 30 | implementation 'com.android.support:appcompat-v7:27.1.1' 31 | testImplementation 'junit:junit:4.12' 32 | androidTestImplementation 'com.android.support.test:runner:1.0.2' 33 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' 34 | implementation 'com.android.support:design:27.1.1' 35 | implementation 'com.android.support.constraint:constraint-layout:1.1.3' 36 | } 37 | 38 | //git init 39 | //git remote add origin https://github.com/xxx/yyy.git 40 | //git add . 41 | //git commit -m "first commit" 42 | //git push -u origin master 43 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 |