From: <hor...@us...> - 2012-01-12 23:52:20
|
Revision: 4403 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=4403&view=rev Author: horned-reaper Date: 2012-01-12 23:52:12 +0000 (Thu, 12 Jan 2012) Log Message: ----------- Modified Paths: -------------- trunk/plugins/FritzBox/Build/Build.log trunk/plugins/FritzBox/Docs/Ausstehend.txt trunk/plugins/FritzBox/FritzBox/FritzBox.cs trunk/plugins/FritzBox/FritzBox/FritzBoxConfig.Designer.cs trunk/plugins/FritzBox/FritzBox/FritzBoxConfig.cs trunk/plugins/FritzBox/FritzBox/FritzManager/PhoneBook.cs trunk/plugins/FritzBox/FritzBox/bin/Release/FritzBox.dll trunk/plugins/FritzBox/FritzBox/bin/Release/FritzBox.pdb trunk/plugins/FritzBox/FritzBox/obj/Debug/FritzBox.dll trunk/plugins/FritzBox/FritzBox/obj/Debug/FritzBox.pdb trunk/plugins/FritzBox/FritzBox/obj/Release/FritzBox.dll trunk/plugins/FritzBox/FritzBox/obj/Release/FritzBox.pdb trunk/plugins/FritzBox/MpeRelease/FritzBox.xmp2 trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/bin/Debug/FritzBox.dll trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/bin/Debug/FritzBox.pdb trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/bin/Debug/FritzBoxConfigTester.exe trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/bin/Debug/FritzBoxConfigTester.pdb trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/bin/Release/FritzBox.dll trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/bin/Release/FritzBox.pdb trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/bin/Release/FritzBoxConfigTester.exe trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/bin/Release/FritzBoxConfigTester.pdb trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/obj/Debug/FritzBoxConfigTester.exe trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/obj/Debug/FritzBoxConfigTester.pdb trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/obj/Debug/ResolveAssemblyReference.cache trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/obj/Release/FritzBoxConfigTester.exe trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/obj/Release/FritzBoxConfigTester.pdb trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/obj/Release/ResolveAssemblyReference.cache trunk/plugins/FritzBox/Tools/FritzBoxDebugger/bin/Debug/FritzBox.dll trunk/plugins/FritzBox/Tools/FritzBoxDebugger/bin/Debug/FritzBox.pdb trunk/plugins/FritzBox/Tools/FritzBoxDebugger/bin/Debug/FritzBoxDebugger.exe trunk/plugins/FritzBox/Tools/FritzBoxDebugger/bin/Debug/FritzBoxDebugger.pdb trunk/plugins/FritzBox/Tools/FritzBoxDebugger/bin/Release/FritzBox.dll trunk/plugins/FritzBox/Tools/FritzBoxDebugger/bin/Release/FritzBox.pdb trunk/plugins/FritzBox/Tools/FritzBoxDebugger/bin/Release/FritzBoxDebugger.exe trunk/plugins/FritzBox/Tools/FritzBoxDebugger/bin/Release/FritzBoxDebugger.pdb trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Debug/FritzBoxDebugger.exe trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Debug/FritzBoxDebugger.pdb trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Release/FritzBoxDebugger.csproj.FileListAbsolute.txt trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Release/FritzBoxDebugger.exe trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Release/FritzBoxDebugger.pdb trunk/plugins/FritzBox/releases/update.xml Added Paths: ----------- trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Release/GenerateResource.read.6.tlog trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Release/GenerateResource.write.6.tlog trunk/plugins/FritzBox/releases/FritzBox_v0.4.0.4402.mpe1 Removed Paths: ------------- trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Release/GenerateResource.read.7.tlog trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Release/GenerateResource.write.7.tlog Modified: trunk/plugins/FritzBox/Build/Build.log =================================================================== --- trunk/plugins/FritzBox/Build/Build.log 2012-01-11 20:30:59 UTC (rev 4402) +++ trunk/plugins/FritzBox/Build/Build.log 2012-01-12 23:52:12 UTC (rev 4403) @@ -1,6 +1,6 @@ Running : C:\Program Files\TortoiseSVN\bin\SubWCRev.exe -SVN Version: 4400 +SVN Version: 4402 Updating: D:\FritzBox\FritzBox\Properties\AssemblyInfo.cs Updating: D:\FritzBox\MP2version\Listeners\FritzBox\Properties\AssemblyInfo.cs Updating: D:\FritzBox\MP2version\Properties\AssemblyInfo.cs @@ -10,7 +10,7 @@ [Microsoft .NET Framework, Version 4.0.30319.239] Copyright (C) Microsoft Corporation 2007. All rights reserved. -Build started 10.01.2012 23:18:05. +Build started 13.01.2012 00:47:42. Project "D:\FritzBox\FritzBox.sln" on node 1 (Rebuild target(s)). ValidateSolutionConfiguration: Building solution configuration "Release|Mixed Platforms". @@ -154,8 +154,6 @@ Deleting file "D:\FritzBox\Tools\FritzBoxDebugger\obj\Release\FritzBoxDebugger.DebugForm.resources". Deleting file "D:\FritzBox\Tools\FritzBoxDebugger\obj\Release\FritzBoxDebugger.exe". Deleting file "D:\FritzBox\Tools\FritzBoxDebugger\obj\Release\FritzBoxDebugger.pdb". - Deleting file "D:\FritzBox\Tools\FritzBoxDebugger\obj\Release\GenerateResource.read.7.tlog". - Deleting file "D:\FritzBox\Tools\FritzBoxDebugger\obj\Release\GenerateResource.write.7.tlog". Deleting file "D:\FritzBox\Tools\FritzBoxDebugger\obj\Release\GenerateResource.read.6.tlog". Deleting file "D:\FritzBox\Tools\FritzBoxDebugger\obj\Release\GenerateResource.write.6.tlog". CoreResGen: @@ -197,7 +195,7 @@ 0 Warning(s) 0 Error(s) -Time Elapsed 00:00:01.90 +Time Elapsed 00:00:02.11 Reverting to build 0 Updating: D:\FritzBox\FritzBox\Properties\AssemblyInfo.cs Updating: D:\FritzBox\MP2version\Listeners\FritzBox\Properties\AssemblyInfo.cs @@ -282,7 +280,7 @@ ..\FritzBox\Languages\Unsupported\strings_zh-CN.xml 36 File(s) copied MpeMaker version: 1.2.1.0 -Build started at 23:18:09 +Build started at 00:47:46 Building "D:\FritzBox\MpeRelease\FritzBox.xmp2" Output: "..\MpeRelease\FritzBox.mpe1" Writing UpdateXML to "update.xml" Modified: trunk/plugins/FritzBox/Docs/Ausstehend.txt =================================================================== --- trunk/plugins/FritzBox/Docs/Ausstehend.txt 2012-01-11 20:30:59 UTC (rev 4402) +++ trunk/plugins/FritzBox/Docs/Ausstehend.txt 2012-01-12 23:52:12 UTC (rev 4403) @@ -1,3 +1,6 @@ +Testen: +Einen kleinen Bug habe ich auch gefunden: Ich wollte gerade unter MyTVSeries die Sendung einer Serie weiterschauen - es wurde der Dialog angezeigt ob man die Folge bei Stelle X fortsetzen m\xF6chte - in diesem Moment kam ein Anruf - nach Beendigung des Anrufs wurde die Sendung dann automatisch gestartet/fortgesetzt + Fehler beheben: - bei Auswahl einer MSN im Konfigurationsdialog werden die MSN-Eintr\xE4ge verdoppelt - Configuration: erste MSN wird nicht im Dropdown-Men\xFC angezeigt @@ -49,5 +52,14 @@ mu\xDF warum gibt es kein Buttons wo ich die Listen direKt anw\xE4hlen kann oder \xFCbersehe ich da was. Gru\xDF Burkh2407 -IchBinsShort, 05.01.2012, 18:02:. -Noch eine andere Frage ist es auch m\xF6glich das bei ausgehenden Anrufen nur bei bestimmten Handger\xE4ten der Pause Befehl gesendet wird. Ich benutze drei Funktelefone \xFCber die Dect Funktion der Fritzbox 7020, Garten, Eltern und bei mir. W\xE4re also sch\xF6n wenn nur auf Pause gestellt wird wenn von meinem Telefon eine Anruf get\xE4tigt wird. \ No newline at end of file +IchBinsShort, 05.01.2012, 18:02: +Noch eine andere Frage ist es auch m\xF6glich das bei ausgehenden Anrufen nur bei bestimmten Handger\xE4ten der Pause Befehl gesendet wird. Ich benutze drei Funktelefone \xFCber die Dect Funktion der Fritzbox 7020, Garten, Eltern und bei mir. W\xE4re also sch\xF6n wenn nur auf Pause gestellt wird wenn von meinem Telefon eine Anruf get\xE4tigt wird. + +creativ, 10.01.2012, 19:53: +Was nur noch eingebaut werden sollte, das dort Kontakte abgew\xE4hlt werden k\xF6nnen die im MP dann nicht angezeigt werden! Ich habe n\xE4mlich das Fritz!Fon MT-F und dort sind Kontakte im internen Speicher die nicht gel\xF6scht werden k\xF6nnen, z.b. (wie klingt HD-Telefonie und daf\xFCr gibt es eine Telefonnumer die hinterlegt ist). + +IchBinsShort, 11.01.2012, 00:28: +L\xF6schen von Anruflisten \xFCber die GUI + +creativ, 20.01.2012, 19:53: +Ausblenden bestimmter Kontakte in der GUI \ No newline at end of file Modified: trunk/plugins/FritzBox/FritzBox/FritzBox.cs =================================================================== --- trunk/plugins/FritzBox/FritzBox/FritzBox.cs 2012-01-11 20:30:59 UTC (rev 4402) +++ trunk/plugins/FritzBox/FritzBox/FritzBox.cs 2012-01-12 23:52:12 UTC (rev 4403) @@ -107,10 +107,12 @@ { case CallAction.CallType.Incoming: if (Settings.PhoneBookEnabled) callAction.Caller = phoneBook.FindContactEntry(callAction.Caller); + OnCall(callAction); break; case CallAction.CallType.Outgoing: if (Settings.PhoneBookEnabled) callAction.Caller = phoneBook.FindContactEntry(callAction.Caller); + OnCall(callAction); break; case CallAction.CallType.ConnectionStarted: @@ -118,7 +120,8 @@ case CallAction.CallType.ConnectionClosed: if (Settings.CloseOnConnectionClosed) { - Log.Info("_closeOnConnectionClosed is enabled. Try to close active notification"); + Log.Info("\"Close On Connection Close\" setting is enabled. Try to close active notification"); + if (_tempNotify != null) { MediaPortal.GUI.Library.Action act = new MediaPortal.GUI.Library.Action(); @@ -128,7 +131,7 @@ } break; default: - Log.Error("Incorrect callAction.Type"); + Log.Error("Incorrect CallAction.CallType"); break; } } @@ -329,10 +332,10 @@ switch (callType) { case CallAction.CallType.Incoming: - if (Settings.PauseMediaOnIncomingCall && Settings.ResumeMediaOnIncomingCall) g_Player.Pause(); + if (Settings.ResumeMediaOnIncomingCall) g_Player.Pause(); break; case CallAction.CallType.Outgoing: - if (Settings.PauseMediaOnOutgoingCall && Settings.ResumeMediaOnOutgoingCall) g_Player.Pause(); + if (Settings.ResumeMediaOnOutgoingCall) g_Player.Pause(); break; } } @@ -419,6 +422,8 @@ FritzBoxClient.CallEvent -= OnCallAction; FritzBoxClient.LogEvent -= OnLogAction; + FritzBoxClient.ConnectedEvent += OnConnectedAction; + Utils.OnStartExternal -= OnStartExternal; Utils.OnStopExternal -= OnStopExternal; @@ -948,59 +953,66 @@ Log.Debug("Updating GUI properties"); - if (voiceBoxItemList != null) + try { - voiceBoxItemsCount = voiceBoxItemList.Count; + if (voiceBoxItemList != null) + { + voiceBoxItemsCount = voiceBoxItemList.Count; - foreach (VoiceBoxItem voiceBoxItem in voiceBoxItemList) - { - if (voiceBoxItem.type == 3) + foreach (VoiceBoxItem voiceBoxItem in voiceBoxItemList) { - caller = phoneBook.FindContactEntry(voiceBoxItem.callerId); - - if (voiceBoxItem.isNew > 0) + if (voiceBoxItem.type == 3) { - if (lastNewCallerName == "") lastNewCallerName = caller.PhoneBookItem.Name; + caller = phoneBook.FindContactEntry(voiceBoxItem.callerId); - newVoiceBoxItemsCount++; + if (voiceBoxItem.isNew > 0) + { + if (lastNewCallerName == "") lastNewCallerName = caller.PhoneBookItem.Name; + + newVoiceBoxItemsCount++; + } } } } - } - if (newVoiceBoxItemsCount == 0) - { - GUIPropertyManager.SetProperty("#FritzManager.NewMessages", " "); - GUIPropertyManager.SetProperty("#FritzManager.Caller", " "); - GUIPropertyManager.SetProperty("#FritzManager.NewMessageCount", string.Empty); - GUIPropertyManager.SetProperty("#FritzManager.NewMessagesAvail", "false"); - } - else - { - if (newVoiceBoxItemsCount > 1) GUIPropertyManager.SetProperty("#FritzManager.NewMessages", newVoiceBoxItemsCount + " " + GUILocalizeStrings.Get(7)); // 7 = Messages - else GUIPropertyManager.SetProperty("#FritzManager.NewMessages", newVoiceBoxItemsCount + " " + GUILocalizeStrings.Get(27)); // 27 = Message + if (newVoiceBoxItemsCount == 0) + { + GUIPropertyManager.SetProperty("#FritzManager.NewMessages", " "); + GUIPropertyManager.SetProperty("#FritzManager.Caller", " "); + GUIPropertyManager.SetProperty("#FritzManager.NewMessageCount", string.Empty); + GUIPropertyManager.SetProperty("#FritzManager.NewMessagesAvail", "false"); + } + else + { + if (newVoiceBoxItemsCount > 1) GUIPropertyManager.SetProperty("#FritzManager.NewMessages", newVoiceBoxItemsCount + " " + GUILocalizeStrings.Get(7)); // 7 = Messages + else GUIPropertyManager.SetProperty("#FritzManager.NewMessages", newVoiceBoxItemsCount + " " + GUILocalizeStrings.Get(27)); // 27 = Message - GUIPropertyManager.SetProperty("#FritzManager.Caller", lastNewCallerName); - GUIPropertyManager.SetProperty("#FritzManager.NewMessageCount", newVoiceBoxItemsCount.ToString()); - GUIPropertyManager.SetProperty("#FritzManager.NewMessagesAvail", "true"); - } + GUIPropertyManager.SetProperty("#FritzManager.Caller", lastNewCallerName); + GUIPropertyManager.SetProperty("#FritzManager.NewMessageCount", newVoiceBoxItemsCount.ToString()); + GUIPropertyManager.SetProperty("#FritzManager.NewMessagesAvail", "true"); + } - if (voiceBoxItemsCount == 0) - { - GUIPropertyManager.SetProperty("#FritzManager.TotalMessages", " "); - GUIPropertyManager.SetProperty("#FritzManager.TotalMessageCount", string.Empty); + if (voiceBoxItemsCount == 0) + { + GUIPropertyManager.SetProperty("#FritzManager.TotalMessages", " "); + GUIPropertyManager.SetProperty("#FritzManager.TotalMessageCount", string.Empty); + } + else + { + if (voiceBoxItemsCount > 1) GUIPropertyManager.SetProperty("#FritzManager.TotalMessages", voiceBoxItemsCount + " " + GUILocalizeStrings.Get(7)); // 7 = Messages + else GUIPropertyManager.SetProperty("#FritzManager.TotalMessages", voiceBoxItemsCount + " " + GUILocalizeStrings.Get(27)); // 27 = Message + + GUIPropertyManager.SetProperty("#FritzManager.TotalMessageCount", voiceBoxItemsCount.ToString()); + } + + // set properties for skin file labels + GUIPropertyManager.SetProperty("#FritzManager.LabelCallList", GUILocalizeStrings.Get(18)); // 18 = Call list + GUIPropertyManager.SetProperty("#FritzManager.LabelUpdate", GUILocalizeStrings.Get(25)); // 25 = Update } - else + catch (Exception e) { - if (voiceBoxItemsCount > 1) GUIPropertyManager.SetProperty("#FritzManager.TotalMessages", voiceBoxItemsCount + " " + GUILocalizeStrings.Get(7)); // 7 = Messages - else GUIPropertyManager.SetProperty("#FritzManager.TotalMessages", voiceBoxItemsCount + " " + GUILocalizeStrings.Get(27)); // 27 = Message - - GUIPropertyManager.SetProperty("#FritzManager.TotalMessageCount", voiceBoxItemsCount.ToString()); + Log.Error("An error occured during GUI properties update: {0}", e.Message); } - - // set properties for skin file labels - GUIPropertyManager.SetProperty("#FritzManager.LabelCallList", GUILocalizeStrings.Get(18)); // 18 = Call list - GUIPropertyManager.SetProperty("#FritzManager.LabelUpdate", GUILocalizeStrings.Get(25)); // 25 = Update } /// <summary> Modified: trunk/plugins/FritzBox/FritzBox/FritzBoxConfig.Designer.cs =================================================================== --- trunk/plugins/FritzBox/FritzBox/FritzBoxConfig.Designer.cs 2012-01-11 20:30:59 UTC (rev 4402) +++ trunk/plugins/FritzBox/FritzBox/FritzBoxConfig.Designer.cs 2012-01-12 23:52:12 UTC (rev 4403) @@ -418,9 +418,9 @@ this.checkBoxResumeMediaOnOutgoingCall.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.checkBoxResumeMediaOnOutgoingCall.Location = new System.Drawing.Point(220, 40); this.checkBoxResumeMediaOnOutgoingCall.Name = "checkBoxResumeMediaOnOutgoingCall"; - this.checkBoxResumeMediaOnOutgoingCall.Size = new System.Drawing.Size(162, 17); + this.checkBoxResumeMediaOnOutgoingCall.Size = new System.Drawing.Size(118, 17); this.checkBoxResumeMediaOnOutgoingCall.TabIndex = 11; - this.checkBoxResumeMediaOnOutgoingCall.Text = "Auto-resume on closing notify"; + this.checkBoxResumeMediaOnOutgoingCall.Text = "Resume on call end"; this.checkBoxResumeMediaOnOutgoingCall.UseVisualStyleBackColor = true; // // checkBoxPauseMediaOnOutgoingCall @@ -433,6 +433,7 @@ this.checkBoxPauseMediaOnOutgoingCall.TabIndex = 10; this.checkBoxPauseMediaOnOutgoingCall.Text = "Pause on outgoing call"; this.checkBoxPauseMediaOnOutgoingCall.UseVisualStyleBackColor = true; + this.checkBoxPauseMediaOnOutgoingCall.CheckedChanged += new System.EventHandler(this.checkBoxPauseMediaOnOutgoingCall_CheckedChanged); // // mpLabel5 // @@ -460,9 +461,9 @@ this.checkBoxResumeMediaOnIncomingCall.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.checkBoxResumeMediaOnIncomingCall.Location = new System.Drawing.Point(24, 40); this.checkBoxResumeMediaOnIncomingCall.Name = "checkBoxResumeMediaOnIncomingCall"; - this.checkBoxResumeMediaOnIncomingCall.Size = new System.Drawing.Size(162, 17); + this.checkBoxResumeMediaOnIncomingCall.Size = new System.Drawing.Size(118, 17); this.checkBoxResumeMediaOnIncomingCall.TabIndex = 1; - this.checkBoxResumeMediaOnIncomingCall.Text = "Auto-resume on closing notify"; + this.checkBoxResumeMediaOnIncomingCall.Text = "Resume on call end"; this.checkBoxResumeMediaOnIncomingCall.UseVisualStyleBackColor = true; // // checkBoxPauseMediaOnIncomingCall @@ -639,9 +640,9 @@ this.checkBoxExtensiveLogging.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.checkBoxExtensiveLogging.Location = new System.Drawing.Point(33, 94); this.checkBoxExtensiveLogging.Name = "checkBoxExtensiveLogging"; - this.checkBoxExtensiveLogging.Size = new System.Drawing.Size(328, 17); + this.checkBoxExtensiveLogging.Size = new System.Drawing.Size(399, 17); this.checkBoxExtensiveLogging.TabIndex = 21; - this.checkBoxExtensiveLogging.Text = "Extensive logging (!!! phone numbers are written to the log file !!!)"; + this.checkBoxExtensiveLogging.Text = "Extensive logging: Phone numbers and contact names are written to the log file!"; this.checkBoxExtensiveLogging.UseVisualStyleBackColor = true; // // label4 Modified: trunk/plugins/FritzBox/FritzBox/FritzBoxConfig.cs =================================================================== --- trunk/plugins/FritzBox/FritzBox/FritzBoxConfig.cs 2012-01-11 20:30:59 UTC (rev 4402) +++ trunk/plugins/FritzBox/FritzBox/FritzBoxConfig.cs 2012-01-12 23:52:12 UTC (rev 4403) @@ -167,8 +167,23 @@ private void checkBoxStopMedia_CheckedChanged(object sender, EventArgs e) { - checkBoxResumeMediaOnIncomingCall.Enabled = checkBoxPauseMediaOnIncomingCall.Checked; + if (!checkBoxPauseMediaOnIncomingCall.Checked) + { + checkBoxResumeMediaOnIncomingCall.Checked = false; + checkBoxResumeMediaOnIncomingCall.Enabled = false; + } + else checkBoxResumeMediaOnIncomingCall.Enabled = true; } + + private void checkBoxPauseMediaOnOutgoingCall_CheckedChanged(object sender, EventArgs e) + { + if (!checkBoxPauseMediaOnOutgoingCall.Checked) + { + checkBoxResumeMediaOnOutgoingCall.Checked = false; + checkBoxResumeMediaOnOutgoingCall.Enabled = false; + } + else checkBoxResumeMediaOnOutgoingCall.Enabled = true; + } private void checkBoxUsePhonebook_CheckedChanged(object sender, EventArgs e) { Modified: trunk/plugins/FritzBox/FritzBox/FritzManager/PhoneBook.cs =================================================================== --- trunk/plugins/FritzBox/FritzBox/FritzManager/PhoneBook.cs 2012-01-11 20:30:59 UTC (rev 4402) +++ trunk/plugins/FritzBox/FritzBox/FritzManager/PhoneBook.cs 2012-01-12 23:52:12 UTC (rev 4403) @@ -149,121 +149,131 @@ { Log.Debug("Synchronizing phone book with FRITZ!Box"); - // load FRITZ!Box phone book - FritzPhoneBooks fritzPhoneBooks = new FritzPhoneBooks(); + try + { + // load FRITZ!Box phone book + FritzPhoneBooks fritzPhoneBooks = new FritzPhoneBooks(); - string fritzPhoneBooksSerialized = fritz.loadPhoneBookFromFritzBox(); + string fritzPhoneBooksSerialized = fritz.loadPhoneBookFromFritzBox(); - if (fritzPhoneBooksSerialized != null) - { - XmlSerializer xmlSerializer = new XmlSerializer(typeof(FritzPhoneBooks)); - fritzPhoneBooks = (FritzPhoneBooks)xmlSerializer.Deserialize(new StringReader(fritzPhoneBooksSerialized)); + if (fritzPhoneBooksSerialized != null) + { + XmlSerializer xmlSerializer = new XmlSerializer(typeof(FritzPhoneBooks)); + fritzPhoneBooks = (FritzPhoneBooks)xmlSerializer.Deserialize(new StringReader(fritzPhoneBooksSerialized)); - FritzManager.PhoneBook fritzPhoneBook = fritzPhoneBooks.Items[0]; // always choose first phone book - PhoneBookItem tempPhoneBookItem; - bool updateRequired, contactFound; - string name, uniqueID, imageURL; + FritzManager.PhoneBook fritzPhoneBook = fritzPhoneBooks.Items[0]; // always choose first phone book + PhoneBookItem tempPhoneBookItem; + bool updateRequired, contactFound; + string name, uniqueID = null, imageURL; - lock (sync) - { - // update/add entries from FRITZ!Box phone book to local phone book - foreach (Contact contact in fritzPhoneBook.contact) + // check if FRITZ!Box phone book has unique ID field. Older FRITZ!Box models e. g. 7170 and 7320 doesn't have an unique ID field in it's address book + if (fritzPhoneBook.contact[0].uniqueid == null) Log.Debug("FRITZ!Box phone book doesn't have an unique ID field. Synchronizing contacts in compatibility mode. Multiple contacts with the same name won't be shown and cause update actions on every synchronization!"); + + lock (sync) { - name = contact.person[0].realName; - imageURL = contact.person[0].imageURL; - uniqueID = contact.uniqueid; + // update/add entries from FRITZ!Box phone book to local phone book + foreach (Contact contact in fritzPhoneBook.contact) + { + name = contact.person[0].realName; + imageURL = contact.person[0].imageURL; - updateRequired = false; + if (fritzPhoneBook.contact[0].uniqueid != null) uniqueID = contact.uniqueid; + else uniqueID = name; // in compatibility mode the name is used as unique ID - // search if FRITZ!Box contact already exists in phone book - if (phoneBook.ContainsKey(uniqueID)) - { - // check for differences - for (int i = 0; i < contact.telephony.Length; i++) - { - try + updateRequired = false; + + // search if FRITZ!Box contact already exists in phone book + if (phoneBook.ContainsKey(uniqueID)) { - if (phoneBook[uniqueID].Name != name || !contact.telephony[i].Equals(phoneBook[uniqueID].PhoneNumbers[i]) || imageURL != phoneBook[uniqueID].ImageURL) updateRequired = true; + // check for differences + for (int i = 0; i < contact.telephony.Length; i++) + { + try + { + if (phoneBook[uniqueID].Name != name || !contact.telephony[i].Equals(phoneBook[uniqueID].PhoneNumbers[i]) || imageURL != phoneBook[uniqueID].ImageURL) updateRequired = true; + } + catch + { + // on property changes the differences check may fail + Log.Debug("Phone book difference check failed. Forcing contact update"); + updateRequired = true; + break; + } + } + + if (updateRequired) + { + if (Settings.ExtensiveLogging) Log.Info("Updating contact " + phoneBook[uniqueID].Name); + + phoneBook[uniqueID].Name = name; + phoneBook[uniqueID].PhoneNumbers = contact.telephony; + phoneBook[uniqueID].ImageURL = imageURL; + + phoneBookChanges = true; + } } - catch + else { - // on property changes the differences check may fail - Log.Debug("Phone book difference check failed. Forcing contact update"); - updateRequired = true; - break; - } - } + if (Settings.ExtensiveLogging) Log.Info("Adding contact " + name); - if (updateRequired) - { - Log.Info("Updating contact " + phoneBook[uniqueID].Name); + tempPhoneBookItem = new PhoneBookItem(); + tempPhoneBookItem.UniqueID = uniqueID; + tempPhoneBookItem.Name = name; + tempPhoneBookItem.PhoneNumbers = contact.telephony; + tempPhoneBookItem.ImageURL = imageURL; - phoneBook[uniqueID].Name = name; - phoneBook[uniqueID].PhoneNumbers = contact.telephony; - phoneBook[uniqueID].ImageURL = imageURL; + phoneBook.Add(uniqueID, tempPhoneBookItem); - phoneBookChanges = true; + phoneBookSortIsRequired = true; + phoneBookChanges = true; + } } - } - else - { - Log.Info("Adding contact " + name); - tempPhoneBookItem = new PhoneBookItem(); - tempPhoneBookItem.UniqueID = uniqueID; - tempPhoneBookItem.Name = name; - tempPhoneBookItem.PhoneNumbers = contact.telephony; - tempPhoneBookItem.ImageURL = imageURL; + // check for obsolete entries in local phone book (not existing in FRITZ!Box phone book anymore) + string[] contactsToDelete = new string[phoneBook.Count]; + int k = 0; - phoneBook.Add(uniqueID, tempPhoneBookItem); + foreach (PhoneBookItem phoneBookItem in phoneBook.Values) + { + contactFound = false; - phoneBookSortIsRequired = true; - phoneBookChanges = true; - } - } + foreach (Contact contact in fritzPhoneBook.contact) + { + uniqueID = phoneBookItem.UniqueID; - // check for obsolete entries in local phone book (not existing in FRITZ!Box phone book anymore) - string[] contactsToDelete = new string[phoneBook.Count]; - int k = 0; + if (uniqueID == phoneBookItem.UniqueID) + { + contactFound = true; + break; + } + } - foreach (PhoneBookItem phoneBookItem in phoneBook.Values) - { - uniqueID = phoneBookItem.UniqueID; - contactFound = false; - - foreach (Contact contact in fritzPhoneBook.contact) - { - if (contact.uniqueid == uniqueID) - { - contactFound = true; - break; + if (!contactFound) + { + contactsToDelete[k] = uniqueID; + k++; + break; + } } - } - if (!contactFound) - { - contactsToDelete[k] = uniqueID; - k++; - } + foreach (string _uniqueID in contactsToDelete) // contacts cannot be deleted in above foreach loop, a second loop is required + { + if (_uniqueID != null) + { + if (Settings.ExtensiveLogging) Log.Info("Removing contact " + phoneBook[_uniqueID].Name); + phoneBook.Remove(_uniqueID); + phoneBookChanges = true; + } + } } - lock (sync) - { - foreach (string _uniqueID in contactsToDelete) // contacts cannot be deleted in above foreach loop, a second loop is required - { - if (_uniqueID != null) - { - Log.Info("Removing contact " + phoneBook[_uniqueID].Name); - phoneBook.Remove(_uniqueID); - phoneBookChanges = true; - } - } - } + Log.Info("Synchronized " + phoneBook.Count + " contacts with FRITZ!Box"); } - - Log.Debug("Synchronized " + phoneBook.Count + " contacts with FRITZ!Box"); } - else Log.Error("Phone book synchronisation with the FRITZ!Box failed"); + catch (Exception e) + { + Log.Error("An error occured during phone book synchronisation with the FRITZ!Box: {0}", e.Message); + } } else Log.Debug("No connection to FRITZ!Box. Phone book synchronization not started"); @@ -278,6 +288,8 @@ { phoneBook = sortedPhoneBook.ToDictionary(k => k.Key, v => v.Value); } + + phoneBookSaveIsRequired = true; } if (phoneBookChanges) @@ -302,13 +314,11 @@ if (File.Exists(picturePath)) { - if (Settings.ExtensiveLogging) Log.Debug("Found image for contact " + contact.Name + ": " + picturePath); return picturePath; } } else { - if (Settings.ExtensiveLogging) Log.Debug("No image has been assigned for the contact " + contact.Name); picturePath = Settings.SkinMediaFolderPath + @"\FritzBox\CallMonitor.Missing.png"; } } @@ -324,8 +334,6 @@ } // unknown caller - if (Settings.ExtensiveLogging) Log.Debug("Assigning unknown caller image for phone number {0}", caller.PhoneNumber); - return Settings.SkinMediaFolderPath + @"\FritzBox\CallMonitor.Unknown.png"; } @@ -478,8 +486,6 @@ } } - if (Settings.ExtensiveLogging) Log.Debug("Normalized phone number \"{0}\" to \"{1}\"", inputPhoneNumber, outputPhoneNumber); - return outputPhoneNumber; } Modified: trunk/plugins/FritzBox/FritzBox/bin/Release/FritzBox.dll =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/FritzBox/bin/Release/FritzBox.pdb =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/FritzBox/obj/Debug/FritzBox.dll =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/FritzBox/obj/Debug/FritzBox.pdb =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/FritzBox/obj/Release/FritzBox.dll =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/FritzBox/obj/Release/FritzBox.pdb =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/MpeRelease/FritzBox.xmp2 =================================================================== --- trunk/plugins/FritzBox/MpeRelease/FritzBox.xmp2 2012-01-11 20:30:59 UTC (rev 4402) +++ trunk/plugins/FritzBox/MpeRelease/FritzBox.xmp2 2012-01-12 23:52:12 UTC (rev 4403) @@ -559,7 +559,7 @@ <Items> <CompatibleVersionItem> <MinRequiredVersion>1.1.0.0</MinRequiredVersion> - <DesignedForVersion>1.1.7.4400</DesignedForVersion> + <DesignedForVersion>1.1.7.4402</DesignedForVersion> </CompatibleVersionItem> </Items> </CompatibleVersion> @@ -582,7 +582,7 @@ <Major>0</Major> <Minor>4</Minor> <Build>0</Build> - <Revision>4400</Revision> + <Revision>4402</Revision> </Version> <ExtensionDescription>With FRITZ!Box Manager you can access several AVM FRITZ!Box informations from MediaPortal. @@ -596,7 +596,7 @@ <VersionDescription /> <DevelopmentStatus>Stable</DevelopmentStatus> <OnlineLocation>http://www.team-mediaportal.com/index.php?option=com_mtree&task=att_download&link_id=118&cf_id=24</OnlineLocation> - <ReleaseDate>2012-01-10T23:18:09.5983408+01:00</ReleaseDate> + <ReleaseDate>2012-01-13T00:47:46.7613728+01:00</ReleaseDate> <Tags>fritzbox, fritzbox manager, callmonitor</Tags> <Location>..\MpeRelease\FritzBox.mpe1</Location> <Params> Modified: trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/bin/Debug/FritzBox.dll =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/bin/Debug/FritzBox.pdb =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/bin/Debug/FritzBoxConfigTester.exe =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/bin/Debug/FritzBoxConfigTester.pdb =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/bin/Release/FritzBox.dll =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/bin/Release/FritzBox.pdb =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/bin/Release/FritzBoxConfigTester.exe =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/bin/Release/FritzBoxConfigTester.pdb =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/obj/Debug/FritzBoxConfigTester.exe =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/obj/Debug/FritzBoxConfigTester.pdb =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/obj/Debug/ResolveAssemblyReference.cache =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/obj/Release/FritzBoxConfigTester.exe =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/obj/Release/FritzBoxConfigTester.pdb =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxConfigTester/obj/Release/ResolveAssemblyReference.cache =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxDebugger/bin/Debug/FritzBox.dll =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxDebugger/bin/Debug/FritzBox.pdb =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxDebugger/bin/Debug/FritzBoxDebugger.exe =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxDebugger/bin/Debug/FritzBoxDebugger.pdb =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxDebugger/bin/Release/FritzBox.dll =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxDebugger/bin/Release/FritzBox.pdb =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxDebugger/bin/Release/FritzBoxDebugger.exe =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxDebugger/bin/Release/FritzBoxDebugger.pdb =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Debug/FritzBoxDebugger.exe =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Debug/FritzBoxDebugger.pdb =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Release/FritzBoxDebugger.csproj.FileListAbsolute.txt =================================================================== --- trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Release/FritzBoxDebugger.csproj.FileListAbsolute.txt 2012-01-11 20:30:59 UTC (rev 4402) +++ trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Release/FritzBoxDebugger.csproj.FileListAbsolute.txt 2012-01-12 23:52:12 UTC (rev 4403) @@ -23,5 +23,5 @@ D:\FritzBox\Tools\FritzBoxDebugger\bin\Release\log4net.dll D:\FritzBox\Tools\FritzBoxDebugger\bin\Release\Ionic.Zip.dll D:\FritzBox\Tools\FritzBoxDebugger\bin\Release\FritzBox.pdb -D:\FritzBox\Tools\FritzBoxDebugger\obj\Release\GenerateResource.read.7.tlog -D:\FritzBox\Tools\FritzBoxDebugger\obj\Release\GenerateResource.write.7.tlog +D:\FritzBox\Tools\FritzBoxDebugger\obj\Release\GenerateResource.read.6.tlog +D:\FritzBox\Tools\FritzBoxDebugger\obj\Release\GenerateResource.write.6.tlog Modified: trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Release/FritzBoxDebugger.exe =================================================================== (Binary files differ) Modified: trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Release/FritzBoxDebugger.pdb =================================================================== (Binary files differ) Added: trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Release/GenerateResource.read.6.tlog =================================================================== (Binary files differ) Property changes on: trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Release/GenerateResource.read.6.tlog ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Deleted: trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Release/GenerateResource.read.7.tlog =================================================================== (Binary files differ) Added: trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Release/GenerateResource.write.6.tlog =================================================================== (Binary files differ) Property changes on: trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Release/GenerateResource.write.6.tlog ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Deleted: trunk/plugins/FritzBox/Tools/FritzBoxDebugger/obj/Release/GenerateResource.write.7.tlog =================================================================== (Binary files differ) Added: trunk/plugins/FritzBox/releases/FritzBox_v0.4.0.4402.mpe1 =================================================================== (Binary files differ) Property changes on: trunk/plugins/FritzBox/releases/FritzBox_v0.4.0.4402.mpe1 ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/plugins/FritzBox/releases/update.xml =================================================================== --- trunk/plugins/FritzBox/releases/update.xml 2012-01-11 20:30:59 UTC (rev 4402) +++ trunk/plugins/FritzBox/releases/update.xml 2012-01-12 23:52:12 UTC (rev 4403) @@ -88,7 +88,7 @@ <Items> <CompatibleVersionItem> <MinRequiredVersion>1.1.0.0</MinRequiredVersion> - <DesignedForVersion>1.1.7.4400</DesignedForVersion> + <DesignedForVersion>1.1.7.4402</DesignedForVersion> </CompatibleVersionItem> </Items> </CompatibleVersion> @@ -111,7 +111,7 @@ <Major>0</Major> <Minor>4</Minor> <Build>0</Build> - <Revision>4400</Revision> + <Revision>4402</Revision> </Version> <ExtensionDescription>With FRITZ!Box Manager you can access several AVM FRITZ!Box informations from MediaPortal. @@ -125,7 +125,7 @@ <VersionDescription /> <DevelopmentStatus>Stable</DevelopmentStatus> <OnlineLocation>http://www.team-mediaportal.com/index.php?option=com_mtree&task=att_download&link_id=118&cf_id=24</OnlineLocation> - <ReleaseDate>2012-01-10T23:18:09.5983408+01:00</ReleaseDate> + <ReleaseDate>2012-01-13T00:47:46.7613728+01:00</ReleaseDate> <Tags>fritzbox, fritzbox manager, callmonitor</Tags> <Location>..\MpeRelease\FritzBox.mpe1</Location> <Params> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |