For ages I've wanted to be able to give something back to the XDA community, and finally I've managed to find something
I don't know why, but I'm addicted to play SPB puzzle..... but it doesn't take long to finish up the puzzle packs which leaves you with bugger all.
So... to cut to the chase, following is a tutorial on how to make your own puzzle packs.
You will need to download the Just for fun Pack file:
http://www.spbsoftwarehouse.com/ext/puzzle/packs/SpbPuzzleViewsWidePack.cab
Ok on to the fun....
1. Extract the contents of the cab to your PC
2. Rename the file Vieww~1.001 to Views.zip
3. Extract the context of views.zip
4. Create another folder on your PC, for example MelbournePuzzle
5. In the MelbournePuzzle folder, create another folder called small
6. Copy the 3 .MSK files to your MelbournePuzzle Folder
7. Copy the 2 .txt files to your Melbourne Puzzle Folder
Ok, I believe the MSK files determine the shape of the puzzle, these 3 are of the extreme difficulty, so are quite small pieces.
The index.txt is a tab delimited file that sets up the puzzle pack
The overview_en.txt has the picture and pack descriptions.
The next step is to grab a bunch of picture that you want to use for your puzzle pictures.
In a picture editor, you want to resize them all so that they are 1324 x 1500 and are 96DPI
Save your pictures in to your MelbournePuzzle folder
You also need to create the "small" version of this pictures that go in to MelbournePuzzle\Small
Open up your first picture, resize it to 121 x 182 @ 96DPI and save it to the folder with the same name
You also need one more picture for your intro.jpg which is saved in to the MelbournePuzzle folder, this picture needs to be 200 x 200 @ 96DPI
Open the index.txt file.
Code:
*name* Melbourne intro.jpg 1 Views Wide123
*level* Rialto 01.jpg mask1.msk Small/01.jpg 11 B2FCFF 66E4E9
*level* Tram 02.jpg mask2.msk Small/02.jpg 12 B2FCFF 66E4E9
*level* Flinders Street 03.jpg mask3.msk Small/03.jpg 13 B2FCFF 66E4E9
*level* City at Night 04.jpg mask1.msk Small/04.jpg 14 B2FCFF 66E4E9
*level* Art Centre 05.jpg mask2.msk Small/05.jpg 15 B2FCFF 66E4E9
The first column describes the following data, the first line always is *name* the rest are *level*
The Second column is the description
The third is the Large Picture you created (first line is intro.jpg)
The Fourth Column for the first line is black, for the rest is points to the MSK file that creates the puzzle shape and size.
The Fifth column for the first line is blank, for the rest it points to the small image created. These are the thumbnail images.
The 6th column is the description pointer in the overview_en.txt file
The last column... Well I have no idea what this one is for, so I left the default values and haven't had any issues as of yet.
Save the file.
Crack open the overview_en.txt file
Code:
[1]
Photo's of the best city in the world, Melbourne!
Difficulty: Extreme
[11]
Picture of the Rialto, Previously the biggest biggest building in Australia. It has since been eclipsed by Eureka towers.
Author:
No Idea
License:
Probably has one
Source:
Google images
[12]
A tram. One of the public transport methods available in the city.
Author:
No Idea
License:
Probably has one
Source:
Google images
[13]
A picture of Melbourne's Flinders Street Station.
Author:
No Idea
License:
Probably has one
Source:
Google images
[14]
A photo of the city at night.
Author:
No Idea
License:
Probably has one
Source:
Google images
[15]
The Art's Centre.
Author:
No Idea
License:
Probably has one
Source:
Google images
Each [ # ] links to the description number column in the index file.
It is pretty self explanatory. I have not experimented with removing the Author,License etc.. fields. I am not sure if they are requried or not.
Edit your descriptions to match your pictures and save the file.
Now that you have everything completed, zip up your MelbournePuzzle folder. Rename it to MelbournePuzzle.pak.
For testing you can copy this file to your Windows Mobile device, under /Program Files/SPB Puzzle
You will also have to add a key to the registry:
Code:
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Spb Software\Spb Puzzle\Packs]
"EndoPuzzle Melbourne"="\\Program Files\\Spb Puzzle\\Melbourne.pak"
Fire up SPB puzzle and your new puzzle pack should appear.
To distribute you will need to create a cab, CeCabMgr makes this a simple task. (http://www.ocpsoftware.com/download.php)
Notes:
I am assuming the using other puzzle sizes will be the same process. You will need the different MSK files, and you MAY need to resize your images differently. Have a look at the .PAK file and see if the image dimensions and DPI are different. They need to match.
I also do not know if you can mix puzzle difficulties. I cannot see why not as it just links to MSK files.
I do not know if you can create your own MSK files, I assume that these files can be created in an image editor (autodesk?) and you can create your own puzzle pieces to match the dimensions of the image.
I've attached my completed MelbournePuzzle Pack, I hope someone else enjoys it. This is my proof of concept pack, it isn't perfect...
Hi
Thats nice, i'm also addicted to spb puzzle, but what i want to know is how to play it on HTC Sensation if anyway possible??? Thanks
The B&N Home application lets you add B&N-purchased books to the home screen and arrange/resize them arguably better than most generic android launchers. Unfortunately this doesn't work for sideloaded books. This is most definitely not because it can't be done, but likely as an incentive for you to purchase books from B&N and not sideload. The following describes the sqlite3 database entries necessary to manually add sideloaded books (and potentially other things) to this home screen.
Warning: Changes should not be attempted by someone not at least somewhat familiar with adb and sqlite3. This is not intended as a how-to for adding sideloaded books to the home screen (since it is tedious, and not something you'd likely do often manually), but more as a reference for someone to perhaps develop an android app for the NC to do so on-device. If you don't use the B&N Home at all and use the device more as a tablet than an e-reader, you can completely ignore this post.
Relevant databases:
/data/data/com.bn.nook.home/files/home.db - Contains the home screen 'workspace' table with entries for each item on the home screen.
/data/data/com.bn.nook.reader.activities/databases/lastreadingpoint.db - Contains the 'lastreadingpoint' table which records the last read position for all books (B&N and sideloaded).
/data/data/com.android.providers.media/databases/internal.db - Android 'media' provider database containing content entries for books (among other things). Heavily modified by B&N.
home.db, workspace table
Schema:
Code:
CREATE TABLE workspace (_id TEXT PRIMARY KEY, thumbnail_url TEXT, cover_image_url TEXT, ean TEXT, title TEXT, author TEXT, desktop_num INT NOT NULL, left INT NOT NULL, top INT NOT NULL, right INT NOT NULL, bottom INT NOT NULL, rotate_degree FLOAT NOT NULL, lending_state INT NOT NULL, is_lendable BOOLEAN NOT NULL, is_recommended BOOLEAN NOT NULL, is_new BOOLEAN NOT NULL, is_sample BOOLEAN NOT NULL, launcher_type TEXT, product_type INT NOT NULL, product_ean TEXT, is_hidden BOOLEAN NOT NULL DEFAULT FALSE, path_to_file TEXT);
Fields:
_id - Android content link to the book.
Examples: content://media/internal/products/1 (B&N book), content://media/internal/docs/1 (sideloaded book)
thumbnail_url - Thumbnail image location. Note that sideloaded use non-browser paths. File:// paths do not appear to work in this field.
Examples: http: //images.bn.com/images/85750000/85751898.JPG (B&N Book), /media/.docThumbs/Quick_Startepub.jpg (sideloaded book)
cover_image_url - Cover image location. Same format as thumbnail. Same image even, for sideloaded books.
Examples: http ://images.bn.com/images/85750000/85754280.JPG (B&N Book), /media/.docThumbs/Quick_Startepub.jpg (sideloaded book)
ean - B&N unique identifier, for B&N Books. File location in browser format (file:///media/...) for sideloaded books. Note this must match what's in lastreadingpoint.db for the last reading point to be correct when tapping the book to open it.
Examples: 9781402786402 (B&N Book), file:///system/media/books/Quick_Start.epub (sideloaded book)
title, author - Self explanitory. Plain text. Appear to be unused unless the images are not found, in which case the title is truncated and overlaid on a generic gray icon.
desktop_num - Which desktop the icon appears on. 0,1, or 2 with 1 being the default.
left, top, right, bottom - Pixel measurements for the corners of the icons. Determines the location and size of the icon on the home screen.
rotate_degree - Haven't played with this one yet.
lending_state - Current state of lendable book. Haven't investigated valid values other than the default 0.
is_lendable, is_recommended, is_new, is_sample - Flags that determine what 'banner' is displayed, and also what opens show on tap-and-hold.
launcher_type - Launcher to open the book with.
Valid values: blank (epub), epub, epib (children's books). Things still to try: html, pdf...
product_type - Type of book.
1 = B&N book, 0 = Sideloaded book.
product_ean - Appears to always match ean field.
is_hidden - Hide's icon? Haven't tried.
path_to_file - Filesystem path to book.
Examples: /media/B&N Downloads/Books/9781402786402_ePib.v2.epub (B&N Book), /system/media/books/QuickStart.epub (sideloaded book)
lastreadingpoint.db, lastreadingpoint table
Schema:
Code:
CREATE TABLE lastreadingpoint (_id integer primary key autoincrement, ean text , luid text , offsetrmsdk text , lastupdated long , bookdna int , sync_status int);
Relevant Field:
ean - B&N unique identifier, for B&N Books. File location in browser format (file:///media/...)for sideloaded books. Note this must match what's in home.db for the last reading point to be correct when tapping the book to open it.
internal.db, products/docs tables
Schema:
Code:
CREATE TABLE products (_id INTEGER PRIMARY KEY,ean TEXT NOT NULL UNIQUE,_data TEXT,_size INTEGER,product_type INTEGER NOT NULL,mime_type TEXT,_display_name TEXT,product_code TEXT NOT NULL,format_code TEXT NOT NULL,purchase_status TEXT NOT NULL,title TEXT NOT NULL,authors TEXT NOT NULL,mainAuthorFirstName TEXT,mainAuthorMiddleName TEXT DEFAULT NULL,mainAuthorLastName TEXT NOT NULL,publisher TEXT NOT NULL,date_published INTEGER NOT NULL,date_added INTEGER NOT NULL,date_modified INTEGER,date_last_accessed INTEGER DEFAULT 0,thumb_image TEXT,cover_image TEXT,rating INTEGER DEFAULT 0, user_rating INTEGER DEFAULT 0, subscription_ean TEXT DEFAULT NULL,isSubscription BOOLEAN DEFAULT 0,isSample BOOLEAN DEFAULT 0,locker_delivery_id INTEGER NOT NULL,locker_status TEXT NOT NULL, short_synopsis TEXT,storage_location INTEGER DEFAULT 1,isNew INTEGER DEFAULT 0,lendable BOOLEAN DEFAULT 0,lending_state TEXT,lendee TEXT,lender TEXT,lend_message TEXT,lend_id TEXT,lend_offer_expires INTEGER,lend_starts INTEGER,lend_ends INTEGER,category TEXT,luid TEXT NOT NULL,sync_status INTEGER DEFAULT 0,page_count INTEGER,rating_count INTEGER, local_thumb_image TEXT, local_cover_image TEXT, ebook_key TEXT, launcher_type TEXT, isDownloadable INTEGER DEFAULT 1, productEAN TEXT, isComingSoon INTEGER, DeliveryFrequency INTEGER, seriesTitle TEXT, soldBy TEXT, trialExpirationDate INTEGER );
Code:
CREATE TABLE docs (_id INTEGER PRIMARY KEY,ean TEXT,_data TEXT,_size INTEGER,product_type INTEGER,mime_type TEXT,_display_name TEXT,title TEXT,authors TEXT,mainAuthorFirstName TEXT,mainAuthorMiddleName TEXT DEFAULT NULL,mainAuthorLastName TEXT,publisher TEXT,date_added INTEGER,date_modified INTEGER,date_published INTEGER,date_last_accessed INTEGER DEFAULT 0,valid INTEGER,thumb_image TEXT,cover_image TEXT,rating INTEGER DEFAULT 0, user_rating INTEGER DEFAULT 0,storage_location INTEGER DEFAULT 0,category TEXT,page_count INTEGER, launcher_type TEXT, volume_id INTEGER DEFAULT 0);
Relevant Fields:
_id - The content id needed for the _id field in home.db workbook table.
thumb_image - Thumbnail image location. Note that sideloaded use non-browser paths. File:// paths do not appear to work in this field.
Examples: http ://images.bn.com/images/85750000/85751898.JPG (B&N Book), /media/.docThumbs/Quick_Startepub.jpg (sideloaded book)
cover_image - Cover image location. Same format as thumbnail. Same image even, for sideloaded books.
Steps to add sideloaded content via adb:
Pull all relevant tables from the device using adb.
Look up relevant database entries (content id, images, etc)
Use sqlite3 to add or modify entries in home.db, workspace table.
Example:
Code:
INSERT INTO workspace VALUES('content://media/internal/docs/3', '/media/.docThumbs/TestBook.jpeg', '/media/.docThumbs/TestBook.jpeg', 'file:///media/My Files/Books/TestBook.epub', 'Test Book', 'Test Author', 1, 20, 20, 184, 232, 0.0, 0, 0, 0, 0, 0, 'epub', 0, 'file:///media/My Files/Books/TestBook.epub', 0, '/media/My Files/Books/TestBook.epub');
Push home.db back to the NC.
Kill the Home process via shell or a process manager app.
Open Home again.
Notes:
12/29/10
Sideloaded books must be opened at least once to populate all the databases. This poses a potential problem for trying to do this at sideload time, ie through a calibre plugin.
The _id field of workspace does not appear to have to be correct for icons to function normally. My first tests had a generic 'test1' in that field until I figured out where to look for the correct value and I was able to open sideloaded books just fine with the resulting icon. This fact, along with the fact that image locations can be guessed correctly may mean we can do this at sideload time after all.
The User Guide and Quick Start are decent examples of sideloaded content on the B&N Home screen. The only oddities with them are blank ean fields, so last read position is not used when opening them.
I've seen some oddities where the icons don't render images until you touch one of them on the screen after the Home app launches. Haven't tracked down the cause yet, and it doesn't happen every time.
Setting a sideloaded book as lendable adds the 'Lend' option to the tap-and-hold, but it doesn't appear to do anything after you enter the contact. My guess is they verify this status either with their servers (likely), or with another on-device database (doubtful) .
Sideloaded books can be removed from the home screen as normal, by doing a tap-and-hold and choosing Remove.
very nice work
I can't help anyway with this but I'm glad someone's trying to fix this problem.
Wow, nice work! I'm hoping someone with more experience than me can write this into an app.
I actually really like the BN home screen, so maybe for I'll give this a try for my textbooks. I'll need them all semester, so it would probably be worth it.
Addendum: I wonder if it would be possible to make this process easier my first adding the books and the relevant thumbnails to the home screen via the process described here and then editing the database entry to remove the is_sample tag.
im gonna give this a try, but moreso, im gonna look at ADWLauncher, to see if i can add this to that launcher
Maybe I was too tired, but in my poking around (and your post) I didn't see anything about the "shelves" feature in the schema for these db. You have any ideas?
usernotfound said:
Maybe I was too tired, but in my poking around (and your post) I didn't see anything about the "shelves" feature in the schema for these db. You have any ideas?
Click to expand...
Click to collapse
Shelves are more a feature of the Library app than the Home app, so I haven't investigated them. There are tables in internal.db having to do with shelves, so I would look there first, as well as /data/data/com.bn.nook.library.
How about launching books
Any idea on how to launch a book with the B&N software? I would assume there is some kinda intents that could be used if documented to do that.
Would be nice for say a replacement home app to be able to launch books..
I've been able to (manually) create shortcuts in adw launcher to launch books using the B&N reader (as well as a few others like Aldiko, etc.). The intent (column in the adw db) that seemed to work for the B&N reader looked something like this:
Code:
file:///media/My Files/Books/Some-Book-Filename.epub#Intent;action=android.intent.action.VIEW;component=com.bn.nook.reader.activities/.ReaderActivity;end
One thing the BN Home does is initialize open-book-icon in the status bar ... to point to the 'currently reading' book. This icon doesn't work if an alternate launcher is set to default upon boot.
I'd love to get that currently-reading icon to work in alternate launchers, but I'm not sure where to begin. Any thoughts?
WhiskeySlx said:
I'd love to get that currently-reading icon to work in alternate launchers, but I'm not sure where to begin. Any thoughts?
Click to expand...
Click to collapse
This is unlikely to be trivial. As far as I can tell that icon is updated as long as the B&N home app is running in the background, even if you don't ever open it again. This likely means there is some communication between the B&N reader app and the home app to update the icon. Getting the reader app to somehow communicate with another app or launcher would almost certainly require decompiling and modifying it.
[mods, please move this to a new thread if this is too OT]
Rayven01 said:
Getting the reader app to somehow communicate with another app or launcher would almost certainly require decompiling and modifying it.
Click to expand...
Click to collapse
I wonder if the Nook reader app might expose an 'action' that matches that button's functionality. I'm thinking about how, using ADW, you can create custom shortcuts... and under "Activities", ADW lists activities for each app... for example:
- Gmail.ComposeActivity
- Market.UninstallActivity
- com.google.android.maps.PlacesActivity
I don't know what method it uses to build that list, but... maybe it's a direction to pursue?
Hi @all.
I currently try to design a "simple" layout with android. What it should do:
At the top and bottom of the screen should be a bar with a little content. LinearLayout, horizontal.
Between the bars is the space for the content.
This content should be devided into a "large" upper region and a linear layout with (right aligned) buttons at the bottom.
If there is not too much content the content area should be display centered in the available space. If there are more elements in the content, the area should grow until it fills the complete space between top and bottom bars. The Buttons below the content should always be visible. The area for the content should be scrollable in this case.
I tried something like this:
RelativeLayout
LinearLayout TopBar (AlignParentTop)
Button1 Button2 ...
LinearLayout BottomBar (AlignParentBottom)
ButtomA ButtonB ...
This works fine.
Then i tried to add an additional element
FrameLayout (Above Bottombar, Below TopBar)
This FrameLayout fills the remaining space. Fine.
Now i need a layout like this:
RelativeLayout (wrap_content Width/Height)
ScrollView
LinearLayout CONTENT (sometimes small, sometimes really large)
LinearLayout ButtonBar (horizontal)
ButtonX ButtonY ...
If i attach the buttonbar to the bottom of the relative layout the relative layout grows and does no longer wrap around the content. Instead it's height fills the complete available space.
If i put the buttonBar into the upper Relative layout i can fit it between Content and bottomBar. But if the contentn grows the buttonBar slides down outside the screen.
Is it possible that such a simple layout is not managable with Android?
I am working for hours on this and always something does not work :-( HELP PLEASE!!!
Best regards, Udo
I'm not sure how do that, but it's possible. Maybe using a table layout (a table row for each element) and assigning them different weights...
Hi there, I'm not sure if I get what you mean, but here is my understanding of the question.
When your content becomes too large, your bottom bar gets pushed out of the view ?
Try adding this line >> android:layout_weight="1"
into the parent view just above your layout button bar
example :
<LinearLayout ** add to this view here >
<ScrollView>
</ScrollView>
</LinearLayout>
<LinearLayout for ButtonBar>
</LinearLayout>
let me know if it works
I tried weight - does not work. Currently I use margins as described in various articles. Ugly, but it works.
send by tapatalk
Hi,
still stuck with this layout... Another problem now. I tried to have an inner LinearLayout set sets its children to equal width.
I tried every combination of weight, weightSum, layout_width="0sp" etc.
If the textView "MainContent" contains a huge amount of text the radio buttons are compressed to a very narrow size. If the text in the radiobuttons and the textview are nearly equal in size the layout works well. But ONLY then...
The scroll problem still exists.
The layout should work as follows:
If the screensize is big the MainContainer should use no more space than it needs to display its children. It the should be centered on the available space (in my real app it is packed into a relative layout instead of the top-level linear layout in this example).
If the content is larger than the available space a scroller should appear for the content in the scrollarea. The Buttons in the LinearLayout under the scrollview should still be displayed and not scrolled out of the screen. I currently am able to solve the scrolling problem by setting a bottom-margon of e.g. 50sp to the scrollview and -50sp to the linearLayout containing the buttons. Problem here: There are cases where the LinearLayout has no Buttons. With the current solution the Button-Area consumes space in this case too - what i do not want.
On both problems (Scrolling and even distribution of MainContent and the radioGroup) i now am working for days without success.
Any help would be nice. It looks like a really simple layout - but seems to be impossible with android.
Best regards, Udo
Maybe u want to use Fragments (use supportlibrary v4 to Support devices lower than honeycomb)
Use a big one for the Main content. And a small one for the button bar.
So the Fragment may handle the Main content, like an whole activity does.
But dont ask how, cause i have no idea how to do this.
Ok maybe its the solution, so good luck.
Gesendet von meinem GT-I9000 mit Tapatalk 2
Hi,
i currently USE fragments ;-) This does not solve the layout problem...
At the moment i read into creating own custom layouts. Complicated but this seems to be the only way.
Best regards, Udo
Requires firmware SM-R750XXU1BOA7 with root.
Before unlock:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
After unlock:
I'm not responsible if:
- Your firmware does not match with my;
- You interrupted connection USB during script execution;
- Something went wrong.
Check and report.
Unlock instruction:
1. Unzip the "Contacts_script.zip" on your computer in c:/sdb
2. Turn on a Gear S "Debugging USB".
3. Connect a Gear S to your computer.
4. Run CMD (admin mode).
5. Run <cd "c:/sdb">
6. Run <first_sync_status_script.bat>
7. Run <change_sync_status.bat>
8. Run <contacts-svc_script.bat>
9. Run <contacts-svc_script_img.bat>
10. Restart Gear S.
Enjoy!
Contacts_script.zip
Thanks: roger1383
stkpxl said:
What does this do exactly? Does it allow us to add contacts or something?
Click to expand...
Click to collapse
Scripts stop continuous synchronization of contacts, show SIM contacts, show call history for standalone mode.
You can also edit contacts in the computer by sqlite.
Very nice ... good work!
Shum Channel said:
Requires firmware SM-R750XXU1BOA7 with root.
Before unlock:
View attachment 3228414 View attachment 3228416
After unlock:
View attachment 3228415 View attachment 3228417
I'm not responsible if:
- Your firmware does not match with my;
- You interrupted connection USB during script execution;
- Something went wrong.
Tested on firmware:
SM-R750XXU1BOA7 - Russia
Check and report.
The checklist will continue...
Unlock instruction:
1. Unzip the "Contacts_script.zip" on your computer in c:/sdb
2. Turn on a Gear S "Debugging USB".
3. Connect a Gear S to your computer.
4. Run CMD (admin mode).
5. Run <cd "c:/sdb">
6. Run <first_sync_status_script.bat>
7. Run <change_sync_status.bat>
8. Run <contacts-svc_script.bat>
9. Run <contacts-svc_script_img.bat>
10. Restart Gear S.
Enjoy!
Contacts_script.zip
Thanks: roger1383
Click to expand...
Click to collapse
In my case both the contacts and call history are available in standalone mode, even though i have not run your script. I have synched with a Galaxy phone once and from then on i have them.
Thank you for your effort!
gidi said:
In my case both the contacts and call history are available in standalone mode, even though i have not run your script. I have synched with a Galaxy phone once and from then on i have them.
Thank you for your effort!
Click to expand...
Click to collapse
If a Gear S is synchronized with a smartphone in the initiation, it is not a standalone mode. Standalone mode is initiated after hard reset and 30 taps on the screen.
But anyway thanks for assessing the development of roger1383
roger1383 is waiting for your check and reports!
Okay, now it is clear.
Thank you!
Sent from my iPhone using Tapatalk
All it did on mine was add the three contacts you have in your image. My SIM card contacts are still not found.
hobbiteer said:
All it did on mine was add the three contacts you have in your image. My SIM card contacts are still not found.
Click to expand...
Click to collapse
What is your firmware?
Shum Channel said:
What is your firmware?
Click to expand...
Click to collapse
SM-R750T - R750TUVU1AOA7_R750TTMB1AOA7 - T Mobile
I have returned the device though, so I am unable to test any further
hobbiteer said:
SM-R750T - R750TUVU1AOA7_R750TTMB1AOA7 - T Mobile
Click to expand...
Click to collapse
Requires firmware SM-R750XXU1BOA7 with root.
Thanks for your report.
Shum Channel said:
Requires firmware SM-R750XXU1BOA7 with root.
Thanks for your report.
Click to expand...
Click to collapse
either should work as long as its rooted.
It worked like a charm... but I don't know how to delete your 3 contacts added. Can you tell me?
Tks
Mine had this stock
Even when in standalone mode
TMOBILE: OA7 firmware no root
Mic stopped working on my old one had to warranty it for my new one
Worked with my USA version Samsung Gear S (SM-R750A, software versionR750AUCU1AOB1),(AT&T).
Thanks!
Edited the sql data, too, with "DB Browser for SQLite" from http://sqlitebrowser.org/. Took awhile for me, an infrequent sql'er, to get a handle on the database Samsung has laid out for us. They've got some impressive capability built in to it. Selectable ring tones by caller & vibration, too. Groups, plus the usual p.o. addresses & email addresses, and more.
I made a copy of the Boris & Natasha db, edited it and added new contact photos on a Windows computer, then sdb'd it to the watch over a USB cable using Shum Channel's "contacts-svc_script.bat". Pretty bulletproof (thank goodness!)
Until somebody automates this, here are a couple of notes for beginners like myself who don't currently have a Samsung phone to mate their Gear S watches to and who just want to add a couple of frequent contacts:
To start, put two narrow blank columns on the left side of a page and beside them list the contacts you want to put on your watch like this: first the name, on a line by itself, then below it put each phone number for that name on its own line, then below those put the file name of the contact's photo, in jpeg format & sized 96x96 pixels. Repeat below it all with the next name & its numbers & photo and keep repeating until you've listed all the contacts you want on your watch in the next hour or three.
In the first column you made number just the different names, 1 through whatever, leaving blanks for the phone numbers and contact photo names. In the second column number the total lines, including names, numbers & photos, starting at 26 and going to whatever. So, for instance, say you have 5 contacts each with 3 numbers and a picture. The name column has numbers 1 thru 5 beside each name, blank spaces beside the phone numbers and photo files. But the other column, the line number column, is numbered on every line, names & numbers & pix, 26 through 51 (in the example). This is how the database is laid out, except until you change it there are only three names in the database, each with three numbers and a picture, numbered 1 through 3 for names and 26 thru 41 for lines.
Photo notes:
Edit contact photos to 96x96 pixels each (easy in M.S. Paint). Looking at your list, rename the photos for each contact according to the database's scheme: contact#_line#-10.jpg, like the sample pictures. So they'll look like this: 1_30-10.jpg or 3_40-10.jpg or like the stock image files already in the c:\sdb\image folder, and put them in the c:\sdb\image folder. FYI, the "10" at the end of each file name is the file's "image_changed_ver" number taken from the "contacts" page of the "Browse Data" tab. If you to set every "image_changed_ver" to 10 it makes life a little easier.
To see the sample contacts open DB Browser for SQLite, open c:\sdb\.contacts-svc.db, select the "Browse Data" tab, locate "Table:" and select "contacts". Double-click on first name in "display_name" column to select & edit it. Click "OK" to close the edit box, single click the edited text to select it, Cntrl C to copy it, double-click the field in "reverse_display_name" and Cntrl V to replace it. Do the same for that line's fields under "sort_name" and "rev_sort_name" to replace them. In the "changed ver" column change the "8" to "10" then do the same in the "image_changed_ver" to simplify photo naming.
Now in "image_thumbnail_path" double-click the first photo file and change it to 1_30-10.jpg or to whatever the name of your file works out to be.
Do the same for the other two stock entries, replacing their particulars with yours.
To add new lines for new entries, one line at a time, click the "New Record" button. In the blank line that appears change each new element to match the elements above it, if all the above are the same. Otherwise, if the info above is numerical and increments, then add one to the last number and enter it. If the column is for regular contact info put in yours in. "NULL" in fields means blank, BTW, not zero or blank 'space' character. "contact_id" and "person_id" columns contain sequential info so make those entries 1 more than the one above them.
Make "addressbook_id" zero (false). Same for email ("has_email" column). Whenever all above rows are same, type that (except if they all say "Null", then just leave it blank). Add "display_name" info from the name field of your prepare list. Same for all the "name" spaces.
"sortkey" stumped me so I winged it (and it worked.) I double-clicked the value above, selected "binary", copied the long hexadecimal string, pasted it in the new "sortkey" field but then made it unique by adding 1 to the last pair. Then I copied that hexadecimal string & pasted it to the field beside it, the "reverse_sortkey" column. For "changed_time" I just copied the time above at pasted it. For "uid" I incremented, added 1 to the largest uid above. Put your correctly coded photo file in the "image_thumbnail_path" column and that line's done.
When you've entered all the names on your list click "Write Changes" before you even think about doing anything else... :^)
In the window beside "Table:" select "data".
Changing "data" lines is like "contacts". Just more of it. When replacing the stock phone numbers (+7....), if my contact didn't have three numbers, I just used 0. But I didn't leave any of the demo numbers. Just me being paranoid...
After "data" drop to "name_lookup" and replace and add names to that table. "data_id" column looks like line numbers, "contact_id" is name numbers.
After "name_lookup" drop to "persons" (in "Table:" window) and update the image file names.
Then drop to "phone_lookup" (in Table and update/add phone numbers. "data_id" is line numbers, "contact_id" is name numbers.
Drop to "search_index" and update "name" and "number" fields (if program hasn't already done it)
Drop to "search_index_content" and update (if program hasn't already done it)
Click "Write changes", open cmd box, connect your watch,
c:/sdb/sdb devices
(if you're connected)
c:/sdb/contacts-svc_script_img
c:/sdb/contacts-svc_script
restart your watch and see if it worked!
Gear S: Contacts App and Delete Contacts
https://www.youtube.com/watch?v=Rymja31CGtU
how can I install that "contact add" app ?