private void InitComponent()
        {
            try
            {
                MainSettings.SharedData = PreferenceManager.SharedPreferences;
                PreferenceManager.SharedPreferences.RegisterOnSharedPreferenceChangeListener(this);

                NotificationLikedMyPostPref     = (SwitchPreferenceCompat)FindPreference("LikedMyPost_key");
                NotificationCommentedMyPostPref = (SwitchPreferenceCompat)FindPreference("CommentedMyPost_key");
                NotificationFollowedMePref      = (SwitchPreferenceCompat)FindPreference("FollowedMe_key");
                NotificationMentionedMePref     = (SwitchPreferenceCompat)FindPreference("MentionedMe_key");

                NotificationLikedMyPostPref.IconSpaceReserved     = false;
                NotificationCommentedMyPostPref.IconSpaceReserved = false;
                NotificationFollowedMePref.IconSpaceReserved      = false;
                NotificationMentionedMePref.IconSpaceReserved     = false;

                //Update Preferences data on Load
                OnSharedPreferenceChanged(MainSettings.SharedData, "LikedMyPost_key");
                OnSharedPreferenceChanged(MainSettings.SharedData, "CommentedMyPost_key");
                OnSharedPreferenceChanged(MainSettings.SharedData, "FollowedMe_key");
                OnSharedPreferenceChanged(MainSettings.SharedData, "MentionedMe_key");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Esempio n. 2
0
        private void InitComponent()
        {
            try
            {
                MainSettings.SharedData = PreferenceManager.SharedPreferences;
                PreferenceManager.SharedPreferences.RegisterOnSharedPreferenceChangeListener(this);

                NotifcationPopupPref     = (SwitchPreferenceCompat)FindPreference("notifications_key");
                NotifcationPlaySoundPref = (CheckBoxPreference)FindPreference("checkBox_PlaySound_key");

                //Update Preferences data on Load
                OnSharedPreferenceChanged(MainSettings.SharedData, "notifications_key");

                NotifcationPopupPref.IconSpaceReserved = false;
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        private void InitComponent()
        {
            try
            {
                MainSettings.SharedData = PreferenceManager.SharedPreferences;
                PreferenceManager.SharedPreferences.RegisterOnSharedPreferenceChangeListener(this);

                PrivacyCanFollowPref             = FindPreference("whocanfollow_key");
                PrivacyCanMessagePref            = FindPreference("whocanMessage_key");
                PrivacyCanSeeMyFriendsPref       = FindPreference("whoCanSeeMyfriends_key");
                PrivacyCanPostOnMyTimelinePref   = FindPreference("whoCanPostOnMyTimeline_key");
                PrivacyCanSeeMyBirthdayPref      = FindPreference("whoCanSeeMyBirthday_key");
                PrivacyConfirmRequestFollowsPref = (SwitchPreferenceCompat)FindPreference("ConfirmRequestFollows_key");
                PrivacyShowMyActivitiesPref      = (SwitchPreferenceCompat)FindPreference("ShowMyActivities_key");
                PrivacyOnlineUserPref            = (SwitchPreferenceCompat)FindPreference("onlineUser_key");
                PrivacyShareMyLocationPref       = (SwitchPreferenceCompat)FindPreference("ShareMyLocation_key");

                //Update Preferences data on Load
                OnSharedPreferenceChanged(MainSettings.SharedData, "whocanfollow_key");
                OnSharedPreferenceChanged(MainSettings.SharedData, "whocanMessage_key");
                OnSharedPreferenceChanged(MainSettings.SharedData, "whoCanSeeMyfriends_key");
                OnSharedPreferenceChanged(MainSettings.SharedData, "whoCanPostOnMyTimeline_key");
                OnSharedPreferenceChanged(MainSettings.SharedData, "whoCanSeeMyBirthday_key");
                OnSharedPreferenceChanged(MainSettings.SharedData, "ConfirmRequestFollows_key");
                OnSharedPreferenceChanged(MainSettings.SharedData, "ShowMyActivities_key");
                OnSharedPreferenceChanged(MainSettings.SharedData, "onlineUser_key");
                OnSharedPreferenceChanged(MainSettings.SharedData, "ShareMyLocation_key");

                PrivacyConfirmRequestFollowsPref.IconSpaceReserved = false;
                PrivacyShowMyActivitiesPref.IconSpaceReserved      = false;
                PrivacyShareMyLocationPref.IconSpaceReserved       = false;
                PrivacyOnlineUserPref.IconSpaceReserved            = false;
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        //ChatHeads
        private void ChatHeadsPrefOnPreferenceChange(object sender, Preference.PreferenceChangeEventArgs e)
        {
            try
            {
                if (e.Handled)
                {
                    SwitchPreferenceCompat etp = (SwitchPreferenceCompat)sender;
                    var value = e.NewValue.ToString();
                    etp.Checked          = bool.Parse(value);
                    UserDetails.ChatHead = etp.Checked;

                    if (UserDetails.ChatHead && !InitFloating.CanDrawOverlays(ActivityContext))
                    {
                        Intent intent = new Intent(Settings.ActionManageOverlayPermission, Uri.Parse("package:" + Application.Context.PackageName));
                        ActivityContext.StartActivityForResult(intent, InitFloating.ChatHeadDataRequestCode);
                    }
                }
            }
            catch (Exception exception)
            {
                Methods.DisplayReportResultTrack(exception);
            }
        }
        private void InitComponent()
        {
            try
            {
                MainSettings.SharedData = PreferenceManager.SharedPreferences;
                PreferenceManager.SharedPreferences.RegisterOnSharedPreferenceChangeListener(this);

                NotifcationPopupPref     = (SwitchPreferenceCompat)FindPreference("notifications_key");
                NotifcationPlaySoundPref = (CheckBoxPreference)FindPreference("checkBox_PlaySound_key");
                ChatHeadsPref            = (SwitchPreferenceCompat)FindPreference("chatheads_key");

                //Update Preferences data on Load
                OnSharedPreferenceChanged(MainSettings.SharedData, "notifications_key");
                OnSharedPreferenceChanged(MainSettings.SharedData, "chatheads_key");

                NotifcationPopupPref.IconSpaceReserved = false;
                ChatHeadsPref.IconSpaceReserved        = false;
            }
            catch (Exception e)
            {
                Methods.DisplayReportResultTrack(e);
            }
        }
Esempio n. 6
0
        //General >> PictureInPicture
        private void PictureInPicturePerfOnPreferenceChange(object sender, Preference.PreferenceChangeEventArgs e)
        {
            try
            {
                if (e.Handled)
                {
                    SwitchPreferenceCompat etp = (SwitchPreferenceCompat)sender;
                    var value = e.NewValue.ToString();
                    etp.Checked              = Boolean.Parse(value);
                    SPictureInPicture        = etp.Checked;
                    UserDetails.PipIsChecked = etp.Checked;

                    if (!AppTools.CheckPictureInPictureAllowed(ActivityContext) && SPictureInPicture)
                    {
                        var intent = new Intent("android.settings.PICTURE_IN_PICTURE_SETTINGS", Android.Net.Uri.Parse("package:" + ActivityContext.PackageName));
                        ActivityContext.StartActivityForResult(intent, 8520);
                    }
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
Esempio n. 7
0
            public override void OnCreatePreferences(Bundle savedInstanceState, string rootKey)
            {
                SetPreferencesFromResource(Resource.Xml.pref_general, null);
                HasOptionsMenu = false;

                notCategory = (PreferenceCategory)FindPreference(CATEGORY_NOTIFICATION);
                apiCategory = (PreferenceCategory)FindPreference(CATEGORY_API);

                FindPreference(KEY_ABOUTAPP).PreferenceClick += (object sender, Preference.PreferenceClickEventArgs e) =>
                {
                    // Display the fragment as the main content.
                    FragmentManager.BeginTransaction()
                    .Replace(Android.Resource.Id.Content, new AboutAppFragment())
                    .AddToBackStack(null)
                    .Commit();
                };

                followGps = (SwitchPreferenceCompat)FindPreference(KEY_FOLLOWGPS);
                followGps.PreferenceChange += (object sender, Preference.PreferenceChangeEventArgs e) =>
                {
                    var pref = e.Preference as SwitchPreferenceCompat;
                    if ((bool)e.NewValue)
                    {
                        if (ContextCompat.CheckSelfPermission(Activity, Manifest.Permission.AccessFineLocation) != Permission.Granted &&
                            ContextCompat.CheckSelfPermission(Activity, Manifest.Permission.AccessCoarseLocation) != Permission.Granted)
                        {
                            ActivityCompat.RequestPermissions(this.Activity, new String[] { Manifest.Permission.AccessCoarseLocation, Manifest.Permission.AccessFineLocation },
                                                              PERMISSION_LOCATION_REQUEST_CODE);
                            return;
                        }
                        else
                        {
                            // Reset home location data
                            //Settings.SaveLastGPSLocData(new WeatherData.LocationData());
                        }
                    }
                };

                keyEntry        = (EditTextPreference)FindPreference(KEY_APIKEY);
                personalKeyPref = (SwitchPreferenceCompat)FindPreference(KEY_USEPERSONALKEY);
                personalKeyPref.PreferenceChange += (object sender, Preference.PreferenceChangeEventArgs e) =>
                {
                    var pref = e.Preference as SwitchPreferenceCompat;
                    if ((bool)e.NewValue)
                    {
                        if (apiCategory.FindPreference(KEY_APIKEY) == null)
                        {
                            apiCategory.AddPreference(keyEntry);
                        }
                        if (apiCategory.FindPreference(KEY_APIREGISTER) == null)
                        {
                            apiCategory.AddPreference(registerPref);
                        }
                        keyEntry.Enabled = true;
                    }
                    else
                    {
                        var selectedWProv = WeatherData.WeatherManager.GetProvider(providerPref.Value);

                        if (!String.IsNullOrWhiteSpace(selectedWProv.GetAPIKey()))
                        {
                            // We're using our own (verified) keys
                            Settings.KeyVerified = true;
                            Settings.API         = providerPref.Value;
                        }

                        keyEntry.Enabled = false;
                        apiCategory.RemovePreference(keyEntry);
                        apiCategory.RemovePreference(registerPref);
                    }
                };

                var providers = WeatherData.WeatherAPI.APIs;

                providerPref = (DropDownPreference)FindPreference(KEY_API);
                providerPref.SetEntries(providers.Select(provider => provider.Display).ToArray());
                providerPref.SetEntryValues(providers.Select(provider => provider.Value).ToArray());
                providerPref.Persistent        = false;
                providerPref.PreferenceChange += (object sender, Preference.PreferenceChangeEventArgs e) =>
                {
                    var pref          = e.Preference as ListPreference;
                    var selectedWProv = WeatherData.WeatherManager.GetProvider(e.NewValue.ToString());

                    if (selectedWProv.KeyRequired)
                    {
                        if (String.IsNullOrWhiteSpace(selectedWProv.GetAPIKey()))
                        {
                            personalKeyPref.Checked = Settings.UsePersonalKey = true;
                            personalKeyPref.Enabled = false;
                            keyEntry.Enabled        = false;
                            apiCategory.RemovePreference(keyEntry);
                            apiCategory.RemovePreference(registerPref);
                        }
                        else
                        {
                            personalKeyPref.Enabled = true;
                        }

                        if (!Settings.UsePersonalKey)
                        {
                            // We're using our own (verified) keys
                            Settings.KeyVerified = true;
                            keyEntry.Enabled     = false;
                            apiCategory.RemovePreference(keyEntry);
                            apiCategory.RemovePreference(registerPref);
                        }
                        else
                        {
                            keyEntry.Enabled = true;

                            if (apiCategory.FindPreference(KEY_APIKEY) == null)
                            {
                                apiCategory.AddPreference(keyEntry);
                            }
                            if (apiCategory.FindPreference(KEY_APIREGISTER) == null)
                            {
                                apiCategory.AddPreference(registerPref);
                            }
                        }

                        if (apiCategory.FindPreference(KEY_USEPERSONALKEY) == null)
                        {
                            apiCategory.AddPreference(personalKeyPref);
                        }

                        // Reset to old value if not verified
                        if (!Settings.KeyVerified)
                        {
                            Settings.API = pref.Value;
                        }
                        else
                        {
                            Settings.API = e.NewValue.ToString();
                        }

                        var providerEntry = providers.Find(provider => provider.Value == e.NewValue.ToString());
                        UpdateKeySummary(providerEntry.Display);
                        UpdateRegisterLink(providerEntry.Value);
                    }
                    else
                    {
                        Settings.KeyVerified    = false;
                        keyEntry.Enabled        = false;
                        personalKeyPref.Enabled = false;

                        Settings.API = e.NewValue.ToString();
                        // Clear API KEY entry to avoid issues
                        Settings.API_KEY = String.Empty;

                        apiCategory.RemovePreference(personalKeyPref);
                        apiCategory.RemovePreference(keyEntry);
                        apiCategory.RemovePreference(registerPref);
                        UpdateKeySummary();
                        UpdateRegisterLink();
                    }

                    UpdateAlertPreference(WeatherData.WeatherManager.GetInstance().SupportsAlerts);
                };

                registerPref = FindPreference(KEY_APIREGISTER);

                // Set key as verified if API Key is req for API and its set
                if (WeatherData.WeatherManager.GetInstance().KeyRequired)
                {
                    keyEntry.Enabled = true;

                    if (!String.IsNullOrWhiteSpace(Settings.API_KEY) && !Settings.KeyVerified)
                    {
                        Settings.KeyVerified = true;
                    }

                    if (String.IsNullOrWhiteSpace(WeatherData.WeatherManager.GetInstance().GetAPIKey()))
                    {
                        personalKeyPref.Checked = Settings.UsePersonalKey = true;
                        personalKeyPref.Enabled = false;
                        keyEntry.Enabled        = false;
                        apiCategory.RemovePreference(keyEntry);
                        apiCategory.RemovePreference(registerPref);
                    }
                    else
                    {
                        personalKeyPref.Enabled = true;
                    }

                    if (!Settings.UsePersonalKey)
                    {
                        // We're using our own (verified) keys
                        Settings.KeyVerified = true;
                        keyEntry.Enabled     = false;
                        apiCategory.RemovePreference(keyEntry);
                        apiCategory.RemovePreference(registerPref);
                    }
                    else
                    {
                        keyEntry.Enabled = true;

                        if (apiCategory.FindPreference(KEY_APIKEY) == null)
                        {
                            apiCategory.AddPreference(keyEntry);
                        }
                        if (apiCategory.FindPreference(KEY_APIREGISTER) == null)
                        {
                            apiCategory.AddPreference(registerPref);
                        }
                    }
                }
                else
                {
                    keyEntry.Enabled        = false;
                    personalKeyPref.Enabled = false;
                    apiCategory.RemovePreference(personalKeyPref);
                    apiCategory.RemovePreference(keyEntry);
                    apiCategory.RemovePreference(registerPref);
                    Settings.KeyVerified = false;
                }

                UpdateKeySummary();
                UpdateRegisterLink();

                onGoingNotification = (SwitchPreferenceCompat)FindPreference(KEY_ONGOINGNOTIFICATION);
                onGoingNotification.PreferenceChange += (object sender, Preference.PreferenceChangeEventArgs e) =>
                {
                    var pref    = e.Preference as SwitchPreferenceCompat;
                    var context = App.Context;

                    // On-going notification
                    if ((bool)e.NewValue)
                    {
                        WeatherWidgetService.EnqueueWork(context, new Intent(context, typeof(WeatherWidgetService))
                                                         .SetAction(WeatherWidgetService.ACTION_REFRESHNOTIFICATION));

                        if (notCategory.FindPreference(KEY_NOTIFICATIONICON) == null)
                        {
                            notCategory.AddPreference(notificationIcon);
                        }
                    }
                    else
                    {
                        WeatherWidgetService.EnqueueWork(context, new Intent(context, typeof(WeatherWidgetService))
                                                         .SetAction(WeatherWidgetService.ACTION_REMOVENOTIFICATION));

                        notCategory.RemovePreference(notificationIcon);
                    }
                };

                notificationIcon = (DropDownPreference)FindPreference(KEY_NOTIFICATIONICON);
                notificationIcon.PreferenceChange += (object sender, Preference.PreferenceChangeEventArgs e) =>
                {
                    var context = App.Context;
                    WeatherWidgetService.EnqueueWork(context, new Intent(context, typeof(WeatherWidgetService))
                                                     .SetAction(WeatherWidgetService.ACTION_REFRESHNOTIFICATION));
                };

                // Remove preferences
                if (!onGoingNotification.Checked)
                {
                    notCategory.RemovePreference(notificationIcon);
                }

                alertNotification = (SwitchPreferenceCompat)FindPreference(KEY_USEALERTS);
                alertNotification.PreferenceChange += (object sender, Preference.PreferenceChangeEventArgs e) =>
                {
                    var pref    = e.Preference as SwitchPreferenceCompat;
                    var context = App.Context;

                    // Alert notification
                    if ((bool)e.NewValue)
                    {
                        WeatherWidgetService.EnqueueWork(context, new Intent(context, typeof(WeatherWidgetService))
                                                         .SetAction(WeatherWidgetService.ACTION_STARTALARM));
                    }
                    else
                    {
                        WeatherWidgetService.EnqueueWork(context, new Intent(context, typeof(WeatherWidgetService))
                                                         .SetAction(WeatherWidgetService.ACTION_CANCELALARM));
                    }
                };
                UpdateAlertPreference(WeatherData.WeatherManager.GetInstance().SupportsAlerts);
            }
Esempio n. 8
0
        public override void OnCreatePreferences(Bundle savedInstanceState, string rootKey)
        {
            try
            {
                AddPreferencesFromResource(Resource.Xml.SettingsPrefs);

                MainSettings.SharedData = PreferenceManager.SharedPreferences;

                EditChannel        = FindPreference("editChannal_key");
                EditPassword       = FindPreference("editPassword_key");
                Monetization       = FindPreference("monetization_key");
                Verification       = FindPreference("verification_key");
                GoPro              = FindPreference("goPro_key");
                TwoFactorPref      = FindPreference("Twofactor_key");
                ManageSessionsPref = FindPreference("ManageSessions_key");
                BlockedUsersPref   = FindPreference("blocked_key");

                PictureInPicturePerf = (SwitchPreferenceCompat)FindPreference("picture_in_picture_key");

                ClaerHistory = FindPreference("ClaerHistory_key");

                ClearCache = FindPreference("Clear_Cache_key");
                //Lang = (ListPreference)FindPreference("Lang_key");
                NightMode     = FindPreference("Night_Mode_key");
                Help          = FindPreference("help_key");
                Termsofuse    = FindPreference("Termsofuse_key");
                About         = FindPreference("About_key");
                DeleteAccount = FindPreference("deleteaccount_key");
                Logout        = FindPreference("logout_key");

                OnSharedPreferenceChanged(MainSettings.SharedData, "Night_Mode_key");

                //Delete Preference
                //============== Account_Profile_key ===================
                var mCategoryAccount = (PreferenceCategory)FindPreference("Account_Profile_key");

                if (!AppSettings.ShowMonetization)
                {
                    mCategoryAccount.RemovePreference(Monetization);
                }

                var isPro = ListUtils.MyChannelList.FirstOrDefault()?.IsPro ?? "0";
                if (!AppSettings.ShowGoPro || isPro != "0")
                {
                    mCategoryAccount.RemovePreference(GoPro);
                }

                if (!AppSettings.ShowVerification)
                {
                    mCategoryAccount.RemovePreference(Verification);
                }

                if (!AppSettings.ShowBlockedUsers)
                {
                    mCategoryAccount.RemovePreference(BlockedUsersPref);
                }

                //============== SecurityAccount_key ===================
                var mCategorySecurity = (PreferenceCategory)FindPreference("SecurityAccount_key");
                if (!AppSettings.ShowEditPassword)
                {
                    mCategorySecurity.RemovePreference(EditPassword);
                }

                if (!AppSettings.ShowSettingsTwoFactor)
                {
                    mCategorySecurity.RemovePreference(TwoFactorPref);
                }

                if (!AppSettings.ShowSettingsManageSessions)
                {
                    mCategorySecurity.RemovePreference(ManageSessionsPref);
                }

                //============== CategoryGeneral_key ===================
                PreferenceCategory mCategoryGeneral = (PreferenceCategory)FindPreference("CategoryGeneral_key");
                if ((int)Build.VERSION.SdkInt <= 23)
                {
                    mCategoryGeneral.RemovePreference(PictureInPicturePerf);
                }

                //============== History_Privacy_key ===================
                PreferenceCategory mHistoryPrivacy = (PreferenceCategory)FindPreference("History_Privacy_key");

                if (!AppSettings.ShowClearHistory)
                {
                    mHistoryPrivacy.RemovePreference(ClaerHistory);
                }

                if (!AppSettings.ShowClearCache)
                {
                    mHistoryPrivacy.RemovePreference(ClearCache);
                }

                //============== Support_key ===================
                PreferenceCategory mCategorySupport = (PreferenceCategory)FindPreference("Support_key");

                if (!AppSettings.ShowHelp)
                {
                    mCategorySupport.RemovePreference(Help);
                }

                if (!AppSettings.ShowTermsOfUse)
                {
                    mCategorySupport.RemovePreference(Termsofuse);
                }

                if (!AppSettings.ShowAbout)
                {
                    mCategorySupport.RemovePreference(About);
                }

                if (!AppSettings.ShowDeleteAccount)
                {
                    mCategorySupport.RemovePreference(DeleteAccount);
                }

                NightMode.IconSpaceReserved            = false;
                PictureInPicturePerf.IconSpaceReserved = false;

                PictureInPicturePerf.Checked = UserDetails.PipIsChecked;
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }