[Q] Porting TouchWiz Calendar - XPERIA X10 Q&A, Help & Troubleshooting

Hi there,
I know this seems very backwards (most people have only negative things to say about the TouchWiz Calendar from the Galaxy S series) but my dad really likes the TouchWiz Calendar because of it's easy readability and simplicity.
Is there any way to port it from the SGS to the Sony XPERIA x10 (CM6.1)?
I tried copying the .apks (CalendarProvider and TouchWizCalendar specifically), and it FC's.
This is the error retrieved from logcat:
I/ActivityManager( 1567): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER]flg=0x10200000 cmp=com.android.calendar/.LaunchActivity }
I/ActivityManager( 1567): Start proc com.android.calendar for activity com.android.calendar/.LaunchActivity: pid=2253 uid=10037 gids={3003, 1015}
I/ActivityManager( 1567): Starting activity: Intent { flg=0x20020000 cmp=com.android.calendar/.MonthActivity (has extras) }
I/ActivityManager( 1567): Start proc com.android.providers.calendar for content provider com.android.providers.calendar/.CalendarProvider2: pid=2275 uid=10037 gids={3003, 1015}
W/ResourceType( 2253): No known package when getting value for resource number 0x02050001
D/AndroidRuntime( 2253): Shutting down VM
W/dalvikvm( 2253): threadid=1: thread exiting with uncaught exception (group=0x4001d7c8)
E/AndroidRuntime( 2253): FATAL EXCEPTION: main
E/AndroidRuntime( 2253): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.calendar/com.android.calendar.MonthActivity}:android.view.InflateException: Binary XML file line #17: Error inflating class android.widget.LinearLayout
Click to expand...
Click to collapse
Thanks in advance.

Remove the other calendar first, system default app - com.android.calendar - xrecovery dalvik cache
Titanium backup first and clean installation with clear cache and logcat again? O
rm-rf /data/dalvik-cache/*
@ root set your cache to relocate.. nothing essential..
mv /data/dalvik-cache /cache/dc
symlink;
ln-s /cache/dc /data/dalvik-cache

Wait, so:
1) Clean ROM Install
2) Remove Default Calendar
3) Install TouchWiz Calendar
4) Wipe Cache in xRecovery
Is that all? It should work following these steps?

Moved to Q&A as not android development

Got a little further...
So after following MrHassell's instructions and reading the errors, I got a little further
The errors seemed to indicate that it was missing a few files, so I decided I'd put them on to the phone from my gt-I9000 as long as they weren't already there.
I pushed the two files:
android.test.runner.jar and
com.google.maps.jar (don't know why it needs this, but it was complaining so I gave it to it)
to the XPERIA.
Now I'm getting the following error:
E/AndroidRuntime( 2188): Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path):TypedValue{t=0x1/d=0x2050001 a=-1 r=0x2050001}
Click to expand...
Click to collapse
This is part of a series of errors but this was the lowest "Caused by" error.
Obviously it's missing something still, but the cryptic TypedValue code doesn't help me much. I've used the apktool to decode the TouchWizCalendar.apk calendar into smali files and res, but this also hasn't helped me much.
Any further suggestions?

Okay, I am posting the full logcat here by request along with the apk and both of the aforementioned jar files (that I am aware of so far). The TouchWiz calendar I am trying to port is from a GT-I9000M running Froyo and it's being copied to a Sony XPERIA x10a running CM6.1(i.e. Froyo as well).
EDIT: Forgot to attach log!

mangelok said:
TouchWiz calendar from a GT-I9000M running Froyo and to a Sony XPERIA x10a running CM6.1(i.e. Froyo as well).
Click to expand...
Click to collapse
seems reasonable, I'lll switch to Froyo and port it. Looks like it's waffling on about resources, might have to rip some stuff out of Darky's rom.. do you know if it works in Darky''s rom or is it vanilla Galaxy S? Looks like some cool set of widgets.. just the Galaxy S.. too blue, evn the pictures are blue - lol

MrHassell said:
seems reasonable, I'lll switch to Froyo and port it. Looks like it's waffling on about resources, might have to rip some stuff out of Darky's rom.. do you know if it works in Darky''s rom or is it vanilla Galaxy S? Looks like some cool set of widgets.. just the Galaxy S.. too blue, evn the pictures are blue - lol
Click to expand...
Click to collapse
That would be super awesome if you did that!
My phone runs Darky's at the moment so yes, yes it does work in Darky's.

mangelok said:
That would be super awesome if you did that!
My phone runs Darky's at the moment so yes, yes it does work in Darky's.
Click to expand...
Click to collapse
Think that I might have a quick solution worth looking into;
http://forum.xda-developers.com/showthread.php?t=955803
TouchWiz Launcher for the Xperia x10 - by cruzin_cruzing is ported to Xperia and confirmed working in Froyo as I have it running on my phone right now.. the one thing that I have not done as yet, is backup and remove my default calendar app and try to reinstall, which is what is needed to see the output from logcat or demesg - either way in the install it will log and my apologies, I've had too many things that have kept me from doing this!

I didn't find that one, but I found the Nexus One version of TWLauncher.
Unfortunately, installing it didn't help me get the TW Calendar any, and I would imagine that this wouldn't either.
Thanks for looking into it though.

Need a specific activity or make it work as a service. It runs in a global context - com.android.calendar - and the remove (global) and re-install fails as it isn't signed.
Deodex and sign again isn't the only problem though, only part of it. I'm continuing to look into it, although which X10 firmware are you using? Xfree Beta 4? It's needs to be deodexed, rooted and resigned, with the missing dependant files;
android.policy.jar
framework.jar
framework-res.apk
Settings.apk
twframework-res.apk
EDIT: I'm grabbing these from Darky's rom decompiled and found the missing parts were all twframework-res.apk dependencies. Rebuilding now..

I'm running one of the CM6 releases. Found it here on the forum. Just don't know which. I'll run any rom so long as this calendar works with it.

What is your method of checking dependencies? (e.g. how do you do it?)

Did you figure out the twframework-res.apk dependencies?

So, are you suggesting that I just need to do what you said for it to work? Your edit confuses me.
Are you suggesting you took apart the apks and figured out what the Calendar specifically needed and are now rebuilding a version that doesn't need the other apks?
Or are you suggesting that there's more dependencies yet, but you are currently rebuilding it with them?
Click to expand...
Click to collapse
Hey - Hope your well and sorry I've taken so long in responding. Not been working on this lately - other things happening and one of which is why I'm, posting this and not private messaging, it's been disabled on me..
Yes! - What I've been doing is using the dependent framework file to reverse engineer the apk.
twframework-res.apk
This is the Touchwiz specific framework that Samsung included for any of the widgets or apps. This way it isolates itself from the core operating system and can be modified independently etc..
http://code.google.com/p/android-apktool/
Reverse engineering is easy. What is hard is recompiling it back to a working version and that is where I'm stuck with it at the moment and have had little progress or time to work on it... also noting that nobody else is working with this is making it a one way project..

That's what I feared. I wish I could help.. I'm just not very experienced..
but I can learn!
http://forum.xda-developers.com/showthread.php?t=707189
I'm sure you've probably seen that guide .
Can you upload what you have? I have lots of free time now (I've got the week off) so maybe I can figure something out.
So you decompiled it with APKTool, fixed it, and now you're trying to compile it again?
I'm sure if we ask enough questions on these boards, one of us will be able to get it to work.
Thanks so much for doing this !

http://code.google.com/p/smali/
This is the de-compiled source from the touchwiz framework mentioned. It de-compiles but the problem is using baksmali code to figure out what is going on with the framework dependency.. sorry I've just not had enough time to look into it properly

Related

[Q] Two versions of one app installed at the same time?

It seems that this is the first time I start a new thread.
Hi, all. I want to know how to install two versions of one same application at the same time.
As a matter of fact, I want to install Opera Mini 4.2 China Version and Opera Mini 4.2 Internaional Version at the time. But...Since Opera Mini 5 makes it difficult to describe the question, here takes HelloWorld.apk as an example.
Well, there are two versions of the application "HelloWorld": 1.0 and 1.1. (This is just an example)
I have installed HelloWorld 1.0 on my phone, and when I try to install HelloWorld 1.1, the 1.0 version will be replaced. But...I want to have both of them installed on my phone. That is to say, there will be two "HelloWorld" icons in the app drawer.
I use APKTool to extract the com.hello.world.apk into some "text" files, including an AndroidManifest.xml and a lot of *.smali files. In the AndroidManifest.xml, I saw this:
<manifest package="com.hello.world" versionCode="100" versionName="1.0">
I chaged the value "com.hello.world" to "com.goodbye.world". Then I re-build the apk file and transferred it to my phone.
I installed the modified package, it was successfully installed and I see two "HelloWorld" icons in my app drawer!
I try to launch the HelloWorld 1.0, it succeeds.
I try to launch the HelloWorld 1.1, it FCs immediately.
Well, this is my situation. How can I make both of them launch-able in my phone? Is it possible? What should I modify apart from "package" filed in AndroidManifest.xml?
Thanks a lot.
~~~~
wzyboy
wzyboy said:
It seems that this is the first time I start a new thread.
Hi, all. I want to know how to install two versions of one same application at the same time.
As a matter of fact, I want to install Opera Mini 4.2 China Version and Opera Mini 4.2 Internaional Version at the time. But...Since Opera Mini 5 makes it difficult to describe the question, here takes HelloWorld.apk as an example.
Well, there are two versions of the application "HelloWorld": 1.0 and 1.1. (This is just an example)
I have installed HelloWorld 1.0 on my phone, and when I try to install HelloWorld 1.1, the 1.0 version will be replaced. But...I want to have both of them installed on my phone. That is to say, there will be two "HelloWorld" icons in the app drawer.
I use APKTool to extract the com.hello.world.apk into some "text" files, including an AndroidManifest.xml and a lot of *.smali files. In the AndroidManifest.xml, I saw this:
<manifest package="com.hello.world" versionCode="100" versionName="1.0">
I chaged the value "com.hello.world" to "com.goodbye.world". Then I re-build the apk file and transferred it to my phone.
I installed the modified package, it was successfully installed and I see two "HelloWorld" icons in my app drawer!
I try to launch the HelloWorld 1.0, it succeeds.
I try to launch the HelloWorld 1.1, it FCs immediately.
Well, this is my situation. How can I make both of them launch-able in my phone? Is it possible? What should I modify apart from "package" filed in AndroidManifest.xml?
Thanks a lot.
~~~~
wzyboy
Click to expand...
Click to collapse
Well I'm not an android programmer but if I'm understanding you correctly you did the following (in the order I'm listing them):
1) Installed helloworld 1.1 (which over-wrote v1.0)
2) Opened the APK for helloworld 1.0 and made the manifest change
3) Installed the modded helloworld 1.0 on your phone
From a programmer point of view (just not with Android), if you followed the above scenario what is happening is HW1.1 installs it's files which are updated versions of the previous one (why else install an update). When you modded the HW1.0 you only changed the name and nothing else.
What is happening is when you go to install the modded version it's overwriting the newer files with the older ones since the phone is assuming the modded app is an entirely new program and allows the process to occur. This is why the modded one works and the 1.1 won't since the files it needs are the wrong version.
The only option of really have is to mod the actual program to look for different filenames, but without the source code to that app, that isn't going to happen.
Basically you need to have version 1.1 use the default files, and with the modded 1.0 you need to tell the software to "look" for the updated filenames (just don't forget to rename the actual files too).
Short of all that, as far as I know your SOL.
Rayvenhawk said:
Well I'm not an android programmer but if I'm understanding you correctly you did the following (in the order I'm listing them):
1) Installed helloworld 1.1 (which over-wrote v1.0)
2) Opened the APK for helloworld 1.0 and made the manifest change
3) Installed the modded helloworld 1.0 on your phone
From a programmer point of view (just not with Android), if you followed the above scenario what is happening is HW1.1 installs it's files which are updated versions of the previous one (why else install an update). When you modded the HW1.0 you only changed the name and nothing else.
What is happening is when you go to install the modded version it's overwriting the newer files with the older ones since the phone is assuming the modded app is an entirely new program and allows the process to occur. This is why the modded one works and the 1.1 won't since the files it needs are the wrong version.
The only option of really have is to mod the actual program to look for different filenames, but without the source code to that app, that isn't going to happen.
Basically you need to have version 1.1 use the default files, and with the modded 1.0 you need to tell the software to "look" for the updated filenames (just don't forget to rename the actual files too).
Short of all that, as far as I know your SOL.
Click to expand...
Click to collapse
Great thanks to your reply. But...
Android uses .apk files to install and run the application. When installing an apk file, the package installer just copys the apk file to /data/app directory and "register" the program in the system. The apk itself will not be "extracted" or anything else. That is to say, an apk file can be installed, and also can be run.
On the other hand, the apk will generate some files in /data/data directory when running. I am considering that it was these file that made the modded version FCs. I will try to look into these files to see will this works...
English is my second language, hoping that I did not made many grammar misktaks...
+1 on this topic. It's been a year and a half since the last reply and I've done a bit of searching online to find no answers. I anyone have some feedback on this? I'd ultimately like to use this to install two Google voice applications. I actually have an app from a blacked out version with a different icon. But if I install it it will overwrite the original Google voice app
cowboyaryk said:
+1 on this topic. It's been a year and a half since the last reply and I've done a bit of searching online to find no answers. I anyone have some feedback on this? I'd ultimately like to use this to install two Google voice applications. I actually have an app from a blacked out version with a different icon. But if I install it it will overwrite the original Google voice app
Click to expand...
Click to collapse
You are one hell of an archaeologist
Sent from My Samsung Galaxy S2 running Paranoidandroid Rom.What else if not?=P
I'd also like to know if that's possible. Even if it were possible, and an updated version of helloworld is relaeased (Say, HelloWorld v1.2), which version would it replace? Would it replace the (original) HelloWorld 1.1 or the (modded)HelloWorld 1.0?
Yes. Titanium backup. Profiles. These are the keywords.
lambstone said:
Yes. Titanium backup. Profiles. These are the keywords.
Click to expand...
Click to collapse
any idea how i would use TB and "profiles" to do it? sounds like you know from experience
Please use the Q&A Forum for questions &
Read the Forum Rules Ref Posting
Moving to Q&A
lufc said:
Please use the Q&A Forum for questions &
Read the Forum Rules Ref Posting
Moving to Q&A
Click to expand...
Click to collapse
thanks cheif i'm not the one who posted this almost two years ago
bbsrailfan said:
I'd also like to know if that's possible. Even if it were possible, and an updated version of helloworld is relaeased (Say, HelloWorld v1.2), which version would it replace? Would it replace the (original) HelloWorld 1.1 or the (modded)HelloWorld 1.0?
Click to expand...
Click to collapse
It would replace the only legitimate version found, the unmodded one. The point of modding the APK is to make Android see it as a completely different app, and not think of one as an update to the other.
dstruct2k said:
It would replace the only legitimate version found, the unmodded one. The point of modding the APK is to make Android see it as a completely different app, and not think of one as an update to the other.
Click to expand...
Click to collapse
do how do you mod the apk? change the filename? i'm sure theres more to it than that
lambstone said:
Yes. Titanium backup. Profiles. These are the keywords.
Click to expand...
Click to collapse
that feature on tibu is for switching DATA profiles basically so two or people can play the same game or whatever and keep they're progress separate like having multiple saved games. its not for switching versions of an app
I've tried to googling how to install multiple same applications in one device,but i didn't found anything how to do that simply...there are lot of stuff using ant and ruby script,but don't understand with that..so anyone figured out how to install multiple same apps with simply method? because i want to install operamini 7.5,but I've already instaled version 6.5...
sorry for my bad english
Need to install Galaxy S4 gallery on custom rom which has S4 gallary apk
Need help to install two versions of Gallary S4 and S5 Gallary can someone help...since I like the spiral option very good in S4 gallary which I miss and I like few features of Gallary from S5....in Ozcan rom on S4 i19500...please help
Necro, sorry. I have the same question. I have a copy of the old ifunny app and want both the new and the old, I would also like to run two versions of the same game (one with a nodded apk for unlimited coins and etc and one stock) I wouldn't mind if they shared data but if there's a way to make it where the asks do not share days that would be cool too.
Possible solution
Hi there,
While searching for a solution I found this thread and as it is one of the first results in google I thought to share what I found (didn't try yet) :
http://android.stackexchange.com/questions/19935/how-to-keep-two-versions-of-an-app-installed
It's first answer has a guide how to run two versions of same app throigh modifying onee of them with apktool.
Greets
Gachmuret said:
Hi there,
While searching for a solution I found this thread and as it is one of the first results in google I thought to share what I found (didn't try yet) :
http://android.stackexchange.com/questions/19935/how-to-keep-two-versions-of-an-app-installed
It's first answer has a guide how to run two versions of same app throigh modifying onee of them with apktool.
Greets
Click to expand...
Click to collapse
Hi
I would also like to do this for Google earth app I want to have both version 7.1.3 and 8.0.1 because the earlier version has more features but the latest looks more beautiful so I read the instructions from that link but it is way too complicated for a noob user like me plus judging from the last message it seems it hasn't been resolved so isn't there an app or xposed mod that does this automatically ?

Help with theming, please?

So I kind of need help. I wanted to mess around with combining features from my existing arc style framework apk from I think it was J, maybe go3asy, and from the froshedblue. I used root explorer and pasted froshed's apk over the existing one in a bout of frustration and had to reboot because everything was fcing. what I want from froshed is the black menu, the volume dialog, the 'busy' ring animation, the text box border, and the popups on the keyboard and in general(minus the icon style I.e. in the reboot dialog). The rest I want from the arc style framework, including checkboxes, buttons in call screen etc. Ill have a link to the thread soon. Can anyone please help?
EDIT: Ok I have the pngs I want from froshedblue. My problem is, I dont currently have a working computer, not to mention the theme I want stuff from(froshedblue) is made mdpi, and the included framework with Wolfbreak's CM ROM V054 is hdpi. How would I be able to make them work? Because I know its possible, (otherwise froshedblue would not be able to work, being mdpi on our hdpi x10's.) but I don't know how. Can anyone help me, or better yet can anyone teach me how to theme or tell me where to go to learn? Thanks in advance.
From my X10a running Wolfbreak's CM 6.1.3 V054
To Froshed:
http://forum.xda-developers.com/showthread.php?t=948701
To Arc: http://www.mediafire.com/?45e20c8122h2e50
Sent from my X10a running CM 6.1.3 V4.4
Sorry, I was a dummy. I found the thread with the how to, but I still don't have a working computer.
OK, my question now is would it break the framework if I just pasted the pngs in that I want, from froshedblue to tue v054? Is there some xml somewhere that is the reason the mdpi pngs work on the hdpi x10?

[HELP][PORT] SunUI.apk launcher, de-compiled and logcat

So, I found this launcher and I think it would be great for the Ouya, but I need to edit the build.prop or the smali so that the launcher passes checks.
I think one check is for screen density and the other I am not sure.
Here's a link to the launcher apk, decomiled and a logcat of it crashing on werty100's most recent build:
http://d-h.st/Uddp[1]
If any of you could help me figure out what this app is trying to do I would appreciate it. This would make a much cleaner interface for our ouyas running CM11.
Here is a link to the original forum I found the launcher on. It is called SunUI and was shipped in some test builds for rockchip sticks so far as I could tell>
http://freaktab.com/forum/tv-player-support/rk3288-devices/17935-tv-box-launchers-rk3288[2]
Thanks again and if I might be more successful in another sub, let me know.

[HELP] How to fix RIL and THEMES APP in MIUI 7?

Hello Guys! I have ported MIUI 7 for my device Xperia M. Took base as CM11 and ported. It boots up and everything works fine. All the apps. But there is a continuous FC com.android.phone has stopped. And com.themes.activity has stopped. I disabled FC messages from dev options to try out other things and all other apps work fine.
The list of non working things:
1. Messaging App (RIL problem)
2. Phone app (RIL problem)
3. Contacts app (Again RIL)
4. Themes app. (No idea why)
I am most probably missing telephony files or something but I don't know so please help me guys.
The logcat link is : pastebin.com/buLzqyZH
Too many dalvikvm errors..Refer to the earlier pages of this thread and add build.prop lines at the end..Also replace /system/bin/app_process with port rom.
This answer was given by STRYDER~007 so can you look into it? I don't know coding... He said to look into earlier pages of this thread
http://forum.xda-developers.com/and...-to-device-t3250984/post65319924#post65319924

Could not get Default (SecurityException)

Hello all,
I have a quick (hopefully) question regarding an app that I'm using. I ported an app from AOSP to Touchwiz and removed the Touchwiz stock InCallUI, forcing the phone to use the AOSP one instead. However, the app tends to hang before changing displays. I took a logcat and the only error I believe could have had an effect is this one:
Code:
[ 04-12 00:53:28.636 1605: 1672 E/Telecom ]
TelecomServiceImpl: Could not get default dialer.
java.lang.SecurityException: Package com.android.incallui does not belong to 10003
at android.app.AppOpsManager.checkPackage(AppOpsManager.java:1686)
at com.android.server.telecom.TelecomServiceImpl.isDefaultDialerCalling(TelecomServiceImpl.java:680)
at com.android.server.telecom.TelecomServiceImpl.enforceModifyPermissionOrDefaultDialer(TelecomServiceImpl.java:626)
at com.android.server.telecom.TelecomServiceImpl.cancelMissedCallsNotification(TelecomServiceImpl.java:462)
at com.android.internal.telecom.ITelecomService$Stub.onTransact(ITelecomService.java:312)
at android.os.Binder.execTransact(Binder.java:446)
It seems like the issue was due to it not being set as the default app or some issue with the permissions. I tried looking for an xml that sets the default apps, but couldn't find one. I also looked through the build.prop, but I don't think there was anything of noticeable change in there.
My Device Specs:
SM-G900A
Lollipop 5.0 Based on G900F ROM
Rooted
No Xposed
Stock Kernel
I would appreciate any and all assistance in solving this issue.

Categories

Resources