Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

[MOD][SENSE2.5TAB] SenseUtil (Tab Control File Editor) [10 Aug 2011 New Release]

OP meltwater

23rd November 2010, 09:42 AM   |  #1  
meltwater's Avatar
OP Recognized Developer
Thanks Meter: 325
 
2,066 posts
Join Date:Joined: Jan 2009
Project Open
Compiled Cab file attached to this post.

Code-Plex Page (source available):
http://senseutil.codeplex.com


======================
Project Status
======================

Initial development is completed.
The application does all the items defined in the Manifest!

Ideas and feedback are very welcome, particularly for the GUI (which is more functional than anything else).

Graphics etc are welcome, then I can add graphical controls etc and state icons.
Added example shortcuts
Shortcuts for use with installing and uninstalling tabs. See Shortcuts section of the manual below.


Release 10th Aug 2011 (meltwater_SenseUtil (9433).cab) - Thanks to mike2nl for gathering the extra tab details and corrections!
+Added (shortcuts & resource files):
1a9fc010_manila \windows\HTC\today.mode9
2c417551_manila \windows\HTC\GGorizont\GGorizont.mode9
04ca8df7_manila \windows\HTC\GPSTracker\GPSTracker.mode9
34C172FA_manila \windows\HTC\Manilatv\favorites.mode9
037D6881_manila \windows\HTC\GameFifteen\GameFifteen.mode9
0C3A0700_manila \windows\HTC\programlauncher.mode9
2CAADFCD_manila \windows\HTC\manilaradio\manilaradio.mode9
+Corrected document tab shortcut
+Language title files (6f286a05_manila_en-us_titlefixed.txt is template for others)
+Language title files added to cab (although most require translations etc)

Code:
Release 22nd Feb 2011 (meltwater_SenseUtil (6952).cab) - 680views
+ Added fix for "Unable to update file"
+ Using Release instead of Debug build

Release 26th Jan 2011 (meltwater_SenseUtil (6328).cab) - 189views
Code is the same, but added CabFile to package (with Shortcuts) and HQ icon for application.
- Cab will always install to Device "\windows\SenseUtil" regardless of user selection.

19 Jan 2010 (SenseUtil_6026.zip)
Changed default position to after home tab.
Added shortcuts for more tabs.

18 Jan 2010 (SenseUtil_6007.zip)
Updated softreset message for commandline updates.

17 Jan 2010 (SenseUtil_5973.zip)
------------------
Added shortcuts.
Added option to reset device following command-line modification of tab control file (with prompt so user can wait to see if sense restarts without reset).

2 Dec 2010 (SenseUtil_5021.zip) - 246+140views
------------------
Initial Release
Cab (thanks to Captain_Throwback).
======================
Additional Work
======================

Missing Available Tabs:
===============

If there are any missing tabs from the available tabs list, then send me the details so I can generate a resource file.

Extra Features (To Do):
==========

At some point I will update the app to read the configuration keys (if available) and generate the file using the order defined there (plus re-generate the keys to keep disabled tabs disabled).

Graphics:
======

If anyone is interested, I can add icons to help determine the states of the tabs...just need some graphics!
Possible State Icons for tabs:
Tab Installed & Present - in the tab control file & on the device (Installed Fine)
Tab Not Installed & Present - not in the tab control file but on the device (i.e. Available to add)
Tab Installed & Not Present - in the tab control file but not on the device (!Warning State! Sense will probably fail to run)
Tab Not Installed & Not Present - not in the tab control file or in on the device

Also the icon could indicate if the source is from XML file or the tab control file (only applies to the installed ones - not installed ones will always be xml).


====================
User Manual
====================

I'll try to update this with new information as and when I get time, hopefully the app isn't too difficult to understand.

Control Sense Page:
============

This page controls sense...


[Start Sense]:
If sense is not selected in the Today Plugin, this adds and triggers sense to start.

[Stop Sense]:
If sense is running, or set in the Today Plugin to run, this will remove it and trigger it to close.

[Restart Sense]:
This will cause sense to restart (by removing and adding it from the Today Plugin).
Note: Any changes to your Tab Control File (26948339_manila) are ignored.

[Reset Sense]:
The same as [Restart Sense], but will also cause it to re-build by removing the ManilaFull.xml file.
Note: If you have changed your Tab Control File (26948339_manila) any changes will be re-built in this process.

[Full Reset Sense]:
The same as [Reset Sense], but will also delete the configuration registry keys (this is required when you add/remove tabs for them to initialise correctly and for them to show up in the Tab Re-arrange page within the Sense Settings Tab).
Note: Any tabs disabled via the Sense Settings Tab will be re-enabled!

[Soft Reset]:
This simply restarts your device, quite often sense will not re-start correctly without at least one reset.

Tab Control File [Update]:
If you have generated a new Tab Control File (26948339_manila), this option will replace your existing file (creating a timestamped backup within the SenseUtil folder) and [Full Reset Sense].

Tabs (Loaded) Page:
============

On start up, this page shows the contents of the Tab Control File (26948339_manila).


[Build]:
Once you have made adjustments to the list, you can build a new file (which you can then view using a suitable text editor and check if you wish).

Tab Source [#]:
This toggles the source of the tab data:
Default=Your original Tab Control File
File=The loaded xml resource file
Note:
If the tab is not available (the xml file does not exist) then the source will not change. Also if you delete and re-add a tab which was in your tab control file, it will not be able to be set back to Default - you will need to Reload the data fresh.

Remove [-]:
Removes the tab, the tab will no longer be installed.

Shift Up [^] and Shift Down [v]:
Allows you to adjust the default positions of the tabs.

Tabs (Available) Page:
============

This page will show you the tab's which are available (loaded from the Resource Folder xml files).


When you select an item, you will be able to see if the tab's keyfile is Present On Device or not, this provides an indication of if the files required for the tab are on the device
Note: Only the keyfile is checked - there will be additional files required for the tab/sense to function.
Various details about the tab are also available, if a custom tab links to the tab's development and release pages should be provided.

Add Tab [+]:
Allows you to add a tab to your Tab Control File, if the tab is not detected as Present On Device you will be warned that Sense probably will not start (you will need to install the correct tabs files on your device).

Add All [+All]:
This will add all the tabs which are detected as Present On Device but not currently in the Tab Control File.
Note:
Only the keyfile is checked - there will be additional files required for the tab/sense to function. So be sure you have correctly installed all the required files for a particular tab.


Settings Page:
============

Provides various options for the app.


Register to Today Softkey:
[Left][Right][Set Action/Contacts)]

Only recommended if you use the app a lot as it provides an easy way to start up/control sense if it has not loaded.

[ ] Advanced View:
This allows you to see all the data which the app collects about the installed/available tabs and uses to do what it does. Useful for debugging issues with the resource files or problems with the app itself.

[Reload Files]:
This will read in your Tab Control File again, and reload all the resource Xml files (for the available tab list).
Note: Any changes you've made to your Tab Control File in the app will be discarded.


Command Line Options:
============

SenseUtil add 6B54437C_manila
- Adds the specified tab, leave other tabs as they are

SenseUtil renew
- Replaces all tab details with data from the xml files (leaves any not found in the xml files as they are)

SenseUtil addall
- Adds any tabs which are not in the tab control file but found on the device (checking for the key mode9 file), the other tabs are left as they are. New tabs are added at end before settings tab.

SenseUtil addallnew
- As above, but other tabs are replaced with details from the xml files (leaves any not found in the xml files as they are)

SenseUtil remove 6B54437C_manila
- Removes the tab if installed on the device

Shortcuts:
========

By using the shortcuts, it is assumed that SenseUtil is installed to device location:
"\Windows\SenseUtil\"

Code:
i.e For FbTab:
Add Shortcut:
54#"\Windows\SenseUtil\SenseUtil.exe" add 51B6F88A_manila

Remove Shortcut:
57#"\Windows\SenseUtil\SenseUtil.exe" remove 51B6F88A_manila
For other tabs, look up the xxxxxxxx_manila file in the resource section and replace 51B6F88A_manila (note: the 54# and 57# need not change since the length should remain the same). Or post a request and I'll upload suitable shortcuts!

Note:
1. Before using the shortcut you must install the correct files for the tab in the correct location (if files are not present the tab will not be added).
2. System may need Soft-Reset (turn off and on again) for sense to restart correctly (you will be prompted to wait and see if sense starts).
3. The order set by the settings tab will be reset by this process.


Code:
===============================
Application Manifest - What I Planned To Achieve
===============================
The plan is a simple program which reads the tab control file (file 26948339_manila) and allow you to add/remove tabs using a simple xml file to provide the correct info.

MoonNah's (http://forum.xda-developers.com/showthread.php?t=670116) B_L_Group_FixStartManila_2.5.cab is an excellent tool which simply re-generated the list based on the files it found within the windows dir, worked well except there was no indication that is was successful or what it had done.

I think it would be quite simple to extend the idea a little further by creating an app with a gui which then searched it's local folder for xml files.  The xml files will be named to match the key mode9 filename for each tab:

i.e. RSS Tab = \windows\htc\people\RssFeed.mode9 = 6B54437C_manila
So there would be a xml file called 6B54437C_manila.xml which contains the data for the tab:
Code:
<Page Order="X" Name="rssfeed.page" PackageName="HTC" Title="[[IDS_RSSTITLE]]">
	<ComponentReference Name="page" Mode9Path="HTC\People\RSSFeed.mode9" Component="SummaryAllPage" SmartComponent="true"/>
	<ComponentReference Name="icon_normal" Mode9Path="HTC\Manila\RssFeedicon.mode9" Component="RssFeed_Off"/>
	<ComponentReference Name="icon_selected" Mode9Path="HTC\Manila\RssFeedicon.mode9" Component="RssFeed_On"/>
	<ComponentReference Name="icon_preview" Mode9Path="HTC\Manila\RssFeedicon.mode9" Component="RssFeed_Preview"/>
</Page>
So the app would look for each of the xxxxxxxx_manila files in the windows directory and then allow the user to add/remove any tabs which are present on the system. This would also allow users to totally disable any "problem" tabs more effectively than via the config keys. The xml files could also have a full list of required files (which could also be checked), perhaps a link to obtain the latest release, the app could then be released with xml files for all current tabs and any new ones so users can easily see what is available and obtain them. The app would also handle the disabling and resetting of sense so that the changes are correctly made. Also the app could support command line option to install a specific tab if present (not making any changes to the others), which can then be used by cab files. Note: Software is able to set today screen softkeys for easy use, but a proper soft-key manager is available here if you decide you want to set them to something different: http://forum.xda-developers.com/showthread.php?t=388281 I will have a try at making the app myself but my time is very limited so any help will be greatly appreciated. But I do think that such a program would be very useful for those who have problems editing their tab control file (file 26948339_manila). Let me know what you think? ====================== Language Title Fixes ====================== Custom Tabs (like RSSTab/Facebook Tab display IDS value on 1st run) This is because the translation file used for the tab titles is separate to the tab's own language file. I will update senseUtil to allow the users to update the files using a shortcut, but until I've completed and tested that, I've included a zip file of the required files. CAB INSTALL: Install meltwater_LangTitleUpdate_v01.cab. - 155views Reset sense. MANUAL INSTALL: - 149views Unzip and copy the files into your devices \windows\ directory, and then reset sense. Please let me know if you have any problems or if you have updates for the contained translations (I've only updated the ones I've already got translations for).
======================
Language Title Fixes
======================

Custom Tabs (like RSSTab/Facebook Tab display IDS value on 1st run)
This is because the translation file used for the tab titles is separate to the tab's own language file.
I will update senseUtil to allow the users to update the files using a shortcut, but until I've completed and tested that, I've included a zip file of the required files.

Updated language files are contained within the SenseUtil cab file, please update the file language files and post them here (they will get included in the next cab).
Attached Thumbnails
Click image for larger version

Name:	SenseUtil.jpg
Views:	1490
Size:	32.2 KB
ID:	449401   Click image for larger version

Name:	SettingsPage.Jpg
Views:	9342
Size:	45.0 KB
ID:	455138   Click image for larger version

Name:	ControlSensePage.Jpg
Views:	9403
Size:	55.6 KB
ID:	455139   Click image for larger version

Name:	Tabs(Loaded)Page.Jpg
Views:	9463
Size:	81.8 KB
ID:	455141   Click image for larger version

Name:	Tabs(Available)Page.Jpg
Views:	9392
Size:	86.4 KB
ID:	455144  
Attached Files
File Type: cab meltwater_SenseUtil (9433).cab - [Click for QR Code] (493.6 KB, 715 views)
File Type: zip Lang_Titles(9433).zip - [Click for QR Code] (182.2 KB, 394 views)
Last edited by meltwater; 16th August 2011 at 03:22 PM. Reason: Added 9433
The Following 8 Users Say Thank You to meltwater For This Useful Post: [ View ]
23rd November 2010, 09:57 AM   |  #2  
illi's Avatar
Senior Member
Flag Lat N03.05.589 Lon E101.37.388
Thanks Meter: 37
 
1,711 posts
Join Date:Joined: Oct 2006
More
Great idea meltwater. This will help rookie cooks like me
TIA
23rd November 2010, 10:02 AM   |  #3  
meltwater's Avatar
OP Recognized Developer
Thanks Meter: 325
 
2,066 posts
Join Date:Joined: Jan 2009
Quote:
Originally Posted by illi

Great idea meltwater. This will help rookie cooks like me
TIA

Well my thinking is, if we can make the "black art" a little "lighter" then it opens things up for novice users (like I was once) and brings fresh ideas and talent in.
25th November 2010, 10:22 AM   |  #4  
meltwater's Avatar
OP Recognized Developer
Thanks Meter: 325
 
2,066 posts
Join Date:Joined: Jan 2009
Ok, I've created an outline project in CodePlex, I will start putting in some basic stuff and see how I get on.

Time is limited for me, so if someone else is interested in working on this too then they are welcome. The source is easy to download, and I will happily add you to the project if you wish to upload your progress directly.
The Following User Says Thank You to meltwater For This Useful Post: [ View ]
25th November 2010, 10:39 AM   |  #5  
Skrobel's Avatar
Senior Member
Flag Piaseczno
Thanks Meter: 63
 
829 posts
Join Date:Joined: Jan 2010
More
Excellent idea! ThumbsUp for this
25th November 2010, 03:06 PM   |  #6  
meltwater's Avatar
OP Recognized Developer
Thanks Meter: 325
 
2,066 posts
Join Date:Joined: Jan 2009
1st Release!
Ok, I've put some starting stuff in (attempting to control sense).

Need some people to test it, I think there is an issue with starting sense again although not sure what. Soft-reset and it will comes back (assuming you've not changed anything else).

Sense Control Tab:

Start Sense - Clears the entry in the Today page for HTCSense
Stop Sense - Sets the entry in the Today page for HTCSense
Restart Sense - Does Stop and then Start with a delay in the middle.
Reset Sense - Same as Restart Sense but deletes the ManilaFull.xml file (which will cause sense to re-initialise - file will be regenerated)
Full Reset Sense - Same as Reset Sense but also clears the configuration keys (required when you add/remove a tab)

Settings Tab:
Allows you to register the app with the Today page softkeys (gives easy way to get sense running again!).
CAUTION: Only set to restore the defaults on my phone (LSoftkey=Action Page RSoftkey=Contacts).
Keys effected by this setting are:
HKCU\Software\Microsoft\Today\Keys\112
HKCU\Software\Microsoft\Today\Keys\113

Find the latest code in codeplex: http://senseutil.codeplex.com
Last edited by meltwater; 25th November 2010 at 03:11 PM.
25th November 2010, 04:58 PM   |  #7  
Skrobel's Avatar
Senior Member
Flag Piaseczno
Thanks Meter: 63
 
829 posts
Join Date:Joined: Jan 2010
More
Tester :)
I can try to test the app if you want.
Using Jackos ROM with Sense 2.5.20181527.0
But I flash relatively often so I'm able to test it on some different versions.

Could you point me out what I should do now (what to download, what to pay attention on)?
25th November 2010, 05:22 PM   |  #8  
Captain_Throwback's Avatar
Retired Moderator / Recognized Contributor
Flag Bensalem, PA
Thanks Meter: 11,204
 
10
12,325 posts
Join Date:Joined: Aug 2008
Donate to Me
More
Hey meltwater!

I see you've gotten tired of manually updating people's Tab Control files .

Great idea - I wish I had some programming knowledge so that I could help. Unfortunately I do not. How difficult would it be to learn? What software would I need?
25th November 2010, 07:17 PM   |  #9  
meltwater's Avatar
OP Recognized Developer
Thanks Meter: 325
 
2,066 posts
Join Date:Joined: Jan 2009
Quote:
Originally Posted by Skrobel

I can try to test the app if you want.
Using Jackos ROM with Sense 2.5.20181527.0
But I flash relatively often so I'm able to test it on some different versions.

Could you point me out what I should do now (what to download, what to pay attention on)?

Excellent!
So far it only has the basic sense control buttons in, so it would be help to check that they work correctly. My testing has shown that it sometimes has issues with starting sense, but that could be down to my sense setup (it's not very stable due to CHT and my own development work...).

At the moment, I seem to also have some issues with the softkey settings (but I'm happy I can continue testing that, issues with permissions etc I think).

From the codeplex changeset package (the zip file you download) you will only need the SenseUtil.exe (later on anything in the \Debug directory as files are added).

Quote:
Originally Posted by Captain_Throwback

Hey meltwater!

I see you've gotten tired of manually updating people's Tab Control files .

Great idea - I wish I had some programming knowledge so that I could help. Unfortunately I do not. How difficult would it be to learn? What software would I need?

Well more accurately... tired of some users...although having an easy way to reset sense etc will be very handy. Plus does seem to be the number 1 cause of issues.

It is a good as project as any to learn how to program on (nice mix of changing the registry, reading files and standard .net forms). You will need something like Visual Studio 2008 Professional though (you can get 90 day trials quite easy - let me know and I'll find you one).

I'm quite happy to help guide you (or anyone else interested) as far as I am able (although my code should not be taken as a prime example of how to code - it's not my trained area of programming).
The Following User Says Thank You to meltwater For This Useful Post: [ View ]
25th November 2010, 09:50 PM   |  #10  
Skrobel's Avatar
Senior Member
Flag Piaseczno
Thanks Meter: 63
 
829 posts
Join Date:Joined: Jan 2010
More
OK, it's time for first impression

From the Sense control tab everything seems to be working cool. I tried each option in the first tab several times and Sense always started without problems.

I have one question though. After the first time I made a Full Reset (with the config keys) this button was inactive anymore. I recon that the keys are already deleted. But shouldn't they be redefined during Sense next start?

And I confirm the matter with softkeys. The first time I wanted to assign SenseUtil to right softkey, the "Unexpected error" appeared (right after I confirmed I was sure) and I had to kill the app. However the second time each left and right softkey worked.

But the Set (Action/Contacts) button never worked. There is always Unexpected error when I tap "OK" in the message box. Below I present the details of the error.

Code:
SenseUtil.exe
ObjectDisposedException


w System.ThrowHelper.ThrowObjectDisposedException(String objectName, ExceptionResource resource)
w Microsoft.Win32.RegistryKey.EnsureNotDisposed()
w Microsoft.Win32.RegistryKey.EnsureWriteable()
w Microsoft.Win32.RegistryKey.SetValue(String name, Object value, RegistryValueKind valueKind)
w SenseUtil.Settings.SetSoftKey(Int32 selkey, String text, String url, Boolean confirm)
w SenseUtil.SenseUtil.buttonRegDefaultSoftKey_Click(Object sender, EventArgs e)
w System.Windows.Forms.Control.OnClick(EventArgs e)
w System.Windows.Forms.Button.OnClick(EventArgs e)
w System.Windows.Forms.ButtonBase.WnProc(WM wm, Int32 wParam, Int32 lParam)
w System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)
w Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain)
w System.Windows.Forms.Application.Run(Form fm)
w SenseUtil.Program.Main()

I hope this all helps. I would also like to learn programming, but it needs more time than I actually have...

Post Reply Subscribe to Thread

Tags
manila, sense, tab
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes