private void Play(BackgroundAudioPlayer player) { ReadPlaylist(); if (m_iCurrentTrack >= m_aTracks.Count) { return; } try { RscStore store = new RscStore(); string strAlbArt = "System/Theme/Current/Ico001_SoundPlayer.jpg"; if (store.FileExists("A:\\System\\Theme\\Current\\Ico001_SoundPlayer.png")) { strAlbArt = "System/Theme/Current/Ico001_SoundPlayer.png"; } string sPath = m_aTracks[m_iCurrentTrack].Path; Uri uri; if (sPath.ToLower()[0] == 'a' && sPath.ToLower()[1] == ':') { //Iso Store... uri = new Uri(sPath.Substring(3), UriKind.Relative); } else { uri = new Uri("file:///" + sPath, UriKind.Absolute); } var audioTrack = new AudioTrack(uri, m_aTracks[m_iCurrentTrack].Title, "N/A", m_aTracks[m_iCurrentTrack].Album, new Uri(strAlbArt, UriKind.Relative), m_iCurrentTrack.ToString(), EnabledPlayerControls.All); player.Track = audioTrack; } catch (Exception e) { RscStore.AddSysEvent(e); } }
public virtual string GetInfo(bool bForSysTile, string sIcoId, out Brush brBk, out Brush brFore, out double dFontSize, out string sErr, out string sNotiTitle, out string sNotiContent, out string sNotiSound, bool bCalledByAgent, object oAgentParam, out string sInfoToChngChk) { brBk = null; brFore = null; dFontSize = 0; sErr = ""; sNotiTitle = ""; sNotiContent = ""; sNotiSound = ""; sInfoToChngChk = ""; //Do not generate too many err files... //RscStore.AddSysEvent( ex, "Tile_Info_Title_Createion_Error" ); RscStore.AddSysEvent("Not implemented: GetInfo", true, "Tile_Info_Title_Createion_Error"); return("???"); }
public override string GetInfo(bool bForSysTile, string sIcoId, out Brush brBk, out Brush brFore, out double dFontSize, out string sErr, out string sNotiTitle, out string sNotiContent, out string sNotiSound, bool bCalledByAgent, object oAgentParam, out string sInfoToChngChk) { brBk = null; brFore = null; dFontSize = 0; sErr = ""; sNotiTitle = ""; sNotiContent = ""; sNotiSound = ""; sInfoToChngChk = ""; string sCnt = ""; try { switch (sIcoId) { case csTileID: { int iCount_NEW = 0; int iCount_NonAckAll = 0; int iCountAll = 0; RscStore store = new RscStore(); string sUserIDlast = store.ReadTextFile(AppLogic.csSecretsFolder + "\\" + "UserIDlast.txt", ""); if (sUserIDlast.Length > 0) { string sPath = AppLogic.csSecretsFolder + "\\" + sUserIDlast; sPath += "\\Threads"; if (store.FolderExists(sPath)) { iCount_NEW = store.ReadXmlDataFile(sPath + "\\" + "Count_NEW" + ".xml", iCount_NEW); iCount_NonAckAll = store.ReadXmlDataFile(sPath + "\\" + "Count_NonAck" + ".xml", iCount_NonAckAll); iCountAll = store.ReadXmlDataFile(sPath + "\\" + "Count" + ".xml", iCountAll); } } int iNewNow = 0; if (bForSysTile) { /* * try * { * AppLogic al = new AppLogic(); * iNew = al.ReadThreadData( ); * } * catch( Exception ) * { * iNew = -1; * } */ if (bCalledByAgent) { iNewNow = 0; if (!Int32.TryParse(oAgentParam.ToString(), out iNewNow)) { iNewNow = -400; } } } else { } string sTile; if (iNewNow < 0) { if (iNewNow == AppLogic.ciAuthFail) { sTile = "NO CONN!"; } else { sTile = "ERR: " + iNewNow.ToString(); //"ERROR!"; } } else { sTile = "new: " + iCount_NEW.ToString(); } sCnt += sTile; string sCont = "non-ack: " + iCount_NonAckAll.ToString() + " / " + iCountAll.ToString(); sCnt += "\n" + "non-ack: " + iCount_NonAckAll.ToString(); sCnt += "\n" + "all: " + iCountAll.ToString(); sInfoToChngChk = sCnt; DateTime dNow = DateTime.Now; sCnt += "\n\n" + "at: " + RscUtils.pad60(dNow.Hour) + ":" + RscUtils.pad60(dNow.Minute); if (iNewNow < 0 || iNewNow > 0 || iCount_NEW > 0) { brBk = new SolidColorBrush(Colors.Red); sNotiTitle = sTile; sNotiContent = sCont; //sNotiSound = /*"/Lib_Rsc;component/" +*/ "Media/BociBociTarka.wav"; sNotiSound = /*"/Lib_Rsc;component/" +*/ "Media/Ding.wav"; } else { if (iCount_NonAckAll > 0) { brBk = new SolidColorBrush(Colors.Orange); } else { brBk = new SolidColorBrush(Colors.Green); } } brFore = new SolidColorBrush(Colors.White); dFontSize = 11; break; } default: { sCnt = "???"; break; } } } catch (Exception e) { //Do not generate too many err files... RscStore.AddSysEvent(e, "Tile_Info_Title_Createion_Error"); sErr = e.Message + "\r\n" + e.StackTrace; sCnt = "ERR!"; } return(sCnt); }
public override string GetInfo(bool bForSysTile, string sIcoId, out Brush brBk, out Brush brFore, out double dFontSize, out string sErr, out string sNotiTitle, out string sNotiContent, out string sNotiSound, bool bCalledByAgent, object oAgentParam, out string sInfoToChngChk) { brBk = null; brFore = null; dFontSize = 0; sErr = ""; sNotiTitle = ""; sNotiContent = ""; sNotiSound = ""; sInfoToChngChk = ""; string sCnt = ""; try { switch (sIcoId) { case "sysTm": { DateTime dNow = DateTime.Now; sCnt += RscUtils.pad60(dNow.Hour) + ":" + RscUtils.pad60(dNow.Minute); if (bForSysTile) { sCnt += "\n\n(as of)"; } else { sCnt += "\n:" + RscUtils.pad60(dNow.Second); } break; } case "sysDtFull": { DateTime dNow = DateTime.Now; sCnt += dNow.Year.ToString() + ".\n" + RscUtils.pad60(dNow.Month) + "." + RscUtils.pad60(dNow.Day) + "."; break; } case "sysDtDay": { DateTime dNow = DateTime.Now; sCnt += RscUtils.pad60(dNow.Day) + ". "; switch (dNow.DayOfWeek) { case DayOfWeek.Monday: sCnt += "H"; break; case DayOfWeek.Tuesday: sCnt += "K"; break; case DayOfWeek.Wednesday: sCnt += "Sze"; break; case DayOfWeek.Thursday: sCnt += "Cs"; break; case DayOfWeek.Friday: sCnt += "P"; break; case DayOfWeek.Saturday: sCnt += "Szo"; break; case DayOfWeek.Sunday: sCnt += "V"; break; } sCnt += "\n" + RscUtils.pad60(RscUtils.WeekOfYearHU(dNow)) + ". hét"; break; } case "sysFsFree": { string sIsoStoreDrive = ""; long lFree = RscStore.AvailableFreeSpace(out sIsoStoreDrive); sCnt += RscUtils.toMBstr(lFree, true); if (sIsoStoreDrive.Length > 0) { sCnt = sIsoStoreDrive + "\n" + sCnt; } sNotiTitle = "Free Space"; sNotiContent = sCnt.Replace('\n', ' '); sInfoToChngChk = RscUtils.toMBstr(lFree, true, false, 1); break; } case "sysBatPow": { sCnt += Windows.Phone.Devices.Power.Battery.GetDefault().RemainingChargePercent.ToString() + " %"; if (Microsoft.Phone.Info.DeviceStatus.PowerSource == Microsoft.Phone.Info.PowerSource.Battery) { sCnt += ""; //"\n\nBATT"; } else { sCnt += "\n\nCHRG"; } if (Windows.Phone.Devices.Power.Battery.GetDefault().RemainingChargePercent >= 100 && Microsoft.Phone.Info.DeviceStatus.PowerSource != Microsoft.Phone.Info.PowerSource.Battery) { brBk = new SolidColorBrush(Colors.Red); brFore = new SolidColorBrush(Colors.White); sNotiTitle = "Battery Charge"; sNotiContent = sCnt.Replace('\n', ' '); //sNotiSound = /*"/Lib_Rsc;component/" +*/ "Media/BociBociTarka.wav"; sNotiSound = /*"/Lib_Rsc;component/" +*/ "Media/DingDing.wav"; } break; } case "sysCellNet": { dFontSize = 11; string sCmo = DeviceNetworkInformation.CellularMobileOperator; for (int i = 0; i < 1; i++) { int iPos = sCmo.IndexOf(' '); if (iPos < 0) { sCmo += "\n"; //if( i == 0 ) sCmo += "\n"; break; } sCmo = sCmo.Substring(0, iPos) + "\n" + sCmo.Substring(iPos + 1); } sCnt += sCmo + "\n"; if (DeviceNetworkInformation.IsCellularDataEnabled) { sCnt += "d(ata) ON"; } else { sCnt += "d(ata) OFF"; } sCnt += "\n"; if (DeviceNetworkInformation.IsCellularDataRoamingEnabled) { sCnt += "d roam ON"; } else { sCnt += "d roam OFF"; } break; } case "sysCnt_Note": { int iCount = 0; RscStore store = new RscStore(); if (store.FolderExists("A:\\Documents\\Notes")) { string[] fles = store.GetFileNames("A:\\Documents\\Notes", "*.txt"); iCount = fles.Length; } brBk = new SolidColorBrush(Color.FromArgb(255, 252, 244, 178)); brFore = new SolidColorBrush(Colors.Black); sCnt += iCount.ToString() + "\n\nnotes"; break; } case "sysCnt_Anni": { int iCntRed = 0; int iCntOrange = 0; int iCntGreen = 0; int iCntBlue = 0; int iCntGray = 0; RscStore store = new RscStore(); if (store.FolderExists("A:\\Documents\\Dates")) { string[] fles = RscSort.OrderBy(store.GetFileNames("A:\\Documents\\Dates", "*.txt")); foreach (string sFle in fles) { bool bTmp; string sDate = store.ReadTextFile("A:\\Documents\\Dates" + "\\" + sFle, "", out bTmp); if (sDate.Length == 0) { continue; } DateTime dtNow = DateTime.Now; string sYnow = dtNow.Year.ToString(); string sMnow = dtNow.Month.ToString(); int iCyc = 0; for (iCyc = 0; iCyc < 2; iCyc++) { string sY; string sM; string sD; bool bAnniver = (sDate.Substring(2, 1) == "."); if (bAnniver) { if (sDate.Length == 3) { sY = sYnow; sM = sMnow; sD = sDate.Substring(0, 2); //FIX... //sMnow = (dtNow.Month + 1).ToString(); if (dtNow.Month >= 12) { sMnow = "1"; sYnow = (dtNow.Year + 1).ToString(); } else { sMnow = (dtNow.Month + 1).ToString(); } } else { sY = sYnow; sM = sDate.Substring(0, 2); sD = sDate.Substring(3, 2); sYnow = (dtNow.Year + 1).ToString(); } } else { sY = sDate.Substring(0, 4); sM = sDate.Substring(5, 2); sD = sDate.Substring(8, 2); } int iY = 1901; Int32.TryParse(sY, out iY); //parseInt(sY); int iM = 1; Int32.TryParse(sM, out iM); //parseInt(sM); int iD = 1; Int32.TryParse(sD, out iD); //parseInt(sD); dtNow = DateTime.Now; DateTime dt1 = new DateTime(dtNow.Year, dtNow.Month, dtNow.Day); DateTime dt2 = new DateTime(iY, iM, iD); //var dDiff = dt1.getTime() - dt2.getTime(); TimeSpan tsDiff = dt1 - dt2; double dDiff = tsDiff.TotalMilliseconds; double dDiffD = Math.Floor(dDiff / (1000 * 3600 * 24)); /* * double dDiffW; * if( dDiffD < 0 ) * { * dDiffW = Math.Round((dDiffD * -1) / 7, 0) * -1; * } * else * { * dDiffW = Math.Round(dDiffD / 7, 0); * } */ if (bAnniver && (dDiffD > 7)) { continue; } /* * var sWtit = dDiffW.ToString() + * "w " + (dDiffD - (dDiffW * 7)).ToString() + "d"; */ if (bAnniver) { if ((dDiffD * dDiffD) < 10) { iCntRed++; } else { if ((dDiffD * dDiffD) < 50) { iCntOrange++; } else { if ((dDiffD * dDiffD) < 197) { iCntGreen++; } else { iCntBlue++; } } } } else { iCntGray++; } } } } int iCnt = 0; string sMsg = ""; if (iCntRed > 0) { sMsg = "+/- 3d"; iCnt = iCntRed; brBk = new SolidColorBrush(Colors.Red); brFore = new SolidColorBrush(Colors.White); } else if (iCntOrange > 0) { sMsg = "+/- 1w"; iCnt = iCntOrange; brBk = new SolidColorBrush(Colors.Orange); brFore = new SolidColorBrush(Colors.White); } else if (iCntGreen > 0) { sMsg = "2w"; iCnt = iCntGreen; brBk = new SolidColorBrush(Colors.Green); brFore = new SolidColorBrush(Colors.White); } else if (iCntBlue > 0) { sMsg = "> 2w"; iCnt = iCntBlue; brBk = new SolidColorBrush(Colors.Blue); } else //if( iCntGray > 0 ) { sMsg = "dates"; iCnt = /*iCntBlue +*/ iCntGray; //Use default... //brBk = new SolidColorBrush(Colors.Black); //brFore = new SolidColorBrush( Colors.White ); } sCnt += iCnt.ToString() + "\n\n" + sMsg; sNotiTitle = "Anniversary"; sNotiContent = sCnt.Replace('\n', ' '); break; } case "sysCnt_WebDog": { RscStore store = new RscStore(); if (store.FileExists("A:\\Documents\\WebDogUri.txt")) { DateTimeOffset dtf = store.GetFileLastWriteTime("A:\\Documents\\WebDogUri.txt"); DateTime dt = dtf.DateTime; DateTime dtNow = DateTime.Now; TimeSpan tsDiff = dtNow - dt; bool bTmp; string sUri = store.ReadTextFile("A:\\Documents\\WebDogUri.txt", "", out bTmp); if (sUri.Length > 0) { try { Uri uri = new Uri(sUri, UriKind.Absolute); string sDns = uri.DnsSafeHost; if (sDns.Length > 5) { sDns = sDns.Substring(0, 5); sDns += "..."; } sCnt += sDns; } catch (Exception) { } } sCnt += "\n"; //sCnt = RscUtils.toDurationStr( tsDiff.Duration() ); if (Math.Floor(tsDiff.TotalDays) > 0) { brBk = new SolidColorBrush(Colors.Red); brFore = new SolidColorBrush(Colors.White); sCnt += Math.Floor(tsDiff.TotalDays).ToString() + "\nday(s)"; } else if (Math.Floor(tsDiff.TotalHours) > 0) { //Use Default... //brBk = new SolidColorBrush( Colors.Black ); //brFore = new SolidColorBrush( Colors.White ); sCnt += Math.Floor(tsDiff.TotalHours).ToString() + "\nhour(s)"; } else //if( Math.Floor( tsDiff.TotalMinutes ) > 0 ) { //Use Default... //brBk = new SolidColorBrush( Colors.Black ); //brFore = new SolidColorBrush( Colors.White ); sCnt += Math.Floor(tsDiff.TotalMinutes).ToString() + "\nmin(s)"; } /* * else //if( Math.Floor( tsDiff.TotalSeconds ) > 0 ) * { * //Use Default... * //brBk = new SolidColorBrush( Colors.Black ); * //brFore = new SolidColorBrush( Colors.White ); * * sCnt += Math.Floor( tsDiff.TotalSeconds ).ToString() + "\n\nsec(s)"; * } */ } else { if (bForSysTile) { //Use Default... //brBk = new SolidColorBrush( Colors.Black ); //brFore = new SolidColorBrush( Colors.White ); } else { brBk = new SolidColorBrush(Color.FromArgb(0, 0, 0, 0)); brFore = new SolidColorBrush(Colors.Black); } } break; } case "sysCnt_Event": { int iCountErr = 0; int iCountInf = 0; RscStore store = new RscStore(); if (store.FolderExists("A:\\System\\Events")) { string[] fles = store.GetFileNames("A:\\System\\Events", "*.error"); iCountErr = fles.Length; fles = store.GetFileNames("A:\\System\\Events", "*.info"); iCountInf = fles.Length; if (iCountErr > 0) { brBk = new SolidColorBrush(Colors.Red); brFore = new SolidColorBrush(Colors.White); } else if (iCountInf > 0) { brBk = new SolidColorBrush(Colors.Blue); brFore = new SolidColorBrush(Colors.White); } else { //Use Default... //brBk = new SolidColorBrush( Colors.Black ); //brFore = new SolidColorBrush( Colors.White ); } } sCnt += iCountErr.ToString() + " err\n" /*+ "\n"*/ + iCountInf.ToString() + " inf"; break; } case "sysCnt_PerDay": { sCnt += ""; if (bForSysTile) { //Use Default... //brBk = new SolidColorBrush( Colors.Black ); //brFore = new SolidColorBrush( Colors.White ); } else { brBk = new SolidColorBrush(Color.FromArgb(0, 0, 0, 0)); brFore = new SolidColorBrush(Colors.Black); } RscStore store = new RscStore(); if (store.FolderExists("A:\\Documents\\PerDay")) { bool bTmp; string sTx = store.ReadTextFile("A:\\Documents\\PerDay\\Default.txt", "", out bTmp); if (sTx.Length > 0) { string [] aTx = sTx.Split('|'); if (aTx.Length == 5) { int iY = Int32.Parse(aTx[0]); int iM = Int32.Parse(aTx[1]); int iD = Int32.Parse(aTx[2]); DateTime dtNow = DateTime.Now; DateTime d1 = new DateTime(dtNow.Year, dtNow.Month, dtNow.Day); DateTime d2 = new DateTime(iY, iM, iD); TimeSpan ts = d2 - d1; int iDays = Math.Max(1, (int)Math.Round(ts.TotalDays, 0)); double dAmo = double.Parse(aTx[3]); if (dAmo != 0) { int iRes = (int)Math.Round(dAmo / iDays, 0); string sUnit = ""; if (aTx[4].Length > 0) { sUnit = " " + aTx[4]; } sCnt += aTx[3] + sUnit + "\n" + /*(iY % 1000).ToString()*/ aTx[0] + "." + RscUtils.pad60(iM) + "." + RscUtils.pad60(iD) + "." + "\n" + "----------" + "\n" + iRes.ToString() + sUnit + "\n" + "/ day" + " (" + Math.Max(0, (int)Math.Round(ts.TotalDays, 0)).ToString() + ")"; brBk = new SolidColorBrush(Colors.Gray); brFore = new SolidColorBrush(Colors.White); dFontSize = 11; } } } } break; } default: { sCnt = "???"; break; } } } catch (Exception e) { //Do not generate too many err files... RscStore.AddSysEvent(e, "Tile_Info_Title_Createion_Error"); sErr = e.Message + "\r\n" + e.StackTrace; sCnt = "ERR!"; } return(sCnt); }
public void DoUpdate(bool bCalledByAgent, object oAgentParam) { RscStore.AddSysEvent(DateTime.Now.ToString(), false, "ShellTiles_DoUpdate"); var tiles = ShellTile.ActiveTiles; string sDbg = ""; string sStCntFldr = RscKnownFolders.GetTempPath("ShellTiles", "Content"); foreach (ShellTile tile in tiles) { if (sDbg.Length > 0) { sDbg += "\r\n"; } sDbg += tile.NavigationUri.OriginalString; try { StandardTileData updatedData = new StandardTileData(); int iPos = tile.NavigationUri.OriginalString.IndexOf("IcoId="); if (iPos < 0) { continue; } iPos += 6; string sIcoId = tile.NavigationUri.OriginalString.Substring(iPos); iPos = tile.NavigationUri.OriginalString.IndexOf("IcoGd="); if (iPos < 0) { continue; } iPos += 6; int iPos2 = tile.NavigationUri.OriginalString.IndexOf('&', iPos); if (iPos2 < 0) { continue; } iPos2--; string sIcoGd = tile.NavigationUri.OriginalString.Substring(iPos, (iPos2 - iPos) + 1); /* * DateTime dNow = DateTime.Now; * string sTm = RscUtils.pad60(dNow.Hour) + * ":" + RscUtils.pad60(dNow.Minute); // + ":" + RscUtils.pad60(dNow.Second); * * updatedData.Title = RscUtils.pad60(dNow.Day) + ". " + sTm; */ Brush brBk = null; Brush brFore = null; double dFontSize = 0; string sErr = ""; string sNotiTitle = ""; string sNotiContent = ""; string sNotiSound = ""; string sInfoToChngChk = ""; string sInfo = GetInfo(true, sIcoId, out brBk, out brFore, out dFontSize, out sErr, out sNotiTitle, out sNotiContent, out sNotiSound, bCalledByAgent, oAgentParam, out sInfoToChngChk); if (sInfo == "") { sInfo = "\n\n(N/A)"; } if (brBk == null) { brBk = new SolidColorBrush(Color.FromArgb(255, 32, 32, 32)); //Colors.Black ); } if (brFore == null) { brFore = new SolidColorBrush(Colors.White); } if (dFontSize > 0) { dFontSize = cdFontSize - cdFontSize_SmDiff; } else { dFontSize = cdFontSize; } if (sInfoToChngChk.Length == 0) { sInfoToChngChk = sInfo; } if (sErr.Length > 0) { sDbg += "\r\nERROR: " + sErr; } RscStore store = new RscStore(); // // // string sInfoToChngChk_Old = store.ReadTextFile(sStCntFldr + "\\" + sIcoGd + ".txt", ""); if (sInfoToChngChk_Old.CompareTo(sInfoToChngChk) != 0) { if (sNotiTitle.Length > 0 && sNotiContent.Length > 0) { string sUriSnd = sNotiSound; if (sUriSnd.Length == 0) { sUriSnd = /*"/Lib_Rsc;component/" +*/ "Media/empty.mp3"; } ShellToast_Wp80U3.ShowToast(sNotiTitle, sNotiContent, new Uri(sUriSnd, UriKind.Relative)); } store.WriteTextFile(sStCntFldr + "\\" + sIcoGd + ".txt", sInfoToChngChk, true); } // // // // string sInfo_Old = store.ReadTextFile(sStCntFldr + "\\" + sIcoGd + "(full).txt", ""); if (sInfo_Old.CompareTo(sInfo) == 0) { sDbg += " " + sIcoId + "|" + sIcoGd + " (NO UPDATE, NO CHANGE)"; continue; //No change!!! } string sTileImgPath = "A:\\Shared\\ShellContent"; store.CreateFolderPath(sTileImgPath); sTileImgPath += "\\" + sIcoGd + ".jpg"; store.DeleteFile(sTileImgPath); RenderText(sInfo, sTileImgPath, brBk, brFore, dFontSize); string sImgUriFinal = "isostore:/" + sTileImgPath.Substring(3).Replace('\\', '/'); updatedData.BackgroundImage = new Uri(sImgUriFinal, UriKind.Absolute); tile.Update(updatedData); sDbg += " " + sIcoId + "|" + sIcoGd + " (Updated)"; store.WriteTextFile(sStCntFldr + "\\" + sIcoGd + "(full).txt", sInfo, true); // // // } catch (Exception e) { sDbg += "\r\nERROR: " + e.Message + "\r\n" + e.StackTrace; } } RscStore.AddSysEvent(sDbg, false, "ShellTiles_DoUpdate_List"); }