Android DatePickerDialog: how to set min and max date?

Hi!

I want to use a date picker on the app and I figured I could just use the native Date Picker that Android provides.

So I google how to show the date picker and in the docs it has an example (Unity - Scripting API: AndroidJavaProxy)!
Great!
However, I want the date picker to only go back as far as 7 years and go up to this current date.

I tried modifying the code in the docs and came up with this:

TimeSpan span = selectedDate - minDate;
    var activity = new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic<AndroidJavaObject>("currentActivity");
    		activity.Call("runOnUiThread", new AndroidJavaRunnable(() =>
    		                                                       {
    			AndroidJavaObject datePickerDialog = new AndroidJavaObject("android.app.DatePickerDialog", activity, new DateCallback(), selectedDate.Year, selectedDate.Month-1, selectedDate.Day);
    			AndroidJavaObject datePicker = datePickerDialog.Call<AndroidJavaObject>("getDatePicker");
    			datePicker.Call("setMinDate", span);
    			datePickerDialog.Call("show");
    		}));

however when I trigger this code, nothing happens (I’m building the apk file and loading it straight to the phone, so I don’t see any error messages or anything. Heck, I don’t even know how to build it so that I can!)

How should I go about this?

I apologize for my English. I will write via https://translate.google.ru.

The topic is probably not relevant, but still write a solution. Can someone come in handy)

Method selected date ClickPickDate:

public void ClickPickDate(){
  //
		var unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
		var activity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
        //
        long maxDate = 0;
        long minDate = 0;

		// set min date
		DateTime dateMin = new DateTime(2010, 1, 1, 0, 0, 0, DateTimeKind.Utc);
		minDate = TimeUtils.totalMilliseconds(dateMin); // convert date to mills long
		// set max date
		DateTime dateMax = new DateTime(2018, 1, 1, 0, 0, 0, DateTimeKind.Utc);
		maxDate = TimeUtils.totalMilliseconds(dateMax); // convert date to mills long

        activity.Call("runOnUiThread", new AndroidJavaRunnable(() =>
			{
                AndroidJavaObject datePickerDialog = new AndroidJavaObject("android.app.DatePickerDialog", activity, new DateCallback(), selectedDate.Year, selectedDate.Month - 1, selectedDate.Day);
				AndroidJavaObject datePicker = datePickerDialog.Call<AndroidJavaObject>("getDatePicker");
    			datePicker.Call("setMaxDate", maxDate);
				datePicker.Call("setMinDate", minDate);
				datePickerDialog.Call("show");
			}));
}

Class TimeUtils:

public class TimeUtils {
		private static readonly DateTime Jan1st1970 = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);

		//
		public static long totalMilliseconds(DateTime _date){
			return (long)(_date - Jan1st1970).TotalMilliseconds;
		} 
	}