/// <summary> /// Populate the grid from installed apps /// </summary> /// <returns></returns> private async Task PopulateAsync() { // Load configuration Config config = new Config(); ConfigPersistence.LoadConfig(config); // Process apps in background var apps = await Task.Run(() => { AndroidJNI.AttachCurrentThread(); try { return(AppProcessor.ProcessApps(config)); } finally { AndroidJNI.DetachCurrentThread(); } }); // Populate the panel content await PopulatePanelContentAsync(config, apps); }
public void OnSkyboxSelected(string skyboxPath) { // Update text this.skyBoxButton.GetComponentInChildren <TextMeshProUGUI>().text = SkyboxHandler.GetSkyboxNameFromPath(skyboxPath); // Save config with new skybox selection if (!this.config.background.Equals(skyboxPath, StringComparison.OrdinalIgnoreCase)) { this.config.background = skyboxPath; ConfigPersistence.SaveConfig(this.config); } }
/// <summary> /// Populate the grid from installed apps /// </summary> /// <returns></returns> private async Task PopulateAsync(bool isRenameMode = false) { // Load configuration var config = ConfigPersistence.LoadConfig(); // Set skybox if (!isRenameMode) { this.skyboxHandler.SetSkybox(config.background); } // Process apps in background var apps = await Task.Run(() => { AndroidJNI.AttachCurrentThread(); try { return(AppProcessor.ProcessApps(config, isRenameMode)); } finally { AndroidJNI.DetachCurrentThread(); } }); // Download updates in the background if (!isRenameMode && config.autoUpdate && !GlobalState.Instance.CheckedForUpdate) { GlobalState.Instance.CheckedForUpdate = true; AssetsDownloader.DownloadAssetsAsync(config, this.downloadStatusIndicator); } // Populate the panel content if (!isRenameMode) { await PopulatePanelContentAsync(config, apps); } else { await PopulateRenamePanelContentAsync(config, apps); } }
public void OpenSettings() { Debug.Log("Open Settings"); this.panelContainer.SetActive(false); this.openSettingsButton.SetActive(false); this.closeSettingsButton.SetActive(true); this.settingsContainer.SetActive(true); // Load config ConfigPersistence.LoadConfig(this.config); // Set current cols & rows var colsSlider = this.gridCols.GetComponent <Slider>(); colsSlider.value = this.config.gridSize.cols; var colsText = this.gridColsText.GetComponent <TextMeshProUGUI>(); colsText.text = string.Format("{0} Cols", this.config.gridSize.cols); var rowsSlider = this.gridRows.GetComponent <Slider>(); rowsSlider.value = this.config.gridSize.rows; var rowsText = this.gridRowsText.GetComponent <TextMeshProUGUI>(); rowsText.text = string.Format("{0} Rows", this.config.gridSize.rows); // Set 2D toggle this.show2DToggle.GetComponent <Toggle>().SetIsOnWithoutNotify(this.config.show2D); // Set auto tab mode if (this.config.autoCategory.Equals(Config.Category_Top, StringComparison.OrdinalIgnoreCase)) { this.tabsAutoTop.isOn = true; } else if (this.config.autoCategory.Equals(Config.Category_Left, StringComparison.OrdinalIgnoreCase)) { this.tabsAutoLeft.isOn = true; } else if (this.config.autoCategory.Equals(Config.Category_Right, StringComparison.OrdinalIgnoreCase)) { this.tabsAutoRight.isOn = true; } else { this.tabsAutoOff.isOn = true; } // Set custom tab mode if (this.config.customCategory.Equals(Config.Category_Top, StringComparison.OrdinalIgnoreCase)) { this.tabsCustomTop.isOn = true; } else if (this.config.customCategory.Equals(Config.Category_Left, StringComparison.OrdinalIgnoreCase)) { this.tabsCustomLeft.isOn = true; } else if (this.config.customCategory.Equals(Config.Category_Right, StringComparison.OrdinalIgnoreCase)) { this.tabsCustomRight.isOn = true; } else { this.tabsCustomOff.isOn = true; } }
private void PersistConfig() { bool saveConfig = false; // Update grid size var cols = (int)gridCols.GetComponent <Slider>().value; var rows = (int)gridRows.GetComponent <Slider>().value; if (cols != this.config.gridSize.cols || rows != this.config.gridSize.rows) { this.config.gridSize.cols = cols; this.config.gridSize.rows = rows; saveConfig = true; } // Update 2D toggle var show2D = this.show2DToggle.GetComponent <Toggle>().isOn; if (show2D != this.config.show2D) { this.config.show2D = show2D; saveConfig = true; } // Update auto tab mode string tabAutoMode; if (this.tabsAutoTop.isOn) { tabAutoMode = Config.Category_Top; } else if (this.tabsAutoLeft.isOn) { tabAutoMode = Config.Category_Left; } else if (this.tabsAutoRight.isOn) { tabAutoMode = Config.Category_Right; } else { tabAutoMode = Config.Category_Off; } if (!this.config.autoCategory.Equals(tabAutoMode, StringComparison.OrdinalIgnoreCase)) { this.config.autoCategory = tabAutoMode; saveConfig = true; } // Update auto tab mode string tabCustomMode; if (this.tabsCustomTop.isOn) { tabCustomMode = Config.Category_Top; } else if (this.tabsCustomLeft.isOn) { tabCustomMode = Config.Category_Left; } else if (this.tabsCustomRight.isOn) { tabCustomMode = Config.Category_Right; } else { tabCustomMode = Config.Category_Off; } if (!this.config.customCategory.Equals(tabCustomMode, StringComparison.OrdinalIgnoreCase)) { this.config.customCategory = tabCustomMode; saveConfig = true; } // Persist configuration & re-populate if (saveConfig) { ConfigPersistence.SaveConfig(this.config); } // If we touched the config file or we deleted the hidden apps file, re-populate the grid if (saveConfig || deletedHiddenAppsFile) { Debug.Log("Re-populating panel"); SceneManager.LoadScene(SceneManager.GetActiveScene().name); } }
public void OpenSettings() { Debug.Log("Open Settings"); this.panelContainer.SetActive(false); this.openSettingsButton.SetActive(false); this.closeSettingsButton.SetActive(true); this.settingsContainer.SetActive(true); this.deletedHiddenAppsFile = false; this.deletedRenameFiles = false; // Load config this.config = ConfigPersistence.LoadConfig(); // Skybox callback this.skyboxHandler.OnSkyboxSelected = OnSkyboxSelected; // Set current cols & rows var colsSlider = this.gridCols.GetComponent <Slider>(); colsSlider.value = this.config.gridSize.cols; var colsText = this.gridColsText.GetComponent <TextMeshProUGUI>(); colsText.text = string.Format("{0} Cols", this.config.gridSize.cols); var rowsSlider = this.gridRows.GetComponent <Slider>(); rowsSlider.value = this.config.gridSize.rows; var rowsText = this.gridRowsText.GetComponent <TextMeshProUGUI>(); rowsText.text = string.Format("{0} Rows", this.config.gridSize.rows); // initialize sort mode InitializeSortMode(); // Set 2D toggle this.show2DToggle.GetComponent <Toggle>().SetIsOnWithoutNotify(this.config.show2D); // Set skybox button text this.skyBoxButton.GetComponentInChildren <TextMeshProUGUI>().text = SkyboxHandler.GetSkyboxNameFromPath(this.config.background); // Set auto-update toggle this.autoUpdateToggle.GetComponent <Toggle>().SetIsOnWithoutNotify(this.config.autoUpdate); // Set auto tab mode if (this.config.autoCategory.Equals(Config.Category_Top, StringComparison.OrdinalIgnoreCase)) { this.tabsAutoTop.isOn = true; } else if (this.config.autoCategory.Equals(Config.Category_Left, StringComparison.OrdinalIgnoreCase)) { this.tabsAutoLeft.isOn = true; } else if (this.config.autoCategory.Equals(Config.Category_Right, StringComparison.OrdinalIgnoreCase)) { this.tabsAutoRight.isOn = true; } else { this.tabsAutoOff.isOn = true; } // Set custom tab mode if (this.config.customCategory.Equals(Config.Category_Top, StringComparison.OrdinalIgnoreCase)) { this.tabsCustomTop.isOn = true; } else if (this.config.customCategory.Equals(Config.Category_Left, StringComparison.OrdinalIgnoreCase)) { this.tabsCustomLeft.isOn = true; } else if (this.config.customCategory.Equals(Config.Category_Right, StringComparison.OrdinalIgnoreCase)) { this.tabsCustomRight.isOn = true; } else { this.tabsCustomOff.isOn = true; } }