-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
792 lines (583 loc) · 28 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
2006-07-25 Lőrentey Károly <[email protected]>
Release version 1.2.
* src/Version.c.in (VERSION_BASE): Update version.
* rsc/BlueRemote.xrd: Update version number.
* doc/BlueRemote.xml: Update version number; add entry to version
history.
2006-07-24 Lőrentey Károly <[email protected]>
Miscellaneous fixes.
* custom.mk (doc): Fix path.
* DRM/hu/fnord/palm/drm/SHA1.java (SHA1): Remove duplicate
getDigest method.
* DRM/Register: New shell script for easy generation of
registration codes.
* dist/BlueRemote-1.1.zip: New file.
* dist/BlueRemote12.zip: New file.
2006-07-24 Lőrentey Károly <[email protected]>
Fix 5-way navigation on connect form.
* src/ConnectForm.c: Include FrmGlue.h.
(ConnectFormHandleEvent): Enable select button handling code on
devices not supporting one-handed navigation.
2006-07-24 Lőrentey Károly <[email protected]>
Fix resource leak in ProgressForm.c.
* src/ProgressForm.c: Add static qualifier to global variables.
Remove unused variables. Fix resource lock leak; disable locking
of notebook and phone bitmaps.
2006-07-20 Lőrentey Károly <[email protected]>
Release version 1.1.
* src/Version.c.in (VERSION_BASE): Update.
* rsc/BlueRemote.xrd: Update version number.
* doc/BlueRemote.xml: Update version, add entry in history.
2006-07-18 Lőrentey Károly <[email protected]>
Fix device freeze after a radio reset, triggered by an application
switch. Improve cancel handling.
* src/ProgressForm.h (ProgressEnableCancel): Declare.
* src/ProgressForm.c (cancelEnable): New global.
(ProgressFormHandleEvent): Handle cancelEnable.
(f_ProgressEnableCancel): New function.
* src/Bluetooth.c (WaitForResult, WaitForCommand, WaitForQueue):
Add cancelable argument.
(LinkConnect, LinkDisconnect, Authenticate)
(Encrypt, Connect, Disconnect, f_BTRadioInit, f_BTRadioClose)
(f_BTWait, f_BTHandleEvent, f_BTConnect): Update calls of WaitFor*.
(f_BTRadioInit): Don't show ERROR on cancel.
2006-07-16 Lőrentey Károly <[email protected]>
Release version 1.0 on PalmGear.
2006-07-15 Lőrentey Károly <[email protected]>
Fix critical HID protocol issue with keyboard reports.
Add a rewritten and vastly improved user's guide.
* src/HIDProtocol.c (SendInputReport): Fix report size to match
what was declared in the HID descriptor.
(ModifierRelease, f_HIDPKeyboard): Remove click delays.
(CLICK_DELAY, DOUBLECLICK_DELAY): Remove constants.
* src/Config.h.in (DEBUG_BUILD): Undefine for final 1.0 release build.
* rsc/BlueRemote.xrd: Disable "Encrypt link before connecting"
setting on the Details form. Adjust form size and help string.
* doc/*: New stuff.
* pics/*: Ditto.
* attic/*: Old stuff.
* marketing/desc.html: Update.
* marketing/desc.txt: Update.
2006-07-14 Lőrentey Károly <[email protected]>
Really fix crash on BTRadioInit failure during startup.
* src/Main.c (ReinitRadio): Don't report errors in BTRadioInit
twice. Improve error message after BTListenInit.
* src/Bluetooth.c (BTGlobals): New field libOpened.
(g_libOpened): New macro.
(PublishSDPServiceRecord): Don't call ERROR here; replace with LOG.
(f_BTRadioInit): Don't try to free g->bt. Fix explanation
condition to include btLibErrBusy. Set g_libOpened. Replace WARN
with LOG.
(f_BTRadioClose): Check for g_libOpened before closing the library.
(f_BTInit): Free g->bt when BTRadioInit fails.
(UpdateRemoteName): Replace WARNs with LOGs.
* src/Commands.c (ExecuteOther): Replace WARNs with LOGs.
* src/ConnectForm.c (DrawListEntry): Ditto.
* src/HIDProtocol.c (SendInputReport): Ditto.
* src/KeyboardForm.c (UpdateModifierState, UpdateLedState): Ditto.
* src/MouseForm.c (MousePadHandler): Ditto.
* src/MsgQueue.c (f_MsgAddHandle, f_MsgAddPtr): Ditto.
2006-07-13 Lőrentey Károly <[email protected]>
Fix HIDP SDP record to use 16-bit uints where Windows expects it.
Fix HIDP SDP record to include the HID service class in the
profile descriptor list, where Windows expects it.
Fix crash when radio initialization fails during startup.
Add code for Device Identification SDP record (disabled).
Device Details form. Advanced Preferences form. UI enhancements.
* rsc/BlueRemote.xrd: Add Details form and link to it from the
Connect form. Add Advanced Preferences form and link to it from
the Preferences form. New Confirmation alert. Add navigation
resource for the Connect, Preferences, Advanced Preferences and
Details forms. Set the default button on every form. Add help
for Advanced Preferences and Details. Add version string.
* src/SDP.c (f_SDPUInt16): New function.
* src/SDP.h (SDPUInt16): Declare.
* src/Bluetooth.h (enum BTDeviceClassType): Remove classNone.
(BTMasquarade): Remove.
* src/Bluetooth.c (HID_DEVICE_CLASS_BASE)
(HID_DEVICE_SUBCLASS_KEYBOARD, HID_DEVICE_SUBCLASS_MOUSE)
(HID_DEVICE_SUBCLASS_COMBO, HID_DEVICE_SUBCLASS_MOUSEKEYBOARD):
New constants.
(HID_DEVICE_CLASS_KEYBOARD, HID_DEVICE_CLASS_MOUSE)
(HID_DEVICE_CLASS_COMBO, HID_DEVICE_CLASS_MOUSEKEYBOARD)
(HIDProfileUUID): Remove obsolete constants.
(BTManagementCallback, BTSocketCallback): Call
EvtWakeup after each ENQUEUE to make sure the UI thread will
handle the enqueued commands immediately.
(DataCleanup): Move risky MemPtrRecoverHandle after TRACE.
(HandleNameResult): Reduce loglevel.
(SetupNewAddress): Fix addressStr initialization. Set version and
encryptLink fields of struct Device.
(Masquarade): New function, renamed from f_BTMasquarade. Check
for SPREF (masquarade), and do nothing if unset.
(Disconnect): Add quick parameter.
(PublishSDPServiceRecord): Force 16-bit SDPUInts where necessary.
Add the HID service class UUID to the profile descriptor list.
Add code for Device Identification record (disabled). Add
supervision timeout, copied from the SDP record of another device.
(f_BTRadioInit): Add verbose error message for
btLibErrInUseByService. Update call to f_BTMasquarade.
(f_BTRadioClose): Close sockets and reset state variables.
(f_BTInit): Check for return value of f_BTRadioInit.
(f_BTClose): Don't call BTRadioClose twice.
(f_BTMasquarade): Renamed to Masquarade and made static.
(f_BTConnect): Call UpdateRemoteName. Initiate encryption when
d->encryptLink is set. Update d->lastConnected. Use quick
disconnect on errors.
(f_BTDisconnect): Update calls to Disconnect.
* src/ProgressForm.c (f_ProgressVUpdate): Don't draw messages that
are also displayed in an alert form. They are frequently too long
to display in one line, and the truncation is ugly.
* src/Pref.h (prefSavedVersionNum): Set to 1.
(prefUnsavedVersionNum): Set to 1.
(SavedPreferences, UnsavedPreferences): Finalize field names. Add
default value constants.
* src/Pref.c (PrefSavedReset, PrefUnsavedReset): Use default value
constants.
(UpdateAdvancedPreferencesForm)
(AdvancedPreferencesFormHandleEvent): New functions.
(f_PrefShowSetupForm): Use them to implement the Advanced
Preferences form.
* src/Main.c (Connect, Reconnect): Add verbose error message for
btLibMeStatusPageTimeout.
* src/KeyboardForm.c (SwitchScreen): Call UpdateLedState.
(UpdateLedState): Add force parameter.
(KeyboardFormHandleEvent): Don't call UpdateModifierState twice.
* src/HIDProtocol.c (CLICK_DELAY, DOUBLECLICK_DELAY): New constants.
(f_HIDPKeyboard): Use them.
* src/HIDDescriptor.c (f_HIDDescriptor): Disable code for Game
Pad, Consumer Control and Bettery Strength reports.
* src/DevList.h (DEVICE_STRUCT_VERSION): New constant.
(Device): Add version and encryptLink fields.
(DevListDetails): Declare.
* src/DevList.c: Include BlueRemote_res.h and HardKeys.h.
(DontHandleEvent, DrawDetails): New functions.
(f_DevListInit): Check record version. Improve logging.
(f_DevListAdd): Set record version.
(f_DevListDetails): New function.
* src/ConnectForm.c (ConnectFormHandleEvent): Don't override
center key; let the navigation system handle it. Handle
ConnectDetailsButton instead of ConnectDeleteButton.
* src/Common.h (UNUSED): New macro.
2006-07-11 Lőrentey Károly <[email protected]>
Implement Preferences form. Implement disableAutoOff. Work
around crashes on older devices after ACL link errors. Implement
device flags. Move StrError to Tools.c. Use consistent URLs and
email addresses. Fix autooff behaviour and logging. Implement a
short send timeout on devices that have an old-style Bluetooth
library.
* src/Main.c (Connect, Wait, Disconnect, Reconnect)
(AppEventLoop): Call AutoOffEnable as appropriate.
* rsc/BlueRemote.xrd: New form: Preferences. Add help string for
it. Link it to the menu.
* src/Pref.c (PreferencesFormHandleEvent): New static function.
(f_PrefShowSetupForm): New function.
* src/Pref.h (PrefShowSetupForm): Declare it.
* src/AppMenu.c (AppMenuDoCommand): Handle CommonOptionsPreferences.
* src/Bluetooth.c (SEND_TIMEOUT): New constant.
(KEYBOARD): Remove obsolete constant.
(BTChannel): New member sendTimer.
(BTSendTimer): New function.
(DataCleanup): Call TimerCancel on the sendTimer.
(Disconnect): Shorten log message.
(SendNext): Reschedule sendTimer.
(f_BTRadioClose): Make reconnects faster by not calling
BTDisconnect here.
(f_BTInit): Initialize sendTimers.
(f_BTClose): Free sendTimers, clean out channel pointers.
* src/Log.c (AddMsg): Use "L" as the prefix for LOGs.
* src/Timer.c (f_TimerReschedule): Add logging.
* src/Tools.h (DeviceFlags): New type.
(DeviceFlagSupported, DeviceFlagSmartPhone)
(DeviceFlagBluetoothCrashOnLinkError): New constants.
(ToolsIsSmartPhone): Remove.
(ToolsGetDeviceFlags): Declare.
* src/Tools.c (f_ToolsGetDeviceFlags): New function.
(f_ToolsIsSmartPhone): Remove.
* src/Main.c (ReinitRadio): New function.
(Connect, Wait, Disconnect, Reconnect, AppEventLoop): Fix sounds.
(AppEventLoop): Handle CmdRadioError.
* src/Commands.h (CmdRadioError): New command.
* src/Bluetooth.h (BTRadioInit, BTRadioClose): Declare.
* src/Bluetooth.c (SDP_PROVIDER_NAME): Change to BlueRemote.
(BTGlobals): Remove Globals pointer. Update accessor macros not
to require a local bt variable. Update all functions that have one.
(BTManagementCallback, BTSocketCallback): Fix loglevels. Do not
ever call ERROR or WARN from a EvtGetEvent callback like these.
(Disconnect): Flush queues even if not connected.
(f_BTRadioInit, f_BTRadioClose): New functions.
(f_BTInit, f_BTClose): Call them.
(f_BTHandleEvent): Handle broken Bluetooth stacks. Improve logging.
* src/AutoOff.c (f_AutoOffClose, f_AutoOffEnable): Don't let the
device go to sleep immediately after autooff is reenabled.
* rsc/BlueRemote.xrd: Shorten some error messages.
* src/Timer.c (f_TimerTick): Reduce loglevels.
* src/Bluetooth.h (BTStrError): Remove.
* src/Bluetooth.c (f_BTStrError): Remove.
(BTManagementCallback, BTSocketCallback, BtLibAddrBtdToA)
(UpdateRemoteName, SetupNewAddress, Listen, LinkDisconnect)
(Authenticate, Encrypt, Connect, SendNext, AddSDPAttribute)
(BtLibSdpServiceRecordCreate, PublishSDPServiceRecord)
(f_BTInit, f_BTClose, f_BTMasquarade, f_BTHandleEvent)
(f_BTConnect, f_BTSelectDevice): Update calls to BTStrError.
* src/Tools.c (f_StrError): New function.
* src/Tools.h (StrError): Declare.
* src/Main.c (Connect, Wait, Reconnect): Update calls to BTStrError.
* src/AutoOff.c (f_AutoOffInit, SysNotifyUnregister):
Update calls to BTStrError.
* src/DRM.c (DRM_PARTNER, APPEMAIL): Remove.
(f_DRMAppStart, f_DRMRegisterForm): Replace DRM_PARTNER with
APP_URL, APPEMAIL with APP_SUPPORT.
* custom.mk: Make sure Version.c is included in the build.
* Makefile (SOURCES): Remove Version.c.
(LOCAL_INCLUDE_PATHS): Add src and src/auto.
2006-07-10 Lőrentey Károly <[email protected]>
Final (hopefully) Bluetooth connection tweaks. Fix a
long-standing but probably harmless HID protocol bug. Support for
disabling the auto off timer. Dynamic about form. Version string
with build number.
* src/Bluetooth.c (BTManagementCallback): On ACL disconnect,
simply enqueue the corresponding async result. On successful
pairing, send CmdPaired, and remove identification of remote
device (not available) from log message.
(Connect): Fix dataSocket check. Don't disconnect if connected,
but simply return. Tweak with logging.
(WaitForCommand): New function.
(f_BTWait): Send an initial report after connection.
(f_BTHandleEvent): Handle AsyncACLDisconnect.
(f_BTConnect): Authenticate/encrypt channel after connecting the
control channel but before connecting interrupt. Wait 300ms for a
VIRTUAL_CABLE_UNPLUG request, and ignore it if we get one.
* src/HIDProtocol.c (ProcessOutputReport): Don't send a control
handshake after interrupt messages. (D'oh!)
(ProcessControl): Send CmdUnplugReceived after
VIRTUAL_CABLE_UNPLUG, not simply CmdInitiateDisconnect.
(ProcessSetReport): Send handshake here, don't rely on
ProcessOutputReport sending one.
* src/Commands.h (CmdUnplugReceived, CmdPaired): New commands.
* src/Main.c: (AppEventLoop): Handle CmdUnplugReceived.
* src/AutoOff.h: New file.
* src/AutoOff.c: New file.
* src/Main.c (AppInit): Call AutoOffInit and AutoOffClose.
(AppClose): Call AutoOffClose.
* src/Common.h (Globals): New member autooff.
* src/ProgressForm.c (f_ProgressStart): Draw form before showing
the Cancel button to prevent saveunder from restoring a messed up
display. Disable auto off.
(f_ProgressStop): Re-enable auto off.
* src/Pref.h (prefSavedVersionNum, prefUnsavedVersionNum): Increment.
(SavedPreferences): New preference disableAutoOff.
* src/Pref.c (PrefSavedReset): Set disableAutoOff to true.
* src/HardKeys.c (HardKeyEnable): Add boolean parameter, return
previous state.
(HardKeyDisable): Remove function.
* src/HardKeys.h: Update.
* src/MouseForm.c: Sane variable and parameter names.
(MouseFormHandleEvent): Update HardKey calls.
* src/ConnectForm.c (ConnectFormHandleEvent): Update HardKey calls.
* src/KeyboardForm.c (KeyboardFormHandleEvent): Ditto.
* src/AboutForm.h: New file.
* src/AboutForm.c: New file.
* src/AppMenu.c: Include AboutForm.h.
(FrmInitForm): Call AboutShow.
* src/Version.h: New file.
* src/Version.c.in: New file.
* src/Config.h: Rename to Config.h.in.
* src/CoreHeaders.h: Add Version.h and AutoOff.h.
* src/Sections.h (VERSION_SECTION, ABOUTFORM_SECTION)
(AUTOOFF_SECTION): New constants.
* rsc/BlueRemote.xrd: Remove most labels from About form. Set the
save behind attribute on the progress form. Delete bogus shortcut
for "Add Device.." menu entry.
* rsc/AppIcon_Large_X2_8.bmp: Generate a better version with
dithered colors.
* src/Log.c (AddMsg): Convert newlines to spaces before writing
message in logfile.
* src/Log.h (DEFAULT_LOGLEVEL, FORCE_LOGLEVEL): Add some docs.
* src/Hash.c (HashFindEntry, f_HashCreate, f_HashDelete):
Fix format warnings in trace messages.
* custom.mk: Convert to UNIX line endings.
Add support for generating src/auto/Version.c and src/auto/Config.h.
* Makefile: Convert to UNIX line endings.
(SOURCES): Add src/auto/Version.c and src/AboutForm.c
2006-07-08 Lőrentey Károly <[email protected]>
* src/MouseForm.c (BUTTON_GROUP_ID): New constant.
(UpdateButtonAfterClick): Use it.
(dragmode): New variable.
(MousePadDoClick): Start/stop dragging if in drag mode.
(DragMode): New function.
(DragStart): Renamed from StartDragging. Enable dragmode if needed.
(DragStop): Renamed from StopDragging. Disable dragmode if needed.
(MouseFormHandleEvent): Sane variable names. Call DragMode
instead of StopDragging. On button selection, only disable
dragmode if currently dragging. Let the drag checkbox control
drag mode instead of drag state.
(MouseInitForm, MouseFormOverrideEvent): Sane variable names.
* src/Log.h (MLOG, LOG): New macros.
2006-07-07 Lőrentey Károly <[email protected]>
Add some documentation with a pile of screenshots.
* doc/BlueRemote.tex: New file.
* doc/nagyprogram.tex: New file.
* doc/pics/*.png: New screenshots.
* doc/pics/windows/widcomm/*: New screenshots.
* src/Bluetooth.c (SDP_PROVIDER_NAME): Set to my name.
2006-07-06 Lőrentey Károly <[email protected]>
Final update before university demonstration.
Enhance connection algorithm. Autoswitch to rewritten Wait screen.
Lower GCC optimization level to fix some crashes.
Merge the sticky timers into a single timeout.
* Makefile (OPTIMIZE_LEVEL): Reduce to SOME. GCC seems to
miscompile code with FULL resulting in mysterious but repeatable
crashes.
* src/ProgressForm.c (ProgressFormHandleEvent): Remove old
debug code.
(f_ProgressStart): Discard any queued pen and key events.
* src/MouseForm.c (UpdateButtonAfterClick, StopDragging): Update
group ids.
* src/Main.c (Wait): Remain on the Wait screen until connected or
canceled.
(AppEventLoop): Switch to the Wait screen if an incoming
connection is received while on the Welcome form.
* src/KeyboardForm.c (QUICK_HIDE_SCREEN): Remove constant.
(ShowScreen, HideScreen): Remove display param. Return
immediately if not on Keyboard screen.
(ShowScreen): Always call FrmShowObject.
(HideScreen): Remove support for QUICK_HIDE_SCREEN. Always call
FrmHideObject.
(SwitchScreen): Change type of display param to Boolean. Add some
logging. Simplify.
(KbdSwitchScreens): Add some logging.
(KeyboardFormHandleEvent): Update form state here instead of
KeyboardInitForm. Add some logging.
(KeyboardInitForm): Defer form state update to
KeyboardFormHandleEvent.
* src/Heap.c (SWAP, DumpHeap_, DumpHeap): Reduce loglevel.
* src/HIDProtocol.c (HIDPGlobals, g_modtimers): Merge the
modtimers array into a single timer, common to all modifiers.
(ModifierPress, ModifierRelease, NormalKey): Don't cancel the timer.
(StickyTimer): Rewrite. Time out all stickies at once.
(f_HIDPInit, f_HIDPClose, f_HIDPReset): Update for merged timer.
(ModString): Add unused attribute to shut up GCC warning.
* src/Error.h (appErrConnTerminated): New constant.
* src/Commands.h (AsyncKind): Add AsyncNone, useful for
implementing delays.
* src/Bluetooth.c (BTManagementCallback): Shorten authn success
message. Don't rejects incoming connections while connecting.
(Connect): Enhance log.
(WaitForResult, WaitForQueue): Call SysHandleEvent to get normal
hard key behaviour.
(f_BTWait): Rewrite for better behaviour. Wait for a while before
switching to the mouse/keyboard screens to allow for pairing to
complete.
(f_BTConnect): (For Windows) make some authentication failures
hard errors. Remove device from DevList if we failed to
authenticate with it. Don't connect if already connected.
Return appErrConnTerminated if WaitForQueue returns
appErrNotConnected.
* rsc/BlueRemote.xrd: Renumber group IDs, just to be safe.
Enhance error messages for appErrEncryptionFailed and
appErrNotConnected. Add message for appErrTrialExpired and
appErrConnTerminated.
* src/Sections.h: Section 2 overflowed yet again in the debug build.
* Sections.def: Add sec4.
2006-07-05 Lőrentey Károly <[email protected]>
Fancy new icons. Uploaded to PalmGear.
* rsc/BlueRemote.xrd: Update for new icons. Fix About screen.
Fix PalmGear URLs.
* rsc/AppIcon_Large_X1_1.bmp: Updated.
* rsc/AppIcon_Large_X1_8.bmp: Updated.
* rsc/AppIcon_Large_X2_8.bmp: Updated.
* rsc/AppIcon_Large_X2_16.bmp: Updated.
* rsc/bitmaps/AppIcon_Small-1.bmp: Updated.
* rsc/bitmaps/AppIcon_Small-8.bmp: Updated.
* rsc/AppIcon_Small_X2_16.bmp: New file.
* doc/License.txt: New file.
* marketing/BlueRemote.gif: New file.
* marketing/Screenshot.gif: New file.
* marketing/Screenshot.xcf: New file.
* marketing/desc.html: New file.
* marketing/desc.txt: New file.
* marketing/icon.xcf: New file.
* marketing/largeicon.bmp: New file.
* marketing/smallicon.bmp: New file.
* DRM/RegistrationCode.java: Split up and moved to below:
* DRM/hu/fnord/palm/drm/test.java: New file.
* DRM/hu/fnord/palm/drm/SHA1.java: New file.
* DRM/hu/fnord/palm/drm/RegistrationCode.java: New file.
* DRM/hu/fnord/palm/drm/PalmGear.java: New file.
* src/Config.h (DISABLE_BLUETOOTH): New define.
* src/Bluetooth.c: Add (untested) support for DISABLE_BLUETOOTH.
Useful for testing/capturing the UI in the Simulator.
* custom.mk (release): New target.
* Makefile (OPTIMIZE_LEVEL): Set to FULL.
(DEBUG_OR_RELEASE): Set to Release.
* src/Log.c (f_Alert): Restore g_lock correctly.
* src/DRM.c (f_DRMRegisterForm): Initialize msg.
2006-07-04 Lőrentey Károly <[email protected]>
Fix DRM mechanisms. Production-ready registration mechanism.
Implement fancy multiple-button, multiple-paragraph, elastic modal
popup forms with headers. Clean up resources.
* src/UITools.h (DrawText): Update.
(PopupForm): Declare.
* src/UITools.c: Include FrmGlue.h.
(PopupFormHandleEvent, DrawHeaderPlusText): New static functions.
(f_DrawText): Add draw option. Handle newlines in text.
(f_PopupForm): New function.
* src/Tools.h (MINUTES, HOURS, DAYS): New constants.
* src/SHA1.h (SECTION): Define.
* src/ProgressForm.c (DrawTitle, DrawDetail, DrawDevname)
(DrawMsg): Update callers of DrawText.
(f_ProgressStop): Call FrmRestoreActiveState after FrmEraseForm.
Fixes some redrawing problems.
* src/Main.c (AppInit): Call DRMInit and DRMAppStart before the
Bluetooth stuff.
(AppEventLoop): Handle CmdShowWelcome.
* src/KeyboardForm.c (keyboardFormDesc, KeyboardFormHandleEvent):
Don't refer to deleted menu entries.
* src/MouseForm.c (mouseFormDesc): Ditto.
* src/Error.h (appErrTrialExpired): New constant.
* src/DRM.h (MINUTES, HOURS, DAYS, DRM_INITIAL_STARTUPS)
(DRM_INITIAL_TIMEOUT, DRM_NAG_FREQUENCY, DRM_EXPIRATION)
(DRM_PARTNER): Move constants elsewhere.
(DRMRegisterForm): Declare.
* src/DRM.c: Include FrmGlue.h and BlueRemote_res.h. Add missing
declarations. Remove DRM prefix from static functions.
(DRM_INITIAL_STARTUPS, DRM_INITIAL_TIMEOUT, DRM_NAG_FREQUENCY)
(DRM_EXPIRATION, DRM_PARTNER, APPEMAIL): New constants.
(Cleanup): Fix case conversion. D'oh!
(Verify): Calculate val as well as checksum. D'oh!
(f_DRMAppStart): Use PopupForm to display fancy messages. Call
DRMRegisterForm when appropriate.
(EmptyFormEventHandler): New static function.
(f_DRMAppStart): New function.
* src/ConnectForm.c (ConnectFormHandleEvent) [menuOpenEvent]:
Update menu items.
(ConnectFormHandleEvent) [frmOpenEvent]: Enqueue CmdShowWelcome if
device list is empty.
* src/Commands.h (CmdShowWelcome): New command.
* src/AppMenu.c (AppMenuDoCommand): Update to reflect menu changes.
* rsc/BlueRemote.xrd: Add RegistrationForm and RegisteredForm.
Remove unused forms S1WelcomeForm and S3Connected. Add navigation
resources for RegistrationForm and ProgressForm. Remove
references to nonexistent screens. Fix email address on
AboutForm. Rename "Select Device..." menu item to "Add
Device...". Remove "Switch class" item from Options menu.
Add "Register" to Options menu.
* Makefile (ADDITIONAL_LINK_LIBRARIES): Link with -lPalmOSGlue.
* DRM/RegistrationCode.java (cleanup): Fix case conversion. D'oh!
(getValue): Clean up digest to int array conversion.
(main): Announce result of verification.
2006-07-03 Lőrentey Károly <[email protected]>
Add SHA1 implementation, somewhat tested. Add preliminary DRM.
* src/DRM.h: New file.
* src/DRM.c: New file.
* src/SHA1.h: New file.
* src/SHA1.c: New file.
* src/Tools.h (SWAP16, SWAP32): Rewrite as inline functions.
(ROL, ROR): New inline functions.
(CPU2BIG16, CPU2BIG32, CPU2LITTLE16, CPU2LITTLE32, BIG2CPU16)
(BIG2CPU32, LITTLE2CPU16, LITTLE2CPU32): New macros.
* src/Sections.h (SHA1_SECTION, DRM_SECTION): New constants.
* src/Main.c (AppInit): Call f_DRMInit.
(AppStart): Refuse to start if DRMAppStart says so.
(AppClose): Call DRMClose.
(PilotMain): Don't start the event loop if AppStart fails.
* src/CoreHeaders.h: Include SHA1.h and DRM.h.
* src/Common.h (drm): Add DRM members to Globals structure.
* Makefile (SOURCES): Add SHA1.c and DRM.c.
(ADDITIONAL_COMPILER_FLAGS): Add -Winline.
2006-07-02 Lőrentey Károly <[email protected]>
Autoconnect. Fancy navigation on the connect form. Give border
to progress form. Bluetooth init and error handling tweaks.
* src/Pref.h (prefUnsavedVersionNum): Add SPREF (autoconnect).
Increment version numbers.
* src/Pref.c (PrefSavedReset): Initialize SPREF (autoconnect).
* src/ConnectForm.c (UpdateDeviceList): Fix list drawing when
there is no selection.
(ConnectFormHandleEvent): Implement 5-way navigation. Cool!
* src/DevList.c (f_DevListSelected, f_DevListSetSelected):
Increment modnum when changing selection.
* src/ProgressForm.c (detailBounds, devnameBounds, bitmapBounds)
(msgBounds): Update bounds to reflect new form design.
(StartAnimate): Start scanning animation from the middle.
(StopAnimate): Speed up farewell animation.
(f_ProgressStart): Always redraw form and disable hard keys.
(f_WaitForQueue, f_WaitForResult): Moved to Bluetooth.c.
* src/ProgressForm.h: Update.
* src/MouseForm.c (MouseFormHandleEvent): Make frmOpenEvent and
frmUpdateEvent equivalent.
* src/Main.c (Connect, Wait, Disconnect, Reconnect): New functions.
(AppEventLoop): Use them to simplify switch statement.
(AppInit): Call HardKeyInit and set up a progress bar before
calling BTInit. Fix error handling.
(AppStart): Add support for autoconnect.
* src/KeyboardForm.c (UpdateModifierState): Add force option.
(KeyboardFormHandleEvent): Use it when redrawing form. Make
frmOpenEvent and frmUpdateEvent equivalent.
(KeyboardInitForm): Call UpdateModifierState with force set.
* src/HardKeys.c (TreoNotifyCallback): Never override
Power/Launch/Menu keys.
* src/Error.h (appErrEncryptionFailed): Fix definition.
(appErrNotConnected): New constant.
* src/Commands.h (AsyncKind): Add AsyncRadio and AsyncSend.
(CmdChannelConnectedInbound, CmdSendFailed, CmdDataSent)
(CmdDataReceived): Remove.
* src/Bluetooth.c (WaitForResult, WaitForQueue): New functions,
moved here from progressForm.c. Update callers.
(f_BTInit): Wait for result of BtLibOpen and accessible mode
change.
(f_BTClose): Ditto. Free message queues. (D'oh!)
(f_BTWait): New function.
(f_BTHandleEvent): Switch on CmdAsyncKind. Handle radio events.
(f_BTConnect): Improve logging. Disable encryption warning.
(BTManagementCallback): Send AsyncRadio events. Improve logging.
(BTSocketCallback): Send AsyncConnect and AsyncSend events.
(LinkDisconnect): Improve logging.
(Disconnect): Flush inqueue as well.
(DataCleanup): Set status to 0.
(f_BTStrError): Export function. (Probably temporary.) Remove
old list of strings.
(f_BTPublishSDPServiceRecord): Make static, rename to
PublishSDPServiceRecord.
* src/Bluetooth.h: Update.
* rsc/BlueRemote.xrd: Clean up by removing unused forms. Give
border to progress form. Add error string resources.
2006-07-01 Lőrentey Károly <[email protected]>
On the Mouse Form, make the 5-way navigator generate pointer
events instead of cursor events.
Add a sysNotifyEventDequeuedEvent for the Treo to prevent the
Ringer Volume form and Butler's navigation features from
interfering with our fancy hard key handling.
Add SPREF (hardkeyOverride) in Pref.h, SWAP16 and SWAP32 in Tools.h
2006-06-30 Lőrentey Károly <[email protected]>
Add WaitForResult for emulating synchronous Bluetooth operations.
Rewrite/simplify Bluetooth connection/disconnection with
WaitForResult. (Needs more cleanup.)
Add Error.h.
2006-06-27 Lőrentey Károly <[email protected]>
Implemented Heap, Timer, DevList and ProgressForm.
Asynchronous animations and timeouts.
Unsticking modifiers.
New Task button on Keyboard form.
Maximize logfile size to prevent filling up and crashing the
device.
Fix an enormous number of crashes, and introduce interesting new
ones.
Add fancy DrawText function with support for left/right/center
justification.
Add support for release build configuration in Config.h.
Reformat source code.
2006-06-23 Lőrentey Károly <[email protected]>
Fully working hard keys and Graffiti input. Fully usable UI.
Many many tweaks.
2006-06-21 Lőrentey Károly <[email protected]>
Implement hard key processing. Way cool! (Tested on Treo 650 only)
2006-06-20 Lőrentey Károly <[email protected]>
Request encryption on connect to fix Windows reconnections.
Other tweaks.
2006-06-17 Lőrentey Károly <[email protected]>
Core system overhaul for device-initiated reconnect support and
background operation.
2006-06-15 Lőrentey Károly <[email protected]>
Initial import.
Add ignore patterns for build results.