yashsingh1/xdaforums huggingface dataset:
[Galaxy S 4 Q&A, Help & Troubleshooting] Paul_Days:
Hello all,

I am wanting the Briefing Widget which seems to work with Yahoo News and S Planner, which reads out daily events. Can someone please post it?

Thanks

Paul
[AT&T Samsung Galaxy S 4 Themes and Apps] StolenVW:
Themed systemui

Baseband version (UCUAMDL) will work with (UCUAMDB) also

1% Kryptos circle battery mod

blue clock

blue single bars

blue toggles

and some blue notification icons

carrier label removed

For odexed roms only if your deodexed DO NOT INSTALL

USE AT OWN RISK NOT RESPONSIBLE IF YOU BREAK YOU PHONE

apk has to be pushed to /system/app with adb or a root explore

Kryptos Circle Battery:

SystemUI V1.5

SystemUI No Status Bar Clock V1.5

SystemUI Centered Status Bar Clock V1.5

SystemUI 100% Trans Status Bar / 50% Trans Notification Pull Down V1.5

SystemUI 100% Trans Status Bar / 50% Trans Notification Pull Down No Status Bar Clock V1.5

SystemUI 100% Trans Status Bar / 50% Trans Notification Pull Down Centered Status Bar Clock V1.5

Kryptos Circle Battery & AOSP Bluetooth Icons:

SystemUI AOSP BLUETOOTH V1.5

SystemUI AOSP BLUETOOTH No Status Bar Clock V1.5

SystemUI AOSP BLUETOOTH Centered Status Bar Clock V1.5

SystemUI AOSP BLUETOOTH 100% Trans Status Bar / 50% Trans Notification Pull Down V1.5

SystemUI AOSP BLUETOOTH 100% Trans Status Bar / 50% Trans Notification Pull Down No Status Bar Clock V1.5

SystemUI AOSP BLUETOOTH 100% Trans Status Bar / 50% Trans Notification Pull Down Centered Status Bar Clock V1.5

Stock Battery in Blue (not a 1% battery):

SystemUI Stock Style Battery in Blue V1.5

SystemUI Stock Style Battery in Blue No Status Bar Clock V1.5

SystemUI Stock Style Battery in Blue Centered Status Bar Clock V1.5

SystemUI Stock Style Battery in Blue 100% Trans Status Bar / 50% Trans Notification Pull Down V1.5

SystemUI Stock Style Battery in Blue 100% Trans Status Bar / 50% Trans Notification Pull Down No Status Bar Clock V1.5

SystemUI Stock Style Battery in Blue 100% Trans Status Bar / 50% Trans Notification Pull Down Centered Status Bar Clock V1.5

Kryptos Circle Battery White Single Bars & Notification Icons:

SystemUI White V1.5

SystemUI White No Status Bar Clock V1.5

SystemUI White Centered Status Bar Clock V1.5

SystemUI White 100% Trans Status Bar / 50% Trans Notification Pull Down V1.5

SystemUI White 100% Trans Status Bar / 50% Trans Notification Pull Down No Status Bar Clock V1.5

SystemUI White 100% Trans Status Bar / 50% Trans Notification Pull Down Centered Status Bar Clock V1.5

NO Battery:

SystemUI V1.5

SystemUI No Status Bar Clock V1.5

SystemUI Centered Status Bar Clock V1.5

SystemUI 100% Trans Status Bar / 50% Trans Notification Pull Down V1.5

SystemUI 100% Trans Status Bar / 50% Trans Notification Pull Down No Status Bar Clock V1.5

SystemUI 100% Trans Status Bar / 50% Trans Notification Pull Down Centered Status Bar Clock V1.5

Shout outs too:

[MENTION=893892]Nottach[/MENTION] without his systemui edit i would of never figured out how to get it to compile right http://xdaforums.com/showthread.php?t=2258025

[MENTION=2651267]mrvirginia[/MENTION] for his thread with the xhdpi battery icons http://xdaforums.com/showthread.php?t=1431618

[MENTION=674617]KryptosXLayer2[/MENTION] for his xxhdpi circle battery http://xdaforums.com/showthread.php?t=2268601
[AT&T Samsung Galaxy S 4 Themes and Apps] KryptosXLayer2:
THAT'S what I'm talking about! Lots of questions, so be prepared.... sending you a PM!
[AT&T Samsung Galaxy S 4 Themes and Apps] alphamale99:
How do you know if your odexed? I'm only rooted but stock ROM and would LOVE to use this
[AT&T Samsung Galaxy S 4 Themes and Apps] StolenVW:
stock is odexed

but to check go to /system/app and if you have SystemUI.odex and SystemUI.apk your odexed
[AT&T Samsung Galaxy S 4 Themes and Apps] SeanHacker:
Unless you've changed anything from stock (other than rooting), youre odexed.
[AT&T Samsung Galaxy S 4 Themes and Apps] alphamale99:
Thanks guys. Sorry still learning. I hit the thanks button for both of you:)
[AT&T Samsung Galaxy S 4 Themes and Apps] netnerd:
can you make one and Remove the stupid steering wheel icon (i like to have driving mode on at all time) and the stupid eye icon (for smart stay)? thanks!
[AT&T Samsung Galaxy S 4 Themes and Apps] David Dee:
Nice work man. I am just getting my feet wet with the device and haven't looked around, but I am assuming the latest version of apk tool is de-compiling this systemui no problem?

Also, to those trying these without a custom recovery:

1. Make sure you backup (or know where to find) a copy of your original systemui.apk, or any other files you replace. No nandroids here.

2. If you are not on at&t, do not try these without a custom recovery (twrp or cwm). Minor differences in these system files can easily cause a boot loop, which in the absence of a recovery can be a soft brick!

Don't mean to hijack your thread bro, but this stuff is essential.

---------- Post added at 10:02 PM ---------- Previous post was at 09:59 PM ----------

Task..you have an s4?? If that is the case, I am really looking forward to the at&t unlock solution coming out!
[AT&T Samsung Galaxy S 4 Themes and Apps] StolenVW:
Hijack is fine when its info for protecting the noobs
[AT&T Samsung Galaxy S 4 Themes and Apps] alphamale99:
Hmmm when it asked if I want to delete the old system all should I have said no?
[AT&T Samsung Galaxy S 4 Themes and Apps] StolenVW:
Have not looked into removing that stuff...and I think might have to do smali edits to do eye icon and I don't know smali well enough and with odexed can't do them

There might be away to make them trans so you don't see them but they would still be there and that's if them icons are in the systemui and not the framework-res apk
[AT&T Samsung Galaxy S 4 Themes and Apps] StolenVW:
Can't dubble click on it to install it has to be pushed to /system/app and if your not sure on what your doing I would wait till we get the boot loader unlocked and a custom recovery..if you mess up on the push it could cause a soft brick
[AT&T Samsung Galaxy S 4 Themes and Apps] SeanHacker:
Yes I have an s4. Not sure of I'm going to keep it yet due to not really being able to justify spending all this money for this device when I already have an s3 that I'm happy with. Who knows though. I've already got my aokp builds done for it but cant flash because of the locked boot loader.
[AT&T Samsung Galaxy S 4 Themes and Apps] KryptosXLayer2:
You like to have your phone scream out who's calling, what text messages say, and upcoming calendar events all the time?? Yeah no thanks! haha
[AT&T Samsung Galaxy S 4 Themes and Apps] David Dee:
You should update the op with either detailed instructions, or warnings like crazy....otherwise you will be dealing with a thread of newbs with bricked devices.
[AT&T Samsung Galaxy S 4 Themes and Apps] netnerd:
yeah, I really like it! why pickup phone to see who calling when phone can speak out who's calling.

you can also answer phone call without even touching the phone or looking at the phone, just say "answer".

I also like it speak out the alarm, "it's 7 AM" so I know it's time to get up and not over sleep.
[AT&T Samsung Galaxy S 4 Themes and Apps] David Dee:
You don't f**k around, do you :).

Hope you decide to keep it, always appreciated your work, although I was one of the less vocal members of your threads. Hope Ktoonz will come here as well.
[AT&T Samsung Galaxy S 4 Themes and Apps] KryptosXLayer2:
Detailed instructions we should be putting on any SystemUI modifying threads:

To install, rename existing SystemUI.apk located in /system/app/ to SystemUI.apk.bak

and then either copy and paste the new SystemUI.apk into /system/app with Root Explorer or push there using ADB

If you do NOT understand those instructions - please, stop now and do NOT attempt any modification until you are clear on them!
[AT&T Samsung Galaxy S 4 Themes and Apps] David Dee:
Good addition bro, thanks....one edit: systemui.odex should not be renamed to.bak as this is an odexed mod. Without the odex file there will be big problems.
[AT&T Samsung Galaxy S 4 Themes and Apps] KryptosXLayer2:
Are you sure? I haven't even tried messing with anything yet, but Nottach posted those very instructions (I formatted them a little better for this thread) right here:

http://xdaforums.com/showthread.php?t=2258025

Which one is it? People are saying they renamed odex to odex.bak and are having success with his mods....
[T-Mobile, Samsung Galaxy SIII] barbie1215:
Okay so i flashed the ROM and no other bugs other than the fact that where I live I get such crappy signal that i depend on wifi calling so turning that off is NOT an option. I keep getting the IPService has stopped running any other suggestions to make it stop/fix?? Keeps going even after fix permissions and turn wifi off and back on.... I would post under the ROM but apparently I havent asked enough questions to get to do that.. Sorry for understanding instructions ....
[T-Mobile, Samsung Galaxy SIII] barbie1215:
OMG

Okay so either no one has an answer or they think that I am an idiot. the obvious answer for me is to go back to my prior ROM of choice but I like this ROM and would like to give it a fair shake but I do need my wifi calling intact. In my home (the apparent second circle of hell) I get crappy Tmo reception so I depend on wifi to push my calls through. I tried flashing another kernel but the wifi calling is not kernel dependent. Is there something that is being worked on????? Or shoudl i just give up and go back to my old rom?
[T-Mobile, Samsung Galaxy SIII] Aerowinder:
I don't think anyone thinks you're stupid. I can tell you that I've never seen this error before. Have other people reported this issue?
[T-Mobile, Samsung Galaxy SIII] gypsy214:
I dont have wifi to test but you could download the modified mms.apk and see if that helps you. Let me know if the problem still there after that
[T-Mobile, Samsung Galaxy SIII] mrnv45:
i just flshed today.. and i get this all day long.. while on facebook... and just having my phone on.. i dont think its an app it might be bad coding?
[T-Mobile, Samsung Galaxy SIII] alwaysroot:
the message is only when wifi calling is checked regular wifi works fine when unchecking wifi calling ip message goes away. This ROM is great its fast and battery life is good would like to use this rom but wifi calling is important to me because and to many others if you find time in version 3 to make wifi calling work that would be great. Is there anything that we can do to make this service work something that needs to installed or modified? Where do we get this modified mms.apk when searching for this it only mentions modified mms.apk for AOSP ROM's? Will the AOSP modified mms.apk work on this ROM? Thank you so much for all you do and time to make ROM's.
[T-Mobile, Samsung Galaxy SIII] allenjthomsen:
If your looking for the modified mms look under themes and apps .

As for the ip service me and gypsy214 are currently working on an update for universe s4 and also multiwindow for stock rom
[Asus Transformer TF700] elfaure:
Hey-

I was wondering if I could get some help and feedback on a script I conceived to help 4.2 multi-user tree structure to work with pre 4.2 backups (Device, ROMs, Recoveries, Nandroids, Titaniums). Can one of you guru's (_that, becomingx, etc.) chime in and let me know if this seems logical and a good solution, what syntax errors I have, and partially test the theory and code as I am still on 4.1 and locked.

Assuming you have no stock /*/0 directories this script finds all instances of /*/0 (created from the 4.2 multi-user tree structure). /* is "the parent directory" and /*/0 is the "nested directory". First it backs up the parent directory then copies the nested directory (overwrites) into their parent directory. It also combines the backup and the parent directory in the parent directory at the end. This script assumes the user to be single-nested and after running it allows pre-4.2 backups to find their data and targets for restoration. Maybe its OK to combine before the restoration, or after, or not at all? Please give me your feedback on this and don't beat me up too hard as this is my first script with a variable and an array.

#!/system/bin/sh

nests=( grep ! /*/0 )
for NEST in "${nests[@]}"
do
mkdir /Removable/MicroSD/$NEST_bak
cp -r /$NEST /Removable/MicroSD/$NEST_bak
cp -rf /$NEST/0 /$NEST
#[Restore Pre-4.2 backups]
cp /Removable/MicroSD/$NEST_bak/*.* /$NEST
#[Backup in 4.2]
rm -rf /Removable/MicroSD/$NEST_bak
done

[Edit] Yup, this script needs some serious help. The first line doesn't even work. But when you type it as a command from the prompt it does what I'm looking to capture. How can I put this output in an array?

grep ! /*/0

Why after running the code above does my prompt which was "root@android: #" now show "1|root@android: #"? When I was trying to debug the script I even got a 2 and 3|root@android: #" Are these some kind of grep shells?
[Asus Transformer TF700] _that:
I've now read your post twice, and I still have no idea what you want to do - neither from the script itself nor from the textual description. The confusion starts with the fact that I have no "0" directories on my MicroSD card.

The first step in software development is always to clearly define the problem that should be solved by the software. As long as I don't understand what you want to do, I can't help you with the script - except maybe a hint: "grep" searches for text inside files, "find" searches for files or directories.

The number is the last exit code from the previous command. It indicates that something went wrong.
[Asus Transformer TF700] becomingx:
No, but you do have some in `/storage/emulated' and `/mnt/shell/emulated' ;), which I *think* might be what elfaure is referring to (confirm?).

True words indeed. Although, just telling someone what you want to do and having them show you how to do it, or having them do it for you, is never as much fun as trying to do it for yourself first. :)

This is indeed a bit confusing. First I need to know what you're expecting `(grep ! /*/0)' to evaluate to before I can comment on the rest of the code.

To capture the output of a command into a variable, you need a dollar sign in front of the opening parenthesis, i.e.:

nests=$(grep ! /*/0)

But, as _that mentioned, the `grep' call probably isn't the right one to use here. `find' can surely do what you want, but requires busybox to be installed and usually needs to have a bunch of options supplied to it to make sure it's giving you exactly what you want and expect. A simple `ls' command might be all that's needed.

I, and most other people based on the code I've seen, don't use arrays much in shell scripts. Usually a value separated list is used instead, where the separator value is a space, tab, or newline. Take the example:

ROOT_LISTING=$(ls /)
for OBJ in $ROOT_LISTING; do
...
done

When the variable $ROOT_LISTING gets expanded at execution time it winds up looking like:

for OBJ in Removable acct cache [snipped for brevity]; do

and so the `for' loop will iterate through each value after the `in' keyword that is seperated from the next one by a space, tab, or newline. (If we have files, directories, etc. with spaces (possible), tabs (unlikely), or newlines (also unlikely) in the name, we have to be trickier, but I won't get into that here. ;))

Hopefully this helps. If there's anything else technical that I can yammer on about for the betterment of your understanding, just holler. :good:
[Asus Transformer TF700] elfaure:
Hi Guys-

Thanks for the reply. What service! I simply call for the two guys I need most and like rubbing a magic lamp my genies appear.

When _that reads it twice and still has no clue what you are trying to do you know you need some serious schooling. That's why I'm here - to listen twice as often as I speak and learn something useful.

So here's what I am trying to do. JB 4.2 implemented a radical depart from previous Android versions to the directory tree structure for multi-users as you know, similar to the way Windows uses user profiles to separate users desktops, accessible installed apps, etc. This new structure created /0 subdirectories for certain directories like /sdcard and /sdcard/0 (/data/media and /data/media/0, /clockworkmod and /clockworkmod/0) and others. Playing with grep I discovered I could find all instances of any directory containing a /0 subdirectory (pair). "Find" seems a better approach than "grep" and works exactly the same with no fancy options required.

find */0

For these directory pairs I'll call them from the above output, the data that was in /directory in 4.1 is now located and pointed to in /directory/0 in 4.2. I figured if I could find all these pairs, and copy /directory/0 into /directory (after backing up /directory to SD) then 4.1 backups looking for data in /directory could now find their data and targets. Then I could copy the SD backup of /directory into /directory (now overwritten by /directory/0) to merge everything into a single folder. But after thinking about this again, this is incorrect. What I meant to do at this step is copy all /0 subdirectories of a given /directory/0 into that folder [ /directory/0/0 into /directory/0 and directory/0/0/0 into /directory/0 and /directory/0/0/0/0... into /directory/0 ] to combine all these sub-nested directories into a single /0 directory. Deep subnesting causes by crack flashing custom ROMs over and over on JB 4.2. This is the concept and I'm trying to implement a script to do it.

So I will attempt to replace grep with find and the array with a variable value space separated list and see what I come up with. Becomingx, you are right about wanting to use my brain a bit to figure it out on my own, even if it sends me down a one-way road to a dead end. If I learned something in the process then its all good and I can always ask for directions at the locked gate if I arrive there, but even with 4 flat tires and a broken axle I'm still moving (forward hopefully) as long as there's still road to travel on.

Thks
[Asus Transformer TF700] _that:
So you want to write a script to downgrade from 4.2 to 4.1?
[Asus Transformer TF700] elfaure:
Test new avitar

How do you delete a post? Under Edit/Delete I only find Edit??
[Asus Transformer TF700] elfaure:
No, I want to write a script that lets you restore a pre 4.2 backup (Nandroid, Titanium, Recovery, ROM) on 4.2 without having to move/copy files.
[Asus Transformer TF700] _that:
Are you sure that this is not already handled by TWRP, or by TB?

Recovery and ROM themselves are not affected by the /0 move in /data anyway.
[Asus Transformer TF700] elfaure:
Thanks becomingx, getting somewhere now but I still have problems.

When I type this at the terminal I get what i am looking for as output

su
cd /
find */0

Output: (These are test directories I created)

data/0

sdcard/0

sdcard/0/0

But when I run this script, the above output is repeated 3 times? Why is that?? One for each file system /(rootfs), /data, and /sdcard? How can I rewrite the script to produce the same output as from the terminal?

#!/system/bin/sh

cd /
NEST=$(find */0)
for OBJ in $NEST; do
echo "$NEST"
done
[Asus Transformer TF700] elfaure:
Long story short, yes if you had all the latest and greatest installed before you upgraded to 4.2 then its a transparant issue. But if you're already "nested" because you used an older custom recovery and factory reset a few times to crack flash some some 4.2 ROMs or need to recover to a previous Android version then there is a use for this script. If I can learn how to script variables and help some nested folks out at the same time then _that's what I call a win-win. I'm not on 4.2 nor do I plan on going there anytime soon so this won't help me out less what I learn by doing it, although it is interesting and challenging to try to implement an automated solution for. Plus I'm like you guys, I just really enjoy rooted Android and helping people with it when I can (within my very limited but expanding skill set).

By the way, what is the name and /data path to that special file?

****************************************************************************************************

http://androidforums.com/verizon-ga...t/649940-4-2-sdcard-sdcard-0-observation.html

http://androidforums.com/verizon-ga...y-bean-roms-edited-3-24-13-a.html#post5796630

Quoted from Androidspin.com -

"With Android 4.2, Google introduced multiple users as a new feature. In order to accommodate multiple users, Google is now giving each user a their own folder for storage. If you upgraded to 4.2 from 4.1, then the 4.2 ROM will look for a certain file in /data to determine whether it needs to migrate all of your files to the new multi-user data structure. By default, 4.2 migrates all of /data/media to /data/media/0.

A problem arose though with custom recoveries. A custom recovery retains the /data/media folder during a factory reset. When you factory reset and then boot a 4.2 ROM again, the 4.2 ROM will migrate everything in /data/media again. It will migrate your files every time you factory reset. This multiple migration is what resulted in some people having their files moved to /sdcard/0 or even /sdcard/0/0 etc.

In TWRP 2.3.2.0 we have corrected this problem by ensuring that we do not delete the special file during a factory reset. However, if ended up having your files upgraded you will need to move or merge them back into /sdcard. Also, if you have moved your TWRP folder from /data/media/0 to /data/media so that you could restore backups while using prior TWRP versions, you may now need to move the TWRP folder back into /data/media/0.

As a special note, if you restore a backup to a prior version of Android, you may have to move your files out of /data/media/0 and into /data/media to be able to see them again."
[Asus Transformer TF700] _that:
Read your script - for each item in $NEST you output all of $NEST instead of the single item $OBJ.
[Asus Transformer TF700] elfaure:
Ah ha. Lost sight of the fact that a multi-object variable really behaves like an array and you can call its objects as independent variables (syntax wise; I thought that was what I was doing with echo $NEST). Variables in a variable. That's why I started with an array. Thanks.

#!/system/bin/sh

cd /
NEST=$(find */0)
for OBJ in $NEST; do
echo "$OBJ"
done

Output:

data/0

sdcard/0

sdcard/0/0

New Questions:

How can I strip off all the "/0's" from each object variable and store it in a new mutil-variable until there are no more "/0's to strip off and consolidate duplicates? The desired result here would be VAR=$(data, sdcard).

If two or more object variables have the same root directory name, how can I select only the object variable with the most /0's between two variables (sdcard/0 and sdcard/0/0; I would want only the latter) then store those object variable in a new variable including all other object variables? The desired result here would be VAR1=$(data/0, sdcard/0/0)
[Asus Transformer TF700] elfaure:
#!/system/bin/sh

nests=( grep ! /*/0 )
for NEST in "${nests[@]}"
do
mkdir /Removable/MicroSD/$NEST_bak
cp -r /$NEST /Removable/MicroSD/$NEST_bak
cp -rf /$NEST/0 /$NEST
#[Restore Pre-4.2 backups]
cp /Removable/MicroSD/$NEST_bak/*.* /$NEST
#[Backup in 4.2]
rm -rf /Removable/MicroSD/$NEST_bak
done

"nests" in my original code here refers to an array not a variable. Assuming that, is the syntax correct (for reference)? I like the multi-item(object) variable value separated list you showed me and _that corrected my use of and will use that instead for this script.