示例#1
0
        public async Task <bool> LoadSettingData()
        {
            bool isComplete = false;


            // init all static variables
            int[] tasksIndex = new int[] { 1, 3 };

            int[] maliSettings = new int[] { 3, 0, 1, 0, 0 };

            // init the Setting.xml file in local folder
            data myData    = new data();
            bool fileExist = await myData.IsFileExist();

            if (!fileExist)
            {
                bool fileSaved = await myData.InitSetting();

                while (!fileSaved)
                {
                    fileSaved = await myData.InitSetting();
                }
            }

            try
            {
                maliSettings = await myData.GetMaliSetting();

                tasksIndex = await myData.GetTasksIndex();
            }
            catch (Exception ex)
            {
                bool isFileCompleteness = await myData.CheckFileCompleteness();

                if (!isFileCompleteness)
                {
                    bool fileSaved = await myData.InitSetting();
                }
            }
            //finally
            //{
            //    //maliSettings = await myData.GetMaliSetting();
            //    //tasksIndex = await myData.GetTasksIndex();
            //}
            int chpsPerEach = maliSettings[0];
            int allPass     = maliSettings[1];
            int fontSize    = maliSettings[2];
            int toast       = maliSettings[3];
            int language    = maliSettings[4];

            if (toast == 0)
            {
                App.EnableToast = false;
            }
            else
            {
                App.EnableToast = true;
            }

            App.ChpsPerEach     = chpsPerEach;
            App.ContentFontSize = (CustomFontSize)fontSize;
            App.AllPassBible    = allPass;
            App.CurrentTasks    = tasksIndex;
            App.SystemLanguage  = language;

            myData = new data();
            // finished chapter index of last time
            string a = await myData.GetDisplayNameByIndex(tasksIndex[0] - 1);

            if (a == string.Empty)
            {
                if (App.SystemLanguage == 0)
                {
                    current.Text = "还未开始阅读!";
                }
                else if (App.SystemLanguage == 1)
                {
                    current.Text = "Not Started yet!";
                }
            }
            else if (a == "Err")
            {
                current.Text = "Oops, Error Occur!";
            }
            else
            {
                current.Text = a;
            }

            // for this time, the start chapter and stop chapter
            from.Text = await myData.GetDisplayNameByIndex(tasksIndex[0]);

            to.Text = await myData.GetDisplayNameByIndex(tasksIndex[1]);

            isComplete = true;
            return(isComplete);
        }