[DEVS][THINK-TANK] Finding a solution for custom boot animations. - Epic 4G Android Development

I need all your help on testing and finding a solid solution to get boot animations working for 100% of users and situations.
Desired behaviour:
1. Sprint files only -- shows Sprint animation.
2. bootanimation.zip only -- shows custom boot.
3. Both sets of files -- bootanimation.zip overrides Sprint.
Undesired behaviour: (i.e. things I've tried that have failed, or are ugly)
1. Sprint animation has fallback android animation overlay, blinking ANDROID over the Sprint stuff. UGLY!
2. Situations 1 and 2 work normally, but if both sets of files are present, both animations display.
3. Disabling sprint animation completely. This is not good, we want something to work for every user.
4. Custom boot animations that loop until boot completes don't stop when boot completes. This is very bad.
We need to thinktank some code to get this working right, so we can implement it easily in each kernel we produce.

So it is ro=read only, heh.

Ah, I love it! You weren't lying when you said elegant

DevinXtreme said:
Ah, I love it! You weren't lying when you said elegant
Click to expand...
Click to collapse
I do need you and others to test and improve upon it.
It doesn't act quite as expected, but even at this point it's far better than other alternatives.

tehdarkknight said:
I do need you and others to test and improve upon it.
It doesn't act quite as expected, but even at this point it's far better than other alternatives.
Click to expand...
Click to collapse
Blah. Gone over several scenarios and they all end exactly where we are. I'm not so hot with scripting, but the pseudo should translate the same.
What about nesting if-thens? Don't assume anything (rw.kernel.android.customboot shouldn't be set until going through the if-thens). Create the parent if-then that checks for the Sammy/Sprint files. If it finds them, set rw.kernel.android.customboot to false, then write the nested statement to check for the custom boot files. If they are there, set rw.kernel.android.customboot to true. Then, to the parent statement, write an else that just sets rw.kernel.android.customboot to true. This should solve the problem. So:
Code:
if(Sprint/Sammy Files exist){
rw.kernel.android.customboot = 0
if(Custom Files also exist)
rw.kernel.android.customboot = 1
}
else
rw.kernel.android.customboot = 1

I got it working a little better.
init.rc:
Code:
on property:rw.kernel.android.customboot=1
start bootanimcustom
on property:rw.kernel.android.stockboot=1
start playlogos1
service playlogos1 /system/bin/playlogos1
user root
oneshot
disabled
service bootanimcustom /system/bin/bootanimation
user graphics
group graphics
disabled
oneshot
customboot.sh
Code:
#!/system/bin/sh
if [ -f "/data/local/bootanimation.zip" -o -f "/system/media/bootanimation.zip" ]; then
setprop rw.kernel.android.customboot 1
else
setprop rw.kernel.android.stockboot 1
fi
I do, however, have a problem. The boot animation never ends. The system starts up and the UI is loaded, but the boot animation takes over the screen and never seems to die. Using adb shell I was able to see the process and kill it, which restored the screen to the OS. Any ideas on how to stop it automatically?

ttabbal said:
I got it working a little better.
init.rc:
Code:
on property:rw.kernel.android.customboot=1
start bootanimcustom
on property:rw.kernel.android.stockboot=1
start playlogos1
service playlogos1 /system/bin/playlogos1
user root
oneshot
disabled
service bootanimcustom /system/bin/bootanimation
user graphics
group graphics
disabled
oneshot
customboot.sh
Code:
#!/system/bin/sh
if [ -f "/data/local/bootanimation.zip" -o -f "/system/media/bootanimation.zip" ]; then
setprop rw.kernel.android.customboot 1
else
setprop rw.kernel.android.stockboot 1
fi
I do, however, have a problem. The boot animation never ends. The system starts up and the UI is loaded, but the boot animation takes over the screen and never seems to die. Using adb shell I was able to see the process and kill it, which restored the screen to the OS. Any ideas on how to stop it automatically?
Click to expand...
Click to collapse
Are you using stock animations or a custom one?
Also, won't this run into the same problem? If both conditionals end up true, you've got it trying to run both.

DevinXtreme said:
Are you using stock animations or a custom one?
Also, won't this run into the same problem? If both conditionals end up true, you've got it trying to run both.
Click to expand...
Click to collapse
I tried the sketch android. I also noticed that the bootanimation2nd loads up an "Android" text that doesn't take over as much of the screen.
The conditionals can't both end up true, only one can ever be set in the shell script. If I delete the bootanimation.zip, I get the standard "Galaxy S" animation via playlogos. If I have a bootanimation.zip, that's what displays. It just never goes away.

ttabbal said:
The conditionals can't both end up true, only one can ever be set in the shell script. If I delete the bootanimation.zip, I get the standard "Galaxy S" animation via playlogos. If I have a bootanimation.zip, that's what displays. It just never goes away.
Click to expand...
Click to collapse
Blah. That's what I get for not paying attention. I read the if-then-else totally wrong... I'm in class right now, doing Java programming... they meshed.
That's weird feedback, though. Eff Sammy making this harder than it needs to be.
Is it possible to nest with these shell scripts?

DevinXtreme said:
Blah. That's what I get for not paying attention. I read the if-then-else totally wrong... I'm in class right now, doing Java programming... they meshed.
That's weird feedback, though. Eff Sammy making this harder than it needs to be.
Is it possible to nest with these shell scripts?
Click to expand...
Click to collapse
Nest? You mean like a nested-if-then-else?
if [ test ] then
if [ test2 ] then
fi
fi
That's the basic structure for shell scripts if-nesting if I'm understanding you right.

ttabbal said:
Nest? You mean like a nested-if-then-else?
if [ test ] then
if [ test2 ] then
fi
fi
That's the basic structure for shell scripts if-nesting if I'm understanding you right.
Click to expand...
Click to collapse
Exactly. I've never actually worked with shell scripting before, so while I get the function, I just don't know enough to write my own. Syntax is weird like that. I don't see why it would loop.

DevinXtreme said:
Exactly. I've never actually worked with shell scripting before, so while I get the function, I just don't know enough to write my own. Syntax is weird like that. I don't see why it would loop.
Click to expand...
Click to collapse
Yeah, it's like the bootanimation process is waiting for a trigger to tell it to stop. I suspect that the samsung Android doesn't do this, as they don't use that program. I just don't know what it is that it needs to do. If I can figure that out, I can likely write something to trigger it.

thought the epic doesnt like if [insert command here] statements?

shabbypenguin said:
thought the epic doesnt like if [insert command here] statements?
Click to expand...
Click to collapse
Depends on the shell interpreter I would think. I'm on a Vibrant though, so perhaps there are differences.

shabbypenguin said:
thought the epic doesnt like if [insert command here] statements?
Click to expand...
Click to collapse
My initramfs installs busybox
ttabbal said:
I got it working a little better.
<snip>
I do, however, have a problem. The boot animation never ends. The system starts up and the UI is loaded, but the boot animation takes over the screen and never seems to die. Using adb shell I was able to see the process and kill it, which restored the screen to the OS. Any ideas on how to stop it automatically?
Click to expand...
Click to collapse
I have two things to note about your code. The first is that we should only use one prop, it's just good coding practice and prevents unintended behaviour. The second is that the reason playlogos1 loops is because the service needs to be oneshot, if you start it normally, it loops. But it would appear that you can't oneshot a service inside an 'on' statement in init.rc.
I think our solution lies here: http://www.kandroid.org/android_pdk/bring_up.html

The problem was my bad syntax in init.rc. I think I have it fixed, i'll compile tomorrow morning.

doesnt install it all the way, still had to link some things in order for me to debug the battery tweak

That's a good question. The initramfs runs /system/bin/busybox --install, but I've never checked the linkage. I'll be pushing my initramfs to github soon.

if tahts the case i may start over with the project and just use your kernel as a base install, kinda like what collin did for cm6
update:
finished check sig

Necro'ing this thread. Check OP for new information, and let's get this ***** solved!

Related

Scheduled Scripting App - Scheduled Reboots, etc... Phone Prioritizer App

This is the phone prioritizer app for the people that are looking for it.
As title states this allows you to schedule scripts to run at specific times and time intervals.
Place scripts you want to run into the following files in the folder /sdcard/phonePrioritizer:
reboot.txt - Runs one time nightly at scheduled time (placing reboot in this file will reboot your phone on cupcake but not on hero)
script.txt - Runs at scheduled intervals (5 minutes to 24 hours)
afterboot.txt - Runs one time after each reboot
Open the phonePrioritizer app and set options by pressing menu. (Buttons on main page of app only control the script.txt script, rest of the scripts are controlled in preferences.)
!Don't put the word reboot into script.txt or afterboot.txt for obvious reasons!
Great job. I'll play with this when I have more time.
Mike, Thanks for the script.
Hope I didn't spoil your surprise on your awesome script. I figured I would still release this in case someone has a need for it.
It is working well for me so far.
jinx10000 said:
Mike, Thanks for the script.
Hope I didn't spoil your surprise on your awesome script. I figured I would still release this in case someone has a need for it.
It is working well for me so far.
Click to expand...
Click to collapse
I think we both got spoiled by that damn BFS working. It makes my stuff useless if the ROM has it. There are a few ROMs that don't have it yet so it has a little life left in it.
LOL. I hadn't heard that. That is too bad.
I had heard that your scripts were working great in xrom and Jacxheroski 1.8. I thought both of those had your script and bfs in them. Of course I haven't looked much today since I have been working on this program.
I guess people can still use my program that want an automated reboot.
Before, it would take at least 3 rings on the caller before I see a notification and my phone rings. When i installed this, my screen showed an incoming call on the first ring on the caller. My phone started ringing on the second ring on the caller though. I'm wondering what adjustment I should make to make my phone ring as soon as I see a notification? I used the default script.txt. thanks
cx92001 said:
Before, it would take at least 3 rings on the caller before I see a notification and my phone rings. When i installed this, my screen showed an incoming call on the first ring on the caller. My phone started ringing on the second ring on the caller though. I'm wondering what adjustment I should make to make my phone ring as soon as I see a notification? I used the default script.txt. thanks
Click to expand...
Click to collapse
Turn off your vibrate on ring. That delays the ringtone. Also the second call usually comes in faster.
miketaylor00 said:
Turn off your vibrate on ring. That delays the ringtone. Also the second call usually comes in faster.
Click to expand...
Click to collapse
Cool that helped. Thanks to your awesome script miketaylor00 and your scheduler jinx10000.
Updated.
1.7 had a problem where unchecking the Enable Scheduled Reboot would disable the wrong script.
Sorry for those that downloaded it. It is fixed in the newest version.
I believe this is the final update. Got it the way I like it.
Cleaned up the code a little.
Now runs completely in the background. No toast when script runs.
I really think this is the final version. lol
I had left some unnecessary timers in 2.0. --- Run script wait a few seconds then kill service. Was not sure if this was necessary when I first started making this program. I doubt for those with earlier versions that it will make any difference. --- Doesn't seem necessary so removed. I thought I had removed them in 2.0.
I have a question for Java/android programmers. The code that I found to call the services is :
mAlarmSender = PendingIntent.getService(AlarmService.this, 1394, new Intent(AlarmService.this, AlarmService_Service.class), 0);
timeSet = calendar.getTimeInMillis();
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, timeSet, whateverTime, mAlarmSender);
In order to setup multiple schedules I have created multiple services and called them in mAlarmSender variable. For ex, AlarmService_Service, AlarmReboot_Service, etc... However, these do almost the same thing. How can I combine them into the same service and distinguish the exact purpose for which it is being called?
Do all the scripts run as su? or only the reboot one?
all scripts run as su.
Process process = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
...
os.writeBytes("exit\n");
os.flush();
Uploaded source if anyone is interested.
The program appears to be fully functional.
Thanks so much for this.
afterboot.txt is exactly what I was looking for a few days back. Now I can finally have an IM app launch at boot, might actually use the thing now lol.
Nice work, appreciate the app.
Great job with the app
If anyone needs a command to kill a certain task on startup (AK Notepad was starting up for me all the time), do the following:
Type in Terminal
Code:
ps
This will display all of the processes that are currently running.
Find out the PID of your process you want to kill; mine was 491.
Plug it in to where x is:
Code:
kill -9 x
So in my case, I typed:
Code:
kill -9 491
And it killed AK Notepad from processes. So if you want to auto-kill a process, that's what you could do - put kill -9 [your PID here] into the autostart script after every reboot.
Hope this helps.
Proxin said:
Great job with the app
If anyone needs a command to kill a certain task on startup (AK Notepad was starting up for me all the time), do the following:
Type in Terminal
Code:
ps
This will display all of the processes that are currently running.
Find out the PID of your process you want to kill; mine was 491.
Plug it in to where x is:
Code:
kill -9 x
So in my case, I typed:
Code:
kill -9 491
And it killed AK Notepad from processes. So if you want to auto-kill a process, that's what you could do - put kill -9 [your PID here] into the autostart script after every reboot.
Hope this helps.
Click to expand...
Click to collapse
Correct me if I'm wrong but I don't believe the PID is a constant, i.e. it changes.
AndroidAppCritic said:
Correct me if I'm wrong but I don't believe the PID is a constant, i.e. it changes.
Click to expand...
Click to collapse
Yes, just realized that too
Haha oh well. Maybe someone someday will find use in this instead of buying/downloading a task manager app
Proxin said:
Yes, just realized that too
Haha oh well. Maybe someone someday will find use in this instead of buying/downloading a task manager app
Click to expand...
Click to collapse
I use GScript for a lot of various scripts that are apps. For example, instead of Clear Me for $1 (which I already bought) I just use GScript to clear my necessary caches. But I found that for task managing purposes I used Advanced Task Manager which pretty much allows you to do just about anything. Sometimes you just need to bite the bullet and pay for an app. I'd love to see this thread become huge because I LOVE GScript.
Proxin said:
Great job with the app
If anyone needs a command to kill a certain task on startup (AK Notepad was starting up for me all the time), do the following:
Type in Terminal
Code:
ps
This will display all of the processes that are currently running.
Find out the PID of your process you want to kill; mine was 491.
Plug it in to where x is:
Code:
kill -9 x
So in my case, I typed:
Code:
kill -9 491
And it killed AK Notepad from processes. So if you want to auto-kill a process, that's what you could do - put kill -9 [your PID here] into the autostart script after every reboot.
Hope this helps.
Click to expand...
Click to collapse
if you need a dynamic PID try the below:
Code:
pidof com.akproduction.notepad
so you could create a small script
to store it then run the kill on the variable as i cant seem to get the kill to run it in single quote i get a bad pid message

SMS Messages on sd card??

Hi Everyone,
Wanted to ask if any of you know of a way so that I can store my sms messages on my sd card. So that whenever I change roms or wipe they are always back on my phone? Kind of the same idea as pictures that are taken are always found in the album. Any ideas on this??
Changing ROMs will not erase your texts. Wiping will.
Anyway, the easiest thing to do is just use any of a dozen Market-available backup programs to back up your messages.
I was wondering about this same possibility because backups/restores take longer and longer and the amount of sms/mms grows.
After not finding a suitable way to do this I decided to go with SMSBackup.
http://code.google.com/p/android-sms/
Click to expand...
Click to collapse
It is also in the Market. It is the one by Christoph Studer.
Basically it backs up all sms/mms to your gmail under a Label (SMS by default).
When you first set it up it will ask if you want to back up all messages currently on the device and it will continue to due so as messages are sent/received.
After I did this I was able to delete all of my old messages and have them readily accessible from Gmail at any time.
IMHO it is a great solution.
crunchybutternut said:
After not finding a suitable way to do this I decided to go with SMSBackup.
Click to expand...
Click to collapse
It is a good tool.
I use the same SMSBackup *and* another one called "SMS Backup & Restore". It backs up the SMS messages in a simple XML file, which is nice because you can edit it to remove the oldest ones before restoring. The same guy also makes a tool to backup the call log.
I dont see why you cant make a script to mount image on the SD card to wherever those files are saved... maybe along the lines AppsToSD works with UnionFS, although its kinda pointless to have a whole other partition for this, theres no reason you cant have a .sqsh image on the card... I totally understand this, I hate loosing all SMS's with every wipe, and I hate to have to download an App from the market to do this and then have to restore it everytime... call it SmsToSD, lol... I'm far from a linux expert, but I honestly think I could probably whip this up, and I DO understand why this would rock.
Seems like we could just make a symlink????
EDIT:
ln -s /whatever/the/sms/directory/is /sdcard/smsfolder
I think....maybe... I dunno.
Kcarpenter said:
Seems like we could just make a symlink????
EDIT:
ln -s /whatever/the/sms/directory/is /sdcard/smsfolder
I think....maybe... I dunno.
Click to expand...
Click to collapse
All fun and games until you (the general "you") pop out your card..?
capenter that sounds like a great idea, theres probably more complications to it than it looks like there is cuz it probly woulda been done already
There are lots of things I can think of that could happen, anyone want to take the plunge?? lol. I can come up with the script.
I would be willing to try this out... This is exactly what I was talking about.
jerrygon said:
I would be willing to try this out... This is exactly what I was talking about.
Click to expand...
Click to collapse
+1 on this, write the script I'll test it !
Working on this now. I will let you know when I am done.
Awesome... Let me know...
SOOOO...
I think we can:
cp -a /data/data/com.android.providers.telephony/databases/mmssms.db /system/sd/sms
then:
ln -s /system/sd/sms /data/data/com.android.providers.telelphony/databases/mmssms.db
BUT - I can't find the apps2sd script to A: See if this is how they do it and B: add to it...
Anyone knows where it is at, let me know...maybe boot.img.
You could probably do this in adb, but I don't think it will stick.
Kcarpenter said:
Anyone knows where it is at, let me know...maybe boot.img.
You could probably do this in adb, but I don't think it will stick.
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=512743
thread describing A2SD, I'll take a look tonight after I get off work and see if I cant make it work... Frankly, this would actually be a feature I'd use, anyone know if the storage method for SMS is different between 1.6 and 2.1? I dont think its something they would have changed, and the backup and restore program seems to work for 2.1
jmhalder said:
http://forum.xda-developers.com/showthread.php?t=512743
thread describing A2SD, I'll take a look tonight after I get off work and see if I cant make it work... Frankly, this would actually be a feature I'd use, anyone know if the storage method for SMS is different between 1.6 and 2.1? I dont think its something they would have changed, and the backup and restore program seems to work for 2.1
Click to expand...
Click to collapse
I'll take a look at this tonight, thanks for digging it up. I wasn't able to pull my init.rc last night - for some reason it just would never show up on my SD card. Tried 50+ times. Maybe I'll be able to get it tonight.
Kcarpenter said:
SOOOO...
I think we can:
cp -a /data/data/com.android.providers.telephony/databases/mmssms.db /system/sd/sms
then:
ln -s /system/sd/sms /data/data/com.android.providers.telelphony/databases/mmssms.db
BUT - I can't find the apps2sd script to A: See if this is how they do it and B: add to it...
Anyone knows where it is at, let me know...maybe boot.img.
You could probably do this in adb, but I don't think it will stick.
Click to expand...
Click to collapse
wouldnt it be (from the */databases directory) be:
"ln -s /system/sd/sms/mmssms.db ./mmssms.db"?
as usage is "ln -s target link_name"
I just cp'd it to /system/sd/sms/* and rm'd it from the original dir, did a wipe, gonna rm it again and setup the symlink to see if its kosher, Obviously there is probably a better way to do this... gonna work on it a little maybe saturday, I would really like this on my dream as I change roms almost daily.
*edit/update* this DOES cause my messaging application to crash, probably need to change permissions to make it actually function... later.
*EDIT!!!1!!*: YES!!!! this does work, just needed to "chown radio ./mmssms.db" from the /data/data/com.android.providers.telephony/databases/ directory... YAY!!!, now just to incorperate this into a update.zip to script that will check for a /system/sd/sms/mmssms.db file and make a symlink to it if its found... fantastic!
OK this is something i have been looking for.
So Im a little confused on the steps on how to do this, can anyone make a list of the steps for me ty
dragonslave02 said:
OK this is something i have been looking for.
So Im a little confused on the steps on how to do this, can anyone make a list of the steps for me ty
Click to expand...
Click to collapse
No one has ever perfected it
But you would:
Code:
cp -a /data/data/com.android.providers.telephony/databases/mmssms.db /system/sd/sms/
then
Code:
ln -s /system/sd/sms /data/data/com.android.providers.telelphony/databases/mmssms.db
then
Code:
rm /data/data/com.android.providers.telephony/databases/mmssms.db
Then reboot.... that should in theory work for you.
Like I said no one has ever sat down to perfect it.
EDIT:
Looking at that, something seems wrong, but I don't have time to figure it out (Same reason it has never been perfected)
Don't blame me if you loose your SMS trying it.
jmhalder said:
I dont see why you cant make a script to mount image on the SD card to wherever those files are saved... maybe along the lines AppsToSD works with UnionFS, although its kinda pointless to have a whole other partition for this, theres no reason you cant have a .sqsh image on the card... I totally understand this, I hate loosing all SMS's with every wipe, and I hate to have to download an App from the market to do this and then have to restore it everytime... call it SmsToSD, lol... I'm far from a linux expert, but I honestly think I could probably whip this up, and I DO understand why this would rock.
Click to expand...
Click to collapse
This is exactly what came to mind when I read the thread title. Downloadable apps are a workaround. This is a solution.

G tablet not very sensitiv\e on touchscreen...

My gtablet is running CM7 Rom and overall it's pretty fast. Problem is that many of the touch presses don't register right away... many times I have to press harder or use a different finger.
Now here are my questions...
1.) The screen on this g tablet loves to get dirty with fingerprints, smudges, etc. Is it possible that the dirty screen is causing these touch inputs not registering that precisely?
2.) What is the best thing to use to clean the screen of fingerprints/smudgemarks?
3.) My Samsung Droid Charge seems to have a much better touchscreen in terms of sensitivity... you barely need to touch the screen for it to register... but this G Tablet is considerbly less sensitive it seems.... so what could be the issue?
Thank you!
aliensquale said:
My gtablet is running CM7 Rom and overall it's pretty fast. Problem is that many of the touch presses don't register right away... many times I have to press harder or use a different finger.
Now here are my questions...
1.) The screen on this g tablet loves to get dirty with fingerprints, smudges, etc. Is it possible that the dirty screen is causing these touch inputs not registering that precisely?
2.) What is the best thing to use to clean the screen of fingerprints/smudgemarks?
3.) My Samsung Droid Charge seems to have a much better touchscreen in terms of sensitivity... you barely need to touch the screen for it to register... but this G Tablet is considerbly less sensitive it seems.... so what could be the issue?
Thank you!
Click to expand...
Click to collapse
Install Calibration apk from the link below. Hope it will help you to fix problem.
http://forum.xda-developers.com/showthread.php?t=934500&highlight=calibration
crm_007 said:
Install Calibration apk from the link below. Hope it will help you to fix problem.
http://forum.xda-developers.com/showthread.php?t=934500&highlight=calibration
Click to expand...
Click to collapse
If that doesn't work, look deeper in that thread for the manual way of running the app to make it work. Something along the lines of touching (that's a command) the ini file, then running the app.
I did the calibration.ini file fix... seemed to maybe improve 'slightly' the touch screen responsivness..
Does fingerprints all over the touchscreen hinder the responsiveness?
I've had this same problem, but more on multitouch. Doing the calibration would make it snappy for single touches and gestures, but anything require more then one touch it would have major problems registering at times.
anything you do to fix the g tablet?
or is it just a shortcoming of the g tablet that everybody has this issue?
aliensquale, this issue has been discussed a million times and solved a million times. If you can't be bothered to spend 30 seconds to do a search, I highly suggest the apple ipad. I hear that thing even spoon feeds you breakfast.
Edit.
My apologies.
Now, sell the gtab and buy an ipad. Problem solved. You will never have to do a search ever again.
i did all the recommendated stuff I could find... the program that didn't work... the .ini file that didn't fix it.. still the same.. so I don't know of any other options..
There's a reason this tablet didn't sell very well until it was heavily discounted. The screen sucks, the touch responsiveness sucks, the customized OS sucks, the fact that the buttons don't have backlights REALLY sucks. Just accept that the hardware has a lot of issues and you'll be fine. If not, the other guys is right, buy a Honeycomb tablet or an iPad.
aliensquale said:
i did all the recommendated stuff I could find... the program that didn't work... the .ini file that didn't fix it.. still the same.. so I don't know of any other options..
Click to expand...
Click to collapse
Did you try this? Install "Terminal Emulator" first.
Originally Posted by rick.brewer View Post
This fixed it right up.
At the prompt #
1. touch /sdcard/calibration.ini
2. /system/bin/TSCalibration.
Click to expand...
Click to collapse
Nothing else worked for me, UNTIL I did this. Try this, get back to us.
well I downloaded the 'Android Terminal Emulator' app.
started it up and I typed this in at the command prompt:
touch /sdcard/calibration.ini
hit 'enter' and it did NOTHING.. just gave me back the command prompt..
I then typed in the below and hit 'enter'.. it gave me an error saying it can't find the TSCalibration file so I need to first download that from somewhere I suppose?
/system/bin/TSCalibration.
I am NOT a linux guy.. never used Linux so I have no idea what I'm doing wrong..
h3llphyre said:
Did you try this? Install "Terminal Emulator" first.
Nothing else worked for me, UNTIL I did this. Try this, get back to us.
Click to expand...
Click to collapse
aliensquale said:
well I downloaded the 'Android Terminal Emulator' app.
started it up and I typed this in at the command prompt:
touch /sdcard/calibration.ini
hit 'enter' and it did NOTHING.. just gave me back the command prompt..
Click to expand...
Click to collapse
That means that the command probably succeeded. This is how Unix works. Its utilities only complain if they encounter errors.
This command should show you a 0 byte file in /sdcard if the touch command worked.
Code:
ls -l /sdcard/calibration.ini
I then typed in the below and hit 'enter'.. it gave me an error saying it can't find the TSCalibration file so I need to first download that from somewhere I suppose?
Click to expand...
Click to collapse
What is the precise command you used and what is the exact error message you got? I need it to troubleshoot your problem.
okay I do the first command, hit enter, brings me back to the command prompt. I go into ES File Explorer, look at the properties on the calibration.ini file on the SD card and see that is is 0 bytes.
I then go back into the command prompt.. I type exactly this:
/system/bin/TSCalibration
I hit enter.. and this is the exact message I get..
can not open the file /proc/cmdline!
It then automatically gives me 11 more messages right below.. they all say exacly this:
can not open the file calibration.ini in emc !
can not open the file calibration.ini in emc !
can not open the file calibration.ini in emc !
can not open the file calibration.ini in emc !
can not open the file calibration.ini in emc !
can not open the file calibration.ini in emc !
can not open the file calibration.ini in emc !
can not open the file calibration.ini in emc !
can not open the file calibration.ini in emc !
can not open the file calibration.ini in emc !
can not open the file calibration.ini in emc !
rajeevvp said:
That means that the command probably succeeded. This is how Unix works. Its utilities only complain if they encounter errors.
This command should show you a 0 byte file in /sdcard if the touch command worked.
Code:
ls -l /sdcard/calibration.ini
What is the precise command you used and what is the exact error message you got? I need it to troubleshoot your problem.
Click to expand...
Click to collapse
aliensquale said:
I hit enter.. and this is the exact message I get..
can not open the file /proc/cmdline!
It then automatically gives me 11 more messages right below.. they all say exacly this:
can not open the file calibration.ini in emc !
can not open the file calibration.ini in emc !
can not open the file calibration.ini in emc !
can not open the file calibration.ini in emc !
...
Click to expand...
Click to collapse
Ah! you're running one of the Gingerbread-based ROMs. The error message tells you what you need to do:
Code:
$ [B]su[/B]
# [B]touch /emmc/calibration.ini[/B]
# [B]/system/bin/TSCalibration; sleep 5[/B]
Don't type in the prompts ('$' and '#')--they're only there to show you how the screen should look--and don't touch the screen until you get the '#' prompt again. Make sure you have the Superuser app (also free) from Market first for the su command to work.
Remove the calibration.ini file if calibration succeeded:
Code:
$ [B]su[/B]
# [B]rm -f /emmc/calibration.ini[/B]
that worked!!! thank you so much!!!
what did we actually just do here? lol
why didn't Viewsonic have this setup like this when making the tablet?
and will I have to keep re-doing this entire process again? like everytime I restart or power off the g tablet?
or is this fixed once and for all???
rajeevvp said:
Ah! you're running one of the Gingerbread-based ROMs. The error message tells you what you need to do:
Code:
$ su
# touch /emmc/calibration.ini
# sleep 5; /system/bin/TSCalibration
Don't type in the prompts ('$' and '#')--they're only there to show you how the screen should look--and don't touch the screen until you get the '#' prompt again. Make sure you have the Superuser app (also free) from Market first for the su command to work.
Remove the calibration.ini file if calibration succeeded:
Code:
$ su
# rm -f /emmc/calibration.ini
Click to expand...
Click to collapse
Just once and you're good.
Viewsonic isn't too fond of the gtablet. They want nothing but to see it die a quiet death. All their resources are being diverted for the viewpad 10, which so far hasn't made a single splash.
but is it the hardware on the g tablet (the touchscreen itself) that is the problem.. or was it only a simple software fix (as we just did here) that was the problem for viewsonic?
I just can't believe doing the above software fix changed the entire response of the 'hardware' touchscreen.. seems like a miracle
goodintentions said:
Just once and you're good.
Viewsonic isn't too fond of the gtablet. They want nothing but to see it die a quiet death. All their resources are being diverted for the viewpad 10, which so far hasn't made a single splash.
Click to expand...
Click to collapse
aliensquale said:
but is it the hardware on the g tablet (the touchscreen itself) that is the problem.. or was it only a simple software fix (as we just did here) that was the problem for viewsonic?
I just can't believe doing the above software fix changed the entire response of the 'hardware' touchscreen.. seems like a miracle
Click to expand...
Click to collapse
Software. The screen just needed to be calibrated. Viewsonic had about zero engineering effort into the Gtab. Malata builds the hardware, TapNTap did the software, Viewsonic got the proceeds from selling it.
Now, take this as a lesson.
a.) Chances are, if you're having a problem with the Gtab, you're not alone, and it's probably documented on how to fix it, if you search.
b.) If the documented fix doesn't work for you, be explicit in what you did, and any error messages you received.
c.) to add to this, always list which ROM and Kernel you're running
Lastly
d.) People are awesome here and WILL help you, if you don't act like a total n00b and follow the advice above. I just asked a question to something I couldn't figure out, so don't be afraid to ask.
aliensquale said:
but is it the hardware on the g tablet (the touchscreen itself) that is the problem.. or was it only a simple software fix (as we just did here) that was the problem for viewsonic?
I just can't believe doing the above software fix changed the entire response of the 'hardware' touchscreen.. seems like a miracle
Click to expand...
Click to collapse
I don't know if what you're referring to is a software or hardware. My gtab is 10 times more responsive than what I've seen in the video reviews of the adam and xoom. I've never had any dead areas that people have reported. I used the calibration app once even though I didn't really need it.
Perhaps the OP has a bad unit. I don't know. All I know is that my gtab is 10 times more responsive than any video review of the xoom and adam I've seen. In fact, I was playing with a xoom in staple the other day. It's actually less responsive than my gtab.
I'm running vegan ginger OC to 1.2ghz.
Edit.
And I've dropped my gtab a couple times. May be that's the trick. Try dropping your gtab a couple times and see if that helps
aliensquale said:
what did we actually just do here? lol
Click to expand...
Click to collapse
The what part is mysterious. The TSCalibration command is strange. It,
1. Reads the /proc/cmdline file to get the device type and the bluetooth MAC address (a quick 'n dirty check to see that its running on a gTablet?).
2. Then, it writes this BT MAC address into the /data/BCM4329B1.hcd file (God knows why!).
3. And finally, gets down to business, which is writing a '1' into the /sys/devices/platform/tegra_touch/calibration file.
4. This, ultimately, causes the AT168_SetCalibration() function, on line 270, here, to be called.
5. What the function does is equally mystifying. It just writes a '3' into one of the I2C registers of the ATmega168 uC which controls the 2 Pixcir Tango 32C touch sensor chips, and then, as the comment says, "the touchscreen will calibration by itself". Whatever the case, I think we might be able to dispense with the TSCalibration command and its associated headaches due to the hard-coded .ini file path.
This command ought to work as well to "calibrate" the touchscreen (or, try this much simpler zip file flash technique using CWM):
Code:
$ [B]su[/B]
# [B]echo -n 1 > /sys/devices/platform/tegra_touch/calibration; sleep 5[/B]
I get the same message from the kernel using either method (TSCalibration or echo ...):
Code:
[74641.298524] AT168_SetCalibration OK .
and will I have to keep re-doing this entire process again? like everytime I restart or power off the g tablet?
or is this fixed once and for all???
Click to expand...
Click to collapse
Can't say. I've never needed to run the program. From what I've read, mutual- and self-capacitive projected capacitance touchscreens don't need "calibration" like resistive or surface capacitance touchscreens. So, I don't know what "calibration" is going on here.
goodintentions said:
And I've dropped my gtab a couple times. May be that's the trick. Try dropping your gtab a couple times and see if that helps
Click to expand...
Click to collapse
Heh. If we had a resistive touchscreen, you would surely need a recalibration after a stunt like that.

Busybox, Environment Variables and Tweaks scripts?

Well I am trying to test how well the tweak script in init.d work
and apparently /bin isn't even in $PATH
I load it every time but its kind of annoying...
I can't seem to file .profile so my first question is where the hell is he?!
my second question is basically did anyone ever check them?
there are 2 or 3 attempts to remount partitions with noatime
one with barrier and another one which is basically a loop of noatime remount
Darky zipalign goes over system/app every reboot? why?
and 11link2sd why the 10 seconds sleep?
maybe everything is the way it suppose to be but I still need to find out why...
I am not a Linux engineer, but I'll answer with what I've noticed.
The android shell isn't supposed to be a full blown command line environment, so you don't get a .profile file and any variables you put into $PATH get reset when you reboot.
Yeah the scripts aren't that efficient, they're mostly script packs that have gotten passed on from phone to phone for a while, so if you know what you're doing you can put everything you want into your own file as that would work better instead of doing all the remounts you're talking about.
About zipalign, if you read through the script it now has a database file that keeps track of which apk's it's already zipaligned so it only does it to new ones.
Honestly I would be happy with just having the ext4 remounts for delalloc and noatime since those provide a significant boost, other than that I think Android does a good job at ram management, etc.
The PATH gets reset every time I get a new shell...
as for the Zipalign database or no database, it useless...
there is no reason for running this on the phone, it should be run only one time when you are making the ROM
logan123 said:
The PATH gets reset every time I get a new shell...
as for the Zipalign database or no database, it useless...
there is no reason for running this on the phone, it should be run only one time when you are making the ROM
Click to expand...
Click to collapse
I installed bash and not even it loads .bash_profile correctly. It gets really annoying.
Well, if you don't like some of the things just remove them.

Carrier IQ

So, looks like we have Carrier IQ on our phones, thanks to AT&T. Any luck on getting a 3rd party ROM on here yet? Any estimates as to when?
Can you give us more information? like how you found it on the phone, what steps did you take?
With more info, those of us in the know can figure out how to disable it, or remove it, without having to resort to waiting for a rom.
I have been looking for it for quite some time without much luck.
It's the device health app.it calls the ciq agent . Easily frozen.
Sent from my MB865
mtnlion said:
It's the device health app.it calls the ciq agent . Easily frozen.
Sent from my MB865
Click to expand...
Click to collapse
Thanks, I will see what else I can come up with for the ciq agent, maybe a way I can fake it out on the *NIX side of the house.
Yep first thing I went looking for after I got root.
Bloat freezer. It's free, finds it fast. When you freeze device health it doesn't want to close and keeps force closing, just reboot, it will be frozen and not running.
Douchewithaphone said:
Bloat freezer. It's free, finds it fast. When you freeze device health it doesn't want to close and keeps force closing, just reboot, it will be frozen and not running.
Click to expand...
Click to collapse
Must be rooted.
Sent from my mAtrix2!!
Well, I have found a way from the UNIX end to stop this thing in it's tracks, but it is not pretty for those unfamiliar with command line....
What we have to do is uncompress the kernel image in the boot.img remove the sys.DeviceHealth from the init.rc file there, then compress the kernel back up, all using cpio.... now to see if I can possibly make it work, and not brick any phones in the process, maybe I can throw a quick apk together next week.
I have tried the bloat freezer and the android assistant and I can still find the sys.DeviceHealth running on the UNIX side with the ps command, so this is a nasty one.
I will keep you guys posted, If I can find a better way.
Here is the link I saw, and how I figured out where sys.DeviceHealth is starting from.
For those interested ONLY. PLEASE do not try this yet, give me some more time to play with this in an emulator and see what I can come up with.
I am just sharing information at this time. BTW Zygote is the process that is calling the sys.DeviceHealth on the Atrix 2.
To see this Do the following from the terminal emulator app on your phone or though adb shell.
ps | grep -i Heal
ps | grep -i zygote
If you notice on the sys.DeviceHealth process that the second number is the same number as the first number of the zygote process.... What that means is that the zygote process starts the sys.DeviceHealth process. The first number is process ID (the processes "adress" so to speak), and the second number is the Parent process ID (The process that started the next one).
http://vinnysoft.blogspot.com/2009/12/zygote-system-process.html
jimbridgman said:
Here is the link I saw, and how I figured out where sys.DeviceHealth is starting from.
For those interested ONLY. PLEASE do not try this yet, give me some more time to play with this in an emulator and see what I can come up with.
I am just sharing information at this time. BTW Zygote is the process that is calling the sys.DeviceHealth on the Atrix 2.
To see this Do the following from the terminal emulator app on your phone or though adb shell.
ps | grep -i Heal
ps | grep -i zygote
If you notice on the sys.DeviceHealth process that the second number is the same number as the first number of the zygote process.... What that means is that the zygote process starts the sys.DeviceHealth process. The first number is process ID (the processes "adress" so to speak), and the second number is the Parent process ID (The process that started the next one).
http://vinnysoft.blogspot.com/2009/12/zygote-system-process.html
Click to expand...
Click to collapse
zygote appears to be a process respawner (watchdog) of some type. The trick is to find out where its config lies and tweak that to prevent the launching of sys.DeviceHealth.
I've just got the busybox installed that came with TiBackup and the shell tools are sorely limited (no grep for eg.). The shell itself is also pretty limited (no pipe??? WTF?). I had a version of bash on my atrix4g, and I'm wondering if you know of a reliable source for bash and shell tools for the atrix2?
A lil info on what AT&T says and how it uses Carrier IQ and some of the devices it is on can be read here http://m.androidcentral.com/atts-us...its-own-analytics-app-not-just-embedded-phone
razholio said:
zygote appears to be a process respawner (watchdog) of some type. The trick is to find out where its config lies and tweak that to prevent the launching of sys.DeviceHealth.
I've just got the busybox installed that came with TiBackup and the shell tools are sorely limited (no grep for eg.). The shell itself is also pretty limited (no pipe??? WTF?). I had a version of bash on my atrix4g, and I'm wondering if you know of a reliable source for bash and shell tools for the atrix2?
Click to expand...
Click to collapse
Yes that is exactly what zygote is. You would disable the sys.DeviceHealth in the EXACT way it says in the in link I posted, but you have to uncompress the kernel image, and extract the init.rc in there, then edit it to not include the sys.DeviceHealth, then re-compress it with cpio. This is just for information right now, so that later on when the ROM developers get started, they can use this info for their ROMs. I am testing this using a couple Android emulators to see what I can do with this.
As for a reliable busybox, I like the version from JRummy16 in the market, go grab that an install the latest version of busybox from his installer you downloaded (I think it is 1.19.3 or something similar).
also go get the hackers keyboard in the market, it helps a lot if you EVER use the terminal app ON the phone, heck I like for text and typing as well.
Jim: I'm assuming you mean the initrd image and not the kernel, or is that all wrapped up into one in android? the initrd is an odd place for the system's watchdog config. I suppose putting it in the kernel image prevents disabling it because presumably we don't have the key to sign the new image...
that's a new version of busybox, but I'm more interested in one with all of the options compiled in. What I have is pretty bare-bones... Does his busybox have grep at least? what do you do for a decent shell?
razholio said:
Jim: I'm assuming you mean the initrd image and not the kernel, or is that all wrapped up into one in android? the initrd is an odd place for the system's watchdog config. I suppose putting it in the kernel image prevents disabling it because presumably we don't have the key to sign the new image...
that's a new version of busybox, but I'm more interested in one with all of the options compiled in. What I have is pretty bare-bones... Does his busybox have grep at least? what do you do for a decent shell?
Click to expand...
Click to collapse
Yes in the initrd image the kernel is packed in there, as well as the init.rc file on Android, as well the filesystem subset, etc.
The init.rc file in / on the phone is NOT the one the kernel itself executes, take a look at that link I posted, Here is the excerpt we are interested in, I am pretty sure that the sys.DeviceHealth is in the exact same place:
I want to get a bit more control of what things are starting up when. To do this I need to modify the init.rc file. To do this I first extracted the the ramdisk to the fileystem so that I can modify it (gnucpio -iz -F ramdisk.img).
After this I simply commented out the line from init.rc. Then we can recreate it: (gnucpio -i -t -F ../ramdisk.img | gnucpio -o -H newc -O ../rootfs.img).
Click to expand...
Click to collapse
Yes both the stericson and JRummy16 busybox have most every command in the busybox you really need, oh and they create links in /system/bin for you, so that you can run commands without needing to always type busybox in front of the command.
As far as shells, I am a bourne or korn guy, so I just use the default /system/bin/sh, since I am closely intimate with bourne, being the UNIX Engineer that I am, and handling anything at the lowest level of the OS still requires bourne. But I love to program in korn (ksh), but I have not found any android shells that are useable beyond the basics, since we really are not going to spend much time there, it does not matter much. I would get aquainted the bourne, that android uses, since android seems be using the old school UNIX style bourne, more and more, yes there is some bourne again in there too.
P.S. pipe is in the /system/bin/sh, just make sure you source the /osh/apath.sh file, to get the /system/bin and /system/xbin in the shell...
The hackers keyboard has things like the arrow keys so that you can command recall, and other helpful things.
If you really need to run something, from the shell, just make sure put sh in front of it, or it won't run in a shell, one of the oddities about Android.
I have tested the method I mentioned before, and uncompressing the ramdisk that holds the kernel, and removing the sys.DeviceHealth from the init,rc, and it does work, after packaging it back up with CPIO. I tested this on an older phone that does not have a locked bootloader.
I am afraid to test it on the Atrix 2 since we still do not have a true way to get back after a soft brick at that low level.
Given the fact that this was another style of phone, and an unlocked bootloader, and the fact that the process name is a little different, I am still confident we can do something similar for our phone.
If you follow the directions on my post, you'll find it much easier to disable the Carrier IQ.
http://forum.xda-developers.com/show...6#post20281786
mrpoet said:
If you follow the directions on my post, you'll find it much easier to disable the Carrier IQ.
http://forum.xda-developers.com/show...6#post20281786
Click to expand...
Click to collapse
^^^^^^^^^^^Page not found^^^^^^^^^^^
kirkgbr said:
^^^^^^^^^^^Page not found^^^^^^^^^^^
Click to expand...
Click to collapse
Try this Link. I am not sure if it will do the job for us or not, because we don't have the same Apps installed as the Epic 4g that this original post was copied from.
Here is the thread, mrpoet created and pointed to:
http://forum.xda-developers.com/showthread.php?t=1390874
Here is the original one, that he does link to in his references:
http://forum.xda-developers.com/showthread.php?t=1373394
I am going to see if it works.
----Edit---
I just gave this a try and all the commands ran successfully, but sys.DeviceHealth is still running after following the above post.
JRW 28 said:
A lil info on what AT&T says and how it uses Carrier IQ and some of the devices it is on can be read here http://m.androidcentral.com/atts-us...its-own-analytics-app-not-just-embedded-phone
Click to expand...
Click to collapse
Just to let everyone know, the information contained in the link that JRW 28 posted, is an accurate statement from AT&T.
I have inside information that, that is BS. There are 100's of Terrabytes of Disk Storage just for this purpose.
They're a pack of bastards.

Categories

Resources