//Share my location with public
        private void PrivacyShareMyLocationPref_OnPreferenceChange(object sender, Preference.PreferenceChangeEventArgs eventArgs)
        {
            try
            {
                if (eventArgs.Handled)
                {
                    var datauser = ListUtils.MyProfileList.FirstOrDefault();
                    var etp      = (SwitchPreferenceCompat)sender;
                    var value    = eventArgs.NewValue.ToString();
                    etp.Checked = bool.Parse(value);
                    if (etp.Checked) //Yes >> value = 1
                    {
                        if (datauser != null)
                        {
                            datauser.ShareMyLocation = "1";
                            var sqLiteDatabase = new SqLiteDatabase();
                            sqLiteDatabase.Insert_Or_Update_To_MyProfileTable(datauser);
                            sqLiteDatabase.Dispose();
                        }

                        SShareMyLocationPref = "1";
                    }
                    else //No >> value = 0
                    {
                        if (datauser != null)
                        {
                            datauser.ShareMyLocation = "0";
                            var sqLiteDatabase = new SqLiteDatabase();
                            sqLiteDatabase.Insert_Or_Update_To_MyProfileTable(datauser);
                            sqLiteDatabase.Dispose();
                        }

                        SShareMyLocationPref = "0";
                    }

                    if (Methods.CheckConnectivity())
                    {
                        var dataPrivacy = new Dictionary <string, string>
                        {
                            { "share_my_location", SShareMyLocationPref }
                        };

                        PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                            () => RequestsAsync.Global.Update_User_Data(dataPrivacy)
                        });
                    }
                    else
                    {
                        Toast.MakeText(ActivityContext,
                                       ActivityContext.GetText(Resource.String.Lbl_CheckYourInternetConnection),
                                       ToastLength.Long)
                        .Show();
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        private void PrivacyCanFollowPrefOnPreferenceChange(object sender, Preference.PreferenceChangeEventArgs eventArgs)
        {
            try
            {
                if (eventArgs.Handled)
                {
                    var etp         = (ListPreference)sender;
                    var value       = eventArgs.NewValue.ToString();
                    var valueAsText = etp.GetEntries()[int.Parse(value)];

                    if (value == "0")
                    {
                        etp.Summary   = ActivityContext.GetString(Resource.String.Lbl_No_body);
                        CanFollowPref = "0";
                    }
                    else if (value == "1")
                    {
                        etp.Summary   = ActivityContext.GetString(Resource.String.Lbl_Followers);
                        CanFollowPref = "1";
                    }
                    else
                    {
                        etp.Summary   = ActivityContext.GetString(Resource.String.Lbl_Everyone);
                        CanFollowPref = "2";
                    }

                    if (Methods.CheckConnectivity())
                    {
                        var dataUser = ListUtils.MyProfileList.FirstOrDefault();
                        if (dataUser != null)
                        {
                            dataUser.PPrivacy = CanFollowPref;
                        }

                        SqLiteDatabase dbDatabase = new SqLiteDatabase();
                        dbDatabase.InsertOrUpdateToMyProfileTable(dataUser);
                        dbDatabase.Dispose();

                        var dataPrivacy = new Dictionary <string, string>
                        {
                            { "p_privacy", CanFollowPref }
                        };
                        RequestsAsync.User.SaveSettings(dataPrivacy).ConfigureAwait(false);
                    }
                    else
                    {
                        Toast.MakeText(ActivityContext, ActivityContext.GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Long).Show();
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        private void NotificationLikedMyPostPrefOnPreferenceChange(object sender, Preference.PreferenceChangeEventArgs eventArgs)
        {
            try
            {
                if (eventArgs.Handled)
                {
                    var dataUser = ListUtils.MyProfileList.FirstOrDefault();
                    var etp      = (SwitchPreferenceCompat)sender;
                    var value    = eventArgs.NewValue.ToString();
                    etp.Checked = bool.Parse(value);
                    if (etp.Checked)
                    {
                        if (dataUser != null)
                        {
                            dataUser.NOnLike = "1";
                        }
                        LikedMyPostPref = "1";
                    }
                    else
                    {
                        if (dataUser != null)
                        {
                            dataUser.NOnLike = "0";
                        }
                        LikedMyPostPref = "0";
                    }

                    if (dataUser != null)
                    {
                        dataUser.NOnLike = LikedMyPostPref;
                    }

                    SqLiteDatabase dbDatabase = new SqLiteDatabase();
                    dbDatabase.InsertOrUpdateToMyProfileTable(dataUser);
                    dbDatabase.Dispose();

                    if (Methods.CheckConnectivity())
                    {
                        var dataPrivacy = new Dictionary <string, string>
                        {
                            { "n_on_like", LikedMyPostPref }
                        };
                        RequestsAsync.User.SaveSettings(dataPrivacy).ConfigureAwait(false);
                    }
                    else
                    {
                        Toast.MakeText(ActivityContext, ActivityContext.GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Long).Show();
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
예제 #4
0
        //Confirm request when someone follows you
        private void PrivacyConfirmRequestFollowsPref_OnPreferenceChange(object sender, Preference.PreferenceChangeEventArgs eventArgs)
        {
            try
            {
                if (eventArgs.Handled)
                {
                    var dataUser = ListUtils.MyProfileList.FirstOrDefault();

                    var etp   = (SwitchPreferenceCompat)sender;
                    var value = eventArgs.NewValue.ToString();
                    etp.Checked = bool.Parse(value);
                    if (etp.Checked)
                    {
                        SConfirmRequestFollowsPref = "1";
                        if (dataUser != null)
                        {
                            dataUser.ConfirmFollowers = "1";
                            var sqLiteDatabase = new SqLiteDatabase();
                            sqLiteDatabase.Insert_Or_Update_To_MyProfileTable(dataUser);
                            sqLiteDatabase.Dispose();
                        }
                    }
                    else
                    {
                        SConfirmRequestFollowsPref = "0";
                        if (dataUser != null)
                        {
                            dataUser.ConfirmFollowers = "0";
                            var sqLiteDatabase = new SqLiteDatabase();
                            sqLiteDatabase.Insert_Or_Update_To_MyProfileTable(dataUser);
                            sqLiteDatabase.Dispose();
                        }
                    }

                    if (Methods.CheckConnectivity())
                    {
                        var dataPrivacy = new Dictionary <string, string>
                        {
                            { "confirm_followers", SConfirmRequestFollowsPref }
                        };

                        PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                            () => RequestsAsync.Global.Update_User_Data(dataPrivacy)
                        });
                    }
                    else
                    {
                        Toast.MakeText(ActivityContext,
                                       ActivityContext.GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Long)
                        .Show();
                    }
                }
            }
            catch (Exception e)
            {
                Methods.DisplayReportResultTrack(e);
            }
        }
예제 #5
0
        private void NightModeOnPreferenceChange(object sender, Preference.PreferenceChangeEventArgs eventArgs)
        {
            try
            {
                if (eventArgs.Handled)
                {
                    var etp   = (ListPreference)sender;
                    var value = eventArgs.NewValue.ToString();

                    if (value == SharedPref.LightMode)
                    {
                        //Set Light Mode
                        etp.Summary       = ActivityContext.GetString(Resource.String.Lbl_Light);
                        SNightModePref    = value;
                        NightMode.Summary = ActivityContext.GetString(Resource.String.Lbl_Light);

                        AppCompatDelegate.DefaultNightMode = AppCompatDelegate.ModeNightNo;
                        AppSettings.SetTabDarkTheme        = false;
                        SharedPref.SharedData.Edit().PutString("Night_Mode_key", SharedPref.LightMode).Commit();

                        if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
                        {
                            ActivityContext.Window.ClearFlags(WindowManagerFlags.TranslucentStatus);
                            ActivityContext.Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);
                        }

                        Intent intent = new Intent(ActivityContext, typeof(SplashScreenActivity));
                        intent.AddCategory(Intent.CategoryHome);
                        intent.SetAction(Intent.ActionMain);
                        intent.AddFlags(ActivityFlags.ClearTop | ActivityFlags.NewTask | ActivityFlags.ClearTask);
                        ActivityContext.StartActivity(intent);
                        ActivityContext.FinishAffinity();
                    }
                    else if (value == SharedPref.DarkMode)
                    {
                        //Set Dark Mode
                        etp.Summary       = ActivityContext.GetString(Resource.String.Lbl_Dark);
                        SNightModePref    = value;
                        NightMode.Summary = ActivityContext.GetString(Resource.String.Lbl_Dark);

                        AppCompatDelegate.DefaultNightMode = AppCompatDelegate.ModeNightYes;
                        AppSettings.SetTabDarkTheme        = true;
                        SharedPref.SharedData.Edit().PutString("Night_Mode_key", SharedPref.DarkMode).Commit();

                        if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
                        {
                            ActivityContext.Window.ClearFlags(WindowManagerFlags.TranslucentStatus);
                            ActivityContext.Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);
                        }

                        Intent intent = new Intent(ActivityContext, typeof(SplashScreenActivity));
                        intent.AddCategory(Intent.CategoryHome);
                        intent.SetAction(Intent.ActionMain);
                        intent.AddFlags(ActivityFlags.ClearTop | ActivityFlags.NewTask | ActivityFlags.ClearTask);
                        ActivityContext.StartActivity(intent);
                        ActivityContext.FinishAffinity();
                    }
                    else if (value == SharedPref.DefaultMode)
                    {
                        etp.Summary       = ActivityContext.GetString(Resource.String.Lbl_SetByBattery);
                        SNightModePref    = value;
                        NightMode.Summary = ActivityContext.GetString(Resource.String.Lbl_SetByBattery);

                        SharedPref.SharedData.Edit().PutString("Night_Mode_key", SharedPref.DefaultMode).Commit();

                        if ((int)Build.VERSION.SdkInt >= 29)
                        {
                            AppCompatDelegate.DefaultNightMode = AppCompatDelegate.ModeNightFollowSystem;

                            var currentNightMode = Resources.Configuration.UiMode & UiMode.NightMask;
                            switch (currentNightMode)
                            {
                            case UiMode.NightNo:
                                // Night mode is not active, we're using the light theme
                                AppSettings.SetTabDarkTheme = false;
                                break;

                            case UiMode.NightYes:
                                // Night mode is active, we're using dark theme
                                AppSettings.SetTabDarkTheme = true;
                                break;
                            }
                        }
                        else
                        {
                            AppCompatDelegate.DefaultNightMode = AppCompatDelegate.ModeNightAuto;

                            var currentNightMode = Resources.Configuration.UiMode & UiMode.NightMask;
                            switch (currentNightMode)
                            {
                            case UiMode.NightNo:
                                // Night mode is not active, we're using the light theme
                                AppSettings.SetTabDarkTheme = false;
                                break;

                            case UiMode.NightYes:
                                // Night mode is active, we're using dark theme
                                AppSettings.SetTabDarkTheme = true;
                                break;
                            }

                            if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
                            {
                                ActivityContext.Window.ClearFlags(WindowManagerFlags.TranslucentStatus);
                                ActivityContext.Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);
                            }

                            Intent intent = new Intent(ActivityContext, typeof(SplashScreenActivity));
                            intent.AddCategory(Intent.CategoryHome);
                            intent.SetAction(Intent.ActionMain);
                            intent.AddFlags(ActivityFlags.ClearTop | ActivityFlags.NewTask | ActivityFlags.ClearTask);
                            ActivityContext.StartActivity(intent);
                            ActivityContext.FinishAffinity();
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }