diff --git a/android/build.gradle b/android/build.gradle index 7d825a7..fd4b3d2 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,11 +1,11 @@ - buildscript { repositories { - jcenter() + google() + mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:1.3.1' + classpath 'com.android.tools.build:gradle:7.2.1' } } @@ -17,7 +17,7 @@ android { defaultConfig { minSdkVersion 16 - targetSdkVersion 22 + targetSdkVersion 33 versionCode 1 versionName "1.0" } @@ -31,8 +31,8 @@ repositories { } dependencies { - compile 'com.facebook.react:react-native:+' - compile 'com.github.eltohamy:material-hijri-calendarview:1.1.0@aar' - compile group: 'com.github.msarhan', name: 'ummalqura-calendar', version:'1.1.7' + implementation 'com.facebook.react:react-native:+' + implementation 'com.github.eltohamy:material-hijri-calendarview:1.1.0@aar' + implementation group: 'com.github.msarhan', name: 'ummalqura-calendar', version:'1.1.7' + implementation 'androidx.legacy:legacy-support-v4:1.0.0' } - \ No newline at end of file diff --git a/android/src/main/java/com/hijridatepicker/HijriDatePickerAndroidModule.java b/android/src/main/java/com/hijridatepicker/HijriDatePickerAndroidModule.java index e11be95..610e9a0 100644 --- a/android/src/main/java/com/hijridatepicker/HijriDatePickerAndroidModule.java +++ b/android/src/main/java/com/hijridatepicker/HijriDatePickerAndroidModule.java @@ -3,12 +3,15 @@ import android.app.Activity; import android.app.DatePickerDialog; -import android.app.DialogFragment; -import android.app.FragmentManager; + import android.content.DialogInterface; import android.os.Bundle; -import android.support.annotation.Nullable; + +import androidx.annotation.Nullable; import android.widget.DatePicker; +import androidx.fragment.app.FragmentActivity; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.DialogFragment; import com.facebook.react.bridge.Promise; import com.facebook.react.bridge.ReactApplicationContext; @@ -112,9 +115,9 @@ public void open(@Nullable final ReadableMap options, Promise promise) { } // We want to support both android.app.Activity and the pre-Honeycomb FragmentActivity // (for apps that use it for legacy reasons). This unfortunately leads to some code duplication. - if (activity instanceof android.support.v4.app.FragmentActivity) { - android.support.v4.app.FragmentManager fragmentManager = ((android.support.v4.app.FragmentActivity) activity).getSupportFragmentManager(); - android.support.v4.app.DialogFragment oldFragment = (android.support.v4.app.DialogFragment) fragmentManager.findFragmentByTag(FRAGMENT_TAG); + if (activity instanceof FragmentActivity) { + FragmentManager fragmentManager = ((FragmentActivity) activity).getSupportFragmentManager(); + DialogFragment oldFragment = (DialogFragment) fragmentManager.findFragmentByTag(FRAGMENT_TAG); if (oldFragment != null) { oldFragment.dismiss(); } @@ -131,7 +134,8 @@ public void open(@Nullable final ReadableMap options, Promise promise) { fragment.setOnExceptionListener(listener); fragment.show(fragmentManager, FRAGMENT_TAG); } else { - FragmentManager fragmentManager = activity.getFragmentManager(); + FragmentActivity fragmentActivity = (FragmentActivity) activity; + FragmentManager fragmentManager = fragmentActivity.getSupportFragmentManager(); DialogFragment oldFragment = (DialogFragment) fragmentManager.findFragmentByTag(FRAGMENT_TAG); if (oldFragment != null) { oldFragment.dismiss(); @@ -147,7 +151,7 @@ public void open(@Nullable final ReadableMap options, Promise promise) { fragment.setOnDismissListener(listener); fragment.setOnDateSetListener(listener); fragment.setOnExceptionListener(listener); - fragment.show(fragmentManager, FRAGMENT_TAG); + fragment.show(activity.getFragmentManager(), FRAGMENT_TAG); } } catch (Exception e) { promise.reject(ERROR_OPEN, "Exception happened while executing open method, details: " + e.getMessage()); diff --git a/android/src/main/java/com/hijridatepicker/HijriDatePickerDialogFragment.java b/android/src/main/java/com/hijridatepicker/HijriDatePickerDialogFragment.java index e86cf4a..ccd5583 100644 --- a/android/src/main/java/com/hijridatepicker/HijriDatePickerDialogFragment.java +++ b/android/src/main/java/com/hijridatepicker/HijriDatePickerDialogFragment.java @@ -6,8 +6,9 @@ import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.content.ContextCompat; +import androidx.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.core.content.ContextCompat; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -23,8 +24,6 @@ import java.util.Calendar; import java.util.Locale; -import javax.annotation.Nullable; - /** * Created by Mohamed Habib on 16/10/2016. */ @@ -195,4 +194,3 @@ public enum HijriDatePickerMode { } - diff --git a/android/src/main/java/com/hijridatepicker/HijriDialogViewManagerPackage.java b/android/src/main/java/com/hijridatepicker/HijriDialogViewManagerPackage.java index 40191ed..6de2765 100644 --- a/android/src/main/java/com/hijridatepicker/HijriDialogViewManagerPackage.java +++ b/android/src/main/java/com/hijridatepicker/HijriDialogViewManagerPackage.java @@ -1,6 +1,5 @@ package com.hijridatepicker; - import com.facebook.react.ReactPackage; import com.facebook.react.bridge.JavaScriptModule; import com.facebook.react.bridge.NativeModule; diff --git a/android/src/main/java/com/hijridatepicker/SupportHijriDatePickerDialogFragment.java b/android/src/main/java/com/hijridatepicker/SupportHijriDatePickerDialogFragment.java index 6cc0d35..7f3a905 100644 --- a/android/src/main/java/com/hijridatepicker/SupportHijriDatePickerDialogFragment.java +++ b/android/src/main/java/com/hijridatepicker/SupportHijriDatePickerDialogFragment.java @@ -4,8 +4,9 @@ import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.DialogFragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -15,8 +16,6 @@ import com.github.eltohamy.materialhijricalendarview.MaterialHijriCalendarView; import com.github.eltohamy.materialhijricalendarview.OnDateSelectedListener; -import javax.annotation.Nullable; - import static com.hijridatepicker.HijriDatePickerDialogFragment.customizeHijriCalendarView; /** @@ -98,4 +97,3 @@ void setOnDismissListener(@Nullable DialogInterface.OnDismissListener onDismissL mOnDismissListener = onDismissListener; } } -