Example #1
0
        public void SetReminder(int hour, int min, string title, string content)
        {
            _title   = title;
            _content = content;
            var calendar    = Calendar.GetInstance(Locale.Default);
            var setCalendar = Calendar.GetInstance(Locale.Default);

            setCalendar.Set(CalendarField.HourOfDay, hour);
            setCalendar.Set(CalendarField.Minute, min);
            setCalendar.Set(CalendarField.Second, 0);
            CancelReminder();
            if (setCalendar.Before(calendar))
            {
                setCalendar.Add(CalendarField.Date, 1);
            }

            var alarmReceiver = new AlarmReceiver(title, content);

            var componentName  = new ComponentName(Application.Context, alarmReceiver.Class);
            var packageManager = Application.Context.PackageManager;

            packageManager.SetComponentEnabledSetting(componentName, ComponentEnabledState.Enabled, ComponentEnableOption.DontKillApp);

            var intent = new Intent(Application.Context, alarmReceiver.Class);

            intent.PutExtra(TitleKey, title);
            intent.PutExtra(MessageKey, content);
            var pendingIntent = PendingIntent.GetBroadcast(Application.Context, DAILY_REMINDER_REQUEST_CODE, intent,
                                                           PendingIntentFlags.UpdateCurrent);
            var alarmManager = (AlarmManager)Application.Context.GetSystemService(Context.AlarmService);

            alarmManager.SetInexactRepeating(AlarmType.RtcWakeup, setCalendar.TimeInMillis, AlarmManager.IntervalDay, pendingIntent);
        }
Example #2
0
        private void LoadAlarm()
        {
            Android.Icu.Util.Calendar calendar = Android.Icu.Util.Calendar.GetInstance(Android.Icu.Util.TimeZone.Default);
            //calendar.Set(Android.Icu.Util.CalendarField.Millisecond, DateTime.UtcNow.Millisecond);
            calendar.Set(Android.Icu.Util.CalendarField.HourOfDay, 15);
            calendar.Set(Android.Icu.Util.CalendarField.Minute, 00);

            var ms = calendar.TimeInMillis;

            Intent        intent        = new Intent(Activity, typeof(AlarmReceiver));
            PendingIntent pendingIntent = PendingIntent.GetBroadcast(Activity, 0, intent,
                                                                     PendingIntentFlags.UpdateCurrent | PendingIntentFlags.OneShot);

            SetAlarm(Activity, ms, pendingIntent);

            //SetAlarm (ms);
        }
        public void CreateKeyPair()
        {
            DeleteKey();

            KeyPairGenerator keyGenerator =
                KeyPairGenerator.GetInstance(KeyProperties.KeyAlgorithmRsa, KEYSTORE_NAME);

            if (Build.VERSION.SdkInt >= BuildVersionCodes.JellyBeanMr2 &&
                Build.VERSION.SdkInt <= BuildVersionCodes.LollipopMr1)
            {
                var calendar = Calendar.GetInstance(_context.Resources.Configuration.Locale);
                var endDate  = Calendar.GetInstance(_context.Resources.Configuration.Locale);
                endDate.Add(CalendarField.Year, 20);

                //this API is obsolete after Android M, but I am supporting Android L, so I need this
#pragma warning disable 618
                var builder = new KeyPairGeneratorSpec.Builder(_context)
#pragma warning restore 618
                              .SetAlias(_keyName).SetSerialNumber(BigInteger.One)
                              .SetSubject(new X500Principal($"CN={_keyName} CA Certificate"))
                              .SetStartDate(calendar.Time)
                              .SetEndDate(endDate.Time).SetKeySize(KeySize);

                keyGenerator.Initialize(builder.Build());
            }
            else if (Build.VERSION.SdkInt >= BuildVersionCodes.M)
            {
                var builder =
                    new KeyGenParameterSpec.Builder(_keyName, KeyStorePurpose.Encrypt | KeyStorePurpose.Decrypt)
                    .SetBlockModes(KeyProperties.BlockModeEcb)
                    .SetEncryptionPaddings(KeyProperties.EncryptionPaddingRsaPkcs1)
                    .SetRandomizedEncryptionRequired(false).SetKeySize(KeySize);

                keyGenerator.Initialize(builder.Build());
            }

            keyGenerator.GenerateKeyPair();
        }
Example #4
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            SetTheme(Android.Resource.Style.ThemeDeviceDefault);
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.TripConfirmation_1);
            ActionBar ab = ActionBar;

            ab.SetDisplayHomeAsUpEnabled(true);

            progress = new ProgressDialog(this);
            progress.Indeterminate = true;
            progress.SetProgressStyle(ProgressDialogStyle.Spinner);
            progress.SetMessage("Loading...");
            progress.SetCancelable(false);
            RunOnUiThread(() =>
            {
                progress.Show();
            });

            iMember = JsonConvert.DeserializeObject <Member>(Intent.GetStringExtra("Member"));
            iTrip   = JsonConvert.DeserializeObject <Trip>(Intent.GetStringExtra("Trip"));
            var o = iTrip.originLatLng.Split(',');
            var d = iTrip.destinationLatLng.Split(',');

            originLatLng = new LatLng(Double.Parse(o[0]), Double.Parse(o[1]));
            destLatLng   = new LatLng(Double.Parse(d[0]), Double.Parse(d[1]));

            // Lower Part
            arrCheckedDay = new bool[7];
            SetDayArrayBool(false);

            LinearLayout upperContainer = (LinearLayout)FindViewById(Resource.Id.upper_container);
            LinearLayout lowerContainer = (LinearLayout)FindViewById(Resource.Id.lower_container);
            LinearLayout seatLayout     = (LinearLayout)FindViewById(Resource.Id.availableSeat_layout);

            tvOrigin            = (TextView)FindViewById(Resource.Id.textview_origin);
            tvDestination       = (TextView)FindViewById(Resource.Id.textview_dest);
            tvArriveTime        = (TextView)FindViewById(Resource.Id.textview_arrivetime);
            tvDay               = (TextView)FindViewById(Resource.Id.textview_day);
            switchFemaleOnly    = (Switch)FindViewById(Resource.Id.switch_femaleonly);
            spinnerSeat         = (Spinner)FindViewById(Resource.Id.spinner_seat);
            tvArriveTime.Click += ShowTimeDialog;
            tvDay.Click        += ShowDayDialog;

            tvOrigin.Text      = iTrip.origin;
            tvDestination.Text = iTrip.destination;
            if (iMember.gender.Equals("Male"))
            {
                switchFemaleOnly.Enabled = false;
            }

            if (iMember.type.Equals("Driver"))
            {
                // Upper Part
                // Set available seat string array to adapter
                var adapter = ArrayAdapter.CreateFromResource(this, Resource.Array.trip_available_seat,
                                                              Resource.Layout.Custom_Spinner_Seat);
                adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
                spinnerSeat.Adapter = adapter;
            }
            else
            {
                seatLayout.Visibility           = ViewStates.Gone;
                upperContainer.LayoutParameters = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, 0, 5.0f);
                lowerContainer.LayoutParameters = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, 0, 5.0f);
            }

            Android.Icu.Util.Calendar mcurrentTime = Android.Icu.Util.Calendar.Instance;
            hour   = mcurrentTime.Get(Android.Icu.Util.Calendar.HourOfDay);
            minute = mcurrentTime.Get(Android.Icu.Util.Calendar.Minute);

            MapFragment mapFragment = (MapFragment)FragmentManager.FindFragmentById(Resource.Id.googlemap);

            mapFragment.GetMapAsync(this);

            txtviewDistance  = (TextView)FindViewById(Resource.Id.textview_distance);
            txtviewDuration  = (TextView)FindViewById(Resource.Id.textview_time);
            txtviewCost      = (TextView)FindViewById(Resource.Id.textview_cost);
            btnCreate        = (Button)FindViewById(Resource.Id.btn_tripcon_continue);
            btnCreate.Click += CreateClick;
        }