HowTo: Update the Idle Screen Image / Phone App Wallpaper

Login to reply to this topic.
Fri, 2005-04-29 16:50
Joined: 2003-08-01
Forum posts: 10
I've worked out how to update the idle screen image. We've known for some time how to create a new image, but have had to reset the phone (or kill the phone app) to get the image to update. (search on the forum for details of how to do this).

I've now worked out the code to get the phone app to reload the image and refresh its display. By looking at the output of the emulator when I changed the walpaper I was able to work out what was going on and do it myself, with the help of a few files from the Sendo SDK.

To use the following code, update the c:\system\data\backgroundimage.mbm file, then call this method. I've tried this on a N6600 and it works fine. If you try it in the emulator you'll see that the AknSkinServer picks up the shared data changes, just as it does if you use the image viewer to change your wallpaper.

Code:
/*
need the following files from the Sendo SDK:
- SharedDataClient.h
- Calypso\SharedDataKeys.h
- Calypso\SystemWarningLevels.hrh
The Calypso directory isn't used in Sendo, the files are found in the /epoc32/include/ dir, but you need to copy to the /epoc32/include/Calypso folder on the SDK you're using.

Need to link to CommonEngine.lib.
*/

#include <SharedDataClient.h>
_LIT(kIdleImgKey, "IdleImg");
_LIT(kIdleIndexKey, "IdleIndex");
_LIT(kDimIndexKey, "DimIndex");
_LIT(kIdlePathKey, "IdlePath");
_LIT(kIdlePathValueKey, "c:\\system\\data\\backgroundimage.mbm");

void CMyClass::UpdateWallpaper()
{
RSharedDataClient c;
User::LeaveIfError(c.Connect());

const TUid idleUid = {0x10005a32};
if(c.Assign(idleUid)==KErrNone)
{
c.SetInt(kIdleImgKey, 1);
c.SetInt(kIdleIndexKey, 0);
c.SetInt(kDimIndexKey, 1);
c.SetString(kIdlePathKey, kIdlePathValueKey);
}

c.Close();
}

Thu, 2005-05-12 11:07
Joined: 2004-12-31
Forum posts: 83
HowTo: Update the Idle Screen Image / Phone App Wallpaper
hi there
i am not able to find the file mentioned bu you in the series 60 SDK for 6600. can u please where can i find sendo sdk

warm regards

saurabh

Thu, 2005-05-12 11:12
Joined: 2003-08-01
Forum posts: 10
HowTo: Update the Idle Screen Image / Phone App Wallpaper
Quote from: saurabh_gyl
hi there
 i am not able to find the file mentioned bu you in the series 60 SDK for 6600. can u please where can i find sendo sdk

The extra files come from the Sendo Series 60 SDK. What happened was that Sendo accidentally released an SDK with all the header files in it that are normally removed by Nokia before giving out to 3rd party developers. So to get these extra files you'll have to track down a copy of the Sendo SDK (which of course now they've realised their mistake they have removed from their site).

I do have the Sendo SDK (obviously as I used it in the above example) but I can't distribute it (due to work issues), so I'm afraid you'll have to get it from someone else.
Sat, 2005-10-08 13:32
Joined: 2005-10-08
Forum posts: 1
Re: HowTo: Update the Idle Screen Image / Phone App Wallpaper
mtg101:

Could you give me some ideas, where can I get old Sendo SDK?

Tell a price! Smiley
Tue, 2006-06-06 13:38
Joined: 2006-06-06
Forum posts: 2
Re: HowTo: Update the Idle Screen Image / Phone App Wallpaper
It's very confused why Nokia don't allow nokia programmer to change wallpaper?
Tue, 2006-06-06 13:45
NewLC AdministratorSymbian AccreditedForum Nokia Champion
Joined: 2003-01-14
Forum posts: 2006
Re: HowTo: Update the Idle Screen Image / Phone App Wallpaper
This is a design choice not to let 3rd party developer alter user settings. I assume this is a kind of protection against malware.


Eric Bustarret
NewLC Founder & CEO / Professional Symbian OS Consultant

  • Login to reply to this topic.